@box/metadata-template-editor 2.2.23 → 2.2.25

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 (83) hide show
  1. package/dist/chunks/chip.js +1 -22
  2. package/dist/chunks/dropdown-field-configuration.js +1 -62
  3. package/dist/chunks/field-context-menu.js +1 -91
  4. package/dist/chunks/field-selector.js +1 -23
  5. package/dist/chunks/field-type-dropdown.js +1 -31
  6. package/dist/chunks/levels-chain.js +1 -120
  7. package/dist/chunks/metadata-field-configurator.module.js +1 -21
  8. package/dist/chunks/metadata-field-list.js +1 -280
  9. package/dist/chunks/metadata-template-editor-form.js +1 -132
  10. package/dist/chunks/metadata-template-editor-modal.js +1 -90
  11. package/dist/chunks/metadata-template-editor.js +1 -161
  12. package/dist/chunks/sortable-option-list.js +1 -230
  13. package/dist/chunks/taxonomy-field-configuration.js +1 -123
  14. package/dist/chunks/taxonomy-field-configurator-initial-state.js +1 -49
  15. package/dist/chunks/taxonomy-selector.js +1 -89
  16. package/dist/chunks/types.js +1 -23
  17. package/dist/esm/index.js +1 -22
  18. package/dist/esm/lib/components/field-selector/field-selector.js +1 -2
  19. package/dist/esm/lib/components/field-selector/index.js +1 -2
  20. package/dist/esm/lib/components/field-selector/messages.js +1 -12
  21. package/dist/esm/lib/components/field-type-dropdown/field-type-dropdown.js +1 -2
  22. package/dist/esm/lib/components/field-type-dropdown/index.js +1 -2
  23. package/dist/esm/lib/components/field-type-dropdown/messages.js +1 -12
  24. package/dist/esm/lib/components/field-type-tiles/field-type-tiles.js +1 -33
  25. package/dist/esm/lib/components/field-type-tiles/index.js +1 -2
  26. package/dist/esm/lib/components/field-type-tiles/messages.js +1 -12
  27. package/dist/esm/lib/components/metadata-field-configurator/components/confirmation-modal/confirmation-modal.js +1 -33
  28. package/dist/esm/lib/components/metadata-field-configurator/components/confirmation-modal/messages.js +1 -16
  29. package/dist/esm/lib/components/metadata-field-configurator/components/field-action-slot/field-action-slot.js +1 -67
  30. package/dist/esm/lib/components/metadata-field-configurator/components/field-context-menu/field-context-menu.js +1 -2
  31. package/dist/esm/lib/components/metadata-field-configurator/components/field-edit-content/field-edit-content.js +1 -84
  32. package/dist/esm/lib/components/metadata-field-configurator/components/levels-chain/chip.js +1 -2
  33. package/dist/esm/lib/components/metadata-field-configurator/components/levels-chain/index.js +1 -2
  34. package/dist/esm/lib/components/metadata-field-configurator/components/levels-chain/levels-chain.js +1 -2
  35. package/dist/esm/lib/components/metadata-field-configurator/components/levels-chain/utils.js +1 -17
  36. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/dropdown/__mocks__/getInitialValues.js +1 -35
  37. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/dropdown/dropdown-default-values.js +1 -11
  38. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/dropdown/dropdown-field-configuration.js +1 -2
  39. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/dropdown/sortable-option-list.js +1 -2
  40. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/index.js +1 -3
  41. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-default-values.js +1 -11
  42. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-field-configuration.js +1 -2
  43. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-field-configurator-initial-state.js +1 -2
  44. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-selector-messages.js +1 -36
  45. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-selector.js +1 -2
  46. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/useTaxonomySelect.js +1 -15
  47. package/dist/esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/utils.js +1 -2
  48. package/dist/esm/lib/components/metadata-field-configurator/context/editor-config-context.js +1 -3
  49. package/dist/esm/lib/components/metadata-field-configurator/context/field-configurator-context.js +1 -62
  50. package/dist/esm/lib/components/metadata-field-configurator/context/field-extensions-context.js +1 -6
  51. package/dist/esm/lib/components/metadata-field-configurator/context/taxonomy-options-context.js +1 -17
  52. package/dist/esm/lib/components/metadata-field-configurator/hooks/useFieldConfiguratorBehavior.js +1 -102
  53. package/dist/esm/lib/components/metadata-field-configurator/hooks/useFieldValidation.js +1 -54
  54. package/dist/esm/lib/components/metadata-field-configurator/hooks/useTaxonomyFetch.js +1 -24
  55. package/dist/esm/lib/components/metadata-field-configurator/hooks/useTemplateFieldSchema.js +1 -35
  56. package/dist/esm/lib/components/metadata-field-configurator/index.js +1 -14
  57. package/dist/esm/lib/components/metadata-field-configurator/messages/configurator-messages.js +1 -133
  58. package/dist/esm/lib/components/metadata-field-configurator/messages/dropdown-messages.js +1 -36
  59. package/dist/esm/lib/components/metadata-field-configurator/messages/levels-chain-messages.js +1 -16
  60. package/dist/esm/lib/components/metadata-field-configurator/messages/taxonomy-messages.js +1 -36
  61. package/dist/esm/lib/components/metadata-field-configurator/metadata-field-configurator.js +1 -106
  62. package/dist/esm/lib/components/metadata-field-configurator/utils.js +1 -46
  63. package/dist/esm/lib/components/metadata-field-list/index.js +1 -2
  64. package/dist/esm/lib/components/metadata-field-list/metadata-field-list.js +1 -2
  65. package/dist/esm/lib/components/metadata-template-editor-form/metadata-template-editor-form.js +1 -2
  66. package/dist/esm/lib/components/metadata-template-editor-modal/index.js +1 -2
  67. package/dist/esm/lib/components/metadata-template-editor-modal/metadata-template-editor-modal.js +1 -2
  68. package/dist/esm/lib/hooks/useMetadataTemplateFormSchema.js +1 -14
  69. package/dist/esm/lib/hooks/useTemplateNameSchema.js +1 -10
  70. package/dist/esm/lib/index.js +1 -8
  71. package/dist/esm/lib/messages.js +1 -128
  72. package/dist/esm/lib/metadata-template-editor.js +1 -2
  73. package/dist/esm/lib/utils/constants.js +1 -2
  74. package/dist/esm/lib/utils/field-options/field-type-icon.js +1 -15
  75. package/dist/esm/lib/utils/field-options/index.js +1 -4
  76. package/dist/esm/lib/utils/field-options/messages.js +1 -45
  77. package/dist/esm/lib/utils/field-options/useFieldOptions.js +1 -16
  78. package/dist/esm/lib/utils/key-generation.js +1 -18
  79. package/dist/esm/lib/utils/template-type-conversion/convertLocalConfiguratorToTemplateField.js +1 -64
  80. package/dist/esm/lib/utils/template-type-conversion/convertTemplateFieldToLocalConfigurator.js +1 -70
  81. package/dist/esm/lib/utils/template-type-conversion/generateJSONPatchTemplateOperations.js +1 -160
  82. package/dist/esm/lib/utils/template-type-conversion/mapFieldsWithUniqueKeys.js +1 -9
  83. package/package.json +7 -7
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../../chunks/taxonomy-field-configurator-initial-state.js";
2
- export { e as TaxonomyFieldConfiguratorInitialState };
1
+ import{t as TaxonomyFieldConfiguratorInitialState}from"../../../../../../../chunks/taxonomy-field-configurator-initial-state.js";export{TaxonomyFieldConfiguratorInitialState};
@@ -1,36 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- taxonomySelectorAriaLabel: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.taxonomySelectorAriaLabel",
5
- defaultMessage: "Open taxonomy selector"
6
- },
7
- taxonomySelector: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.taxonomySelector",
9
- defaultMessage: "Choose a Taxonomy"
10
- },
11
- recentlyUsedTaxonomies: {
12
- id: "groupSharedFeatures.metadataTemplateEditor.recentlyUsedTaxonomies",
13
- defaultMessage: "Recents"
14
- },
15
- allTaxonomies: {
16
- id: "groupSharedFeatures.metadataTemplateEditor.allTaxonomies",
17
- defaultMessage: "All taxonomies"
18
- },
19
- searchTaxonomiesInputPlaceholder: {
20
- id: "groupSharedFeatures.metadataTemplateEditor.searchTaxonomiesInputPlaceholder",
21
- defaultMessage: "Search taxonomies"
22
- },
23
- loadingTaxonomies: {
24
- id: "groupSharedFeatures.metadataTemplateEditor.loadingTaxonomies",
25
- defaultMessage: "Loading taxonomies…"
26
- },
27
- loadTaxonomiesError: {
28
- id: "groupSharedFeatures.metadataTemplateEditor.loadTaxonomiesError",
29
- defaultMessage: "Failed to load taxonomies."
30
- },
31
- retryLoadTaxonomies: {
32
- id: "groupSharedFeatures.metadataTemplateEditor.retryLoadTaxonomies",
33
- defaultMessage: "Retry"
34
- }
35
- });
36
- export { t as default };
1
+ import{defineMessages}from"react-intl";var taxonomy_selector_messages_default=defineMessages({taxonomySelectorAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.taxonomySelectorAriaLabel`,defaultMessage:`Open taxonomy selector`},taxonomySelector:{id:`groupSharedFeatures.metadataTemplateEditor.taxonomySelector`,defaultMessage:`Choose a Taxonomy`},recentlyUsedTaxonomies:{id:`groupSharedFeatures.metadataTemplateEditor.recentlyUsedTaxonomies`,defaultMessage:`Recents`},allTaxonomies:{id:`groupSharedFeatures.metadataTemplateEditor.allTaxonomies`,defaultMessage:`All taxonomies`},searchTaxonomiesInputPlaceholder:{id:`groupSharedFeatures.metadataTemplateEditor.searchTaxonomiesInputPlaceholder`,defaultMessage:`Search taxonomies`},loadingTaxonomies:{id:`groupSharedFeatures.metadataTemplateEditor.loadingTaxonomies`,defaultMessage:`Loading taxonomies…`},loadTaxonomiesError:{id:`groupSharedFeatures.metadataTemplateEditor.loadTaxonomiesError`,defaultMessage:`Failed to load taxonomies.`},retryLoadTaxonomies:{id:`groupSharedFeatures.metadataTemplateEditor.retryLoadTaxonomies`,defaultMessage:`Retry`}});export{taxonomy_selector_messages_default as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../../chunks/taxonomy-selector.js";
2
- export { e as TaxonomySelector };
1
+ import{t as TaxonomySelector}from"../../../../../../../chunks/taxonomy-selector.js";export{TaxonomySelector};
@@ -1,15 +1 @@
1
- import { taxonomyDefaultValues as e } from "./taxonomy-default-values.js";
2
- var t = (t) => ({ onTaxonomySelect: (n) => {
3
- let r = t.values.taxonomy.availableTaxonomies.find((e) => e.id === n.id);
4
- t.setFieldValue("taxonomy", {
5
- ...e.taxonomy,
6
- availableTaxonomies: t.values.taxonomy.availableTaxonomies.map((e) => ({
7
- ...e,
8
- selected: e.id === n.id
9
- })),
10
- selectedLevels: r?.levels[0] ? [r.levels[0].level] : [],
11
- taxonomyKey: r?.taxonomyKey ?? "",
12
- namespace: r?.namespace ?? ""
13
- });
14
- } });
15
- export { t as useTaxonomySelect };
1
+ import{taxonomyDefaultValues}from"./taxonomy-default-values.js";var useTaxonomySelect=ctx=>({onTaxonomySelect:option=>{let selectedOptionData=ctx.values.taxonomy.availableTaxonomies.find(taxonomy=>taxonomy.id===option.id);ctx.setFieldValue(`taxonomy`,{...taxonomyDefaultValues.taxonomy,availableTaxonomies:ctx.values.taxonomy.availableTaxonomies.map(taxonomy=>({...taxonomy,selected:taxonomy.id===option.id})),selectedLevels:selectedOptionData?.levels[0]?[selectedOptionData.levels[0].level]:[],taxonomyKey:selectedOptionData?.taxonomyKey??``,namespace:selectedOptionData?.namespace??``})}});export{useTaxonomySelect};
@@ -1,2 +1 @@
1
- var e = (e, t) => e.filter((e) => e.label.toLowerCase().includes(t.toLowerCase()));
2
- export { e as filterTaxonomiesByValue };
1
+ var filterTaxonomiesByValue=(taxonomies,value)=>taxonomies.filter(taxonomy=>taxonomy.label.toLowerCase().includes(value.toLowerCase()));export{filterTaxonomiesByValue};
@@ -1,3 +1 @@
1
- import { createContext as e, useContext as t } from "react";
2
- var n = /*#__PURE__*/ e({ disabledFieldTypes: [] }), r = () => t(n);
3
- export { n as EditorConfigContext, r as useEditorConfig };
1
+ import{createContext,useContext}from"react";var EditorConfigContext=createContext({disabledFieldTypes:[]}),useEditorConfig=()=>useContext(EditorConfigContext);export{EditorConfigContext,useEditorConfig};
@@ -1,62 +1 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { createContext as t, useCallback as n, useContext as r, useMemo as i, useState as a } from "react";
3
- import o from "lodash/cloneDeep";
4
- import s from "lodash/set";
5
- var c = /*#__PURE__*/ t(null);
6
- function l() {
7
- let e = r(c);
8
- if (!e) throw Error("useFieldConfigurator must be used within a FieldConfiguratorContext provider");
9
- return e;
10
- }
11
- var u = ({ initialValues: t, initialErrors: r = {}, initialTouched: l = {}, children: u }) => {
12
- let [d, f] = a(t), [p] = a(r), [m, h] = a(l), g = n((e, t) => {
13
- f((n) => ({
14
- ...n,
15
- [e]: t
16
- }));
17
- }, []), _ = n((e) => f(e), []), v = n((e, t = !0) => {
18
- h((n) => {
19
- let r = o(n);
20
- return s(r, e, t), r;
21
- });
22
- }, []), y = n((e) => h(e), []), b = n((e) => {
23
- let { name: t, value: n } = e.target;
24
- f((e) => {
25
- let r = o(e);
26
- return s(r, t, n), r;
27
- });
28
- }, []), x = n((e) => {
29
- let t = e.target;
30
- t.name && h((e) => {
31
- let n = o(e);
32
- return s(n, t.name, !0), n;
33
- });
34
- }, []), S = i(() => ({
35
- values: d,
36
- errors: p,
37
- touched: m,
38
- isValid: !0,
39
- setFieldValue: g,
40
- setValues: _,
41
- setFieldTouched: v,
42
- setTouched: y,
43
- handleChange: b,
44
- handleBlur: x,
45
- validateForm: async () => {}
46
- }), [
47
- d,
48
- p,
49
- m,
50
- g,
51
- _,
52
- v,
53
- y,
54
- b,
55
- x
56
- ]);
57
- return /* @__PURE__ */ e(c.Provider, {
58
- value: S,
59
- children: u
60
- });
61
- };
62
- export { c as FieldConfiguratorContext, u as FieldConfiguratorProvider, l as useFieldConfigurator };
1
+ import{jsx}from"react/jsx-runtime";import{createContext,useCallback,useContext,useMemo,useState}from"react";import cloneDeep from"lodash/cloneDeep";import set from"lodash/set";var FieldConfiguratorContext=createContext(null);function useFieldConfigurator(){let ctx=useContext(FieldConfiguratorContext);if(!ctx)throw Error(`useFieldConfigurator must be used within a FieldConfiguratorContext provider`);return ctx}var FieldConfiguratorProvider=({initialValues,initialErrors={},initialTouched={},children})=>{let[values,setValuesState]=useState(initialValues),[errors]=useState(initialErrors),[touched,setTouchedState]=useState(initialTouched),setFieldValue=useCallback((field,value)=>{setValuesState(prev=>({...prev,[field]:value}))},[]),setValues=useCallback(newValues=>setValuesState(newValues),[]),setFieldTouched=useCallback((field,isTouched=!0)=>{setTouchedState(prev=>{let next=cloneDeep(prev);return set(next,field,isTouched),next})},[]),setTouched=useCallback(newTouched=>setTouchedState(newTouched),[]),handleChange=useCallback(e=>{let{name,value}=e.target;setValuesState(prev=>{let next=cloneDeep(prev);return set(next,name,value),next})},[]),handleBlur=useCallback(e=>{let target=e.target;target.name&&setTouchedState(prev=>{let next=cloneDeep(prev);return set(next,target.name,!0),next})},[]),contextValue=useMemo(()=>({values,errors,touched,isValid:!0,setFieldValue,setValues,setFieldTouched,setTouched,handleChange,handleBlur,validateForm:async()=>{}}),[values,errors,touched,setFieldValue,setValues,setFieldTouched,setTouched,handleChange,handleBlur]);return jsx(FieldConfiguratorContext.Provider,{value:contextValue,children})};export{FieldConfiguratorContext,FieldConfiguratorProvider,useFieldConfigurator};
@@ -1,6 +1 @@
1
- import { createContext as e, useContext as t } from "react";
2
- var n = /*#__PURE__*/ e([]);
3
- function r() {
4
- return t(n);
5
- }
6
- export { n as FieldExtensionsContext, r as useFieldExtensions };
1
+ import{createContext,useContext}from"react";var FieldExtensionsContext=createContext([]);function useFieldExtensions(){return useContext(FieldExtensionsContext)}export{FieldExtensionsContext,useFieldExtensions};
@@ -1,17 +1 @@
1
- import { createContext as e, useContext as t } from "react";
2
- var n = /*#__PURE__*/ e({
3
- options: [],
4
- status: "success",
5
- onSelectorOpen: () => {}
6
- });
7
- function r() {
8
- return t(n);
9
- }
10
- function i(e) {
11
- return {
12
- options: e,
13
- status: "success",
14
- onSelectorOpen: () => {}
15
- };
16
- }
17
- export { n as TaxonomyOptionsContext, i as createStaticTaxonomyContext, r as useTaxonomyOptions };
1
+ import{createContext,useContext}from"react";var TaxonomyOptionsContext=createContext({options:[],status:`success`,onSelectorOpen:()=>{}});function useTaxonomyOptions(){return useContext(TaxonomyOptionsContext)}function createStaticTaxonomyContext(options){return{options,status:`success`,onSelectorOpen:()=>{}}}export{TaxonomyOptionsContext,createStaticTaxonomyContext,useTaxonomyOptions};
@@ -1,102 +1 @@
1
- import { FieldTypeIcon as e } from "../../../utils/field-options/field-type-icon.js";
2
- import { general as t } from "../messages/configurator-messages.js";
3
- import { createDefaultFieldValues as n, hasVisibleErrors as r } from "../utils.js";
4
- import { useFieldExtensions as i } from "../context/field-extensions-context.js";
5
- import { useFieldValidation as a } from "./useFieldValidation.js";
6
- import { useTaxonomyFetch as o } from "./useTaxonomyFetch.js";
7
- import { useIntl as s } from "react-intl";
8
- import { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
9
- import p from "lodash/cloneDeep";
10
- import m from "lodash/set";
11
- var h = "edit";
12
- function g({ values: g, onValuesChange: _, onDelete: v, isExpanded: y, onExpandedChange: b, submitAttemptCount: x, taxonomyOptions: S, fetchTaxonomies: C, fieldExtensionsProp: w, onValidationChange: T }) {
13
- let E = s(), { errors: D, touched: O, isValid: k, validateForm: A, touchAll: j, setFieldTouched: M, setTouched: ee, handleBlur: te } = a(g), ne = o(C, S), N = i(), P = w ?? N, [F, I] = f(() => g.isFieldNew === !0), [L, R] = f(!1), [z, B] = f(h), V = y === void 0 ? F : y, H = !g.isFieldReadOnly && g.isFieldNew, U = g.id, W = `field-name-${U}`, G = `field-description-${U}`, K = c((e, t) => {
14
- _({
15
- ...g,
16
- [e]: t
17
- });
18
- }, [g, _]), q = c((e) => {
19
- let { name: t, value: n } = e.target, r = p(g);
20
- m(r, t, n), _(r);
21
- }, [g, _]), J = u(() => ({
22
- values: g,
23
- errors: D,
24
- touched: O,
25
- isValid: k,
26
- setFieldValue: K,
27
- setValues: _,
28
- setFieldTouched: M,
29
- setTouched: ee,
30
- handleChange: q,
31
- handleBlur: te,
32
- validateForm: A
33
- }), [
34
- g,
35
- D,
36
- O,
37
- k,
38
- K,
39
- _,
40
- q,
41
- A
42
- ]), Y = d(V);
43
- l(() => {
44
- let e = Y.current;
45
- Y.current = V, e && !V && (j(), B("edit"));
46
- }, [V]);
47
- let X = d(x);
48
- l(() => {
49
- !x || x === X.current || j();
50
- }, [x]);
51
- let Z = d(T);
52
- Z.current = T, l(() => {
53
- Z.current?.(k);
54
- }, [k]), l(() => {
55
- g.isFieldNew && (y === void 0 ? I(!0) : b?.(!0));
56
- }, [g.isFieldNew]);
57
- let re = c((e) => K("hidden", e), [K]), Q = c(() => {
58
- v?.(g.key), R(!1);
59
- }, [v, g.key]), ie = c(() => {
60
- g.isFieldNew ? Q() : R(!0);
61
- }, [Q, g.isFieldNew]), ae = c(() => R(!1), []), oe = c((e) => I(e === U), [U]), se = c((e) => {
62
- _({
63
- ...n(e),
64
- id: g.id,
65
- key: g.key,
66
- hidden: g.hidden,
67
- isFieldNew: g.isFieldNew,
68
- isFieldReadOnly: g.isFieldReadOnly,
69
- name: g.name,
70
- description: g.description
71
- });
72
- }, [_, g]), ce = u(() => `${g.name || E.formatMessage(t.fieldNameInputPlaceholder)}${g.type === "dropdown" ? ` (${g.dropdown?.options?.length ?? 0})` : ""}`, [
73
- g.name,
74
- g.type,
75
- g.dropdown?.options?.length,
76
- E
77
- ]), le = u(() => e(g.type), [g.type]), $ = z === "edit" ? 0 : Number(z.replace("ext-", "")) + 1;
78
- return {
79
- contextValue: J,
80
- taxonomyContextValue: ne,
81
- extensions: P,
82
- isActive: V,
83
- handleAccordionValueChange: oe,
84
- isDeleteConfirmationModalOpen: L,
85
- openConfirmationModal: ie,
86
- closeConfirmationModal: ae,
87
- handleDeleteField: Q,
88
- activeTabId: z,
89
- setActiveTabId: B,
90
- activeExtension: $ > 0 ? P[$ - 1] ?? null : null,
91
- isTypeEditable: H,
92
- uniqueKey: U,
93
- nameInputId: W,
94
- descriptionInputId: G,
95
- accordionTitle: ce,
96
- TitleIcon: le,
97
- hasErrors: r(D, O),
98
- handleTypeChange: se,
99
- handleChangeVisibility: re
100
- };
101
- }
102
- export { h as EDIT_TAB_ID, g as useFieldConfiguratorBehavior };
1
+ import{FieldTypeIcon}from"../../../utils/field-options/field-type-icon.js";import{general}from"../messages/configurator-messages.js";import{createDefaultFieldValues,hasVisibleErrors}from"../utils.js";import{useFieldExtensions}from"../context/field-extensions-context.js";import{useFieldValidation}from"./useFieldValidation.js";import{useTaxonomyFetch}from"./useTaxonomyFetch.js";import{useIntl}from"react-intl";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import cloneDeep from"lodash/cloneDeep";import set from"lodash/set";var EDIT_TAB_ID=`edit`;function useFieldConfiguratorBehavior({values,onValuesChange,onDelete,isExpanded,onExpandedChange,submitAttemptCount,taxonomyOptions,fetchTaxonomies,fieldExtensionsProp,onValidationChange}){let intl=useIntl(),{errors,touched,isValid,validateForm,touchAll,setFieldTouched,setTouched,handleBlur}=useFieldValidation(values),taxonomyContextValue=useTaxonomyFetch(fetchTaxonomies,taxonomyOptions),contextExtensions=useFieldExtensions(),extensions=fieldExtensionsProp??contextExtensions,[isActiveInternal,setIsActiveInternal]=useState(()=>values.isFieldNew===!0),[isDeleteConfirmationModalOpen,setIsDeleteConfirmationModalOpen]=useState(!1),[activeTabId,setActiveTabId]=useState(EDIT_TAB_ID),isActive=isExpanded===void 0?isActiveInternal:isExpanded,isTypeEditable=!values.isFieldReadOnly&&values.isFieldNew,uniqueKey=values.id,nameInputId=`field-name-${uniqueKey}`,descriptionInputId=`field-description-${uniqueKey}`,fieldSetFieldValue=useCallback((field,value)=>{onValuesChange({...values,[field]:value})},[values,onValuesChange]),fieldHandleChange=useCallback(e=>{let{name,value}=e.target,next=cloneDeep(values);set(next,name,value),onValuesChange(next)},[values,onValuesChange]),contextValue=useMemo(()=>({values,errors,touched,isValid,setFieldValue:fieldSetFieldValue,setValues:onValuesChange,setFieldTouched,setTouched,handleChange:fieldHandleChange,handleBlur,validateForm}),[values,errors,touched,isValid,fieldSetFieldValue,onValuesChange,fieldHandleChange,validateForm]),prevIsActiveRef=useRef(isActive);useEffect(()=>{let wasActive=prevIsActiveRef.current;prevIsActiveRef.current=isActive,wasActive&&!isActive&&(touchAll(),setActiveTabId(`edit`))},[isActive]);let submitAttemptCountOnMountRef=useRef(submitAttemptCount);useEffect(()=>{!submitAttemptCount||submitAttemptCount===submitAttemptCountOnMountRef.current||touchAll()},[submitAttemptCount]);let onValidationChangeRef=useRef(onValidationChange);onValidationChangeRef.current=onValidationChange,useEffect(()=>{onValidationChangeRef.current?.(isValid)},[isValid]),useEffect(()=>{values.isFieldNew&&(isExpanded===void 0?setIsActiveInternal(!0):onExpandedChange?.(!0))},[values.isFieldNew]);let handleChangeVisibility=useCallback(hidden=>fieldSetFieldValue(`hidden`,hidden),[fieldSetFieldValue]),handleDeleteField=useCallback(()=>{onDelete?.(values.key),setIsDeleteConfirmationModalOpen(!1)},[onDelete,values.key]),openConfirmationModal=useCallback(()=>{values.isFieldNew?handleDeleteField():setIsDeleteConfirmationModalOpen(!0)},[handleDeleteField,values.isFieldNew]),closeConfirmationModal=useCallback(()=>setIsDeleteConfirmationModalOpen(!1),[]),handleAccordionValueChange=useCallback(value=>setIsActiveInternal(value===uniqueKey),[uniqueKey]),handleTypeChange=useCallback(fieldType=>{onValuesChange({...createDefaultFieldValues(fieldType),id:values.id,key:values.key,hidden:values.hidden,isFieldNew:values.isFieldNew,isFieldReadOnly:values.isFieldReadOnly,name:values.name,description:values.description})},[onValuesChange,values]),accordionTitle=useMemo(()=>`${values.name||intl.formatMessage(general.fieldNameInputPlaceholder)}${values.type===`dropdown`?` (${values.dropdown?.options?.length??0})`:``}`,[values.name,values.type,values.dropdown?.options?.length,intl]),TitleIcon=useMemo(()=>FieldTypeIcon(values.type),[values.type]),activeTabIndex=activeTabId===`edit`?0:Number(activeTabId.replace(`ext-`,``))+1;return{contextValue,taxonomyContextValue,extensions,isActive,handleAccordionValueChange,isDeleteConfirmationModalOpen,openConfirmationModal,closeConfirmationModal,handleDeleteField,activeTabId,setActiveTabId,activeExtension:activeTabIndex>0?extensions[activeTabIndex-1]??null:null,isTypeEditable,uniqueKey,nameInputId,descriptionInputId,accordionTitle,TitleIcon,hasErrors:hasVisibleErrors(errors,touched),handleTypeChange,handleChangeVisibility}}export{EDIT_TAB_ID,useFieldConfiguratorBehavior};
@@ -1,54 +1 @@
1
- import { useTemplateFieldSchema as e } from "./useTemplateFieldSchema.js";
2
- import { markAllTouched as t } from "../utils.js";
3
- import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
4
- import * as o from "yup";
5
- import s from "lodash/cloneDeep";
6
- import c from "lodash/set";
7
- function l(e) {
8
- let t = {};
9
- return (e.inner.length > 0 ? e.inner : [e]).forEach((e) => {
10
- e.path && c(t, e.path, e.message);
11
- }), t;
12
- }
13
- function u(u) {
14
- let d = e(), [f, p] = a({}), [m, h] = a(!1), [g, _] = a({}), v = n(async (e, t) => {
15
- try {
16
- if (await d.validate(e, { abortEarly: !1 }), t?.cancelled) return;
17
- p({}), h(!0);
18
- } catch (e) {
19
- if (t?.cancelled) return;
20
- e instanceof o.ValidationError && (p(l(e)), h(!1));
21
- }
22
- }, [d]);
23
- r(() => {
24
- let e = { cancelled: !1 };
25
- return v(u, e), () => {
26
- e.cancelled = !0;
27
- };
28
- }, [u, v]);
29
- let y = i(u.type);
30
- return r(() => {
31
- y.current !== u.type && (y.current = u.type, _(({ dropdown: e, taxonomy: t, ...n }) => n));
32
- }, [u.type]), {
33
- errors: f,
34
- touched: g,
35
- isValid: m,
36
- validateForm: n(() => v(u), [v, u]),
37
- touchAll: n(() => _(t(u)), [u]),
38
- setFieldTouched: n((e, t = !0) => {
39
- _((n) => {
40
- let r = s(n);
41
- return c(r, e, t), r;
42
- });
43
- }, []),
44
- setTouched: n((e) => _(e), []),
45
- handleBlur: n((e) => {
46
- let t = e.target;
47
- t.name && _((e) => {
48
- let n = s(e);
49
- return c(n, t.name, !0), n;
50
- });
51
- }, [])
52
- };
53
- }
54
- export { u as useFieldValidation };
1
+ import{useTemplateFieldSchema}from"./useTemplateFieldSchema.js";import{markAllTouched}from"../utils.js";import{useCallback,useEffect,useRef,useState}from"react";import*as Yup from"yup";import cloneDeep from"lodash/cloneDeep";import set from"lodash/set";function yupErrorsToRecord(err){let map={};return(err.inner.length>0?err.inner:[err]).forEach(e=>{e.path&&set(map,e.path,e.message)}),map}function useFieldValidation(values){let schema=useTemplateFieldSchema(),[errors,setErrors]=useState({}),[isValid,setIsValid]=useState(!1),[touched,setTouchedState]=useState({}),validate=useCallback(async(v,run)=>{try{if(await schema.validate(v,{abortEarly:!1}),run?.cancelled)return;setErrors({}),setIsValid(!0)}catch(err){if(run?.cancelled)return;err instanceof Yup.ValidationError&&(setErrors(yupErrorsToRecord(err)),setIsValid(!1))}},[schema]);useEffect(()=>{let run={cancelled:!1};return validate(values,run),()=>{run.cancelled=!0}},[values,validate]);let prevTypeRef=useRef(values.type);return useEffect(()=>{prevTypeRef.current!==values.type&&(prevTypeRef.current=values.type,setTouchedState(({dropdown:_d,taxonomy:_t,...shared})=>shared))},[values.type]),{errors,touched,isValid,validateForm:useCallback(()=>validate(values),[validate,values]),touchAll:useCallback(()=>setTouchedState(markAllTouched(values)),[values]),setFieldTouched:useCallback((field,isTouched=!0)=>{setTouchedState(prev=>{let next=cloneDeep(prev);return set(next,field,isTouched),next})},[]),setTouched:useCallback(newTouched=>setTouchedState(newTouched),[]),handleBlur:useCallback(e=>{let target=e.target;target.name&&setTouchedState(prev=>{let next=cloneDeep(prev);return set(next,target.name,!0),next})},[])}}export{useFieldValidation};
@@ -1,24 +1 @@
1
- import { createStaticTaxonomyContext as e } from "../context/taxonomy-options-context.js";
2
- import { useCallback as t, useRef as n, useState as r } from "react";
3
- function i(i, a = []) {
4
- let [o, s] = r("idle"), [c, l] = r([]), u = n(!1), d = t(async () => {
5
- if (!(!i || u.current)) {
6
- u.current = !0, s("loading");
7
- try {
8
- l(await i()), s("success");
9
- } catch {
10
- s("error");
11
- } finally {
12
- u.current = !1;
13
- }
14
- }
15
- }, [i]), f = t(() => {
16
- o === "success" || o === "loading" || d();
17
- }, [d, o]);
18
- return i ? {
19
- options: c,
20
- status: o,
21
- onSelectorOpen: f
22
- } : e(a);
23
- }
24
- export { i as useTaxonomyFetch };
1
+ import{createStaticTaxonomyContext}from"../context/taxonomy-options-context.js";import{useCallback,useRef,useState}from"react";function useTaxonomyFetch(fetchTaxonomies,staticOptions=[]){let[status,setStatus]=useState(`idle`),[options,setOptions]=useState([]),isFetchingRef=useRef(!1),runFetch=useCallback(async()=>{if(!(!fetchTaxonomies||isFetchingRef.current)){isFetchingRef.current=!0,setStatus(`loading`);try{setOptions(await fetchTaxonomies()),setStatus(`success`)}catch{setStatus(`error`)}finally{isFetchingRef.current=!1}}},[fetchTaxonomies]),onSelectorOpen=useCallback(()=>{status===`success`||status===`loading`||runFetch()},[runFetch,status]);return fetchTaxonomies?{options,status,onSelectorOpen}:createStaticTaxonomyContext(staticOptions)}export{useTaxonomyFetch};
@@ -1,35 +1 @@
1
- import { a as e, c as t } from "../../../../../chunks/types.js";
2
- import { METADATA_TEMPLATE_FIELD_NAME_MAX_LENGTH as n } from "../../../utils/constants.js";
3
- import { validationErrors as r } from "../messages/configurator-messages.js";
4
- import { useIntl as i } from "react-intl";
5
- import { useMemo as a } from "react";
6
- import * as o from "yup";
7
- var s = () => {
8
- let s = i();
9
- return a(() => {
10
- let i = o.string().min(1).max(n, s.formatMessage(r.fieldNameTooLong)).required(s.formatMessage(r.fieldNameCannotBeEmpty)).test("no-whitespace-only", s.formatMessage(r.fieldNameCannotBeEmpty), (e) => !e || e.trim().length > 0), a = o.object().shape({ key: o.string().required(s.formatMessage(r.optionKeyCannotBeEmpty)).test("unique-key", s.formatMessage(r.duplicateOption), (e, t) => {
11
- if (!e) return !0;
12
- let n = t?.from?.[0]?.value, r = t?.from?.[1].value?.options ?? [], i = r.findIndex((e) => e.id === n?.id);
13
- return !r.some((t, n) => n !== i && t.key === e);
14
- }) }), c = o.object().shape({ dropdown: o.object().shape({
15
- allowMultipleSelections: o.boolean().required(),
16
- options: o.array().of(a).min(1).required()
17
- }) }), l = o.object().shape({ taxonomy: o.object().shape({
18
- namespace: o.string().required(),
19
- taxonomyKey: o.string().required(),
20
- allowMultipleSelections: o.boolean().required(),
21
- selection: o.mixed().oneOf(Object.values(t)).required(),
22
- selectedLevels: o.array().of(o.number().required()).min(1).required()
23
- }) });
24
- return o.lazy((t) => {
25
- let n = o.object().shape({
26
- type: o.mixed().oneOf(Object.values(e)).required(),
27
- name: i,
28
- description: o.string().nullable(),
29
- hidden: o.boolean().required()
30
- });
31
- return t?.type === e.Dropdown ? n.concat(c) : t?.type === e.Taxonomy ? n.concat(l) : n;
32
- });
33
- }, [s]);
34
- };
35
- export { s as useTemplateFieldSchema };
1
+ import{a as FieldType,c as TaxonomySelection}from"../../../../../chunks/types.js";import{METADATA_TEMPLATE_FIELD_NAME_MAX_LENGTH}from"../../../utils/constants.js";import{validationErrors}from"../messages/configurator-messages.js";import{useIntl}from"react-intl";import{useMemo}from"react";import*as Yup from"yup";var useTemplateFieldSchema=()=>{let intl=useIntl();return useMemo(()=>{let displayNameSchema=Yup.string().min(1).max(METADATA_TEMPLATE_FIELD_NAME_MAX_LENGTH,intl.formatMessage(validationErrors.fieldNameTooLong)).required(intl.formatMessage(validationErrors.fieldNameCannotBeEmpty)).test(`no-whitespace-only`,intl.formatMessage(validationErrors.fieldNameCannotBeEmpty),value=>!value||value.trim().length>0),optionSchema=Yup.object().shape({key:Yup.string().required(intl.formatMessage(validationErrors.optionKeyCannotBeEmpty)).test(`unique-key`,intl.formatMessage(validationErrors.duplicateOption),(value,context)=>{if(!value)return!0;let option=context?.from?.[0]?.value,options=context?.from?.[1].value?.options??[],currentIndex=options.findIndex(opt=>opt.id===option?.id);return!options.some((opt,i)=>i!==currentIndex&&opt.key===value)})}),dropdownFieldSchemaParams=Yup.object().shape({dropdown:Yup.object().shape({allowMultipleSelections:Yup.boolean().required(),options:Yup.array().of(optionSchema).min(1).required()})}),taxonomyFieldSchemaParams=Yup.object().shape({taxonomy:Yup.object().shape({namespace:Yup.string().required(),taxonomyKey:Yup.string().required(),allowMultipleSelections:Yup.boolean().required(),selection:Yup.mixed().oneOf(Object.values(TaxonomySelection)).required(),selectedLevels:Yup.array().of(Yup.number().required()).min(1).required()})});return Yup.lazy(value=>{let baseSchema=Yup.object().shape({type:Yup.mixed().oneOf(Object.values(FieldType)).required(),name:displayNameSchema,description:Yup.string().nullable(),hidden:Yup.boolean().required()});return value?.type===FieldType.Dropdown?baseSchema.concat(dropdownFieldSchemaParams):value?.type===FieldType.Taxonomy?baseSchema.concat(taxonomyFieldSchemaParams):baseSchema})},[intl])};export{useTemplateFieldSchema};
@@ -1,14 +1 @@
1
- import { EditorConfigContext as e, useEditorConfig as t } from "./context/editor-config-context.js";
2
- import { useTemplateFieldSchema as n } from "./hooks/useTemplateFieldSchema.js";
3
- import r from "./components/confirmation-modal/confirmation-modal.js";
4
- import { FieldActionSlot as i } from "./components/field-action-slot/field-action-slot.js";
5
- import { FieldConfiguratorContext as a, useFieldConfigurator as o } from "./context/field-configurator-context.js";
6
- import { TaxonomyOptionsContext as s, createStaticTaxonomyContext as c, useTaxonomyOptions as l } from "./context/taxonomy-options-context.js";
7
- import { t as u } from "../../../../chunks/taxonomy-field-configuration.js";
8
- import { t as d } from "../../../../chunks/taxonomy-selector.js";
9
- import { createDefaultFieldValues as f } from "./utils.js";
10
- import { FieldEditContent as p } from "./components/field-edit-content/field-edit-content.js";
11
- import { FieldExtensionsContext as m, useFieldExtensions as h } from "./context/field-extensions-context.js";
12
- import { useFieldConfiguratorBehavior as g } from "./hooks/useFieldConfiguratorBehavior.js";
13
- import { MetadataFieldConfigurator as _ } from "./metadata-field-configurator.js";
14
- export { r as ConfirmationModal, e as EditorConfigContext, i as FieldActionSlot, a as FieldConfiguratorContext, p as FieldEditContent, m as FieldExtensionsContext, _ as MetadataFieldConfigurator, u as TaxonomyFieldConfiguration, s as TaxonomyOptionsContext, d as TaxonomySelector, f as createDefaultFieldValues, c as createStaticTaxonomyContext, t as useEditorConfig, o as useFieldConfigurator, g as useFieldConfiguratorBehavior, h as useFieldExtensions, l as useTaxonomyOptions, n as useTemplateFieldSchema };
1
+ import{EditorConfigContext,useEditorConfig}from"./context/editor-config-context.js";import{useTemplateFieldSchema}from"./hooks/useTemplateFieldSchema.js";import ConfirmationModal from"./components/confirmation-modal/confirmation-modal.js";import{FieldActionSlot}from"./components/field-action-slot/field-action-slot.js";import{FieldConfiguratorContext,useFieldConfigurator}from"./context/field-configurator-context.js";import{TaxonomyOptionsContext,createStaticTaxonomyContext,useTaxonomyOptions}from"./context/taxonomy-options-context.js";import{t as TaxonomyFieldConfiguration}from"../../../../chunks/taxonomy-field-configuration.js";import{t as TaxonomySelector}from"../../../../chunks/taxonomy-selector.js";import{createDefaultFieldValues}from"./utils.js";import{FieldEditContent}from"./components/field-edit-content/field-edit-content.js";import{FieldExtensionsContext,useFieldExtensions}from"./context/field-extensions-context.js";import{useFieldConfiguratorBehavior}from"./hooks/useFieldConfiguratorBehavior.js";import{MetadataFieldConfigurator}from"./metadata-field-configurator.js";export{ConfirmationModal,EditorConfigContext,FieldActionSlot,FieldConfiguratorContext,FieldEditContent,FieldExtensionsContext,MetadataFieldConfigurator,TaxonomyFieldConfiguration,TaxonomyOptionsContext,TaxonomySelector,createDefaultFieldValues,createStaticTaxonomyContext,useEditorConfig,useFieldConfigurator,useFieldConfiguratorBehavior,useFieldExtensions,useTaxonomyOptions,useTemplateFieldSchema};
@@ -1,133 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- fieldTypeLabel: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldTypeLabel",
5
- defaultMessage: "Field Type"
6
- },
7
- fieldTypePlaceholder: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldTypePlaceholder",
9
- defaultMessage: "Select Type"
10
- },
11
- fieldNameLabel: {
12
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldNameLabel",
13
- defaultMessage: "Field Name"
14
- },
15
- fieldNameInputPlaceholder: {
16
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldNameInputPlaceholder",
17
- defaultMessage: "Add a field name/label"
18
- },
19
- fieldDescriptionLabel: {
20
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldDescriptionLabel",
21
- defaultMessage: "Field Description"
22
- },
23
- fieldDescriptionInputPlaceholder: {
24
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.fieldDescriptionInputPlaceholder",
25
- defaultMessage: "Add custom help text that appears in a tooltip for users"
26
- },
27
- descriptionInfoTooltip: {
28
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.descriptionInfoTooltip",
29
- defaultMessage: "The description is visible to anyone accessing the template. It also helps Box AI find and autofill Metadata for you."
30
- },
31
- descriptionLearnMoreBadgeAriaLabel: {
32
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.descriptionLearnMoreBadgeAriaLabel",
33
- defaultMessage: "Learn more about the description field"
34
- },
35
- dragAndDropFieldAriaLabel: {
36
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dragAndDropFieldAriaLabel",
37
- defaultMessage: "Drag and drop to reorder field"
38
- },
39
- hideField: {
40
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.hideField",
41
- defaultMessage: "Hide Field"
42
- },
43
- showField: {
44
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.showField",
45
- defaultMessage: "Make Visible"
46
- },
47
- hiddenStatus: {
48
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.hiddenStatus",
49
- defaultMessage: "Hidden"
50
- },
51
- deleteFieldTitle: {
52
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldTitle",
53
- defaultMessage: "Delete \"{fieldName}\" Field"
54
- },
55
- deleteFieldDescription: {
56
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldDescription",
57
- defaultMessage: "All files or folders associated with this field will now have an unassigned value. This action cannot be undone once the template is saved."
58
- },
59
- cancelDeleteField: {
60
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.cancelDeleteField",
61
- defaultMessage: "Cancel"
62
- },
63
- confirmDeleteField: {
64
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.confirmDeleteField",
65
- defaultMessage: "Confirm"
66
- },
67
- moveUp: {
68
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.moveUp",
69
- defaultMessage: "Move Up"
70
- },
71
- moveUpAriaLabel: {
72
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.moveUpAriaLabel",
73
- defaultMessage: "Move field up"
74
- },
75
- moveDown: {
76
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.moveDown",
77
- defaultMessage: "Move Down"
78
- },
79
- moveDownAriaLabel: {
80
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.moveDownAriaLabel",
81
- defaultMessage: "Move field down"
82
- },
83
- deleteField: {
84
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.deleteField",
85
- defaultMessage: "Remove"
86
- },
87
- deleteFieldAriaLabel: {
88
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldAriaLabel",
89
- defaultMessage: "Delete field"
90
- },
91
- contextMenuAriaLabel: {
92
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.contextMenuAriaLabel",
93
- defaultMessage: "Field configurator context menu"
94
- },
95
- editTabAriaLabel: {
96
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.editTabAriaLabel",
97
- defaultMessage: "Edit field"
98
- },
99
- duplicateField: {
100
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.duplicateField",
101
- defaultMessage: "Duplicate"
102
- },
103
- duplicateFieldAriaLabel: {
104
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.duplicateFieldAriaLabel",
105
- defaultMessage: "Duplicate field"
106
- }
107
- }), n = e({
108
- fieldNameCannotBeEmpty: {
109
- id: "groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.fieldNameCannotBeEmpty",
110
- defaultMessage: "Field name cannot be empty."
111
- },
112
- fieldNameTooLong: {
113
- id: "groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.fieldNameTooLong",
114
- defaultMessage: "The field name is too long."
115
- },
116
- duplicateOption: {
117
- id: "groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.duplicateOption",
118
- defaultMessage: "The option label must be unique."
119
- },
120
- optionKeyCannotBeEmpty: {
121
- id: "groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.optionKeyCannotBeEmpty",
122
- defaultMessage: "Option cannot be empty."
123
- },
124
- selectedLevelRequired: {
125
- id: "groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.selectedLevelRequired",
126
- defaultMessage: "Please select a level."
127
- },
128
- thisFieldContainsErrors: {
129
- id: "groupSharedFeatures.metadataTemplateEditor.templates.details.fields.thisFieldContainsErrors",
130
- defaultMessage: "This field contains validation errors."
131
- }
132
- });
133
- export { t as general, n as validationErrors };
1
+ import{defineMessages}from"react-intl";var general=defineMessages({fieldTypeLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldTypeLabel`,defaultMessage:`Field Type`},fieldTypePlaceholder:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldTypePlaceholder`,defaultMessage:`Select Type`},fieldNameLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldNameLabel`,defaultMessage:`Field Name`},fieldNameInputPlaceholder:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldNameInputPlaceholder`,defaultMessage:`Add a field name/label`},fieldDescriptionLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldDescriptionLabel`,defaultMessage:`Field Description`},fieldDescriptionInputPlaceholder:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.fieldDescriptionInputPlaceholder`,defaultMessage:`Add custom help text that appears in a tooltip for users`},descriptionInfoTooltip:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.descriptionInfoTooltip`,defaultMessage:`The description is visible to anyone accessing the template. It also helps Box AI find and autofill Metadata for you.`},descriptionLearnMoreBadgeAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.descriptionLearnMoreBadgeAriaLabel`,defaultMessage:`Learn more about the description field`},dragAndDropFieldAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dragAndDropFieldAriaLabel`,defaultMessage:`Drag and drop to reorder field`},hideField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.hideField`,defaultMessage:`Hide Field`},showField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.showField`,defaultMessage:`Make Visible`},hiddenStatus:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.hiddenStatus`,defaultMessage:`Hidden`},deleteFieldTitle:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldTitle`,defaultMessage:`Delete "{fieldName}" Field`},deleteFieldDescription:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldDescription`,defaultMessage:`All files or folders associated with this field will now have an unassigned value. This action cannot be undone once the template is saved.`},cancelDeleteField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.cancelDeleteField`,defaultMessage:`Cancel`},confirmDeleteField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.confirmDeleteField`,defaultMessage:`Confirm`},moveUp:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.moveUp`,defaultMessage:`Move Up`},moveUpAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.moveUpAriaLabel`,defaultMessage:`Move field up`},moveDown:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.moveDown`,defaultMessage:`Move Down`},moveDownAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.moveDownAriaLabel`,defaultMessage:`Move field down`},deleteField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.deleteField`,defaultMessage:`Remove`},deleteFieldAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.deleteFieldAriaLabel`,defaultMessage:`Delete field`},contextMenuAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.contextMenuAriaLabel`,defaultMessage:`Field configurator context menu`},editTabAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.editTabAriaLabel`,defaultMessage:`Edit field`},duplicateField:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.duplicateField`,defaultMessage:`Duplicate`},duplicateFieldAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.duplicateFieldAriaLabel`,defaultMessage:`Duplicate field`}}),validationErrors=defineMessages({fieldNameCannotBeEmpty:{id:`groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.fieldNameCannotBeEmpty`,defaultMessage:`Field name cannot be empty.`},fieldNameTooLong:{id:`groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.fieldNameTooLong`,defaultMessage:`The field name is too long.`},duplicateOption:{id:`groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.duplicateOption`,defaultMessage:`The option label must be unique.`},optionKeyCannotBeEmpty:{id:`groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.optionKeyCannotBeEmpty`,defaultMessage:`Option cannot be empty.`},selectedLevelRequired:{id:`groupSharedFeatures.metadataTemplateEditor.fields.validationErrors.selectedLevelRequired`,defaultMessage:`Please select a level.`},thisFieldContainsErrors:{id:`groupSharedFeatures.metadataTemplateEditor.templates.details.fields.thisFieldContainsErrors`,defaultMessage:`This field contains validation errors.`}});export{general,validationErrors};
@@ -1,36 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- addOption: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.addOption",
5
- defaultMessage: "+ Add Option"
6
- },
7
- deleteDropdownOptionAriaLabel: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteDropdownOptionAriaLabel",
9
- defaultMessage: "Delete option"
10
- },
11
- dragAndDropOptionAriaLabel: {
12
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.dragAndDropOptionAriaLabel",
13
- defaultMessage: "Drag and drop to reorder option"
14
- },
15
- allowMultipleSelection: {
16
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.allowMultipleSelection",
17
- defaultMessage: "Allow Multiple Selections"
18
- },
19
- addAnOptionOptionPlaceholder: {
20
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.addAnOptionOptionPlaceholder",
21
- defaultMessage: "Add an option"
22
- },
23
- deleteOptionTitle: {
24
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteOptionTitle",
25
- defaultMessage: "Delete \"{optionName}\" Option"
26
- },
27
- deleteOptionDescription: {
28
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteOptionDescription",
29
- defaultMessage: "All files or folders associated with this will now have an unassigned value. This action cannot be undone once the template is saved."
30
- },
31
- optionListValidationError: {
32
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.optionListValidationError",
33
- defaultMessage: "Some options in this list contain validation errors."
34
- }
35
- });
36
- export { t as default };
1
+ import{defineMessages}from"react-intl";var dropdown_messages_default=defineMessages({addOption:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.addOption`,defaultMessage:`+ Add Option`},deleteDropdownOptionAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteDropdownOptionAriaLabel`,defaultMessage:`Delete option`},dragAndDropOptionAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.dragAndDropOptionAriaLabel`,defaultMessage:`Drag and drop to reorder option`},allowMultipleSelection:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.allowMultipleSelection`,defaultMessage:`Allow Multiple Selections`},addAnOptionOptionPlaceholder:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.addAnOptionOptionPlaceholder`,defaultMessage:`Add an option`},deleteOptionTitle:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteOptionTitle`,defaultMessage:`Delete "{optionName}" Option`},deleteOptionDescription:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.deleteOptionDescription`,defaultMessage:`All files or folders associated with this will now have an unassigned value. This action cannot be undone once the template is saved.`},optionListValidationError:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.dropdown.optionListValidationError`,defaultMessage:`Some options in this list contain validation errors.`}});export{dropdown_messages_default as default};
@@ -1,16 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- noLevels: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.noLevels",
5
- defaultMessage: "There are no levels to display."
6
- },
7
- chipSelected: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.chipSelected",
9
- defaultMessage: "selected"
10
- },
11
- chipNotSelected: {
12
- id: "groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.chipNotSelected",
13
- defaultMessage: "not selected"
14
- }
15
- });
16
- export { t as default };
1
+ import{defineMessages}from"react-intl";var levels_chain_messages_default=defineMessages({noLevels:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.noLevels`,defaultMessage:`There are no levels to display.`},chipSelected:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.chipSelected`,defaultMessage:`selected`},chipNotSelected:{id:`groupSharedFeatures.metadataTemplateEditor.configurator.levelsChain.chipNotSelected`,defaultMessage:`not selected`}});export{levels_chain_messages_default as default};