@box/metadata-template-editor 2.2.24 → 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,89 +1 @@
1
- import { useTaxonomyOptions as e } from "../esm/lib/components/metadata-field-configurator/context/taxonomy-options-context.js";
2
- import t from "../esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-selector-messages.js";
3
- import { Button as n, LoadingIndicator as r, Popover as i, Text as a, TextInput as o } from "@box/blueprint-web";
4
- import { useIntl as s } from "react-intl";
5
- import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
6
- import { Plus as d } from "@box/blueprint-web-assets/icons/Fill";
7
- import { useState as f } from "react";
8
- import '../styles/taxonomy-selector.css';var p = {
9
- taxonomySelectorLabel: "_taxonomySelectorLabel_fuxhs_1",
10
- listWrapper: "_listWrapper_fuxhs_6",
11
- listWrapperWithPadding: "_listWrapperWithPadding_fuxhs_11",
12
- taxonomyItem: "_taxonomyItem_fuxhs_16",
13
- statusContainer: "_statusContainer_fuxhs_22"
14
- }, m = ({ data: m, onClick: h, onSearchValue: g, triggerButton: _, disabled: v, resetValueOnHide: y }) => {
15
- let { formatMessage: b } = s(), { status: x, onSelectorOpen: S } = e(), [C, w] = f(""), [T, E] = f(!1), D = (e) => {
16
- w(e), g(e);
17
- }, O = (e) => {
18
- E(e), e && S(), !e && y && (w(""), g(""));
19
- }, k = (e) => {
20
- h(e), E(!1);
21
- }, A = _ ?? /* @__PURE__ */ l(n, {
22
- variant: "secondary",
23
- size: "large",
24
- endIcon: d,
25
- "aria-label": b(t.taxonomySelectorAriaLabel),
26
- children: b(t.taxonomySelector)
27
- });
28
- return /* @__PURE__ */ u(i.Root, {
29
- modal: !1,
30
- open: T,
31
- onOpenChange: O,
32
- children: [/* @__PURE__ */ l(i.Trigger, {
33
- disabled: v,
34
- children: A
35
- }), /* @__PURE__ */ l(i.ContentContainer, {
36
- align: "start",
37
- "aria-label": b(t.taxonomySelector),
38
- children: x === "loading" ? /* @__PURE__ */ l("div", {
39
- className: p.statusContainer,
40
- children: /* @__PURE__ */ l(r, { "aria-label": b(t.loadingTaxonomies) })
41
- }) : x === "error" ? /* @__PURE__ */ u("div", {
42
- className: p.statusContainer,
43
- children: [/* @__PURE__ */ l(a, {
44
- as: "p",
45
- variant: "bodyDefault",
46
- color: "textOnLightSecondary",
47
- children: b(t.loadTaxonomiesError)
48
- }), /* @__PURE__ */ l(n, {
49
- variant: "secondary",
50
- size: "small",
51
- onClick: S,
52
- children: b(t.retryLoadTaxonomies)
53
- })]
54
- }) : /* @__PURE__ */ u(c, { children: [
55
- /* @__PURE__ */ l("div", {
56
- className: `${p.listWrapper} ${p.listWrapperWithPadding}`,
57
- children: /* @__PURE__ */ l(o, {
58
- label: b(t.searchTaxonomiesInputPlaceholder),
59
- placeholder: b(t.searchTaxonomiesInputPlaceholder),
60
- value: C,
61
- onChange: (e) => D(e.target.value),
62
- hideLabel: !0,
63
- "aria-label": b(t.searchTaxonomiesInputPlaceholder)
64
- })
65
- }),
66
- /* @__PURE__ */ l(a, {
67
- as: "span",
68
- variant: "caption",
69
- color: "textOnLightSecondary",
70
- className: p.taxonomySelectorLabel,
71
- children: b(t.allTaxonomies)
72
- }),
73
- /* @__PURE__ */ l("div", {
74
- className: p.listWrapper,
75
- children: m.map((e) => /* @__PURE__ */ l(n, {
76
- type: "button",
77
- variant: "quaternary",
78
- size: "large",
79
- disabled: e?.levels?.length === 0,
80
- onClick: () => k(e),
81
- className: p.taxonomyItem,
82
- children: e.label
83
- }, e.id))
84
- })
85
- ] })
86
- })]
87
- });
88
- };
89
- export { m as t };
1
+ import{useTaxonomyOptions}from"../esm/lib/components/metadata-field-configurator/context/taxonomy-options-context.js";import taxonomy_selector_messages_default from"../esm/lib/components/metadata-field-configurator/components/type-specific-configuration/taxonomy/taxonomy-selector-messages.js";import{Button,LoadingIndicator,Popover,Text,TextInput}from"@box/blueprint-web";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{Plus}from"@box/blueprint-web-assets/icons/Fill";import{useState}from"react";import '../styles/taxonomy-selector.css';var taxonomy_selector_module_default={taxonomySelectorLabel:`_taxonomySelectorLabel_fuxhs_1`,listWrapper:`_listWrapper_fuxhs_6`,listWrapperWithPadding:`_listWrapperWithPadding_fuxhs_11`,taxonomyItem:`_taxonomyItem_fuxhs_16`,statusContainer:`_statusContainer_fuxhs_22`},TaxonomySelector=({data,onClick,onSearchValue,triggerButton,disabled,resetValueOnHide})=>{let{formatMessage}=useIntl(),{status,onSelectorOpen}=useTaxonomyOptions(),[searchValue,setSearchValue]=useState(``),[isOpen,setIsOpen]=useState(!1),handleSearchChange=value=>{setSearchValue(value),onSearchValue(value)},handleOpenChange=open=>{setIsOpen(open),open&&onSelectorOpen(),!open&&resetValueOnHide&&(setSearchValue(``),onSearchValue(``))},handleItemClick=option=>{onClick(option),setIsOpen(!1)},trigger=triggerButton??jsx(Button,{variant:`secondary`,size:`large`,endIcon:Plus,"aria-label":formatMessage(taxonomy_selector_messages_default.taxonomySelectorAriaLabel),children:formatMessage(taxonomy_selector_messages_default.taxonomySelector)});return jsxs(Popover.Root,{modal:!1,open:isOpen,onOpenChange:handleOpenChange,children:[jsx(Popover.Trigger,{disabled,children:trigger}),jsx(Popover.ContentContainer,{align:`start`,"aria-label":formatMessage(taxonomy_selector_messages_default.taxonomySelector),children:status===`loading`?jsx(`div`,{className:taxonomy_selector_module_default.statusContainer,children:jsx(LoadingIndicator,{"aria-label":formatMessage(taxonomy_selector_messages_default.loadingTaxonomies)})}):status===`error`?jsxs(`div`,{className:taxonomy_selector_module_default.statusContainer,children:[jsx(Text,{as:`p`,variant:`bodyDefault`,color:`textOnLightSecondary`,children:formatMessage(taxonomy_selector_messages_default.loadTaxonomiesError)}),jsx(Button,{variant:`secondary`,size:`small`,onClick:onSelectorOpen,children:formatMessage(taxonomy_selector_messages_default.retryLoadTaxonomies)})]}):jsxs(Fragment,{children:[jsx(`div`,{className:`${taxonomy_selector_module_default.listWrapper} ${taxonomy_selector_module_default.listWrapperWithPadding}`,children:jsx(TextInput,{label:formatMessage(taxonomy_selector_messages_default.searchTaxonomiesInputPlaceholder),placeholder:formatMessage(taxonomy_selector_messages_default.searchTaxonomiesInputPlaceholder),value:searchValue,onChange:e=>handleSearchChange(e.target.value),hideLabel:!0,"aria-label":formatMessage(taxonomy_selector_messages_default.searchTaxonomiesInputPlaceholder)})}),jsx(Text,{as:`span`,variant:`caption`,color:`textOnLightSecondary`,className:taxonomy_selector_module_default.taxonomySelectorLabel,children:formatMessage(taxonomy_selector_messages_default.allTaxonomies)}),jsx(`div`,{className:taxonomy_selector_module_default.listWrapper,children:data.map(element=>jsx(Button,{type:`button`,variant:`quaternary`,size:`large`,disabled:element?.levels?.length===0,onClick:()=>handleItemClick(element),className:taxonomy_selector_module_default.taxonomyItem,children:element.label},element.id))})]})})]})};export{TaxonomySelector as t};
@@ -1,23 +1 @@
1
- var e = /* @__PURE__ */ function(e) {
2
- return e.Create = "create", e.Edit = "edit", e.ReadOnly = "readOnly", e;
3
- }({}), t = /* @__PURE__ */ function(e) {
4
- return e.Text = "text", e.Number = "number", e.Date = "date", e.Dropdown = "dropdown", e.Taxonomy = "taxonomy", e;
5
- }({}), n = /* @__PURE__ */ function(e) {
6
- return e.RequireSpecific = "requireSpecific", e.AllowAny = "allowAny", e;
7
- }({}), r = /* @__PURE__ */ function(e) {
8
- return e.Float = "float", e.Taxonomy = "taxonomy", e.MultiSelect = "multiSelect", e.Date = "date", e.String = "string", e.Enum = "enum", e;
9
- }({}), i = /* @__PURE__ */ function(e) {
10
- return e.EditTemplate = "editTemplate", e;
11
- }({}), a = /* @__PURE__ */ function(e) {
12
- return e.AddField = "addField", e.ReorderFields = "reorderFields", e.EditField = "editField", e.RemoveField = "removeField", e;
13
- }({}), o = /* @__PURE__ */ function(e) {
14
- return e.AddEnumOption = "addEnumOption", e.ReorderEnumOptions = "reorderEnumOptions", e.EditEnumOption = "editEnumOption", e.RemoveEnumOption = "removeEnumOption", e;
15
- }({}), s = /* @__PURE__ */ function(e) {
16
- return e.AddMultiSelectOption = "addMultiSelectOption", e.ReorderMultiSelectOptions = "reorderMultiSelectOptions", e.EditMultiSelectOption = "editMultiSelectOption", e.RemoveMultiSelectOption = "removeMultiSelectOption", e;
17
- }({}), c = {
18
- ...i,
19
- ...a,
20
- ...o,
21
- ...s
22
- };
23
- export { t as a, n as c, a as i, i as l, r as n, e as o, o as r, s, c as t };
1
+ var MetadataTemplateEditorMode=function(MetadataTemplateEditorMode){return MetadataTemplateEditorMode.Create=`create`,MetadataTemplateEditorMode.Edit=`edit`,MetadataTemplateEditorMode.ReadOnly=`readOnly`,MetadataTemplateEditorMode}({}),FieldType=function(FieldType){return FieldType.Text=`text`,FieldType.Number=`number`,FieldType.Date=`date`,FieldType.Dropdown=`dropdown`,FieldType.Taxonomy=`taxonomy`,FieldType}({}),TaxonomySelection=function(TaxonomySelection){return TaxonomySelection.RequireSpecific=`requireSpecific`,TaxonomySelection.AllowAny=`allowAny`,TaxonomySelection}({}),ApiMetadataTemplateFieldType=function(ApiMetadataTemplateFieldType){return ApiMetadataTemplateFieldType.Float=`float`,ApiMetadataTemplateFieldType.Taxonomy=`taxonomy`,ApiMetadataTemplateFieldType.MultiSelect=`multiSelect`,ApiMetadataTemplateFieldType.Date=`date`,ApiMetadataTemplateFieldType.String=`string`,ApiMetadataTemplateFieldType.Enum=`enum`,ApiMetadataTemplateFieldType}({}),TemplateOperations=function(TemplateOperations){return TemplateOperations.EditTemplate=`editTemplate`,TemplateOperations}({}),FieldOperations=function(FieldOperations){return FieldOperations.AddField=`addField`,FieldOperations.ReorderFields=`reorderFields`,FieldOperations.EditField=`editField`,FieldOperations.RemoveField=`removeField`,FieldOperations}({}),EnumOperations=function(EnumOperations){return EnumOperations.AddEnumOption=`addEnumOption`,EnumOperations.ReorderEnumOptions=`reorderEnumOptions`,EnumOperations.EditEnumOption=`editEnumOption`,EnumOperations.RemoveEnumOption=`removeEnumOption`,EnumOperations}({}),MultiSelectOperations=function(MultiSelectOperations){return MultiSelectOperations.AddMultiSelectOption=`addMultiSelectOption`,MultiSelectOperations.ReorderMultiSelectOptions=`reorderMultiSelectOptions`,MultiSelectOperations.EditMultiSelectOption=`editMultiSelectOption`,MultiSelectOperations.RemoveMultiSelectOption=`removeMultiSelectOption`,MultiSelectOperations}({}),AllOps={...TemplateOperations,...FieldOperations,...EnumOperations,...MultiSelectOperations};export{FieldType as a,TaxonomySelection as c,FieldOperations as i,TemplateOperations as l,ApiMetadataTemplateFieldType as n,MetadataTemplateEditorMode as o,EnumOperations as r,MultiSelectOperations as s,AllOps as t};
package/dist/esm/index.js CHANGED
@@ -1,22 +1 @@
1
- import { t as e } from "../chunks/field-selector.js";
2
- import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, t as l } from "../chunks/types.js";
3
- import { EditorConfigContext as u, useEditorConfig as d } from "./lib/components/metadata-field-configurator/context/editor-config-context.js";
4
- import { t as f } from "../chunks/field-type-dropdown.js";
5
- import { FieldTypeTiles as p } from "./lib/components/field-type-tiles/field-type-tiles.js";
6
- import { useTemplateFieldSchema as m } from "./lib/components/metadata-field-configurator/hooks/useTemplateFieldSchema.js";
7
- import h from "./lib/components/metadata-field-configurator/components/confirmation-modal/confirmation-modal.js";
8
- import { FieldActionSlot as g } from "./lib/components/metadata-field-configurator/components/field-action-slot/field-action-slot.js";
9
- import { FieldConfiguratorContext as _, useFieldConfigurator as v } from "./lib/components/metadata-field-configurator/context/field-configurator-context.js";
10
- import { TaxonomyOptionsContext as y, createStaticTaxonomyContext as b, useTaxonomyOptions as x } from "./lib/components/metadata-field-configurator/context/taxonomy-options-context.js";
11
- import { t as S } from "../chunks/taxonomy-field-configuration.js";
12
- import { t as C } from "../chunks/taxonomy-selector.js";
13
- import { createDefaultFieldValues as w } from "./lib/components/metadata-field-configurator/utils.js";
14
- import { FieldEditContent as T } from "./lib/components/metadata-field-configurator/components/field-edit-content/field-edit-content.js";
15
- import { FieldExtensionsContext as E, useFieldExtensions as D } from "./lib/components/metadata-field-configurator/context/field-extensions-context.js";
16
- import { useFieldConfiguratorBehavior as O } from "./lib/components/metadata-field-configurator/hooks/useFieldConfiguratorBehavior.js";
17
- import { MetadataFieldConfigurator as k } from "./lib/components/metadata-field-configurator/metadata-field-configurator.js";
18
- import { t as A } from "../chunks/metadata-field-list.js";
19
- import { t as j } from "../chunks/metadata-template-editor.js";
20
- import { t as M } from "../chunks/metadata-template-editor-modal.js";
21
- import "./lib/components/metadata-template-editor-modal/index.js";
22
- export { l as AllOps, a as ApiMetadataTemplateFieldType, h as ConfirmationModal, u as EditorConfigContext, s as EnumOperations, g as FieldActionSlot, _ as FieldConfiguratorContext, T as FieldEditContent, E as FieldExtensionsContext, r as FieldOperations, e as FieldSelector, t as FieldType, f as FieldTypeDropdown, p as FieldTypeTiles, k as MetadataFieldConfigurator, A as MetadataFieldList, A as MetadataFieldListDefault, j as MetadataTemplateEditor, M as MetadataTemplateEditorModal, o as MetadataTemplateEditorMode, c as MultiSelectOperations, S as TaxonomyFieldConfiguration, y as TaxonomyOptionsContext, n as TaxonomySelection, C as TaxonomySelector, i as TemplateOperations, w as createDefaultFieldValues, b as createStaticTaxonomyContext, d as useEditorConfig, v as useFieldConfigurator, O as useFieldConfiguratorBehavior, D as useFieldExtensions, x as useTaxonomyOptions, m as useTemplateFieldSchema };
1
+ import{t as FieldSelector}from"../chunks/field-selector.js";import{a as FieldType,c as TaxonomySelection,i as FieldOperations,l as TemplateOperations,n as ApiMetadataTemplateFieldType,o as MetadataTemplateEditorMode,r as EnumOperations,s as MultiSelectOperations,t as AllOps}from"../chunks/types.js";import{EditorConfigContext,useEditorConfig}from"./lib/components/metadata-field-configurator/context/editor-config-context.js";import{t as FieldTypeDropdown}from"../chunks/field-type-dropdown.js";import{FieldTypeTiles}from"./lib/components/field-type-tiles/field-type-tiles.js";import{useTemplateFieldSchema}from"./lib/components/metadata-field-configurator/hooks/useTemplateFieldSchema.js";import ConfirmationModal from"./lib/components/metadata-field-configurator/components/confirmation-modal/confirmation-modal.js";import{FieldActionSlot}from"./lib/components/metadata-field-configurator/components/field-action-slot/field-action-slot.js";import{FieldConfiguratorContext,useFieldConfigurator}from"./lib/components/metadata-field-configurator/context/field-configurator-context.js";import{TaxonomyOptionsContext,createStaticTaxonomyContext,useTaxonomyOptions}from"./lib/components/metadata-field-configurator/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"./lib/components/metadata-field-configurator/utils.js";import{FieldEditContent}from"./lib/components/metadata-field-configurator/components/field-edit-content/field-edit-content.js";import{FieldExtensionsContext,useFieldExtensions}from"./lib/components/metadata-field-configurator/context/field-extensions-context.js";import{useFieldConfiguratorBehavior}from"./lib/components/metadata-field-configurator/hooks/useFieldConfiguratorBehavior.js";import{MetadataFieldConfigurator}from"./lib/components/metadata-field-configurator/metadata-field-configurator.js";import{t as MetadataFieldList}from"../chunks/metadata-field-list.js";import{t as MetadataTemplateEditor}from"../chunks/metadata-template-editor.js";import{t as MetadataTemplateEditorModal}from"../chunks/metadata-template-editor-modal.js";import"./lib/components/metadata-template-editor-modal/index.js";export{AllOps,ApiMetadataTemplateFieldType,ConfirmationModal,EditorConfigContext,EnumOperations,FieldActionSlot,FieldConfiguratorContext,FieldEditContent,FieldExtensionsContext,FieldOperations,FieldSelector,FieldType,FieldTypeDropdown,FieldTypeTiles,MetadataFieldConfigurator,MetadataFieldList,MetadataFieldList as MetadataFieldListDefault,MetadataTemplateEditor,MetadataTemplateEditorModal,MetadataTemplateEditorMode,MultiSelectOperations,TaxonomyFieldConfiguration,TaxonomyOptionsContext,TaxonomySelection,TaxonomySelector,TemplateOperations,createDefaultFieldValues,createStaticTaxonomyContext,useEditorConfig,useFieldConfigurator,useFieldConfiguratorBehavior,useFieldExtensions,useTaxonomyOptions,useTemplateFieldSchema};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/field-selector.js";
2
- export { e as FieldSelector, e as default };
1
+ import{t as FieldSelector}from"../../../../chunks/field-selector.js";export{FieldSelector,FieldSelector as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/field-selector.js";
2
- export { e as FieldSelector };
1
+ import{t as FieldSelector}from"../../../../chunks/field-selector.js";export{FieldSelector};
@@ -1,12 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- selectField: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.fieldSelector.selectField",
5
- defaultMessage: "Select a Field"
6
- },
7
- unnamedField: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.fieldSelector.unnamedField",
9
- defaultMessage: "(Unnamed field)"
10
- }
11
- });
12
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({selectField:{id:`groupSharedFeatures.metadataTemplateEditor.fieldSelector.selectField`,defaultMessage:`Select a Field`},unnamedField:{id:`groupSharedFeatures.metadataTemplateEditor.fieldSelector.unnamedField`,defaultMessage:`(Unnamed field)`}});export{messages_default as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/field-type-dropdown.js";
2
- export { e as FieldTypeDropdown, e as default };
1
+ import{t as FieldTypeDropdown}from"../../../../chunks/field-type-dropdown.js";export{FieldTypeDropdown,FieldTypeDropdown as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/field-type-dropdown.js";
2
- export { e as FieldTypeDropdown };
1
+ import{t as FieldTypeDropdown}from"../../../../chunks/field-type-dropdown.js";export{FieldTypeDropdown};
@@ -1,12 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- addField: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.fieldTypeDropdown.addField",
5
- defaultMessage: "Add field"
6
- },
7
- addFieldAriaLabel: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.fieldTypeDropdown.addFieldAriaLabel",
9
- defaultMessage: "Add field"
10
- }
11
- });
12
- export { t as fieldTypeDropdownMessages };
1
+ import{defineMessages}from"react-intl";var fieldTypeDropdownMessages=defineMessages({addField:{id:`groupSharedFeatures.metadataTemplateEditor.fieldTypeDropdown.addField`,defaultMessage:`Add field`},addFieldAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.fieldTypeDropdown.addFieldAriaLabel`,defaultMessage:`Add field`}});export{fieldTypeDropdownMessages};
@@ -1,33 +1 @@
1
- import { useFieldOptions as e } from "../../utils/field-options/useFieldOptions.js";
2
- import { emptyStateMessages as t } from "./messages.js";
3
- import { RadioTiles as n } from "@box/blueprint-web";
4
- import { useIntl as r } from "react-intl";
5
- import { jsx as i } from "react/jsx-runtime";
6
- import { SurfaceSurfaceBrand as a } from "@box/blueprint-web-assets/tokens/tokens";
7
- function o({ onFieldAdd: o }) {
8
- let { formatMessage: s } = r(), c = e();
9
- return /* @__PURE__ */ i("div", {
10
- "data-testid": "md-template-type-picker-tiles",
11
- children: /* @__PURE__ */ i(n, {
12
- name: "field-type-picker",
13
- value: void 0,
14
- columns: 5,
15
- "aria-label": s(t.selectFieldTypeAriaLabel),
16
- onChange: (e) => {
17
- let t = c.availableFieldTypes.find((t) => t.type === e.target.value);
18
- t && o(t);
19
- },
20
- children: c.availableFieldTypes.map((e) => /* @__PURE__ */ i(n.Option, {
21
- value: e.type,
22
- label: e.label,
23
- icon: /* @__PURE__ */ i(e.Icon, {
24
- height: 32,
25
- width: 32,
26
- color: a,
27
- "aria-hidden": !0
28
- })
29
- }, e.type))
30
- })
31
- });
32
- }
33
- export { o as FieldTypeTiles, o as default };
1
+ import{useFieldOptions}from"../../utils/field-options/useFieldOptions.js";import{emptyStateMessages}from"./messages.js";import{RadioTiles}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx}from"react/jsx-runtime";import{SurfaceSurfaceBrand}from"@box/blueprint-web-assets/tokens/tokens";function FieldTypeTiles({onFieldAdd}){let{formatMessage}=useIntl(),fieldTypes=useFieldOptions();return jsx(`div`,{"data-testid":`md-template-type-picker-tiles`,children:jsx(RadioTiles,{name:`field-type-picker`,value:void 0,columns:5,"aria-label":formatMessage(emptyStateMessages.selectFieldTypeAriaLabel),onChange:event=>{let fieldType=fieldTypes.availableFieldTypes.find(ft=>ft.type===event.target.value);fieldType&&onFieldAdd(fieldType)},children:fieldTypes.availableFieldTypes.map(fieldType=>jsx(RadioTiles.Option,{value:fieldType.type,label:fieldType.label,icon:jsx(fieldType.Icon,{height:32,width:32,color:SurfaceSurfaceBrand,"aria-hidden":!0})},fieldType.type))})})}export{FieldTypeTiles,FieldTypeTiles as default};
@@ -1,2 +1 @@
1
- import { FieldTypeTiles as e } from "./field-type-tiles.js";
2
- export { e as FieldTypeTiles };
1
+ import{FieldTypeTiles}from"./field-type-tiles.js";export{FieldTypeTiles};
@@ -1,12 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- heading: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.emptyState.heading",
5
- defaultMessage: "Add your first field"
6
- },
7
- selectFieldTypeAriaLabel: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.emptyState.selectFieldTypeAriaLabel",
9
- defaultMessage: "Select the field type."
10
- }
11
- });
12
- export { t as emptyStateMessages };
1
+ import{defineMessages}from"react-intl";var emptyStateMessages=defineMessages({heading:{id:`groupSharedFeatures.metadataTemplateEditor.emptyState.heading`,defaultMessage:`Add your first field`},selectFieldTypeAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.emptyState.selectFieldTypeAriaLabel`,defaultMessage:`Select the field type.`}});export{emptyStateMessages};
@@ -1,33 +1 @@
1
- import e from "./messages.js";
2
- import { Modal as t } from "@box/blueprint-web";
3
- import { useIntl as n } from "react-intl";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import "react";
6
- var a = ({ onClose: a, onConfirm: o, title: s, body: c, confirmLabel: l, cancelLabel: u }) => {
7
- let { formatMessage: d } = n();
8
- return /* @__PURE__ */ r(t, {
9
- onOpenChange: a,
10
- open: !0,
11
- children: /* @__PURE__ */ i(t.Content, {
12
- size: "small",
13
- children: [
14
- /* @__PURE__ */ r(t.Header, { children: s }),
15
- /* @__PURE__ */ r(t.ScrollableContainer, { children: /* @__PURE__ */ r(t.Body, {
16
- className: "confirmationModal-body",
17
- children: c
18
- }) }),
19
- /* @__PURE__ */ i(t.Footer, { children: [/* @__PURE__ */ r(t.Footer.SecondaryButton, {
20
- onClick: a,
21
- size: "large",
22
- children: u ?? d(e.cancelButtonText)
23
- }), /* @__PURE__ */ r(t.Footer.PrimaryButton, {
24
- onClick: o,
25
- size: "large",
26
- children: l ?? d(e.confirmButtonText)
27
- })] }),
28
- /* @__PURE__ */ r(t.Close, { "aria-label": d(e.closeButtonAriaLabel) })
29
- ]
30
- })
31
- });
32
- };
33
- export { a as default };
1
+ import messages from"./messages.js";import{Modal}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import"react";var ConfirmationModal=({onClose,onConfirm,title,body,confirmLabel,cancelLabel})=>{let{formatMessage}=useIntl();return jsx(Modal,{onOpenChange:onClose,open:!0,children:jsxs(Modal.Content,{size:`small`,children:[jsx(Modal.Header,{children:title}),jsx(Modal.ScrollableContainer,{children:jsx(Modal.Body,{className:`confirmationModal-body`,children:body})}),jsxs(Modal.Footer,{children:[jsx(Modal.Footer.SecondaryButton,{onClick:onClose,size:`large`,children:cancelLabel??formatMessage(messages.cancelButtonText)}),jsx(Modal.Footer.PrimaryButton,{onClick:onConfirm,size:`large`,children:confirmLabel??formatMessage(messages.confirmButtonText)})]}),jsx(Modal.Close,{"aria-label":formatMessage(messages.closeButtonAriaLabel)})]})})};export{ConfirmationModal as default};
@@ -1,16 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- cancelButtonText: {
4
- id: "groupSharedFeatures.metadataTemplateEditor.confirmationModal.cancelButtonText",
5
- defaultMessage: "Cancel"
6
- },
7
- closeButtonAriaLabel: {
8
- id: "groupSharedFeatures.metadataTemplateEditor.confirmationModal.closeButtonAriaLabel",
9
- defaultMessage: "Close"
10
- },
11
- confirmButtonText: {
12
- id: "groupSharedFeatures.metadataTemplateEditor.confirmationModal.confirmButtonText",
13
- defaultMessage: "Confirm"
14
- }
15
- });
16
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages=defineMessages({cancelButtonText:{id:`groupSharedFeatures.metadataTemplateEditor.confirmationModal.cancelButtonText`,defaultMessage:`Cancel`},closeButtonAriaLabel:{id:`groupSharedFeatures.metadataTemplateEditor.confirmationModal.closeButtonAriaLabel`,defaultMessage:`Close`},confirmButtonText:{id:`groupSharedFeatures.metadataTemplateEditor.confirmationModal.confirmButtonText`,defaultMessage:`Confirm`}});export{messages as default};
@@ -1,67 +1 @@
1
- import { general as e } from "../../messages/configurator-messages.js";
2
- import { t } from "../../../../../../chunks/metadata-field-configurator.module.js";
3
- import { t as n } from "../../../../../../chunks/field-context-menu.js";
4
- import { Status as r, Tabs as i, Text as a } from "@box/blueprint-web";
5
- import { useIntl as o } from "react-intl";
6
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
- import { useState as l } from "react";
8
- import { SurfaceStatusSurfaceGray as u } from "@box/blueprint-web-assets/tokens/tokens";
9
- import { Hidden as d, Pencil as f } from "@box/blueprint-web-assets/icons/Line";
10
- import p from "clsx";
11
- var m = ({ isHidden: m, isExpanded: h = !1, index: g, maxIndex: _, onReorderFields: v, onToggleVisibility: y, onRequestDelete: b, onRequestDuplicate: x, extensions: S, fieldCollapsedText: C, collapsedMenuSlot: w, readOnly: T = !1 }) => {
12
- let E = o(), [D, O] = l(!1), k = !h && w ? /* @__PURE__ */ s("div", {
13
- className: t.contextMenuWithCollapsedText,
14
- children: w
15
- }) : /* @__PURE__ */ s(n, {
16
- className: p(t.fieldContextMenu, {
17
- [t.menuOpen]: D,
18
- [t.contextMenuWithCollapsedText]: C && !h
19
- }),
20
- index: g,
21
- maxIndex: _,
22
- isHidden: m,
23
- onReorderFields: v,
24
- onToggleVisibility: y,
25
- onRequestDelete: b,
26
- onRequestDuplicate: x,
27
- onOpenChange: O
28
- });
29
- return /* @__PURE__ */ c("div", {
30
- className: p(t.fieldActionSlot, { [t.expanded]: h }),
31
- children: [
32
- m && /* @__PURE__ */ s(r, {
33
- icon: d,
34
- iconPosition: "left",
35
- color: u,
36
- text: E.formatMessage(e.hiddenStatus).toUpperCase(),
37
- className: t.hiddenBadge
38
- }),
39
- C && !h && /* @__PURE__ */ s(a, {
40
- as: "span",
41
- variant: "bodySmall",
42
- color: "textOnLightSecondary",
43
- className: p(t.fieldCollapsedText, { [t.menuOpen]: D }),
44
- children: C
45
- }),
46
- /* @__PURE__ */ c("div", {
47
- className: p(t.expandedToolbarActions, { [t.menuOpen]: D }),
48
- children: [S.length > 0 && /* @__PURE__ */ c(i.TabList, {
49
- variant: "contentSwitcher",
50
- containerClassname: t.extensionTabsContainer,
51
- children: [/* @__PURE__ */ s(i.Tab, {
52
- id: "edit",
53
- variant: "contentSwitcher",
54
- "aria-label": E.formatMessage(e.editTabAriaLabel),
55
- children: /* @__PURE__ */ s(f, { "aria-hidden": "true" })
56
- }), S.map((e, t) => /* @__PURE__ */ s(i.Tab, {
57
- id: `ext-${t}`,
58
- variant: "contentSwitcher",
59
- "aria-label": e.label,
60
- children: /* @__PURE__ */ s(e.icon, { "aria-hidden": "true" })
61
- }, e.label))]
62
- }), !T && k]
63
- })
64
- ]
65
- });
66
- };
67
- export { m as FieldActionSlot };
1
+ import{general}from"../../messages/configurator-messages.js";import{t as metadata_field_configurator_module_default}from"../../../../../../chunks/metadata-field-configurator.module.js";import{t as FieldContextMenu}from"../../../../../../chunks/field-context-menu.js";import{Status,Tabs,Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import{useState}from"react";import{SurfaceStatusSurfaceGray}from"@box/blueprint-web-assets/tokens/tokens";import{Hidden,Pencil}from"@box/blueprint-web-assets/icons/Line";import clsx from"clsx";var FieldActionSlot=({isHidden,isExpanded=!1,index,maxIndex,onReorderFields,onToggleVisibility,onRequestDelete,onRequestDuplicate,extensions,fieldCollapsedText,collapsedMenuSlot,readOnly=!1})=>{let intl=useIntl(),[isMenuOpen,setIsMenuOpen]=useState(!1),menuContent=!isExpanded&&collapsedMenuSlot?jsx(`div`,{className:metadata_field_configurator_module_default.contextMenuWithCollapsedText,children:collapsedMenuSlot}):jsx(FieldContextMenu,{className:clsx(metadata_field_configurator_module_default.fieldContextMenu,{[metadata_field_configurator_module_default.menuOpen]:isMenuOpen,[metadata_field_configurator_module_default.contextMenuWithCollapsedText]:fieldCollapsedText&&!isExpanded}),index,maxIndex,isHidden,onReorderFields,onToggleVisibility,onRequestDelete,onRequestDuplicate,onOpenChange:setIsMenuOpen});return jsxs(`div`,{className:clsx(metadata_field_configurator_module_default.fieldActionSlot,{[metadata_field_configurator_module_default.expanded]:isExpanded}),children:[isHidden&&jsx(Status,{icon:Hidden,iconPosition:`left`,color:SurfaceStatusSurfaceGray,text:intl.formatMessage(general.hiddenStatus).toUpperCase(),className:metadata_field_configurator_module_default.hiddenBadge}),fieldCollapsedText&&!isExpanded&&jsx(Text,{as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`,className:clsx(metadata_field_configurator_module_default.fieldCollapsedText,{[metadata_field_configurator_module_default.menuOpen]:isMenuOpen}),children:fieldCollapsedText}),jsxs(`div`,{className:clsx(metadata_field_configurator_module_default.expandedToolbarActions,{[metadata_field_configurator_module_default.menuOpen]:isMenuOpen}),children:[extensions.length>0&&jsxs(Tabs.TabList,{variant:`contentSwitcher`,containerClassname:metadata_field_configurator_module_default.extensionTabsContainer,children:[jsx(Tabs.Tab,{id:`edit`,variant:`contentSwitcher`,"aria-label":intl.formatMessage(general.editTabAriaLabel),children:jsx(Pencil,{"aria-hidden":`true`})}),extensions.map((ext,i)=>jsx(Tabs.Tab,{id:`ext-${i}`,variant:`contentSwitcher`,"aria-label":ext.label,children:jsx(ext.icon,{"aria-hidden":`true`})},ext.label))]}),!readOnly&&menuContent]})]})};export{FieldActionSlot};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../chunks/field-context-menu.js";
2
- export { e as FieldContextMenu };
1
+ import{t as FieldContextMenu}from"../../../../../../chunks/field-context-menu.js";export{FieldContextMenu};
@@ -1,84 +1 @@
1
- import { a as e } from "../../../../../../chunks/types.js";
2
- import { useFieldOptions as t } from "../../../../utils/field-options/useFieldOptions.js";
3
- import { general as n } from "../../messages/configurator-messages.js";
4
- import { t as r } from "../../../../../../chunks/metadata-field-configurator.module.js";
5
- import { useFieldConfigurator as i } from "../../context/field-configurator-context.js";
6
- import { getConfigurationByType as a } from "../../utils.js";
7
- import { Select as o, Text as s, TextInput as c, TextWithInfoBadge as l, TooltipProvider as u } from "@box/blueprint-web";
8
- import { useIntl as d } from "react-intl";
9
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
- import { useMemo as m } from "react";
11
- var h = ({ nameInputId: h, descriptionInputId: g, isTypeEditable: _, externalErrors: v, externalTouched: y, handleTypeChange: b, hideDescription: x = !1, readOnly: S = !1 }) => {
12
- let { formatMessage: C } = d(), w = t(), { values: T, errors: E, touched: D, handleChange: O, handleBlur: k } = i(), A = (e) => {
13
- if (v && y?.[e]) return v[e];
14
- let t = E[e];
15
- if (D[e] && t != null && typeof t == "string") return t;
16
- }, j = m(() => /* @__PURE__ */ f(u, { children: /* @__PURE__ */ f(l, {
17
- infoBadgeAriaLabel: C(n.descriptionLearnMoreBadgeAriaLabel),
18
- infoText: C(n.descriptionInfoTooltip),
19
- children: /* @__PURE__ */ f(s, {
20
- as: "label",
21
- className: r.labelWithTooltip,
22
- htmlFor: g,
23
- variant: "bodyDefaultBold",
24
- children: C(n.fieldDescriptionLabel)
25
- })
26
- }) }), [g, C]), M = S || T.isFieldReadOnly;
27
- return /* @__PURE__ */ f("fieldset", {
28
- className: r.fieldset,
29
- children: /* @__PURE__ */ p("div", {
30
- className: r.expandedContent,
31
- children: [
32
- /* @__PURE__ */ p("div", {
33
- className: r.basic,
34
- children: [/* @__PURE__ */ f(c, {
35
- name: "name",
36
- id: h,
37
- label: C(n.fieldNameLabel),
38
- placeholder: C(n.fieldNameInputPlaceholder),
39
- value: T.name,
40
- error: M ? void 0 : A("name"),
41
- onChange: O,
42
- onBlur: k,
43
- readOnly: M,
44
- required: !M
45
- }), /* @__PURE__ */ f(o, {
46
- name: "type",
47
- label: C(n.fieldTypeLabel),
48
- placeholder: C(n.fieldTypePlaceholder),
49
- value: T.type,
50
- "aria-readonly": M || !_,
51
- readonly: M || !_,
52
- onValueChange: b,
53
- className: r.fieldTypeSelect,
54
- required: !M,
55
- children: /* @__PURE__ */ f(o.Content, { children: w.availableFieldTypes.map((e) => /* @__PURE__ */ f(o.Option, {
56
- text: typeof e.label == "string" ? e.label : String(e.label),
57
- value: e.type
58
- }, e.type)) })
59
- })]
60
- }),
61
- [e.Dropdown, e.Taxonomy].includes(T.type) && /* @__PURE__ */ f("div", {
62
- className: r.typeSpecific,
63
- children: a(T.type)
64
- }),
65
- !x && /* @__PURE__ */ f("div", {
66
- className: r.description,
67
- children: /* @__PURE__ */ f(c, {
68
- name: "description",
69
- id: g,
70
- label: j,
71
- placeholder: C(n.fieldDescriptionInputPlaceholder),
72
- value: T.description ?? "",
73
- error: M ? void 0 : A("description"),
74
- hideLabel: !0,
75
- readOnly: M,
76
- onChange: O,
77
- onBlur: k
78
- })
79
- })
80
- ]
81
- })
82
- });
83
- };
84
- export { h as FieldEditContent };
1
+ import{a as FieldType}from"../../../../../../chunks/types.js";import{useFieldOptions}from"../../../../utils/field-options/useFieldOptions.js";import{general}from"../../messages/configurator-messages.js";import{t as metadata_field_configurator_module_default}from"../../../../../../chunks/metadata-field-configurator.module.js";import{useFieldConfigurator}from"../../context/field-configurator-context.js";import{getConfigurationByType}from"../../utils.js";import{Select,Text,TextInput,TextWithInfoBadge,TooltipProvider}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import{useMemo}from"react";var FieldEditContent=({nameInputId,descriptionInputId,isTypeEditable,externalErrors,externalTouched,handleTypeChange,hideDescription=!1,readOnly=!1})=>{let{formatMessage}=useIntl(),fieldTypes=useFieldOptions(),{values,errors,touched,handleChange,handleBlur}=useFieldConfigurator(),getFieldError=fieldName=>{if(externalErrors&&externalTouched?.[fieldName])return externalErrors[fieldName];let error=errors[fieldName];if(touched[fieldName]&&error!=null&&typeof error==`string`)return error},descriptionLabel=useMemo(()=>jsx(TooltipProvider,{children:jsx(TextWithInfoBadge,{infoBadgeAriaLabel:formatMessage(general.descriptionLearnMoreBadgeAriaLabel),infoText:formatMessage(general.descriptionInfoTooltip),children:jsx(Text,{as:`label`,className:metadata_field_configurator_module_default.labelWithTooltip,htmlFor:descriptionInputId,variant:`bodyDefaultBold`,children:formatMessage(general.fieldDescriptionLabel)})})}),[descriptionInputId,formatMessage]),isReadOnly=readOnly||values.isFieldReadOnly;return jsx(`fieldset`,{className:metadata_field_configurator_module_default.fieldset,children:jsxs(`div`,{className:metadata_field_configurator_module_default.expandedContent,children:[jsxs(`div`,{className:metadata_field_configurator_module_default.basic,children:[jsx(TextInput,{name:`name`,id:nameInputId,label:formatMessage(general.fieldNameLabel),placeholder:formatMessage(general.fieldNameInputPlaceholder),value:values.name,error:isReadOnly?void 0:getFieldError(`name`),onChange:handleChange,onBlur:handleBlur,readOnly:isReadOnly,required:!isReadOnly}),jsx(Select,{name:`type`,label:formatMessage(general.fieldTypeLabel),placeholder:formatMessage(general.fieldTypePlaceholder),value:values.type,"aria-readonly":isReadOnly||!isTypeEditable,readonly:isReadOnly||!isTypeEditable,onValueChange:handleTypeChange,className:metadata_field_configurator_module_default.fieldTypeSelect,required:!isReadOnly,children:jsx(Select.Content,{children:fieldTypes.availableFieldTypes.map(fieldType=>jsx(Select.Option,{text:typeof fieldType.label==`string`?fieldType.label:String(fieldType.label),value:fieldType.type},fieldType.type))})})]}),[FieldType.Dropdown,FieldType.Taxonomy].includes(values.type)&&jsx(`div`,{className:metadata_field_configurator_module_default.typeSpecific,children:getConfigurationByType(values.type)}),!hideDescription&&jsx(`div`,{className:metadata_field_configurator_module_default.description,children:jsx(TextInput,{name:`description`,id:descriptionInputId,label:descriptionLabel,placeholder:formatMessage(general.fieldDescriptionInputPlaceholder),value:values.description??``,error:isReadOnly?void 0:getFieldError(`description`),hideLabel:!0,readOnly:isReadOnly,onChange:handleChange,onBlur:handleBlur})})]})})};export{FieldEditContent};
@@ -1,2 +1 @@
1
- import { n as e, t } from "../../../../../../chunks/chip.js";
2
- export { t as Chip, e as ChipState };
1
+ import{n as ChipState,t as Chip}from"../../../../../../chunks/chip.js";export{Chip,ChipState};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../chunks/levels-chain.js";
2
- export { e as LevelsChain };
1
+ import{t as LevelsChain}from"../../../../../../chunks/levels-chain.js";export{LevelsChain};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../chunks/levels-chain.js";
2
- export { e as LevelsChain };
1
+ import{t as LevelsChain}from"../../../../../../chunks/levels-chain.js";export{LevelsChain};
@@ -1,17 +1 @@
1
- var e = ({ isMeasured: e, leftLevelWidths: t, rightLevelWidths: n, containerWidthPx: r, buttonWidthPx: i, gapBetweenItems: a }) => {
2
- if (!e) return [0, 0];
3
- let o = t.length + n.length;
4
- if ([...t, ...n].reduce((e, t) => e + t, 0) + (o - 1) * a <= r) return [0, 0];
5
- let s = 0, c = 0, l = 0;
6
- for (; s < t.length || c < n.length;) {
7
- let e = t.slice(0, t.length - s), o = n.slice(c), u = e.length + o.length + 1;
8
- if (e.reduce((e, t) => e + t, 0) + i + o.reduce((e, t) => e + t, 0) + (u - 1) * a <= r) break;
9
- if (l === 0 && s < t.length) s += 1, l = 1;
10
- else if (l === 1 && c < n.length) c += 1, l = 0;
11
- else if (s < t.length) s += 1;
12
- else if (c < n.length) c += 1;
13
- else break;
14
- }
15
- return [s, c];
16
- };
17
- export { e as getHideCounts };
1
+ var getHideCounts=({isMeasured,leftLevelWidths,rightLevelWidths,containerWidthPx,buttonWidthPx,gapBetweenItems})=>{if(!isMeasured)return[0,0];let totalLevelsCount=leftLevelWidths.length+rightLevelWidths.length;if([...leftLevelWidths,...rightLevelWidths].reduce((sum,w)=>sum+w,0)+(totalLevelsCount-1)*gapBetweenItems<=containerWidthPx)return[0,0];let hiddenOnLeft=0,hiddenOnRight=0,hideSideFlag=0;for(;hiddenOnLeft<leftLevelWidths.length||hiddenOnRight<rightLevelWidths.length;){let visibleLeft=leftLevelWidths.slice(0,leftLevelWidths.length-hiddenOnLeft),visibleRight=rightLevelWidths.slice(hiddenOnRight),numVisibleItems=visibleLeft.length+visibleRight.length+1;if(visibleLeft.reduce((sum,w)=>sum+w,0)+buttonWidthPx+visibleRight.reduce((sum,w)=>sum+w,0)+(numVisibleItems-1)*gapBetweenItems<=containerWidthPx)break;if(hideSideFlag===0&&hiddenOnLeft<leftLevelWidths.length)hiddenOnLeft+=1,hideSideFlag=1;else if(hideSideFlag===1&&hiddenOnRight<rightLevelWidths.length)hiddenOnRight+=1,hideSideFlag=0;else if(hiddenOnLeft<leftLevelWidths.length)hiddenOnLeft+=1;else if(hiddenOnRight<rightLevelWidths.length)hiddenOnRight+=1;else break}return[hiddenOnLeft,hiddenOnRight]};export{getHideCounts};
@@ -1,35 +1 @@
1
- import { a as e } from "../../../../../../../../chunks/types.js";
2
- import { taxonomyDefaultValues as t } from "../../taxonomy/taxonomy-default-values.js";
3
- var n = [
4
- {
5
- id: "option1",
6
- key: "Option 1",
7
- isNew: !0
8
- },
9
- {
10
- id: "option2",
11
- key: "Option 2",
12
- isNew: !0
13
- },
14
- {
15
- id: "option3",
16
- key: "Option 3",
17
- isNew: !0
18
- }
19
- ], r = () => ({
20
- id: "mock-dropdown-field",
21
- key: "test",
22
- type: e.Dropdown,
23
- name: "Test",
24
- description: "",
25
- hidden: !1,
26
- isFieldNew: !0,
27
- isFieldReadOnly: !1,
28
- dropdown: {
29
- options: n,
30
- allowMultipleSelections: !1,
31
- isAllowMultipleSelectionsEnabled: !0
32
- },
33
- taxonomy: t.taxonomy
34
- });
35
- export { r as getInitialValues };
1
+ import{a as FieldType}from"../../../../../../../../chunks/types.js";import{taxonomyDefaultValues}from"../../taxonomy/taxonomy-default-values.js";var mockOptions=[{id:`option1`,key:`Option 1`,isNew:!0},{id:`option2`,key:`Option 2`,isNew:!0},{id:`option3`,key:`Option 3`,isNew:!0}],getInitialValues=()=>({id:`mock-dropdown-field`,key:`test`,type:FieldType.Dropdown,name:`Test`,description:``,hidden:!1,isFieldNew:!0,isFieldReadOnly:!1,dropdown:{options:mockOptions,allowMultipleSelections:!1,isAllowMultipleSelectionsEnabled:!0},taxonomy:taxonomyDefaultValues.taxonomy});export{getInitialValues};
@@ -1,11 +1 @@
1
- import e from "lodash/uniqueId";
2
- var t = () => ({ dropdown: {
3
- options: [{
4
- id: e(),
5
- key: "Option 1",
6
- isNew: !0
7
- }],
8
- allowMultipleSelections: !1,
9
- isAllowMultipleSelectionsEnabled: !0
10
- } });
11
- export { t as getDropdownDefaultValues };
1
+ import uniqueId from"lodash/uniqueId";var getDropdownDefaultValues=()=>({dropdown:{options:[{id:uniqueId(),key:`Option 1`,isNew:!0}],allowMultipleSelections:!1,isAllowMultipleSelectionsEnabled:!0}});export{getDropdownDefaultValues};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../../chunks/dropdown-field-configuration.js";
2
- export { e as DropdownFieldConfiguration };
1
+ import{t as DropdownFieldConfiguration}from"../../../../../../../chunks/dropdown-field-configuration.js";export{DropdownFieldConfiguration};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../../chunks/sortable-option-list.js";
2
- export { e as SortableOptionList };
1
+ import{t as SortableOptionList}from"../../../../../../../chunks/sortable-option-list.js";export{SortableOptionList};
@@ -1,3 +1 @@
1
- import { t as e } from "../../../../../../chunks/dropdown-field-configuration.js";
2
- import { t } from "../../../../../../chunks/taxonomy-field-configuration.js";
3
- export { e as DropdownFieldConfiguration, t as TaxonomyFieldConfiguration };
1
+ import{t as DropdownFieldConfiguration}from"../../../../../../chunks/dropdown-field-configuration.js";import{t as TaxonomyFieldConfiguration}from"../../../../../../chunks/taxonomy-field-configuration.js";export{DropdownFieldConfiguration,TaxonomyFieldConfiguration};
@@ -1,11 +1 @@
1
- import { c as e } from "../../../../../../../chunks/types.js";
2
- var t = { taxonomy: {
3
- availableTaxonomies: [],
4
- allowMultipleSelections: !1,
5
- selection: e.RequireSpecific,
6
- selectedLevels: [],
7
- taxonomySearchValue: "",
8
- taxonomyKey: "",
9
- namespace: ""
10
- } };
11
- export { t as taxonomyDefaultValues };
1
+ import{c as TaxonomySelection}from"../../../../../../../chunks/types.js";var taxonomyDefaultValues={taxonomy:{availableTaxonomies:[],allowMultipleSelections:!1,selection:TaxonomySelection.RequireSpecific,selectedLevels:[],taxonomySearchValue:``,taxonomyKey:``,namespace:``}};export{taxonomyDefaultValues};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../../../../chunks/taxonomy-field-configuration.js";
2
- export { e as TaxonomyFieldConfiguration };
1
+ import{t as TaxonomyFieldConfiguration}from"../../../../../../../chunks/taxonomy-field-configuration.js";export{TaxonomyFieldConfiguration};