@box/metadata-editor 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +379 -0
- package/chunks/filter-dropdown-menu.module.js +18 -0
- package/chunks/types.js +6 -0
- package/esm/index.js +33 -0
- package/esm/lib/components/add-metadata-template-dropdown/add-metadata-template-dropdown.js +44 -0
- package/esm/lib/components/add-metadata-template-dropdown/index.js +4 -0
- package/esm/lib/components/add-metadata-template-dropdown/messages.js +18 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-content.js +19 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-empty-state.js +20 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-item.js +20 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-list.js +22 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-root.js +19 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-search.js +44 -0
- package/esm/lib/components/filter-dropdown-menu/filter-dropdown-menu-trigger.js +13 -0
- package/esm/lib/components/filter-dropdown-menu/index.js +19 -0
- package/esm/lib/components/filter-dropdown-menu/messages.js +14 -0
- package/esm/lib/components/interactive-text/interactive-text.js +22 -0
- package/esm/lib/components/metadata-editor-fields/components/constants.js +6 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-date-field/date-conversion-utils.js +16 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-date-field/metadata-date-field.js +60 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-date-field/use-date-internationalization.js +13 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-enum-field/metadata-enum-field.js +55 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-float-field/metadata-float-field.js +47 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-float-field/use-float-validation.js +15 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-multi-select-field/metadata-multi-select-field.js +51 -0
- package/esm/lib/components/metadata-editor-fields/components/metadata-string-field/metadata-string-field.js +35 -0
- package/esm/lib/components/metadata-editor-fields/components/update-mode-field-wrapper/messages.js +30 -0
- package/esm/lib/components/metadata-editor-fields/components/update-mode-field-wrapper/update-mode-field-wrapper.js +90 -0
- package/esm/lib/components/metadata-editor-fields/editor-field-types.js +26 -0
- package/esm/lib/components/metadata-editor-fields/metadata-editor-fields.js +52 -0
- package/esm/lib/components/metadata-empty-state/messages.js +46 -0
- package/esm/lib/components/metadata-empty-state/metadata-empty-state.js +63 -0
- package/esm/lib/components/metadata-instance-editor/index.js +10 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/custom-instance/custom-instance.js +76 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/custom-instance/messages.js +18 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/custom-instance-new-field.js +58 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/messages.js +42 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/delete-confirmation-modal.js +81 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/messages.js +38 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/messages.js +1 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/metadata-instance-form.js +79 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/utils.js +33 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/messages.js +22 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/metadata-instance-form-footer.js +50 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/messages.js +18 -0
- package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/metadata-instance-form-header.js +40 -0
- package/esm/lib/components/metadata-instance-list/index.js +8 -0
- package/esm/lib/components/metadata-instance-list/metadata-instance-list.js +22 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance/metadata-instance.js +51 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-content/metadata-instance-content.js +26 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-entry/convertDate.js +25 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-entry/metadata-instance-entry.js +56 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/messages.js +14 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/metadata-instance-footer.js +30 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/messages.js +10 -0
- package/esm/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/metadata-instance-header.js +46 -0
- package/esm/lib/components/metadata-taxonomy-field/combobox-with-api-pagination.js +188 -0
- package/esm/lib/components/metadata-taxonomy-field/index.js +4 -0
- package/esm/lib/components/metadata-taxonomy-field/messages.js +34 -0
- package/esm/lib/components/metadata-taxonomy-field/request.js +6 -0
- package/esm/lib/components/metadata-taxonomy-field/single-level-taxonomy-field.js +19 -0
- package/esm/lib/components/metadata-taxonomy-field/use-async-list.js +124 -0
- package/esm/lib/components/metadata-taxonomy-field/utils/use-intersection-observer.js +87 -0
- package/esm/lib/components/unsaved-changes-modal/index.js +4 -0
- package/esm/lib/components/unsaved-changes-modal/messages.js +26 -0
- package/esm/lib/components/unsaved-changes-modal/unsaved-changes-modal.js +55 -0
- package/esm/lib/components/unsaved-changes-modal/utils.js +6 -0
- package/esm/lib/constants.js +4 -0
- package/esm/lib/defaults.js +18 -0
- package/esm/lib/mappers.js +28 -0
- package/esm/lib/messages.js +94 -0
- package/esm/lib/metadata-editor.js +15 -0
- package/esm/lib/test-utils/formik-wrapper.js +26 -0
- package/esm/lib/test-utils/index.js +31 -0
- package/esm/lib/test-utils/sample-data.js +281 -0
- package/esm/lib/test-utils/test-utils.js +13 -0
- package/i18n/bn-IN.js +88 -0
- package/i18n/bn-IN.properties +164 -0
- package/i18n/da-DK.js +88 -0
- package/i18n/da-DK.properties +164 -0
- package/i18n/de-DE.js +88 -0
- package/i18n/de-DE.properties +164 -0
- package/i18n/en-AU.js +88 -0
- package/i18n/en-AU.properties +164 -0
- package/i18n/en-CA.js +88 -0
- package/i18n/en-CA.properties +164 -0
- package/i18n/en-GB.js +88 -0
- package/i18n/en-GB.properties +164 -0
- package/i18n/en-US.js +87 -0
- package/i18n/en-US.properties +170 -0
- package/i18n/en-x-pseudo.js +88 -0
- package/i18n/en-x-pseudo.properties +164 -0
- package/i18n/es-419.js +88 -0
- package/i18n/es-419.properties +164 -0
- package/i18n/es-ES.js +88 -0
- package/i18n/es-ES.properties +164 -0
- package/i18n/fi-FI.js +88 -0
- package/i18n/fi-FI.properties +164 -0
- package/i18n/fr-CA.js +88 -0
- package/i18n/fr-CA.properties +164 -0
- package/i18n/fr-FR.js +88 -0
- package/i18n/fr-FR.properties +164 -0
- package/i18n/hi-IN.js +88 -0
- package/i18n/hi-IN.properties +164 -0
- package/i18n/it-IT.js +88 -0
- package/i18n/it-IT.properties +164 -0
- package/i18n/ja-JP.js +88 -0
- package/i18n/ja-JP.properties +164 -0
- package/i18n/json/src/lib/components/add-metadata-template-dropdown/messages.json +1 -0
- package/i18n/json/src/lib/components/filter-dropdown-menu/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-editor-fields/components/update-mode-field-wrapper/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-empty-state/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-editor/subcomponents/custom-instance/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/messages.json +1 -0
- package/i18n/json/src/lib/components/metadata-taxonomy-field/messages.json +1 -0
- package/i18n/json/src/lib/components/unsaved-changes-modal/messages.json +1 -0
- package/i18n/json/src/lib/messages.json +1 -0
- package/i18n/ko-KR.js +88 -0
- package/i18n/ko-KR.properties +164 -0
- package/i18n/nb-NO.js +88 -0
- package/i18n/nb-NO.properties +164 -0
- package/i18n/nl-NL.js +88 -0
- package/i18n/nl-NL.properties +164 -0
- package/i18n/pl-PL.js +88 -0
- package/i18n/pl-PL.properties +164 -0
- package/i18n/pt-BR.js +88 -0
- package/i18n/pt-BR.properties +164 -0
- package/i18n/ru-RU.js +88 -0
- package/i18n/ru-RU.properties +164 -0
- package/i18n/sv-SE.js +88 -0
- package/i18n/sv-SE.properties +164 -0
- package/i18n/tr-TR.js +88 -0
- package/i18n/tr-TR.properties +164 -0
- package/i18n/zh-CN.js +88 -0
- package/i18n/zh-CN.properties +164 -0
- package/i18n/zh-TW.js +88 -0
- package/i18n/zh-TW.properties +164 -0
- package/package.json +55 -0
- package/styles/combobox-with-api-pagination.css +1 -0
- package/styles/custom-instance-new-field.css +1 -0
- package/styles/custom-instance.css +1 -0
- package/styles/delete-confirmation-modal.css +1 -0
- package/styles/filter-dropdown-menu.css +1 -0
- package/styles/metadata-editor-fields.css +1 -0
- package/styles/metadata-editor.css +0 -0
- package/styles/metadata-instance-content.css +1 -0
- package/styles/metadata-instance-entry.css +1 -0
- package/styles/metadata-instance-footer.css +1 -0
- package/styles/metadata-instance-form-footer.css +1 -0
- package/styles/metadata-instance-form-header.css +1 -0
- package/styles/metadata-instance-form.css +1 -0
- package/styles/metadata-instance-header.css +1 -0
- package/styles/metadata-instance-list.css +1 -0
- package/styles/metadata-instance.css +1 -0
- package/styles/update-mode-field-wrapper.css +1 -0
- package/types/index.d.ts +10 -0
- package/types/lib/components/add-metadata-template-dropdown/add-metadata-template-dropdown.d.ts +2 -0
- package/types/lib/components/add-metadata-template-dropdown/index.d.ts +2 -0
- package/types/lib/components/add-metadata-template-dropdown/messages.d.ts +18 -0
- package/types/lib/components/add-metadata-template-dropdown/types.d.ts +6 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-content.d.ts +9 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-empty-state.d.ts +8 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-item.d.ts +9 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-list.d.ts +9 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-root.d.ts +9 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-search.d.ts +9 -0
- package/types/lib/components/filter-dropdown-menu/filter-dropdown-menu-trigger.d.ts +11 -0
- package/types/lib/components/filter-dropdown-menu/index.d.ts +36 -0
- package/types/lib/components/filter-dropdown-menu/messages.d.ts +13 -0
- package/types/lib/components/interactive-text/interactive-text.d.ts +10 -0
- package/types/lib/components/metadata-editor-fields/components/constants.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-date-field/date-conversion-utils.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-date-field/metadata-date-field.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-date-field/types.d.ts +4 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-date-field/use-date-internationalization.d.ts +6 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-enum-field/metadata-enum-field.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-float-field/metadata-float-field.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-float-field/use-float-validation.d.ts +4 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-multi-select-field/metadata-multi-select-field.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/components/metadata-string-field/metadata-string-field.d.ts +6 -0
- package/types/lib/components/metadata-editor-fields/components/update-mode-field-wrapper/messages.d.ts +32 -0
- package/types/lib/components/metadata-editor-fields/components/update-mode-field-wrapper/update-mode-field-wrapper.d.ts +12 -0
- package/types/lib/components/metadata-editor-fields/editor-field-types.d.ts +8 -0
- package/types/lib/components/metadata-editor-fields/metadata-editor-fields.d.ts +3 -0
- package/types/lib/components/metadata-editor-fields/types.d.ts +12 -0
- package/types/lib/components/metadata-empty-state/messages.d.ts +53 -0
- package/types/lib/components/metadata-empty-state/metadata-empty-state.d.ts +3 -0
- package/types/lib/components/metadata-instance-editor/index.d.ts +4 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance/custom-instance.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance/messages.d.ts +18 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance/types.d.ts +3 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/custom-instance-new-field.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/messages.d.ts +48 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/custom-instance-new-field/types.d.ts +5 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/delete-confirmation-modal.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/messages.d.ts +43 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/delete-confirmation-modal/types.d.ts +6 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/messages.d.ts +0 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/metadata-instance-form.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/types.d.ts +26 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/utils.d.ts +12 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/messages.d.ts +23 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/metadata-instance-form-footer.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-footer/types.d.ts +5 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/messages.d.ts +18 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/metadata-instance-form-header.d.ts +2 -0
- package/types/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form-header/types.d.ts +6 -0
- package/types/lib/components/metadata-instance-editor/types.d.ts +6 -0
- package/types/lib/components/metadata-instance-list/index.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/metadata-instance-list.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance/metadata-instance.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance/types.d.ts +7 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-content/metadata-instance-content.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-content/types.d.ts +5 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-entry/convertDate.d.ts +30 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-entry/metadata-instance-entry.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-entry/types.d.ts +8 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/messages.d.ts +13 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/metadata-instance-footer.d.ts +2 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-footer/types.d.ts +5 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/messages.d.ts +8 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/metadata-instance-header.d.ts +4 -0
- package/types/lib/components/metadata-instance-list/subcomponents/metadata-instance-header/types.d.ts +7 -0
- package/types/lib/components/metadata-instance-list/types.d.ts +7 -0
- package/types/lib/components/metadata-taxonomy-field/combobox-with-api-pagination.d.ts +15 -0
- package/types/lib/components/metadata-taxonomy-field/index.d.ts +2 -0
- package/types/lib/components/metadata-taxonomy-field/messages.d.ts +38 -0
- package/types/lib/components/metadata-taxonomy-field/request.d.ts +7 -0
- package/types/lib/components/metadata-taxonomy-field/single-level-taxonomy-field.d.ts +5 -0
- package/types/lib/components/metadata-taxonomy-field/types.d.ts +41 -0
- package/types/lib/components/metadata-taxonomy-field/use-async-list.d.ts +63 -0
- package/types/lib/components/metadata-taxonomy-field/utils/use-intersection-observer.d.ts +28 -0
- package/types/lib/components/unsaved-changes-modal/index.d.ts +1 -0
- package/types/lib/components/unsaved-changes-modal/messages.d.ts +28 -0
- package/types/lib/components/unsaved-changes-modal/types.d.ts +19 -0
- package/types/lib/components/unsaved-changes-modal/unsaved-changes-modal.d.ts +2 -0
- package/types/lib/components/unsaved-changes-modal/utils.d.ts +1 -0
- package/types/lib/constants.d.ts +1 -0
- package/types/lib/defaults.d.ts +13 -0
- package/types/lib/mappers.d.ts +16 -0
- package/types/lib/messages.d.ts +113 -0
- package/types/lib/metadata-editor.d.ts +4 -0
- package/types/lib/test-utils/formik-wrapper.d.ts +11 -0
- package/types/lib/test-utils/index.d.ts +3 -0
- package/types/lib/test-utils/sample-data.d.ts +24 -0
- package/types/lib/test-utils/test-utils.d.ts +3 -0
- package/types/lib/types.d.ts +63 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
import { Text as n, EmptyState as f } from "@box/blueprint-web";
|
2
|
+
import { JobAnalyzeData as p } from "@box/blueprint-web-assets/illustrations/Small";
|
3
|
+
import { useCallback as l } from "react";
|
4
|
+
import { useIntl as d } from "react-intl";
|
5
|
+
import e from "./messages.js";
|
6
|
+
import { jsx as a } from "react/jsx-runtime";
|
7
|
+
function E({
|
8
|
+
isAnyEmptyValueHidden: m = !1,
|
9
|
+
isBoxAiSuggestionsFeatureEnabled: s = !1,
|
10
|
+
level: r,
|
11
|
+
onShowEmptyValues: i
|
12
|
+
}) {
|
13
|
+
const t = d(), c = l(() => {
|
14
|
+
if (r === "manager")
|
15
|
+
return /* @__PURE__ */ a(n, {
|
16
|
+
as: "p",
|
17
|
+
children: t.formatMessage(e.managerLevelEmptyStateBody)
|
18
|
+
});
|
19
|
+
if (r === "instance")
|
20
|
+
return m ? /* @__PURE__ */ a(f.PrimaryAction, {
|
21
|
+
onClick: i,
|
22
|
+
children: t.formatMessage(e.instanceLevelSeeEmptyValuesCTA)
|
23
|
+
}) : (
|
24
|
+
// EmptyState component requires body element so if level === "instance" && !isAnyEmptyValueHidden we pass heading as body and nothing as heading
|
25
|
+
/* @__PURE__ */ a(n, {
|
26
|
+
as: "h1",
|
27
|
+
variant: "titleSmall",
|
28
|
+
children: t.formatMessage(e.instanceLevelEmptyStateHeadingNoAttributes)
|
29
|
+
})
|
30
|
+
);
|
31
|
+
const o = s ? t.formatMessage(e.fileLevelEmptyStateBoxAiEnabledBody) : t.formatMessage(e.fileLevelEmptyStateDefaultBody);
|
32
|
+
return /* @__PURE__ */ a(n, {
|
33
|
+
as: "p",
|
34
|
+
children: o
|
35
|
+
});
|
36
|
+
}, [t, m, s, r, i]), g = l(() => {
|
37
|
+
if (r === "manager")
|
38
|
+
return /* @__PURE__ */ a(n, {
|
39
|
+
as: "h2",
|
40
|
+
children: t.formatMessage(e.managerLevelEmptyStateHeading)
|
41
|
+
});
|
42
|
+
if (r === "instance")
|
43
|
+
return m ? /* @__PURE__ */ a(n, {
|
44
|
+
as: "h2",
|
45
|
+
children: t.formatMessage(e.instanceLevelEmptyStateHeading)
|
46
|
+
}) : null;
|
47
|
+
const o = s ? t.formatMessage(e.fileLevelEmptyStateBoxAiEnabledHeading) : t.formatMessage(e.fileLevelEmptyStateDefaultHeading);
|
48
|
+
return /* @__PURE__ */ a(n, {
|
49
|
+
as: "h2",
|
50
|
+
children: o
|
51
|
+
});
|
52
|
+
}, [t, m, s, r]);
|
53
|
+
return /* @__PURE__ */ a(f, {
|
54
|
+
body: c(),
|
55
|
+
heading: g(),
|
56
|
+
illustration: p,
|
57
|
+
size: "small"
|
58
|
+
});
|
59
|
+
}
|
60
|
+
export {
|
61
|
+
E as MetadataEmptyState,
|
62
|
+
E as default
|
63
|
+
};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { DeleteConfirmationModal as t } from "./subcomponents/delete-confirmation-modal/delete-confirmation-modal.js";
|
2
|
+
import { MetadataInstanceFormHeader as r } from "./subcomponents/metadata-instance-form-header/metadata-instance-form-header.js";
|
3
|
+
import { CustomInstanceNewField as n } from "./subcomponents/custom-instance-new-field/custom-instance-new-field.js";
|
4
|
+
import { MetadataInstanceForm as f } from "./subcomponents/metadata-instance-form/metadata-instance-form.js";
|
5
|
+
export {
|
6
|
+
n as CustomInstanceNewField,
|
7
|
+
t as DeleteConfirmationModal,
|
8
|
+
f as MetadataInstanceForm,
|
9
|
+
r as MetadataInstanceFormHeader
|
10
|
+
};
|
package/esm/lib/components/metadata-instance-editor/subcomponents/custom-instance/custom-instance.js
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
import "../../../../../../styles/custom-instance.css";
|
2
|
+
import { useFormikContext as F, FieldArray as _, Field as h } from "formik";
|
3
|
+
import { useState as x } from "react";
|
4
|
+
import { useIntl as b } from "react-intl";
|
5
|
+
import { TextInput as N, IconButton as g, TextButton as k } from "@box/blueprint-web";
|
6
|
+
import { Trash as y } from "@box/blueprint-web-assets/icons/Line";
|
7
|
+
import { CustomInstanceNewField as C } from "../custom-instance-new-field/custom-instance-new-field.js";
|
8
|
+
import { fieldDefaultProps as v } from "../../../metadata-editor-fields/components/constants.js";
|
9
|
+
import l from "./messages.js";
|
10
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
11
|
+
const q = "_customInstance_xq8r7_1", A = "_customInstanceField_xq8r7_7", w = "_customInstanceFieldInput_xq8r7_12", M = "_customInstanceFieldIcon_xq8r7_16", o = {
|
12
|
+
customInstance: q,
|
13
|
+
customInstanceField: A,
|
14
|
+
customInstanceFieldInput: w,
|
15
|
+
customInstanceFieldIcon: M
|
16
|
+
}, $ = (d) => {
|
17
|
+
const {
|
18
|
+
isLoading: a
|
19
|
+
} = d, {
|
20
|
+
values: s
|
21
|
+
} = F(), c = b(), [m, i] = x(!s.metadata.fields.length);
|
22
|
+
return /* @__PURE__ */ e("div", {
|
23
|
+
children: /* @__PURE__ */ e(_, {
|
24
|
+
name: "metadata.fields",
|
25
|
+
children: ({
|
26
|
+
remove: u,
|
27
|
+
push: I
|
28
|
+
}) => /* @__PURE__ */ r("div", {
|
29
|
+
className: o.customInstance,
|
30
|
+
children: [s == null ? void 0 : s.metadata.fields.map((t, n) => /* @__PURE__ */ r("div", {
|
31
|
+
className: o.customInstanceField,
|
32
|
+
children: [/* @__PURE__ */ e("div", {
|
33
|
+
className: o.customInstanceFieldInput,
|
34
|
+
children: /* @__PURE__ */ e(h, {
|
35
|
+
name: `metadata.fields[${n}].value`,
|
36
|
+
children: ({
|
37
|
+
field: f,
|
38
|
+
meta: p
|
39
|
+
}) => /* @__PURE__ */ e(N, {
|
40
|
+
...v,
|
41
|
+
...f,
|
42
|
+
disabled: a,
|
43
|
+
error: p.error,
|
44
|
+
label: t.key,
|
45
|
+
placeholder: c.formatMessage(l.setValuePlaceholder)
|
46
|
+
})
|
47
|
+
})
|
48
|
+
}), /* @__PURE__ */ e(g, {
|
49
|
+
"aria-label": c.formatMessage(l.removeAttribute),
|
50
|
+
className: o.customInstanceFieldIcon,
|
51
|
+
disabled: a,
|
52
|
+
icon: y,
|
53
|
+
onClick: () => u(n),
|
54
|
+
size: "x-small"
|
55
|
+
})]
|
56
|
+
}, t.key)), m && /* @__PURE__ */ e(C, {
|
57
|
+
formKeys: s.metadata.fields.map((t) => t.key),
|
58
|
+
onAdd: (t, n) => {
|
59
|
+
I({
|
60
|
+
key: t,
|
61
|
+
value: n
|
62
|
+
}), i(!1);
|
63
|
+
},
|
64
|
+
onCancel: () => i(!1)
|
65
|
+
}), !m && /* @__PURE__ */ e(k, {
|
66
|
+
disabled: a,
|
67
|
+
onClick: () => i(!0),
|
68
|
+
children: c.formatMessage(l.addAttribute)
|
69
|
+
})]
|
70
|
+
})
|
71
|
+
})
|
72
|
+
});
|
73
|
+
};
|
74
|
+
export {
|
75
|
+
$ as CustomInstance
|
76
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { defineMessages as t } from "react-intl";
|
2
|
+
const a = t({
|
3
|
+
addAttribute: {
|
4
|
+
id: "metadataEditor.metadataInstanceEditor.customInstance.addAttribute",
|
5
|
+
defaultMessage: "+ Add Attribute"
|
6
|
+
},
|
7
|
+
removeAttribute: {
|
8
|
+
id: "metadataEditor.metadataInstanceEditor.customInstance.removeAttribute",
|
9
|
+
defaultMessage: "Remove"
|
10
|
+
},
|
11
|
+
setValuePlaceholder: {
|
12
|
+
id: "metadataEditor.metadataInstanceEditor.customInstance.setValuePlaceholder",
|
13
|
+
defaultMessage: "Set value"
|
14
|
+
}
|
15
|
+
});
|
16
|
+
export {
|
17
|
+
a as default
|
18
|
+
};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import "../../../../../../styles/custom-instance-new-field.css";
|
2
|
+
import { Card as v, TextInput as m, Button as u } from "@box/blueprint-web";
|
3
|
+
import { useState as l } from "react";
|
4
|
+
import { useIntl as w } from "react-intl";
|
5
|
+
import t from "./messages.js";
|
6
|
+
import { jsxs as p, jsx as a } from "react/jsx-runtime";
|
7
|
+
const M = "_customInstanceNewFieldCard_1m7z1_1", _ = "_customInstanceNewFieldFooter_1m7z1_6", K = "_inputWrapper_1m7z1_13", n = {
|
8
|
+
customInstanceNewFieldCard: M,
|
9
|
+
customInstanceNewFieldFooter: _,
|
10
|
+
inputWrapper: K
|
11
|
+
}, z = (f) => {
|
12
|
+
const {
|
13
|
+
onAdd: h,
|
14
|
+
onCancel: g,
|
15
|
+
formKeys: c = []
|
16
|
+
} = f, e = w(), [s, F] = l(""), [i, C] = l(""), [d, o] = l(""), N = c.length !== 0, I = (r) => {
|
17
|
+
F(r), d && o("");
|
18
|
+
}, y = () => {
|
19
|
+
s ? s.startsWith("$") ? o(e.formatMessage(t.customErrorInternalKey)) : c.includes(s) ? o(e.formatMessage(t.customErrorDuplicateKey)) : h(s, i) : o(e.formatMessage(t.keyFieldRequiredError));
|
20
|
+
};
|
21
|
+
return /* @__PURE__ */ p(v, {
|
22
|
+
className: n.customInstanceNewFieldCard,
|
23
|
+
"data-testid": "customInstanceNewField",
|
24
|
+
children: [/* @__PURE__ */ a("div", {
|
25
|
+
className: n.inputWrapper,
|
26
|
+
children: /* @__PURE__ */ a(m, {
|
27
|
+
error: d,
|
28
|
+
label: e.formatMessage(t.customKeyLabel),
|
29
|
+
onChange: (r) => I(r.target.value),
|
30
|
+
placeholder: e.formatMessage(t.customKeyPlaceholder),
|
31
|
+
required: !0,
|
32
|
+
value: s
|
33
|
+
})
|
34
|
+
}), /* @__PURE__ */ a("div", {
|
35
|
+
className: n.inputWrapper,
|
36
|
+
children: /* @__PURE__ */ a(m, {
|
37
|
+
label: e.formatMessage(t.valueLabel),
|
38
|
+
onChange: (r) => C(r.target.value),
|
39
|
+
placeholder: e.formatMessage(t.valuePlaceholder),
|
40
|
+
value: i
|
41
|
+
})
|
42
|
+
}), /* @__PURE__ */ p("div", {
|
43
|
+
className: n.customInstanceNewFieldFooter,
|
44
|
+
children: [N && /* @__PURE__ */ a(u, {
|
45
|
+
onClick: g,
|
46
|
+
variant: "secondary",
|
47
|
+
children: e.formatMessage(t.cancelCTA)
|
48
|
+
}), /* @__PURE__ */ a(u, {
|
49
|
+
onClick: y,
|
50
|
+
variant: "primary",
|
51
|
+
children: e.formatMessage(t.addNewFieldCTA)
|
52
|
+
})]
|
53
|
+
})]
|
54
|
+
});
|
55
|
+
};
|
56
|
+
export {
|
57
|
+
z as CustomInstanceNewField
|
58
|
+
};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { defineMessages as e } from "react-intl";
|
2
|
+
const t = e({
|
3
|
+
addNewFieldCTA: {
|
4
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.addNewFieldCTA",
|
5
|
+
defaultMessage: "Add"
|
6
|
+
},
|
7
|
+
cancelCTA: {
|
8
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.cancelCTA",
|
9
|
+
defaultMessage: "Cancel"
|
10
|
+
},
|
11
|
+
customErrorInternalKey: {
|
12
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.customErrorInternalKey",
|
13
|
+
defaultMessage: "Keys cannot begin with a $."
|
14
|
+
},
|
15
|
+
customErrorDuplicateKey: {
|
16
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.customErrorDuplicateKey",
|
17
|
+
defaultMessage: "Key already exists."
|
18
|
+
},
|
19
|
+
customKeyLabel: {
|
20
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.attributeNameLabel",
|
21
|
+
defaultMessage: "Attribute Name"
|
22
|
+
},
|
23
|
+
customKeyPlaceholder: {
|
24
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.customKeyPlaceholder",
|
25
|
+
defaultMessage: "e.g. Order Number"
|
26
|
+
},
|
27
|
+
keyFieldRequiredError: {
|
28
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.keyFieldRequired",
|
29
|
+
defaultMessage: "Key is required"
|
30
|
+
},
|
31
|
+
valueLabel: {
|
32
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.valueLabel",
|
33
|
+
defaultMessage: "Value"
|
34
|
+
},
|
35
|
+
valuePlaceholder: {
|
36
|
+
id: "metadataEditor.metadataEditor.customIntanceNewField.valuePlaceholder",
|
37
|
+
defaultMessage: "e.g. 42"
|
38
|
+
}
|
39
|
+
});
|
40
|
+
export {
|
41
|
+
t as default
|
42
|
+
};
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import "../../../../../../styles/delete-confirmation-modal.css";
|
2
|
+
import { Modal as a, Text as c, TextInput as b } from "@box/blueprint-web";
|
3
|
+
import { useIntl as F, FormattedMessage as s } from "react-intl";
|
4
|
+
import { useState as f, useEffect as I } from "react";
|
5
|
+
import o from "./messages.js";
|
6
|
+
import { jsx as e, jsxs as d } from "react/jsx-runtime";
|
7
|
+
const x = "_modalBody_yiat3_1", N = {
|
8
|
+
modalBody: x
|
9
|
+
}, V = ({
|
10
|
+
onConfirm: u,
|
11
|
+
templateName: p,
|
12
|
+
onDismiss: C,
|
13
|
+
open: h
|
14
|
+
}) => {
|
15
|
+
const l = F(), [r, m] = f(""), [M, g] = f(!0), i = (n) => {
|
16
|
+
n || (C(), m(""));
|
17
|
+
}, t = p || l.formatMessage(o.deleteConfirmationModalCustomMetadata), B = (n) => {
|
18
|
+
m(n);
|
19
|
+
}, y = () => {
|
20
|
+
u(), i(!1);
|
21
|
+
};
|
22
|
+
return I(() => {
|
23
|
+
g(r !== t);
|
24
|
+
}, [r, t]), /* @__PURE__ */ e(a, {
|
25
|
+
onOpenChange: i,
|
26
|
+
open: h,
|
27
|
+
children: /* @__PURE__ */ d(a.Content, {
|
28
|
+
size: "small",
|
29
|
+
children: [/* @__PURE__ */ e(a.Header, {
|
30
|
+
children: /* @__PURE__ */ e(s, {
|
31
|
+
...o.deleteConfirmationModalHeader,
|
32
|
+
values: {
|
33
|
+
templateName: t
|
34
|
+
}
|
35
|
+
})
|
36
|
+
}), /* @__PURE__ */ e(a.ScrollableContainer, {
|
37
|
+
children: /* @__PURE__ */ d(a.Body, {
|
38
|
+
className: N.modalBody,
|
39
|
+
children: [/* @__PURE__ */ e(c, {
|
40
|
+
as: "p",
|
41
|
+
children: /* @__PURE__ */ e(s, {
|
42
|
+
...o.deleteConfirmationModalBodyFirstParagraph,
|
43
|
+
values: {
|
44
|
+
templateName: t
|
45
|
+
}
|
46
|
+
})
|
47
|
+
}), /* @__PURE__ */ e(c, {
|
48
|
+
as: "p",
|
49
|
+
children: /* @__PURE__ */ e(s, {
|
50
|
+
...o.deleteConfirmationModalBodySecondParagraph
|
51
|
+
})
|
52
|
+
}), /* @__PURE__ */ e(b, {
|
53
|
+
label: l.formatMessage(o.deleteConfirmationModalBodyInputFieldLabel, {
|
54
|
+
templateName: t
|
55
|
+
}),
|
56
|
+
onChange: (n) => B(n.target.value),
|
57
|
+
placeholder: t,
|
58
|
+
required: !0,
|
59
|
+
value: r
|
60
|
+
})]
|
61
|
+
})
|
62
|
+
}), /* @__PURE__ */ d(a.Footer, {
|
63
|
+
children: [/* @__PURE__ */ e(a.Footer.SecondaryButton, {
|
64
|
+
onClick: () => i(!1),
|
65
|
+
size: "large",
|
66
|
+
children: l.formatMessage(o.deleteConfirmationModalCancelButton)
|
67
|
+
}), /* @__PURE__ */ e(a.Footer.PrimaryButton, {
|
68
|
+
disabled: M,
|
69
|
+
onClick: y,
|
70
|
+
size: "large",
|
71
|
+
children: l.formatMessage(o.deleteConfirmationModalConfirmButton)
|
72
|
+
})]
|
73
|
+
}), /* @__PURE__ */ e(a.Close, {
|
74
|
+
"aria-label": l.formatMessage(o.deleteConfirmationModalDismissButton)
|
75
|
+
})]
|
76
|
+
})
|
77
|
+
});
|
78
|
+
};
|
79
|
+
export {
|
80
|
+
V as DeleteConfirmationModal
|
81
|
+
};
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { defineMessages as e } from "react-intl";
|
2
|
+
const a = e({
|
3
|
+
deleteConfirmationModalCustomMetadata: {
|
4
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.customMedatata",
|
5
|
+
defaultMessage: "Custom Metadata"
|
6
|
+
},
|
7
|
+
deleteConfirmationModalHeader: {
|
8
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.header",
|
9
|
+
defaultMessage: 'Delete "{templateName}"'
|
10
|
+
},
|
11
|
+
deleteConfirmationModalBodyFirstParagraph: {
|
12
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.body.firstParagraph",
|
13
|
+
defaultMessage: 'Are you sure you want to delete the "{templateName}" Metadata template, and all of its values from this file?'
|
14
|
+
},
|
15
|
+
deleteConfirmationModalBodySecondParagraph: {
|
16
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.body.secondParagraph",
|
17
|
+
defaultMessage: "Once deleted, Metadata values cannot be restored."
|
18
|
+
},
|
19
|
+
deleteConfirmationModalBodyInputFieldLabel: {
|
20
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.body.inputFieldLabel",
|
21
|
+
defaultMessage: 'Type "{templateName}" to confirm'
|
22
|
+
},
|
23
|
+
deleteConfirmationModalCancelButton: {
|
24
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.cancelButton",
|
25
|
+
defaultMessage: "Cancel"
|
26
|
+
},
|
27
|
+
deleteConfirmationModalConfirmButton: {
|
28
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.confirmButton",
|
29
|
+
defaultMessage: "Confirm"
|
30
|
+
},
|
31
|
+
deleteConfirmationModalDismissButton: {
|
32
|
+
id: "metadataEditor.editInstance.deleteConfirmationModal.dismissButton",
|
33
|
+
defaultMessage: "Dismiss"
|
34
|
+
}
|
35
|
+
});
|
36
|
+
export {
|
37
|
+
a as default
|
38
|
+
};
|
package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/messages.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import "../../../../../../styles/metadata-instance-form.css";
|
2
|
+
import { useState as l, useMemo as S } from "react";
|
3
|
+
import { Formik as D } from "formik";
|
4
|
+
import { Card as E } from "@box/blueprint-web";
|
5
|
+
import { CustomInstance as y } from "../custom-instance/custom-instance.js";
|
6
|
+
import { DeleteConfirmationModal as O } from "../delete-confirmation-modal/delete-confirmation-modal.js";
|
7
|
+
import { MetadataEmptyState as b } from "../../../metadata-empty-state/metadata-empty-state.js";
|
8
|
+
import { MetadataInstanceFormFooter as N } from "../metadata-instance-form-footer/metadata-instance-form-footer.js";
|
9
|
+
import { MetadataInstanceFormHeader as T } from "../metadata-instance-form-header/metadata-instance-form-header.js";
|
10
|
+
import { UnsavedChangesModal as v } from "../../../unsaved-changes-modal/unsaved-changes-modal.js";
|
11
|
+
import { TemplateInstance as _ } from "../../../metadata-editor-fields/metadata-editor-fields.js";
|
12
|
+
import { TEMPLATE_CUSTOM_PROPERTIES as x } from "../../../../constants.js";
|
13
|
+
import { createJSONPatch as A } from "./utils.js";
|
14
|
+
import { jsx as t, jsxs as d, Fragment as P } from "react/jsx-runtime";
|
15
|
+
const U = "_metadataInstanceForm_1hu4u_1", j = {
|
16
|
+
metadataInstanceForm: U
|
17
|
+
}, X = (c) => {
|
18
|
+
const {
|
19
|
+
isAiSuggestionsFeatureEnabled: o,
|
20
|
+
isLoading: n,
|
21
|
+
onCancel: p,
|
22
|
+
onDelete: f,
|
23
|
+
onSubmit: u,
|
24
|
+
selectedTemplateInstance: e
|
25
|
+
} = c, [C, m] = l(!1), [M, r] = l(!1), i = (a) => {
|
26
|
+
u(e.id, A(a, e));
|
27
|
+
}, h = (a) => {
|
28
|
+
a ? m(!0) : p();
|
29
|
+
}, F = () => {
|
30
|
+
r(!0);
|
31
|
+
}, I = {
|
32
|
+
metadata: {
|
33
|
+
...e
|
34
|
+
}
|
35
|
+
}, g = S(() => {
|
36
|
+
const a = e.templateKey === x, s = e.fields.length === 0;
|
37
|
+
return a ? /* @__PURE__ */ t(y, {
|
38
|
+
isLoading: n
|
39
|
+
}) : s ? /* @__PURE__ */ t(b, {
|
40
|
+
isBoxAiSuggestionsFeatureEnabled: o,
|
41
|
+
level: "instance"
|
42
|
+
}) : /* @__PURE__ */ t(_, {
|
43
|
+
disableForm: n
|
44
|
+
});
|
45
|
+
}, [e.templateKey, e.fields.length, n, o]);
|
46
|
+
return /* @__PURE__ */ t(D, {
|
47
|
+
initialValues: I,
|
48
|
+
onSubmit: i,
|
49
|
+
children: ({
|
50
|
+
values: a,
|
51
|
+
dirty: s
|
52
|
+
}) => /* @__PURE__ */ d(P, {
|
53
|
+
children: [/* @__PURE__ */ d(E, {
|
54
|
+
className: j.metadataInstanceForm,
|
55
|
+
children: [/* @__PURE__ */ t(T, {
|
56
|
+
isAiSuggestionsFeatureEnabled: o,
|
57
|
+
isLoading: n,
|
58
|
+
templateName: e.displayName
|
59
|
+
}), g, /* @__PURE__ */ t(N, {
|
60
|
+
isLoading: n,
|
61
|
+
onCancel: () => h(s),
|
62
|
+
onDelete: F
|
63
|
+
})]
|
64
|
+
}), /* @__PURE__ */ t(v, {
|
65
|
+
onDismiss: () => m(!1),
|
66
|
+
onSaveAndContinue: () => i(a),
|
67
|
+
open: C
|
68
|
+
}), /* @__PURE__ */ t(O, {
|
69
|
+
onConfirm: () => f(e.id),
|
70
|
+
onDismiss: () => r(!1),
|
71
|
+
open: M,
|
72
|
+
templateName: e.displayName
|
73
|
+
})]
|
74
|
+
})
|
75
|
+
});
|
76
|
+
};
|
77
|
+
export {
|
78
|
+
X as MetadataInstanceForm
|
79
|
+
};
|
package/esm/lib/components/metadata-instance-editor/subcomponents/metadata-instance-form/utils.js
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
const p = {
|
2
|
+
ADD: "add",
|
3
|
+
REMOVE: "remove",
|
4
|
+
REPLACE: "replace",
|
5
|
+
TEST: "test"
|
6
|
+
}, f = (a, s) => {
|
7
|
+
const u = [], o = a.metadata.fields, c = new Map(s.fields.map((e) => [e.key, e])), l = new Map(o.map((e) => [e.key, e]));
|
8
|
+
return o.forEach((e) => {
|
9
|
+
const t = c.get(e.key);
|
10
|
+
t ? JSON.stringify(e) === JSON.stringify(t) || (t.value === null && e.value !== null ? u.push(r(e.key, e.value)) : e.value !== t.value && e.value !== null && t.value !== null && (u.push(n(t.key, t.value)), u.push(h(e.key, e.value)))) : u.push(r(e.key, e.value));
|
11
|
+
}), s.fields.forEach((e) => {
|
12
|
+
const t = l.get(e.key);
|
13
|
+
(!t || t.value === null && e.value !== null) && (u.push(n(e.key, e.value)), u.push(v(e.key)));
|
14
|
+
}), u;
|
15
|
+
}, n = (a, s) => ({
|
16
|
+
op: p.TEST,
|
17
|
+
path: `/${a}`,
|
18
|
+
value: s
|
19
|
+
}), r = (a, s) => ({
|
20
|
+
op: p.ADD,
|
21
|
+
path: `/${a}`,
|
22
|
+
value: s
|
23
|
+
}), v = (a) => ({
|
24
|
+
op: p.REMOVE,
|
25
|
+
path: `/${a}`
|
26
|
+
}), h = (a, s) => ({
|
27
|
+
op: p.REPLACE,
|
28
|
+
path: `/${a}`,
|
29
|
+
value: s
|
30
|
+
});
|
31
|
+
export {
|
32
|
+
f as createJSONPatch
|
33
|
+
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { defineMessages as a } from "react-intl";
|
2
|
+
const e = a({
|
3
|
+
cancelButton: {
|
4
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormFooter.cancelButton",
|
5
|
+
defaultMessage: "Cancel"
|
6
|
+
},
|
7
|
+
deleteButton: {
|
8
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormFooter.deleteButton",
|
9
|
+
defaultMessage: "Delete"
|
10
|
+
},
|
11
|
+
loadingAriaLabel: {
|
12
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormFooter.loadingAriaLabel",
|
13
|
+
defaultMessage: "Loading..."
|
14
|
+
},
|
15
|
+
saveButton: {
|
16
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormFooter.saveButton",
|
17
|
+
defaultMessage: "Save"
|
18
|
+
}
|
19
|
+
});
|
20
|
+
export {
|
21
|
+
e as default
|
22
|
+
};
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import "../../../../../../styles/metadata-instance-form-footer.css";
|
2
|
+
import { TextButton as u, Button as r } from "@box/blueprint-web";
|
3
|
+
import { useFormikContext as b } from "formik";
|
4
|
+
import { useIntl as F } from "react-intl";
|
5
|
+
import o from "./messages.js";
|
6
|
+
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
7
|
+
const g = "_metadataInstanceFormFooter_17478_1", f = "_buttonsContainer_17478_8", _ = "_buttons_17478_8", a = {
|
8
|
+
metadataInstanceFormFooter: g,
|
9
|
+
buttonsContainer: f,
|
10
|
+
buttons: _
|
11
|
+
}, x = ({
|
12
|
+
isLoading: m,
|
13
|
+
onCancel: c,
|
14
|
+
onDelete: l
|
15
|
+
}) => {
|
16
|
+
const t = F(), {
|
17
|
+
isSubmitting: s,
|
18
|
+
submitForm: d
|
19
|
+
} = b(), n = m || s;
|
20
|
+
return /* @__PURE__ */ e("div", {
|
21
|
+
className: a.metadataInstanceFormFooter,
|
22
|
+
children: /* @__PURE__ */ i("div", {
|
23
|
+
className: a.buttonsContainer,
|
24
|
+
children: [/* @__PURE__ */ e(u, {
|
25
|
+
disabled: n,
|
26
|
+
onClick: l,
|
27
|
+
children: t.formatMessage(o.deleteButton)
|
28
|
+
}), /* @__PURE__ */ i("div", {
|
29
|
+
className: a.buttons,
|
30
|
+
children: [/* @__PURE__ */ e(r, {
|
31
|
+
disabled: n,
|
32
|
+
onClick: c,
|
33
|
+
size: "large",
|
34
|
+
variant: "secondary",
|
35
|
+
children: t.formatMessage(o.cancelButton)
|
36
|
+
}), /* @__PURE__ */ e(r, {
|
37
|
+
disabled: n,
|
38
|
+
loading: s,
|
39
|
+
loadingAriaLabel: t.formatMessage(o.loadingAriaLabel),
|
40
|
+
onClick: d,
|
41
|
+
size: "large",
|
42
|
+
children: t.formatMessage(o.saveButton)
|
43
|
+
})]
|
44
|
+
})]
|
45
|
+
})
|
46
|
+
});
|
47
|
+
};
|
48
|
+
export {
|
49
|
+
x as MetadataInstanceFormFooter
|
50
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { defineMessages as a } from "react-intl";
|
2
|
+
const e = a({
|
3
|
+
autofillButton: {
|
4
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormHeader.autofillButton",
|
5
|
+
defaultMessage: "Autofill"
|
6
|
+
},
|
7
|
+
customInstanceTitle: {
|
8
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormHeader.customInstanceTitle",
|
9
|
+
defaultMessage: "Custom Metadata"
|
10
|
+
},
|
11
|
+
loadingButtonAriaLabel: {
|
12
|
+
id: "metadataEditor.metadataInstanceEditor.metadataInstanceFormHeader.loadingButtonAriaLabel",
|
13
|
+
defaultMessage: "Loading..."
|
14
|
+
}
|
15
|
+
});
|
16
|
+
export {
|
17
|
+
e as default
|
18
|
+
};
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import "../../../../../../styles/metadata-instance-form-header.css";
|
2
|
+
import { Text as l, Button as d } from "@box/blueprint-web";
|
3
|
+
import { BoxAiLogo as f } from "@box/blueprint-web-assets/icons/Logo";
|
4
|
+
import { useFormikContext as u } from "formik";
|
5
|
+
import { useIntl as g } from "react-intl";
|
6
|
+
import e from "./messages.js";
|
7
|
+
import { jsxs as p, jsx as a } from "react/jsx-runtime";
|
8
|
+
const I = "_metadataInstanceFormHeader_1b2cc_1", b = "_title_1b2cc_8", o = {
|
9
|
+
metadataInstanceFormHeader: I,
|
10
|
+
title: b
|
11
|
+
}, v = ({
|
12
|
+
isAiSuggestionsFeatureEnabled: n,
|
13
|
+
isLoading: r,
|
14
|
+
onAutofill: s,
|
15
|
+
templateName: i
|
16
|
+
}) => {
|
17
|
+
const {
|
18
|
+
isSubmitting: m
|
19
|
+
} = u(), t = g(), c = i ?? t.formatMessage(e.customInstanceTitle);
|
20
|
+
return /* @__PURE__ */ p("div", {
|
21
|
+
className: o.metadataInstanceFormHeader,
|
22
|
+
children: [/* @__PURE__ */ a(l, {
|
23
|
+
as: "h1",
|
24
|
+
className: o.title,
|
25
|
+
variant: "titleMedium",
|
26
|
+
children: c
|
27
|
+
}), n && /* @__PURE__ */ a(d, {
|
28
|
+
disabled: m,
|
29
|
+
icon: f,
|
30
|
+
loading: r,
|
31
|
+
loadingAriaLabel: t.formatMessage(e.loadingButtonAriaLabel),
|
32
|
+
onClick: s,
|
33
|
+
variant: "secondary",
|
34
|
+
children: t.formatMessage(e.autofillButton)
|
35
|
+
})]
|
36
|
+
});
|
37
|
+
};
|
38
|
+
export {
|
39
|
+
v as MetadataInstanceFormHeader
|
40
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { MetadataInstanceList as e } from "./metadata-instance-list.js";
|
2
|
+
import { MetadataInstanceHeader as r, autofillButtonAriaLabel as n, editButtonAriaLabel as i } from "./subcomponents/metadata-instance-header/metadata-instance-header.js";
|
3
|
+
export {
|
4
|
+
r as MetadataInstanceHeader,
|
5
|
+
e as MetadataInstanceList,
|
6
|
+
n as autofillButtonAriaLabel,
|
7
|
+
i as editButtonAriaLabel
|
8
|
+
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import "../../../../styles/metadata-instance-list.css";
|
2
|
+
import { MetadataInstance as c } from "./subcomponents/metadata-instance/metadata-instance.js";
|
3
|
+
import { jsx as a } from "react/jsx-runtime";
|
4
|
+
const d = "_metadataInstanceList_bd83w_1", m = {
|
5
|
+
metadataInstanceList: d
|
6
|
+
}, L = ({
|
7
|
+
isAiSuggestionsFeatureEnabled: s,
|
8
|
+
onEdit: n,
|
9
|
+
onEditWithAutofill: e,
|
10
|
+
templateInstances: i
|
11
|
+
}) => /* @__PURE__ */ a("div", {
|
12
|
+
className: m.metadataInstanceList,
|
13
|
+
children: i.map((t) => /* @__PURE__ */ a(c, {
|
14
|
+
isAiSuggestionsFeatureEnabled: s,
|
15
|
+
onEdit: n,
|
16
|
+
onEditWithAutofill: e,
|
17
|
+
templateInstance: t
|
18
|
+
}, t.id))
|
19
|
+
});
|
20
|
+
export {
|
21
|
+
L as MetadataInstanceList
|
22
|
+
};
|