@box/metadata-editor 0.97.3 → 0.97.5
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/esm/index.js +22 -20
- package/dist/esm/lib/components/metadata-editor-fields/metadata-editor-field-wrapper.js +68 -63
- package/dist/esm/lib/components/metadata-instance-list/index.js +2 -0
- package/dist/types/lib/components/metadata-instance-list/index.d.ts +1 -0
- package/dist/types/lib/test-utils/sample-data.d.ts +3 -1
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AddMetadataTemplateDropdown as e } from "./lib/components/add-metadata-template-dropdown/add-metadata-template-dropdown.js";
|
2
2
|
import { ComboboxWithApiPagination as r } from "./lib/components/combobox-with-api-pagination/combobox-with-api-pagination.js";
|
3
|
-
import { FilterDropdownMenu as
|
3
|
+
import { FilterDropdownMenu as n } from "./lib/components/filter-dropdown-menu/index.js";
|
4
4
|
import { FilterInstancesDropdown as f } from "./lib/components/filter-instances-dropdown/filter-instances-dropdown.js";
|
5
5
|
import { MULTI_VALUE_DEFAULT_OPTION as x, MULTI_VALUE_DEFAULT_TAXONOMY_OPTION as i, MULTI_VALUE_DEFAULT_VALUE as l } from "./lib/components/metadata-editor-fields/components/update-mode-field-wrapper/mulitple-values-utils.js";
|
6
6
|
import { MetadataEmptyState as s } from "./lib/components/metadata-empty-state/metadata-empty-state.js";
|
@@ -8,41 +8,43 @@ import { CustomInstanceNewField as I } from "./lib/components/metadata-instance-
|
|
8
8
|
import { DeleteConfirmationModal as u } from "./lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/delete-confirmation-modal.js";
|
9
9
|
import { MetadataInstanceFormAutofillButton as _ } from "./lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-autofill-button/metadata-instance-form-autofill-button.js";
|
10
10
|
import { MetadataInstanceFormHeader as L } from "./lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/metadata-instance-form-header.js";
|
11
|
-
import { MetadataInstanceForm as
|
11
|
+
import { MetadataInstanceForm as c } from "./lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/metadata-instance-form.js";
|
12
12
|
import { J as D } from "../chunks/utils.js";
|
13
13
|
import { MetadataInstanceList as N } from "./lib/components/metadata-instance-list/metadata-instance-list.js";
|
14
14
|
import { MetadataInstanceHeader as w } from "./lib/components/metadata-instance-list/subcomponents/metadata-instance-header/metadata-instance-header.js";
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {
|
18
|
-
import {
|
19
|
-
import {
|
20
|
-
import {
|
15
|
+
import { MetadataInstance as h } from "./lib/components/metadata-instance-list/subcomponents/metadata-instance/metadata-instance.js";
|
16
|
+
import { UnsavedChangesModal as b } from "./lib/components/unsaved-changes-modal/unsaved-changes-modal.js";
|
17
|
+
import { defaultInitialValues as v, defaultMetadataValueMap as H } from "./lib/defaults.js";
|
18
|
+
import { MetadataEditor as W } from "./lib/metadata-editor.js";
|
19
|
+
import { U as B } from "../chunks/types.js";
|
20
|
+
import { withApiWrapper as Y } from "./lib/utils/api-wrapper.js";
|
21
|
+
import { AutofillContext as k, AutofillContextProvider as q, TIMEOUT_10_SECONDS as z, useAutofill as G } from "./lib/utils/autofill-context.js";
|
21
22
|
export {
|
22
23
|
e as AddMetadataTemplateDropdown,
|
23
|
-
|
24
|
-
|
24
|
+
k as AutofillContext,
|
25
|
+
q as AutofillContextProvider,
|
25
26
|
r as ComboboxWithApiPagination,
|
26
27
|
I as CustomInstanceNewField,
|
27
28
|
u as DeleteConfirmationModal,
|
28
|
-
|
29
|
+
n as FilterDropdownMenu,
|
29
30
|
f as FilterInstancesDropdown,
|
30
31
|
D as JSONPatchOp,
|
31
32
|
x as MULTI_VALUE_DEFAULT_OPTION,
|
32
33
|
i as MULTI_VALUE_DEFAULT_TAXONOMY_OPTION,
|
33
34
|
l as MULTI_VALUE_DEFAULT_VALUE,
|
34
|
-
|
35
|
+
W as MetadataEditor,
|
35
36
|
s as MetadataEmptyState,
|
36
|
-
|
37
|
+
h as MetadataInstance,
|
38
|
+
c as MetadataInstanceForm,
|
37
39
|
_ as MetadataInstanceFormAutofillButton,
|
38
40
|
L as MetadataInstanceFormHeader,
|
39
41
|
w as MetadataInstanceHeader,
|
40
42
|
N as MetadataInstanceList,
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
43
|
+
z as TIMEOUT_10_SECONDS,
|
44
|
+
b as UnsavedChangesModal,
|
45
|
+
B as UpdateMode,
|
46
|
+
v as defaultInitialValues,
|
47
|
+
H as defaultMetadataValueMap,
|
48
|
+
G as useAutofill,
|
49
|
+
Y as withApiWrapper
|
48
50
|
};
|
@@ -1,84 +1,89 @@
|
|
1
|
-
import
|
2
|
-
import { useFormikContext as
|
3
|
-
import
|
4
|
-
import { forwardRef as
|
5
|
-
import { AiSuggestionField as
|
6
|
-
import { UpdateModeFieldWrapper as
|
7
|
-
import { editorFieldTypes as
|
8
|
-
import { s as
|
9
|
-
import { jsx as
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
import w from "clsx";
|
2
|
+
import { useFormikContext as C } from "formik";
|
3
|
+
import T from "lodash/isUndefined";
|
4
|
+
import { forwardRef as U, useState as $, useCallback as j, useEffect as x, useMemo as D } from "react";
|
5
|
+
import { AiSuggestionField as L } from "./components/ai-suggestion-field/ai-suggestion-field.js";
|
6
|
+
import { UpdateModeFieldWrapper as R } from "./components/update-mode-field-wrapper/update-mode-field-wrapper.js";
|
7
|
+
import { editorFieldTypes as b } from "./editor-field-types.js";
|
8
|
+
import { s as p } from "../../../../chunks/utils2.js";
|
9
|
+
import { jsx as r, jsxs as B } from "react/jsx-runtime";
|
10
|
+
var t = /* @__PURE__ */ function(o) {
|
11
|
+
return o.Pending = "PENDING", o.Applied = "APPLIED", o.Initial = "INITIAL", o;
|
12
|
+
}(t || {});
|
13
|
+
const Z = /* @__PURE__ */ U(({
|
14
|
+
disableForm: o,
|
15
|
+
portalElement: S,
|
13
16
|
field: e,
|
14
|
-
index:
|
15
|
-
taxonomyOptionsFetcher:
|
16
|
-
isMultilevelTaxonomyFieldEnabled:
|
17
|
-
},
|
18
|
-
var
|
17
|
+
index: F,
|
18
|
+
taxonomyOptionsFetcher: f,
|
19
|
+
isMultilevelTaxonomyFieldEnabled: y
|
20
|
+
}, I) => {
|
21
|
+
var v;
|
19
22
|
const {
|
20
|
-
setFieldValue:
|
21
|
-
} =
|
22
|
-
aiSuggestion:
|
23
|
-
type:
|
24
|
-
value:
|
25
|
-
} = e,
|
26
|
-
[
|
27
|
-
[
|
28
|
-
[
|
29
|
-
}),
|
30
|
-
|
31
|
-
}, [s,
|
32
|
-
|
33
|
-
!i || d || o(t);
|
34
|
-
}, [i, t, o]);
|
35
|
-
const F = T(() => t && d === t, [y]), M = () => {
|
36
|
-
r && h(!1), F && p(!1);
|
23
|
+
setFieldValue: l
|
24
|
+
} = C(), [d, u] = $(t.Initial), n = d === t.Pending, N = d === t.Applied, P = d === t.Initial, g = b[e.type], {
|
25
|
+
aiSuggestion: i,
|
26
|
+
type: h,
|
27
|
+
value: c
|
28
|
+
} = e, M = g && !e.hidden, E = !T(e.updateMode), s = `metadata.fields[${F}]`, V = e.type === "taxonomy" && ((v = e.optionsRules) == null ? void 0 : v.multiSelect), W = w({
|
29
|
+
[p.suggestionApplied]: N,
|
30
|
+
[p.hasSuggestion]: n,
|
31
|
+
[p.dateField]: h === "date"
|
32
|
+
}), a = j((A) => {
|
33
|
+
l(`${s}.value`, A), u(t.Applied);
|
34
|
+
}, [s, l]), m = () => {
|
35
|
+
u(t.Initial), l(`${s}.aiSuggestion`, void 0);
|
37
36
|
};
|
38
|
-
|
37
|
+
x(() => {
|
38
|
+
n && !c && a(i);
|
39
|
+
}, [i, n, a]), x(() => {
|
40
|
+
P && i && u(t.Pending);
|
41
|
+
}, [P, i]);
|
42
|
+
const k = D(() => i && c === i, [n]);
|
43
|
+
return M ? E ? /* @__PURE__ */ r(R, {
|
39
44
|
fieldNamePrefix: s,
|
40
45
|
fieldType: e.type,
|
41
|
-
isTaxonomyMultiSelect:
|
42
|
-
children: /* @__PURE__ */
|
43
|
-
ref:
|
46
|
+
isTaxonomyMultiSelect: V,
|
47
|
+
children: /* @__PURE__ */ r(g, {
|
48
|
+
ref: I,
|
44
49
|
description: e.description,
|
45
|
-
disableForm:
|
50
|
+
disableForm: o,
|
46
51
|
fieldNamePrefix: s,
|
47
52
|
isAiSuggestionApplied: !1,
|
48
|
-
isMultilevelTaxonomyFieldEnabled:
|
53
|
+
isMultilevelTaxonomyFieldEnabled: y,
|
49
54
|
label: e.displayName,
|
50
55
|
levels: e.levels,
|
51
|
-
onValueEdited:
|
52
|
-
portalElement:
|
53
|
-
taxonomyOptionsFetcher:
|
56
|
+
onValueEdited: m,
|
57
|
+
portalElement: S,
|
58
|
+
taxonomyOptionsFetcher: f
|
54
59
|
})
|
55
|
-
}, e.key) : /* @__PURE__ */
|
56
|
-
className:
|
57
|
-
children: [/* @__PURE__ */
|
58
|
-
ref:
|
59
|
-
className:
|
60
|
+
}, e.key) : /* @__PURE__ */ B("div", {
|
61
|
+
className: p.fieldWrapper,
|
62
|
+
children: [/* @__PURE__ */ r(g, {
|
63
|
+
ref: I,
|
64
|
+
className: W,
|
60
65
|
description: e.description,
|
61
|
-
disableForm:
|
66
|
+
disableForm: o,
|
62
67
|
fieldNamePrefix: s,
|
63
|
-
isAiSuggestionApplied:
|
64
|
-
isMultilevelTaxonomyFieldEnabled:
|
68
|
+
isAiSuggestionApplied: N,
|
69
|
+
isMultilevelTaxonomyFieldEnabled: y,
|
65
70
|
label: e.displayName,
|
66
|
-
onValueEdited:
|
67
|
-
portalElement:
|
68
|
-
taxonomyOptionsFetcher:
|
69
|
-
}),
|
70
|
-
aiSuggestion:
|
71
|
-
isSameValue:
|
71
|
+
onValueEdited: m,
|
72
|
+
portalElement: S,
|
73
|
+
taxonomyOptionsFetcher: f
|
74
|
+
}), n && /* @__PURE__ */ r(L, {
|
75
|
+
aiSuggestion: i,
|
76
|
+
isSameValue: k,
|
72
77
|
onAiSuggestionAppend: () => {
|
73
|
-
const
|
74
|
-
|
78
|
+
const A = [...new Set([c, i].flat().filter(Boolean))];
|
79
|
+
a(A);
|
75
80
|
},
|
76
|
-
onAiSuggestionIgnore:
|
77
|
-
onAiSuggestionReplace: () =>
|
78
|
-
type:
|
81
|
+
onAiSuggestionIgnore: m,
|
82
|
+
onAiSuggestionReplace: () => a(i),
|
83
|
+
type: h
|
79
84
|
})]
|
80
85
|
}, e.key) : null;
|
81
86
|
});
|
82
87
|
export {
|
83
|
-
|
88
|
+
Z as MetadataEditorFieldWrapper
|
84
89
|
};
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import { MetadataInstanceList as e } from "./metadata-instance-list.js";
|
2
2
|
import { MetadataInstanceHeader as n } from "./subcomponents/metadata-instance-header/metadata-instance-header.js";
|
3
|
+
import { MetadataInstance as d } from "./subcomponents/metadata-instance/metadata-instance.js";
|
3
4
|
export {
|
5
|
+
d as MetadataInstance,
|
4
6
|
n as MetadataInstanceHeader,
|
5
7
|
e as MetadataInstanceList
|
6
8
|
};
|
@@ -29,6 +29,8 @@ declare const templateOptions: MetadataTemplateOption[];
|
|
29
29
|
declare const fields: MetadataTemplateField[];
|
30
30
|
declare const floatInstanceField: MetadataTemplateField;
|
31
31
|
declare const allFieldsTemplateInstance: MetadataTemplateInstance;
|
32
|
+
declare const allFieldsTemplateInstanceWithoutTaxonomies: MetadataTemplateInstance;
|
33
|
+
declare const allFieldsTemplateInstanceAiSuggestions: MetadataTemplateInstance;
|
32
34
|
declare const dateSuggestionTemplateInstance: MetadataTemplateInstance;
|
33
35
|
declare const templateInstanceWithoutEmptyValues: MetadataTemplateInstance;
|
34
36
|
declare const emptyTemplateInstance: MetadataTemplateInstance;
|
@@ -50,4 +52,4 @@ declare const firstTemplateInstanceFieldsWithSuggestions: MetadataTemplateField[
|
|
50
52
|
declare const secondTemplateInstance: MetadataTemplate;
|
51
53
|
declare const secondTemplateSuggestions: AutofillSuggestions;
|
52
54
|
declare const secondTemplateInstanceFieldsWithSuggestions: MetadataTemplateField[];
|
53
|
-
export { allFieldsSuggestions, allFieldsTemplate, allFieldsTemplateInstance, allFieldsWithAiSuggestions, customTemplate, customTemplateInstance, customTemplateInstanceWithAllFieldsEmpty, customTemplateInstanceWithoutEditPermissions, customTemplateInstanceWithoutEmptyValues, dateField, dateSuggestionTemplateInstance, emptyCustomTemplateInstance, emptyTemplateInstance, enumField, fields, firstTemplateInstance, firstTemplateInstanceFieldsWithSuggestions, firstTemplateSuggestions, floatField, floatInstanceField, hiddenField, hiddenTemplate, hiddenTemplateInstance, multiSelectField, noFieldsTemplate, nonHiddenFieldsTemplate, nonHiddenFieldsWithValuesTemplate, noValueField, onlyRequiredPropsTemplateInstance, secondTemplateInstance, secondTemplateInstanceFieldsWithSuggestions, secondTemplateSuggestions, stringField, taxonomyLevels, taxonomyMultiSelectMultiLevelField, taxonomyMultiSelectSingleLevelField, taxonomyMultiSelectSingleLevelFieldWithValue, taxonomySingleSelectMultiLevelField, taxonomySingleSelectSingleLevelField, taxonomySingleSelectSingleLevelFieldWithValue, templateInstancesList, templateInstanceWithAllFieldsEmpty, templateInstanceWithoutEditPermissions, templateInstanceWithoutEmptyValues, templateInstanceWithSomeFieldsEmpty, templateOptions, templates, };
|
55
|
+
export { allFieldsSuggestions, allFieldsTemplate, allFieldsTemplateInstance, allFieldsWithAiSuggestions, allFieldsTemplateInstanceWithoutTaxonomies, allFieldsTemplateInstanceAiSuggestions, customTemplate, customTemplateInstance, customTemplateInstanceWithAllFieldsEmpty, customTemplateInstanceWithoutEditPermissions, customTemplateInstanceWithoutEmptyValues, dateField, dateSuggestionTemplateInstance, emptyCustomTemplateInstance, emptyTemplateInstance, enumField, fields, firstTemplateInstance, firstTemplateInstanceFieldsWithSuggestions, firstTemplateSuggestions, floatField, floatInstanceField, hiddenField, hiddenTemplate, hiddenTemplateInstance, multiSelectField, noFieldsTemplate, nonHiddenFieldsTemplate, nonHiddenFieldsWithValuesTemplate, noValueField, onlyRequiredPropsTemplateInstance, secondTemplateInstance, secondTemplateInstanceFieldsWithSuggestions, secondTemplateSuggestions, stringField, taxonomyLevels, taxonomyMultiSelectMultiLevelField, taxonomyMultiSelectSingleLevelField, taxonomyMultiSelectSingleLevelFieldWithValue, taxonomySingleSelectMultiLevelField, taxonomySingleSelectSingleLevelField, taxonomySingleSelectSingleLevelFieldWithValue, templateInstancesList, templateInstanceWithAllFieldsEmpty, templateInstanceWithoutEditPermissions, templateInstanceWithoutEmptyValues, templateInstanceWithSomeFieldsEmpty, templateOptions, templates, };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@box/metadata-editor",
|
3
|
-
"version": "0.97.
|
3
|
+
"version": "0.97.5",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@ariakit/react": "0.4.15",
|
6
6
|
"@box/blueprint-web": "^7.30.3",
|
@@ -15,8 +15,8 @@
|
|
15
15
|
"devDependencies": {
|
16
16
|
"@ariakit/react": "0.4.15",
|
17
17
|
"@box/babel-plugin-target-attributes": "1.3.0",
|
18
|
-
"@box/blueprint-web": "^9.19.
|
19
|
-
"@box/blueprint-web-assets": "^4.37.
|
18
|
+
"@box/blueprint-web": "^9.19.2",
|
19
|
+
"@box/blueprint-web-assets": "^4.37.2",
|
20
20
|
"@box/storybook-utils": "^0.8.3",
|
21
21
|
"@testing-library/react": "^15.0.6",
|
22
22
|
"react": "^18.3.0",
|