@webiny/app-headless-cms 6.0.0-rc.4 → 6.0.0-rc.6

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 (132) hide show
  1. package/admin/components/ContentEntryForm/CustomLayout.js +2 -13
  2. package/admin/components/ContentEntryForm/CustomLayout.js.map +1 -1
  3. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
  4. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  5. package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js +4 -4
  6. package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js.map +1 -1
  7. package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab → PermissionsEditor}/FieldPermissionsSelection.js +5 -8
  8. package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/FieldPermissionsSelection.js.map +1 -0
  9. package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.d.ts +2 -0
  10. package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab/PermissionsTab.js → PermissionsEditor/PermissionsEditor.js} +4 -10
  11. package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js.map +1 -0
  12. package/admin/components/FieldEditor/EditFieldDialog/{RulesTab/RulesTab.d.ts → RulesEditor/RulesEditor.d.ts} +1 -2
  13. package/admin/components/FieldEditor/EditFieldDialog/{RulesTab/RulesTab.js → RulesEditor/RulesEditor.js} +3 -6
  14. package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js.map +1 -0
  15. package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.d.ts +1 -0
  16. package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js +3 -0
  17. package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js.map +1 -0
  18. package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +3 -3
  19. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -1
  20. package/admin/components/FieldEditor/FieldEditor.js +10 -10
  21. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  22. package/admin/components/FieldEditor/FieldEditorContext.d.ts +11 -11
  23. package/admin/components/FieldEditor/FieldEditorContext.js +41 -41
  24. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  25. package/admin/components/FieldEditor/LayoutCell.d.ts +3 -3
  26. package/admin/components/FieldEditor/LayoutCell.js +6 -6
  27. package/admin/components/FieldEditor/LayoutCell.js.map +1 -1
  28. package/admin/hooks/useCms.d.ts +1 -1
  29. package/admin/hooks/useCms.js +1 -1
  30. package/admin/hooks/useCms.js.map +1 -1
  31. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +2 -2
  32. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
  33. package/admin/plugins/fieldRenderers/checkboxes.js +2 -2
  34. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  35. package/admin/plugins/fieldRenderers/dateTime/Input.js +2 -2
  36. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  37. package/admin/plugins/fieldRenderers/dateTime/Select.js +2 -2
  38. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
  39. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +2 -2
  40. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  41. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +2 -2
  42. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
  43. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +2 -2
  44. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
  45. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +2 -2
  46. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js.map +1 -1
  47. package/admin/plugins/fieldRenderers/longText/longText.js +2 -2
  48. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  49. package/admin/plugins/fieldRenderers/longText/longTexts.js +2 -2
  50. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
  51. package/admin/plugins/fieldRenderers/number/numberInput.js +2 -2
  52. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  53. package/admin/plugins/fieldRenderers/number/numberInputs.js +2 -2
  54. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
  55. package/admin/plugins/fieldRenderers/object/MultiValueContainer.js +2 -2
  56. package/admin/plugins/fieldRenderers/object/MultiValueContainer.js.map +1 -1
  57. package/admin/plugins/fieldRenderers/radioButtons.js +2 -2
  58. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  59. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +2 -2
  60. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
  61. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +2 -2
  62. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
  63. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -2
  64. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  65. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +2 -2
  66. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  67. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js +2 -2
  68. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js.map +1 -1
  69. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js +2 -2
  70. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js.map +1 -1
  71. package/admin/plugins/fieldRenderers/select.js +2 -2
  72. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  73. package/admin/plugins/fieldRenderers/text/tags.js +2 -2
  74. package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
  75. package/admin/plugins/fieldRenderers/text/textInput.js +2 -2
  76. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  77. package/admin/plugins/fieldRenderers/text/textInputs.js +2 -2
  78. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
  79. package/admin/plugins/fields/ui/TabsLayoutEditor.d.ts +4 -4
  80. package/admin/plugins/fields/ui/TabsLayoutEditor.js +65 -61
  81. package/admin/plugins/fields/ui/TabsLayoutEditor.js.map +1 -1
  82. package/admin/plugins/fields/ui/alert.d.ts +2 -2
  83. package/admin/plugins/fields/ui/alert.js +25 -22
  84. package/admin/plugins/fields/ui/alert.js.map +1 -1
  85. package/admin/plugins/fields/ui/separator.d.ts +2 -2
  86. package/admin/plugins/fields/ui/separator.js +24 -21
  87. package/admin/plugins/fields/ui/separator.js.map +1 -1
  88. package/admin/plugins/fields/ui/tabs.d.ts +2 -2
  89. package/admin/plugins/fields/ui/tabs.js +10 -10
  90. package/admin/plugins/fields/ui/tabs.js.map +1 -1
  91. package/admin/views/contentModels/importing/ImportContentModelsDialog.js +15 -13
  92. package/admin/views/contentModels/importing/ImportContentModelsDialog.js.map +1 -1
  93. package/allPlugins.d.ts +1 -1
  94. package/exports/admin/cms/model.d.ts +2 -1
  95. package/exports/admin/cms/model.js +2 -1
  96. package/exports/admin/cms/model.js.map +1 -1
  97. package/exports/admin/cms.d.ts +7 -0
  98. package/exports/admin/cms.js +7 -0
  99. package/exports/admin/cms.js.map +1 -1
  100. package/legacyPluginAdapters/CmsContentFormRenderer.d.ts +4 -0
  101. package/legacyPluginAdapters/CmsContentFormRenderer.js +15 -0
  102. package/legacyPluginAdapters/CmsContentFormRenderer.js.map +1 -0
  103. package/legacyPluginAdapters/CmsModelFieldRenderer.d.ts +4 -0
  104. package/legacyPluginAdapters/CmsModelFieldRenderer.js +14 -0
  105. package/legacyPluginAdapters/CmsModelFieldRenderer.js.map +1 -0
  106. package/legacyPluginAdapters/CmsModelFieldType.d.ts +4 -0
  107. package/legacyPluginAdapters/CmsModelFieldType.js +14 -0
  108. package/legacyPluginAdapters/CmsModelFieldType.js.map +1 -0
  109. package/legacyPluginAdapters/CmsModelFieldValidator.d.ts +4 -0
  110. package/legacyPluginAdapters/CmsModelFieldValidator.js +14 -0
  111. package/legacyPluginAdapters/CmsModelFieldValidator.js.map +1 -0
  112. package/legacyPluginAdapters/CmsModelLayoutFieldRenderer.d.ts +13 -0
  113. package/legacyPluginAdapters/CmsModelLayoutFieldRenderer.js +15 -0
  114. package/legacyPluginAdapters/CmsModelLayoutFieldRenderer.js.map +1 -0
  115. package/legacyPluginAdapters/CmsModelLayoutFieldType.d.ts +2 -0
  116. package/legacyPluginAdapters/CmsModelLayoutFieldType.js +14 -0
  117. package/legacyPluginAdapters/CmsModelLayoutFieldType.js.map +1 -0
  118. package/package.json +24 -24
  119. package/types.d.ts +1 -1
  120. package/types.js +1 -1
  121. package/types.js.map +1 -1
  122. package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/FieldPermissionsSelection.js.map +0 -1
  123. package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.d.ts +0 -4
  124. package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js.map +0 -1
  125. package/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js.map +0 -1
  126. package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.d.ts +0 -1
  127. package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.js +0 -3
  128. package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.js.map +0 -1
  129. /package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab → PermissionsEditor}/CannotUsePermissions.d.ts +0 -0
  130. /package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab → PermissionsEditor}/CannotUsePermissions.js +0 -0
  131. /package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab → PermissionsEditor}/CannotUsePermissions.js.map +0 -0
  132. /package/admin/components/FieldEditor/EditFieldDialog/{PermissionsTab → PermissionsEditor}/FieldPermissionsSelection.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","AlertIcon","EditIcon","DeleteIcon","i18n","Alert","Grid","IconButton","Tabs","Textarea","Select","Text","useDialogs","Bind","PermissionsTab","RulesTab","useModelEditor","t","ns","AlertSettings","createElement","className","Column","span","name","label","defaultValue","displayResetAction","options","value","AlertDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","content","gridClassName","AlertLayoutCell","descriptor","onUpdate","onDelete","dialogs","openSettings","showDialog","title","description","acceptLabel","cancelLabel","formData","alertType","rules","onAccept","data","type","icon","onClick","variant","uiAlertField","field","canEditSettings","createDescriptor","render"],"sources":["alert.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsAlertLayoutDescriptor,\n CmsLayoutDescriptor\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as AlertIcon } from \"@webiny/icons/warning.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { Alert, Grid, IconButton, Tabs, Textarea, Select, Text } from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsTab } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js\";\nimport { RulesTab } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst AlertSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Textarea label={\"Message\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"alertType\"} defaultValue={\"info\"}>\n <Select\n displayResetAction={false}\n label={\"Alert type\"}\n options={[\n { value: \"info\", label: \"Info\" },\n { value: \"success\", label: \"Success\" },\n { value: \"warning\", label: \"Warning\" },\n { value: \"danger\", label: \"Danger\" }\n ]}\n />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst AlertDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"alert\"}\n trigger={\"Alert\"}\n value={\"alert\"}\n content={<AlertSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={<PermissionsTab gridClassName={\"mt-md\"} />}\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={<RulesTab gridClassName={\"mt-md\"} fieldOptions={fieldOptions} />}\n />\n ]}\n />\n );\n};\n\ninterface AlertLayoutCellProps {\n descriptor: CmsAlertLayoutDescriptor;\n onUpdate: (d: CmsLayoutDescriptor) => void;\n onDelete: () => void;\n}\n\nconst AlertLayoutCell = ({ descriptor, onUpdate, onDelete }: AlertLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Alert Settings\",\n description: \"Configure the alert and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: descriptor.label,\n alertType: descriptor.alertType,\n rules: descriptor.rules ?? []\n },\n content: <AlertDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...descriptor,\n label: data.label ?? \"\",\n alertType: (data.alertType as CmsAlertLayoutDescriptor[\"alertType\"]) ?? \"info\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center justify-between\"}>\n <div className={\"flex-1\"}>\n {descriptor.label ? (\n <Alert type={descriptor.alertType}>{descriptor.label}</Alert>\n ) : (\n <Text size={\"sm\"} className={\"text-neutral-strong italic\"}>\n Alert (no message set)\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs ml-sm\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiAlertField: CmsLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-alert\",\n field: {\n type: \"alert\",\n label: t`Alert`,\n description: t`Show an alert message in the form.`,\n icon: <AlertIcon />,\n canEditSettings: true,\n createDescriptor() {\n return { type: \"alert\", label: \"\", alertType: \"info\" };\n },\n render({ descriptor, onUpdate, onDelete }) {\n return (\n <AlertLayoutCell\n descriptor={descriptor as CmsAlertLayoutDescriptor}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactComponent","AlertIcon","EditIcon","DeleteIcon","i18n","Alert","Grid","IconButton","Tabs","Textarea","Select","Text","ScrollArea","useDialogs","Bind","PermissionsEditor","RulesEditor","useModelEditor","t","ns","AlertSettings","createElement","className","Column","span","name","label","defaultValue","displayResetAction","options","value","AlertDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","content","AlertLayoutCell","field","onUpdate","onDelete","dialogs","openSettings","showDialog","title","description","acceptLabel","cancelLabel","formData","alertType","rules","onAccept","data","type","icon","onClick","variant","uiAlertField","canEditSettings","createField","render"],"sources":["alert.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsModelLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsAlertLayoutField,\n CmsLayoutField\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as AlertIcon } from \"@webiny/icons/warning.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport {\n Alert,\n Grid,\n IconButton,\n Tabs,\n Textarea,\n Select,\n Text,\n ScrollArea\n} from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst AlertSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Textarea label={\"Message\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"alertType\"} defaultValue={\"info\"}>\n <Select\n displayResetAction={false}\n label={\"Alert type\"}\n options={[\n { value: \"info\", label: \"Info\" },\n { value: \"success\", label: \"Success\" },\n { value: \"warning\", label: \"Warning\" },\n { value: \"danger\", label: \"Danger\" }\n ]}\n />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst AlertDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"alert\"}\n trigger={\"Alert\"}\n value={\"alert\"}\n content={<AlertSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\ninterface AlertLayoutCellProps {\n field: CmsAlertLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\nconst AlertLayoutCell = ({ field, onUpdate, onDelete }: AlertLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Alert Settings\",\n description: \"Configure the alert and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label,\n alertType: field.alertType,\n rules: field.rules ?? []\n },\n content: <AlertDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n alertType: (data.alertType as CmsAlertLayoutField[\"alertType\"]) ?? \"info\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center justify-between\"}>\n <div className={\"flex-1\"}>\n {field.label ? (\n <Alert type={field.alertType}>{field.label}</Alert>\n ) : (\n <Text size={\"sm\"} className={\"text-neutral-strong italic\"}>\n Alert (no message set)\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs ml-sm\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiAlertField: CmsModelLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-alert\",\n field: {\n type: \"alert\",\n label: t`Alert`,\n description: t`Show an alert message in the form.`,\n icon: <AlertIcon />,\n canEditSettings: true,\n createField() {\n return { type: \"alert\", label: \"\", alertType: \"info\" };\n },\n render({ field, onUpdate, onDelete }) {\n return (\n <AlertLayoutCell\n field={field as CmsAlertLayoutField}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import type { CmsLayoutFieldTypePlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
- export declare const uiSeparatorField: CmsLayoutFieldTypePlugin;
1
+ import type { CmsModelLayoutFieldTypePlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
+ export declare const uiSeparatorField: CmsModelLayoutFieldTypePlugin;
@@ -3,11 +3,11 @@ import { ReactComponent as SeparatorIcon } from "@webiny/icons/line_style.svg";
3
3
  import { ReactComponent as EditIcon } from "@webiny/icons/edit.svg";
4
4
  import { ReactComponent as DeleteIcon } from "@webiny/icons/delete.svg";
5
5
  import { i18n } from "@webiny/app/i18n/index.js";
6
- import { Grid, IconButton, Input, Separator, Tabs, Text } from "@webiny/admin-ui";
6
+ import { Grid, IconButton, Input, ScrollArea, Separator, Tabs, Text } from "@webiny/admin-ui";
7
7
  import { useDialogs } from "@webiny/app-admin";
8
8
  import { Bind } from "@webiny/form";
9
- import { PermissionsTab } from "../../../components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js";
10
- import { RulesTab } from "../../../components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js";
9
+ import { PermissionsEditor } from "../../../components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js";
10
+ import { RulesEditor } from "../../../components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js";
11
11
  import { useModelEditor } from "../../../components/ContentModelEditor/useModelEditor.js";
12
12
  const t = i18n.ns("app-headless-cms/admin/fields");
13
13
  const SeparatorSettings = () => {
@@ -30,7 +30,9 @@ const SeparatorSettings = () => {
30
30
  const SeparatorDialogContent = ({
31
31
  fieldOptions
32
32
  }) => {
33
- return /*#__PURE__*/React.createElement(Tabs, {
33
+ return /*#__PURE__*/React.createElement(ScrollArea, {
34
+ className: "max-h-[70vh] flex flex-col"
35
+ }, /*#__PURE__*/React.createElement(Tabs, {
34
36
  size: "md",
35
37
  separator: true,
36
38
  tabs: [/*#__PURE__*/React.createElement(Tabs.Tab, {
@@ -42,22 +44,23 @@ const SeparatorDialogContent = ({
42
44
  key: "permissions",
43
45
  trigger: "Permissions",
44
46
  value: "permissions",
45
- content: /*#__PURE__*/React.createElement(PermissionsTab, {
46
- gridClassName: "mt-md"
47
- })
47
+ content: /*#__PURE__*/React.createElement("div", {
48
+ className: "mt-md"
49
+ }, /*#__PURE__*/React.createElement(PermissionsEditor, null))
48
50
  }), /*#__PURE__*/React.createElement(Tabs.Tab, {
49
51
  key: "rules",
50
52
  trigger: "Rules",
51
53
  value: "rules",
52
- content: /*#__PURE__*/React.createElement(RulesTab, {
53
- gridClassName: "mt-md",
54
+ content: /*#__PURE__*/React.createElement("div", {
55
+ className: "mt-md"
56
+ }, /*#__PURE__*/React.createElement(RulesEditor, {
54
57
  fieldOptions: fieldOptions
55
- })
58
+ }))
56
59
  })]
57
- });
60
+ }));
58
61
  };
59
62
  const SeparatorLayoutCell = ({
60
- descriptor,
63
+ field,
61
64
  onUpdate,
62
65
  onDelete
63
66
  }) => {
@@ -72,16 +75,16 @@ const SeparatorLayoutCell = ({
72
75
  acceptLabel: "Save",
73
76
  cancelLabel: "Cancel",
74
77
  formData: {
75
- label: descriptor.label,
76
- description: descriptor.description ?? "",
77
- rules: descriptor.rules ?? []
78
+ label: field.label,
79
+ description: field.description ?? "",
80
+ rules: field.rules ?? []
78
81
  },
79
82
  content: /*#__PURE__*/React.createElement(SeparatorDialogContent, {
80
83
  fieldOptions: fieldOptions
81
84
  }),
82
85
  onAccept: data => {
83
86
  onUpdate({
84
- ...descriptor,
87
+ ...field,
85
88
  label: data.label ?? "",
86
89
  description: data.description ?? "",
87
90
  rules: data.rules ?? []
@@ -96,11 +99,11 @@ const SeparatorLayoutCell = ({
96
99
  }, /*#__PURE__*/React.createElement(Separator, {
97
100
  variant: "accent",
98
101
  labelPosition: "start"
99
- }, descriptor.label), descriptor.description && /*#__PURE__*/React.createElement(Text, {
102
+ }, field.label), field.description && /*#__PURE__*/React.createElement(Text, {
100
103
  as: "div",
101
104
  size: "sm",
102
105
  className: "text-neutral-strong mt-sm"
103
- }, descriptor.description)), /*#__PURE__*/React.createElement("div", {
106
+ }, field.description)), /*#__PURE__*/React.createElement("div", {
104
107
  className: "flex items-center gap-xs"
105
108
  }, /*#__PURE__*/React.createElement(IconButton, {
106
109
  icon: /*#__PURE__*/React.createElement(EditIcon, null),
@@ -123,7 +126,7 @@ export const uiSeparatorField = {
123
126
  description: t`Show a visual separator between fields.`,
124
127
  icon: /*#__PURE__*/React.createElement(SeparatorIcon, null),
125
128
  canEditSettings: true,
126
- createDescriptor() {
129
+ createField() {
127
130
  return {
128
131
  type: "separator",
129
132
  label: "Section",
@@ -131,12 +134,12 @@ export const uiSeparatorField = {
131
134
  };
132
135
  },
133
136
  render({
134
- descriptor,
137
+ field,
135
138
  onUpdate,
136
139
  onDelete
137
140
  }) {
138
141
  return /*#__PURE__*/React.createElement(SeparatorLayoutCell, {
139
- descriptor: descriptor,
142
+ field: field,
140
143
  onUpdate: onUpdate,
141
144
  onDelete: onDelete
142
145
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","SeparatorIcon","EditIcon","DeleteIcon","i18n","Grid","IconButton","Input","Separator","Tabs","Text","useDialogs","Bind","PermissionsTab","RulesTab","useModelEditor","t","ns","SeparatorSettings","createElement","className","Column","span","name","label","SeparatorDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","value","content","gridClassName","SeparatorLayoutCell","descriptor","onUpdate","onDelete","dialogs","openSettings","showDialog","title","description","acceptLabel","cancelLabel","formData","rules","onAccept","data","variant","labelPosition","as","icon","onClick","uiSeparatorField","type","field","canEditSettings","createDescriptor","render"],"sources":["separator.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsSeparatorLayoutDescriptor,\n CmsLayoutDescriptor\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as SeparatorIcon } from \"@webiny/icons/line_style.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { Grid, IconButton, Input, Separator, Tabs, Text } from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsTab } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js\";\nimport { RulesTab } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst SeparatorSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"description\"}>\n <Input label={\"Description\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst SeparatorDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"separator\"}\n trigger={\"Separator\"}\n value={\"separator\"}\n content={<SeparatorSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={<PermissionsTab gridClassName={\"mt-md\"} />}\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={<RulesTab gridClassName={\"mt-md\"} fieldOptions={fieldOptions} />}\n />\n ]}\n />\n );\n};\n\ninterface SeparatorLayoutCellProps {\n descriptor: CmsSeparatorLayoutDescriptor;\n onUpdate: (d: CmsLayoutDescriptor) => void;\n onDelete: () => void;\n}\n\nconst SeparatorLayoutCell = ({ descriptor, onUpdate, onDelete }: SeparatorLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Separator Settings\",\n description: \"Configure the separator and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: descriptor.label,\n description: descriptor.description ?? \"\",\n rules: descriptor.rules ?? []\n },\n content: <SeparatorDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...descriptor,\n label: data.label ?? \"\",\n description: data.description ?? \"\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center gap-sm\"}>\n <div className={\"flex-1\"}>\n <Separator variant={\"accent\"} labelPosition={\"start\"}>\n {descriptor.label}\n </Separator>\n {descriptor.description && (\n <Text as={\"div\"} size={\"sm\"} className={\"text-neutral-strong mt-sm\"}>\n {descriptor.description}\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiSeparatorField: CmsLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-separator\",\n field: {\n type: \"separator\",\n label: t`Separator`,\n description: t`Show a visual separator between fields.`,\n icon: <SeparatorIcon />,\n canEditSettings: true,\n createDescriptor() {\n return {\n type: \"separator\",\n label: \"Section\",\n description: \"Your description goes here\"\n };\n },\n render({ descriptor, onUpdate, onDelete }) {\n return (\n <SeparatorLayoutCell\n descriptor={descriptor as CmsSeparatorLayoutDescriptor}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactComponent","SeparatorIcon","EditIcon","DeleteIcon","i18n","Grid","IconButton","Input","ScrollArea","Separator","Tabs","Text","useDialogs","Bind","PermissionsEditor","RulesEditor","useModelEditor","t","ns","SeparatorSettings","createElement","className","Column","span","name","label","SeparatorDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","value","content","SeparatorLayoutCell","field","onUpdate","onDelete","dialogs","openSettings","showDialog","title","description","acceptLabel","cancelLabel","formData","rules","onAccept","data","variant","labelPosition","as","icon","onClick","uiSeparatorField","type","canEditSettings","createField","render"],"sources":["separator.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsModelLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsSeparatorLayoutField,\n CmsLayoutField\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as SeparatorIcon } from \"@webiny/icons/line_style.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { Grid, IconButton, Input, ScrollArea, Separator, Tabs, Text } from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst SeparatorSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"description\"}>\n <Input label={\"Description\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst SeparatorDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"separator\"}\n trigger={\"Separator\"}\n value={\"separator\"}\n content={<SeparatorSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\ninterface SeparatorLayoutCellProps {\n field: CmsSeparatorLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\nconst SeparatorLayoutCell = ({ field, onUpdate, onDelete }: SeparatorLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Separator Settings\",\n description: \"Configure the separator and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label,\n description: field.description ?? \"\",\n rules: field.rules ?? []\n },\n content: <SeparatorDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n description: data.description ?? \"\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center gap-sm\"}>\n <div className={\"flex-1\"}>\n <Separator variant={\"accent\"} labelPosition={\"start\"}>\n {field.label}\n </Separator>\n {field.description && (\n <Text as={\"div\"} size={\"sm\"} className={\"text-neutral-strong mt-sm\"}>\n {field.description}\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiSeparatorField: CmsModelLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-separator\",\n field: {\n type: \"separator\",\n label: t`Separator`,\n description: t`Show a visual separator between fields.`,\n icon: <SeparatorIcon />,\n canEditSettings: true,\n createField() {\n return {\n type: \"separator\",\n label: \"Section\",\n description: \"Your description goes here\"\n };\n },\n render({ field, onUpdate, onDelete }) {\n return (\n <SeparatorLayoutCell\n field={field as CmsSeparatorLayoutField}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import type { CmsLayoutFieldTypePlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
- export declare const uiTabsField: CmsLayoutFieldTypePlugin;
1
+ import type { CmsModelLayoutFieldTypePlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
+ export declare const uiTabsField: CmsModelLayoutFieldTypePlugin;
@@ -13,7 +13,7 @@ export const uiTabsField = {
13
13
  description: t`Group fields into tabs.`,
14
14
  icon: /*#__PURE__*/React.createElement(TabsIcon, null),
15
15
  canEditSettings: true,
16
- createDescriptor() {
16
+ createField() {
17
17
  return {
18
18
  type: "tabs",
19
19
  label: "Tabs",
@@ -27,10 +27,10 @@ export const uiTabsField = {
27
27
  };
28
28
  },
29
29
  collectFields({
30
- descriptor,
30
+ field,
31
31
  getField
32
32
  }) {
33
- const tabs = descriptor.tabs;
33
+ const tabs = field.tabs;
34
34
  if (!tabs) {
35
35
  return [];
36
36
  }
@@ -50,18 +50,18 @@ export const uiTabsField = {
50
50
  return result;
51
51
  },
52
52
  getFieldLabelPrefixes({
53
- descriptor
53
+ field
54
54
  }) {
55
- const tabsDescriptor = descriptor;
56
- const tabs = tabsDescriptor.tabs;
55
+ const tabsField = field;
56
+ const tabs = tabsField.tabs;
57
57
  if (!tabs) {
58
58
  return {};
59
59
  }
60
- const descriptorLabel = tabsDescriptor.label || "Tabs";
60
+ const fieldLabel = tabsField.label || "Tabs";
61
61
  const prefixes = {};
62
62
  for (const tab of tabs) {
63
63
  const tabLabel = tab.label || "Tab";
64
- const prefix = `${descriptorLabel} › ${tabLabel}`;
64
+ const prefix = `${fieldLabel} › ${tabLabel}`;
65
65
  for (const row of tab.layout) {
66
66
  for (const cell of row) {
67
67
  if (typeof cell === "string") {
@@ -73,12 +73,12 @@ export const uiTabsField = {
73
73
  return prefixes;
74
74
  },
75
75
  render({
76
- descriptor,
76
+ field,
77
77
  onUpdate,
78
78
  onDelete
79
79
  }) {
80
80
  return /*#__PURE__*/React.createElement(TabsLayoutEditor, {
81
- descriptor: descriptor,
81
+ field: field,
82
82
  onUpdate: onUpdate,
83
83
  onDelete: onDelete
84
84
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","TabsIcon","i18n","generateAlphaNumericLowerCaseId","TabsLayoutEditor","t","ns","uiTabsField","type","name","field","label","description","icon","createElement","canEditSettings","createDescriptor","help","tabs","id","layout","collectFields","descriptor","getField","result","tab","row","cell","f","push","getFieldLabelPrefixes","tabsDescriptor","descriptorLabel","prefixes","tabLabel","prefix","render","onUpdate","onDelete"],"sources":["tabs.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type { CmsTabLayoutDescriptor } from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as TabsIcon } from \"@webiny/icons/tab.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\nimport { TabsLayoutEditor } from \"./TabsLayoutEditor.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nexport const uiTabsField: CmsLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-tabs\",\n field: {\n type: \"tabs\",\n label: t`Tabs`,\n description: t`Group fields into tabs.`,\n icon: <TabsIcon />,\n canEditSettings: true,\n createDescriptor() {\n return {\n type: \"tabs\",\n label: \"Tabs\",\n description: null,\n help: null,\n tabs: [{ id: generateAlphaNumericLowerCaseId(8), label: \"Tab 1\", layout: [] }]\n };\n },\n collectFields({ descriptor, getField }) {\n const tabs = (descriptor as CmsTabLayoutDescriptor).tabs;\n if (!tabs) {\n return [];\n }\n const result = [];\n for (const tab of tabs) {\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n const f = getField(cell);\n if (f) {\n result.push(f);\n }\n }\n }\n }\n }\n return result;\n },\n getFieldLabelPrefixes({ descriptor }) {\n const tabsDescriptor = descriptor as CmsTabLayoutDescriptor;\n const tabs = tabsDescriptor.tabs;\n if (!tabs) {\n return {};\n }\n const descriptorLabel = tabsDescriptor.label || \"Tabs\";\n const prefixes: Record<string, string> = {};\n for (const tab of tabs) {\n const tabLabel = tab.label || \"Tab\";\n const prefix = `${descriptorLabel} › ${tabLabel}`;\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n prefixes[cell] = prefix;\n }\n }\n }\n }\n return prefixes;\n },\n render({ descriptor, onUpdate, onDelete }) {\n return (\n <TabsLayoutEditor\n descriptor={descriptor as CmsTabLayoutDescriptor}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,IAAIC,QAAQ,QAAQ,uBAAuB;AAClE,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,+BAA+B,QAAQ,eAAe;AAC/D,SAASC,gBAAgB;AAEzB,MAAMC,CAAC,GAAGH,IAAI,CAACI,EAAE,CAAC,+BAA+B,CAAC;AAElD,OAAO,MAAMC,WAAqC,GAAG;EACjDC,IAAI,EAAE,8BAA8B;EACpCC,IAAI,EAAE,mCAAmC;EACzCC,KAAK,EAAE;IACHF,IAAI,EAAE,MAAM;IACZG,KAAK,EAAEN,CAAC,MAAM;IACdO,WAAW,EAAEP,CAAC,yBAAyB;IACvCQ,IAAI,eAAEd,KAAA,CAAAe,aAAA,CAACb,QAAQ,MAAE,CAAC;IAClBc,eAAe,EAAE,IAAI;IACrBC,gBAAgBA,CAAA,EAAG;MACf,OAAO;QACHR,IAAI,EAAE,MAAM;QACZG,KAAK,EAAE,MAAM;QACbC,WAAW,EAAE,IAAI;QACjBK,IAAI,EAAE,IAAI;QACVC,IAAI,EAAE,CAAC;UAAEC,EAAE,EAAEhB,+BAA+B,CAAC,CAAC,CAAC;UAAEQ,KAAK,EAAE,OAAO;UAAES,MAAM,EAAE;QAAG,CAAC;MACjF,CAAC;IACL,CAAC;IACDC,aAAaA,CAAC;MAAEC,UAAU;MAAEC;IAAS,CAAC,EAAE;MACpC,MAAML,IAAI,GAAII,UAAU,CAA4BJ,IAAI;MACxD,IAAI,CAACA,IAAI,EAAE;QACP,OAAO,EAAE;MACb;MACA,MAAMM,MAAM,GAAG,EAAE;MACjB,KAAK,MAAMC,GAAG,IAAIP,IAAI,EAAE;QACpB,KAAK,MAAMQ,GAAG,IAAID,GAAG,CAACL,MAAM,EAAE;UAC1B,KAAK,MAAMO,IAAI,IAAID,GAAG,EAAE;YACpB,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;cAC1B,MAAMC,CAAC,GAAGL,QAAQ,CAACI,IAAI,CAAC;cACxB,IAAIC,CAAC,EAAE;gBACHJ,MAAM,CAACK,IAAI,CAACD,CAAC,CAAC;cAClB;YACJ;UACJ;QACJ;MACJ;MACA,OAAOJ,MAAM;IACjB,CAAC;IACDM,qBAAqBA,CAAC;MAAER;IAAW,CAAC,EAAE;MAClC,MAAMS,cAAc,GAAGT,UAAoC;MAC3D,MAAMJ,IAAI,GAAGa,cAAc,CAACb,IAAI;MAChC,IAAI,CAACA,IAAI,EAAE;QACP,OAAO,CAAC,CAAC;MACb;MACA,MAAMc,eAAe,GAAGD,cAAc,CAACpB,KAAK,IAAI,MAAM;MACtD,MAAMsB,QAAgC,GAAG,CAAC,CAAC;MAC3C,KAAK,MAAMR,GAAG,IAAIP,IAAI,EAAE;QACpB,MAAMgB,QAAQ,GAAGT,GAAG,CAACd,KAAK,IAAI,KAAK;QACnC,MAAMwB,MAAM,GAAG,GAAGH,eAAe,MAAME,QAAQ,EAAE;QACjD,KAAK,MAAMR,GAAG,IAAID,GAAG,CAACL,MAAM,EAAE;UAC1B,KAAK,MAAMO,IAAI,IAAID,GAAG,EAAE;YACpB,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;cAC1BM,QAAQ,CAACN,IAAI,CAAC,GAAGQ,MAAM;YAC3B;UACJ;QACJ;MACJ;MACA,OAAOF,QAAQ;IACnB,CAAC;IACDG,MAAMA,CAAC;MAAEd,UAAU;MAAEe,QAAQ;MAAEC;IAAS,CAAC,EAAE;MACvC,oBACIvC,KAAA,CAAAe,aAAA,CAACV,gBAAgB;QACbkB,UAAU,EAAEA,UAAqC;QACjDe,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA;MAAS,CACtB,CAAC;IAEV;EACJ;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactComponent","TabsIcon","i18n","generateAlphaNumericLowerCaseId","TabsLayoutEditor","t","ns","uiTabsField","type","name","field","label","description","icon","createElement","canEditSettings","createField","help","tabs","id","layout","collectFields","getField","result","tab","row","cell","f","push","getFieldLabelPrefixes","tabsField","fieldLabel","prefixes","tabLabel","prefix","render","onUpdate","onDelete"],"sources":["tabs.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsModelLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type { CmsTabLayoutField } from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as TabsIcon } from \"@webiny/icons/tab.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\nimport { TabsLayoutEditor } from \"./TabsLayoutEditor.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nexport const uiTabsField: CmsModelLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-tabs\",\n field: {\n type: \"tabs\",\n label: t`Tabs`,\n description: t`Group fields into tabs.`,\n icon: <TabsIcon />,\n canEditSettings: true,\n createField() {\n return {\n type: \"tabs\",\n label: \"Tabs\",\n description: null,\n help: null,\n tabs: [{ id: generateAlphaNumericLowerCaseId(8), label: \"Tab 1\", layout: [] }]\n };\n },\n collectFields({ field, getField }) {\n const tabs = (field as CmsTabLayoutField).tabs;\n if (!tabs) {\n return [];\n }\n const result = [];\n for (const tab of tabs) {\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n const f = getField(cell);\n if (f) {\n result.push(f);\n }\n }\n }\n }\n }\n return result;\n },\n getFieldLabelPrefixes({ field }) {\n const tabsField = field as CmsTabLayoutField;\n const tabs = tabsField.tabs;\n if (!tabs) {\n return {};\n }\n const fieldLabel = tabsField.label || \"Tabs\";\n const prefixes: Record<string, string> = {};\n for (const tab of tabs) {\n const tabLabel = tab.label || \"Tab\";\n const prefix = `${fieldLabel} › ${tabLabel}`;\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n prefixes[cell] = prefix;\n }\n }\n }\n }\n return prefixes;\n },\n render({ field, onUpdate, onDelete }) {\n return (\n <TabsLayoutEditor\n field={field as CmsTabLayoutField}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,IAAIC,QAAQ,QAAQ,uBAAuB;AAClE,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,+BAA+B,QAAQ,eAAe;AAC/D,SAASC,gBAAgB;AAEzB,MAAMC,CAAC,GAAGH,IAAI,CAACI,EAAE,CAAC,+BAA+B,CAAC;AAElD,OAAO,MAAMC,WAA0C,GAAG;EACtDC,IAAI,EAAE,8BAA8B;EACpCC,IAAI,EAAE,mCAAmC;EACzCC,KAAK,EAAE;IACHF,IAAI,EAAE,MAAM;IACZG,KAAK,EAAEN,CAAC,MAAM;IACdO,WAAW,EAAEP,CAAC,yBAAyB;IACvCQ,IAAI,eAAEd,KAAA,CAAAe,aAAA,CAACb,QAAQ,MAAE,CAAC;IAClBc,eAAe,EAAE,IAAI;IACrBC,WAAWA,CAAA,EAAG;MACV,OAAO;QACHR,IAAI,EAAE,MAAM;QACZG,KAAK,EAAE,MAAM;QACbC,WAAW,EAAE,IAAI;QACjBK,IAAI,EAAE,IAAI;QACVC,IAAI,EAAE,CAAC;UAAEC,EAAE,EAAEhB,+BAA+B,CAAC,CAAC,CAAC;UAAEQ,KAAK,EAAE,OAAO;UAAES,MAAM,EAAE;QAAG,CAAC;MACjF,CAAC;IACL,CAAC;IACDC,aAAaA,CAAC;MAAEX,KAAK;MAAEY;IAAS,CAAC,EAAE;MAC/B,MAAMJ,IAAI,GAAIR,KAAK,CAAuBQ,IAAI;MAC9C,IAAI,CAACA,IAAI,EAAE;QACP,OAAO,EAAE;MACb;MACA,MAAMK,MAAM,GAAG,EAAE;MACjB,KAAK,MAAMC,GAAG,IAAIN,IAAI,EAAE;QACpB,KAAK,MAAMO,GAAG,IAAID,GAAG,CAACJ,MAAM,EAAE;UAC1B,KAAK,MAAMM,IAAI,IAAID,GAAG,EAAE;YACpB,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;cAC1B,MAAMC,CAAC,GAAGL,QAAQ,CAACI,IAAI,CAAC;cACxB,IAAIC,CAAC,EAAE;gBACHJ,MAAM,CAACK,IAAI,CAACD,CAAC,CAAC;cAClB;YACJ;UACJ;QACJ;MACJ;MACA,OAAOJ,MAAM;IACjB,CAAC;IACDM,qBAAqBA,CAAC;MAAEnB;IAAM,CAAC,EAAE;MAC7B,MAAMoB,SAAS,GAAGpB,KAA0B;MAC5C,MAAMQ,IAAI,GAAGY,SAAS,CAACZ,IAAI;MAC3B,IAAI,CAACA,IAAI,EAAE;QACP,OAAO,CAAC,CAAC;MACb;MACA,MAAMa,UAAU,GAAGD,SAAS,CAACnB,KAAK,IAAI,MAAM;MAC5C,MAAMqB,QAAgC,GAAG,CAAC,CAAC;MAC3C,KAAK,MAAMR,GAAG,IAAIN,IAAI,EAAE;QACpB,MAAMe,QAAQ,GAAGT,GAAG,CAACb,KAAK,IAAI,KAAK;QACnC,MAAMuB,MAAM,GAAG,GAAGH,UAAU,MAAME,QAAQ,EAAE;QAC5C,KAAK,MAAMR,GAAG,IAAID,GAAG,CAACJ,MAAM,EAAE;UAC1B,KAAK,MAAMM,IAAI,IAAID,GAAG,EAAE;YACpB,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;cAC1BM,QAAQ,CAACN,IAAI,CAAC,GAAGQ,MAAM;YAC3B;UACJ;QACJ;MACJ;MACA,OAAOF,QAAQ;IACnB,CAAC;IACDG,MAAMA,CAAC;MAAEzB,KAAK;MAAE0B,QAAQ;MAAEC;IAAS,CAAC,EAAE;MAClC,oBACItC,KAAA,CAAAe,aAAA,CAACV,gBAAgB;QACbM,KAAK,EAAEA,KAA2B;QAClC0B,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA;MAAS,CACtB,CAAC;IAEV;EACJ;AACJ,CAAC","ignoreList":[]}
@@ -1,14 +1,11 @@
1
1
  import React, { useCallback } from "react";
2
- import { CircularProgress } from "@webiny/ui/Progress/index.js";
3
- import * as UID from "@webiny/ui/Dialog/index.js";
4
- import { Dialog } from "../../../components/Dialog.js";
5
2
  import { i18n } from "@webiny/app/i18n/index.js";
6
- import { ImportButton } from "./components/ImportButton.js";
7
3
  import { FileUpload } from "./components/FileUpload.js";
8
4
  import { Errors } from "./components/Errors.js";
9
5
  import { DataList } from "./components/DataList.js";
10
6
  import { DataListInstructions } from "./components/Model/DataListInstructions.js";
11
7
  import { ImportContextProvider } from "./ImportContext.js";
8
+ import { Dialog, Loader } from "@webiny/admin-ui";
12
9
  const t = i18n.ns("app-headless-cms/admin/views/content-models/import-content-models-dialog");
13
10
  export const ImportContentModelsDialog = props => {
14
11
  const {
@@ -28,19 +25,24 @@ export const ImportContentModelsDialog = props => {
28
25
  file
29
26
  }) => {
30
27
  const onClick = validated ? handleModelsImport : handleModelsValidation;
28
+ const disabledConfirm = errors.length > 0 || loading || !file || validated && !hasSelected();
31
29
  return /*#__PURE__*/React.createElement(Dialog, {
32
30
  open: true,
33
31
  onClose: onCloseClick,
34
- "data-testid": "cms-import-content-models-modal"
35
- }, loading && /*#__PURE__*/React.createElement(CircularProgress, {
36
- label: "Loading..."
37
- }), /*#__PURE__*/React.createElement(UID.DialogTitle, null, t`Import Content Models`), /*#__PURE__*/React.createElement(UID.DialogContent, null, /*#__PURE__*/React.createElement(FileUpload, null), validated && /*#__PURE__*/React.createElement(DataListInstructions, null), /*#__PURE__*/React.createElement(Errors, {
32
+ "data-testid": "cms-import-content-models-modal",
33
+ title: t`Import Content Models`,
34
+ actions: /*#__PURE__*/React.createElement(Dialog.ConfirmAction, {
35
+ onClick: onClick,
36
+ text: validated ? t`Import` : t`Validate file`,
37
+ disabled: disabledConfirm
38
+ })
39
+ }, loading ? /*#__PURE__*/React.createElement(Loader, {
40
+ text: "Loading..."
41
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FileUpload, null), /*#__PURE__*/React.createElement("div", {
42
+ className: "max-h-[50dvh] overflow-auto"
43
+ }, validated && /*#__PURE__*/React.createElement(DataListInstructions, null), /*#__PURE__*/React.createElement(Errors, {
38
44
  errors: errors
39
- }), /*#__PURE__*/React.createElement(DataList, null)), /*#__PURE__*/React.createElement(UID.DialogActions, null, /*#__PURE__*/React.createElement(ImportButton, {
40
- onClick: onClick,
41
- validated: validated,
42
- disabled: errors.length > 0 || loading || !file || validated && !hasSelected()
43
- })));
45
+ }), /*#__PURE__*/React.createElement(DataList, null))));
44
46
  });
45
47
  };
46
48
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","CircularProgress","UID","Dialog","i18n","ImportButton","FileUpload","Errors","DataList","DataListInstructions","ImportContextProvider","t","ns","ImportContentModelsDialog","props","onClose","onCloseClick","window","location","reload","createElement","loading","errors","validated","handleModelsImport","hasSelected","handleModelsValidation","file","onClick","open","label","DialogTitle","DialogContent","DialogActions","disabled","length"],"sources":["ImportContentModelsDialog.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { CircularProgress } from \"@webiny/ui/Progress/index.js\";\nimport * as UID from \"@webiny/ui/Dialog/index.js\";\nimport { Dialog } from \"~/admin/components/Dialog.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { ImportButton } from \"./components/ImportButton.js\";\nimport { FileUpload } from \"./components/FileUpload.js\";\nimport { Errors } from \"./components/Errors.js\";\nimport { DataList } from \"./components/DataList.js\";\nimport { DataListInstructions } from \"./components/Model/DataListInstructions.js\";\nimport { ImportContextProvider } from \"~/admin/views/contentModels/importing/ImportContext.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/views/content-models/import-content-models-dialog\");\n\nexport interface ImportContentModelsDialogProps {\n onClose: () => void;\n}\n\nexport const ImportContentModelsDialog = (props: ImportContentModelsDialogProps) => {\n const { onClose } = props;\n\n const onCloseClick = useCallback(() => {\n window.location.reload();\n onClose();\n }, [onClose]);\n\n return (\n <ImportContextProvider>\n {({\n loading,\n errors,\n validated,\n handleModelsImport,\n hasSelected,\n handleModelsValidation,\n file\n }) => {\n const onClick = validated ? handleModelsImport : handleModelsValidation;\n return (\n <Dialog\n open={true}\n onClose={onCloseClick}\n data-testid=\"cms-import-content-models-modal\"\n >\n {loading && <CircularProgress label={\"Loading...\"} />}\n <UID.DialogTitle>{t`Import Content Models`}</UID.DialogTitle>\n <UID.DialogContent>\n <FileUpload />\n {validated && <DataListInstructions />}\n <Errors errors={errors} />\n <DataList />\n </UID.DialogContent>\n <UID.DialogActions>\n <ImportButton\n onClick={onClick}\n validated={validated}\n disabled={\n errors.length > 0 ||\n loading ||\n !file ||\n (validated && !hasSelected())\n }\n />\n </UID.DialogActions>\n </Dialog>\n );\n }}\n </ImportContextProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,OAAO,KAAKC,GAAG,MAAM,4BAA4B;AACjD,SAASC,MAAM;AACf,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,YAAY;AACrB,SAASC,UAAU;AACnB,SAASC,MAAM;AACf,SAASC,QAAQ;AACjB,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAE9B,MAAMC,CAAC,GAAGP,IAAI,CAACQ,EAAE,CAAC,0EAA0E,CAAC;AAM7F,OAAO,MAAMC,yBAAyB,GAAIC,KAAqC,IAAK;EAChF,MAAM;IAAEC;EAAQ,CAAC,GAAGD,KAAK;EAEzB,MAAME,YAAY,GAAGhB,WAAW,CAAC,MAAM;IACnCiB,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;IACxBJ,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACIhB,KAAA,CAAAqB,aAAA,CAACV,qBAAqB,QACjB,CAAC;IACEW,OAAO;IACPC,MAAM;IACNC,SAAS;IACTC,kBAAkB;IAClBC,WAAW;IACXC,sBAAsB;IACtBC;EACJ,CAAC,KAAK;IACF,MAAMC,OAAO,GAAGL,SAAS,GAAGC,kBAAkB,GAAGE,sBAAsB;IACvE,oBACI3B,KAAA,CAAAqB,aAAA,CAACjB,MAAM;MACH0B,IAAI,EAAE,IAAK;MACXd,OAAO,EAAEC,YAAa;MACtB,eAAY;IAAiC,GAE5CK,OAAO,iBAAItB,KAAA,CAAAqB,aAAA,CAACnB,gBAAgB;MAAC6B,KAAK,EAAE;IAAa,CAAE,CAAC,eACrD/B,KAAA,CAAAqB,aAAA,CAAClB,GAAG,CAAC6B,WAAW,QAAEpB,CAAC,uBAAyC,CAAC,eAC7DZ,KAAA,CAAAqB,aAAA,CAAClB,GAAG,CAAC8B,aAAa,qBACdjC,KAAA,CAAAqB,aAAA,CAACd,UAAU,MAAE,CAAC,EACbiB,SAAS,iBAAIxB,KAAA,CAAAqB,aAAA,CAACX,oBAAoB,MAAE,CAAC,eACtCV,KAAA,CAAAqB,aAAA,CAACb,MAAM;MAACe,MAAM,EAAEA;IAAO,CAAE,CAAC,eAC1BvB,KAAA,CAAAqB,aAAA,CAACZ,QAAQ,MAAE,CACI,CAAC,eACpBT,KAAA,CAAAqB,aAAA,CAAClB,GAAG,CAAC+B,aAAa,qBACdlC,KAAA,CAAAqB,aAAA,CAACf,YAAY;MACTuB,OAAO,EAAEA,OAAQ;MACjBL,SAAS,EAAEA,SAAU;MACrBW,QAAQ,EACJZ,MAAM,CAACa,MAAM,GAAG,CAAC,IACjBd,OAAO,IACP,CAACM,IAAI,IACJJ,SAAS,IAAI,CAACE,WAAW,CAAC;IAC9B,CACJ,CACc,CACf,CAAC;EAEjB,CACmB,CAAC;AAEhC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","i18n","FileUpload","Errors","DataList","DataListInstructions","ImportContextProvider","Dialog","Loader","t","ns","ImportContentModelsDialog","props","onClose","onCloseClick","window","location","reload","createElement","loading","errors","validated","handleModelsImport","hasSelected","handleModelsValidation","file","onClick","disabledConfirm","length","open","title","actions","ConfirmAction","text","disabled","Fragment","className"],"sources":["ImportContentModelsDialog.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { FileUpload } from \"./components/FileUpload.js\";\nimport { Errors } from \"./components/Errors.js\";\nimport { DataList } from \"./components/DataList.js\";\nimport { DataListInstructions } from \"./components/Model/DataListInstructions.js\";\nimport { ImportContextProvider } from \"~/admin/views/contentModels/importing/ImportContext.js\";\nimport { Dialog, Loader } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/views/content-models/import-content-models-dialog\");\n\nexport interface ImportContentModelsDialogProps {\n onClose: () => void;\n}\n\nexport const ImportContentModelsDialog = (props: ImportContentModelsDialogProps) => {\n const { onClose } = props;\n\n const onCloseClick = useCallback(() => {\n window.location.reload();\n onClose();\n }, [onClose]);\n\n return (\n <ImportContextProvider>\n {({\n loading,\n errors,\n validated,\n handleModelsImport,\n hasSelected,\n handleModelsValidation,\n file\n }) => {\n const onClick = validated ? handleModelsImport : handleModelsValidation;\n\n const disabledConfirm =\n errors.length > 0 || loading || !file || (validated && !hasSelected());\n\n return (\n <Dialog\n open={true}\n onClose={onCloseClick}\n data-testid=\"cms-import-content-models-modal\"\n title={t`Import Content Models`}\n actions={\n <Dialog.ConfirmAction\n onClick={onClick}\n text={validated ? t`Import` : t`Validate file`}\n disabled={disabledConfirm}\n />\n }\n >\n {loading ? (\n <Loader text={\"Loading...\"} />\n ) : (\n <>\n <FileUpload />\n <div className={\"max-h-[50dvh] overflow-auto\"}>\n {validated && <DataListInstructions />}\n <Errors errors={errors} />\n <DataList />\n </div>\n </>\n )}\n </Dialog>\n );\n }}\n </ImportContextProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,UAAU;AACnB,SAASC,MAAM;AACf,SAASC,QAAQ;AACjB,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,MAAM,EAAEC,MAAM,QAAQ,kBAAkB;AAEjD,MAAMC,CAAC,GAAGR,IAAI,CAACS,EAAE,CAAC,0EAA0E,CAAC;AAM7F,OAAO,MAAMC,yBAAyB,GAAIC,KAAqC,IAAK;EAChF,MAAM;IAAEC;EAAQ,CAAC,GAAGD,KAAK;EAEzB,MAAME,YAAY,GAAGd,WAAW,CAAC,MAAM;IACnCe,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;IACxBJ,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACId,KAAA,CAAAmB,aAAA,CAACZ,qBAAqB,QACjB,CAAC;IACEa,OAAO;IACPC,MAAM;IACNC,SAAS;IACTC,kBAAkB;IAClBC,WAAW;IACXC,sBAAsB;IACtBC;EACJ,CAAC,KAAK;IACF,MAAMC,OAAO,GAAGL,SAAS,GAAGC,kBAAkB,GAAGE,sBAAsB;IAEvE,MAAMG,eAAe,GACjBP,MAAM,CAACQ,MAAM,GAAG,CAAC,IAAIT,OAAO,IAAI,CAACM,IAAI,IAAKJ,SAAS,IAAI,CAACE,WAAW,CAAC,CAAE;IAE1E,oBACIxB,KAAA,CAAAmB,aAAA,CAACX,MAAM;MACHsB,IAAI,EAAE,IAAK;MACXhB,OAAO,EAAEC,YAAa;MACtB,eAAY,iCAAiC;MAC7CgB,KAAK,EAAErB,CAAC,uBAAwB;MAChCsB,OAAO,eACHhC,KAAA,CAAAmB,aAAA,CAACX,MAAM,CAACyB,aAAa;QACjBN,OAAO,EAAEA,OAAQ;QACjBO,IAAI,EAAEZ,SAAS,GAAGZ,CAAC,QAAQ,GAAGA,CAAC,eAAgB;QAC/CyB,QAAQ,EAAEP;MAAgB,CAC7B;IACJ,GAEAR,OAAO,gBACJpB,KAAA,CAAAmB,aAAA,CAACV,MAAM;MAACyB,IAAI,EAAE;IAAa,CAAE,CAAC,gBAE9BlC,KAAA,CAAAmB,aAAA,CAAAnB,KAAA,CAAAoC,QAAA,qBACIpC,KAAA,CAAAmB,aAAA,CAAChB,UAAU,MAAE,CAAC,eACdH,KAAA,CAAAmB,aAAA;MAAKkB,SAAS,EAAE;IAA8B,GACzCf,SAAS,iBAAItB,KAAA,CAAAmB,aAAA,CAACb,oBAAoB,MAAE,CAAC,eACtCN,KAAA,CAAAmB,aAAA,CAACf,MAAM;MAACiB,MAAM,EAAEA;IAAO,CAAE,CAAC,eAC1BrB,KAAA,CAAAmB,aAAA,CAACd,QAAQ,MAAE,CACV,CACP,CAEF,CAAC;EAEjB,CACmB,CAAC;AAEhC,CAAC","ignoreList":[]}
package/allPlugins.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare const _default: (import("@webiny/app-headless-cms-common/types").CmsModelFieldRendererPlugin | import("@webiny/app-headless-cms-common/types").CmsLayoutFieldTypePlugin | import("@webiny/app-headless-cms-common/types").CmsModelFieldTypePlugin | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidatorPlugin<any> | import("@webiny/app-headless-cms-common/types").CmsModelFieldRendererPlugin[] | (import("@webiny/app-headless-cms-common/types").CmsIconsPlugin | import("@webiny/app-headless-cms-common/types").CmsFieldValueTransformer<{
1
+ declare const _default: (import("@webiny/app-headless-cms-common/types").CmsModelFieldRendererPlugin | import("@webiny/app-headless-cms-common/types").CmsModelLayoutFieldTypePlugin<import("@webiny/app-headless-cms-common/types").CmsModelLayoutField> | import("@webiny/app-headless-cms-common/types").CmsModelFieldTypePlugin | import("@webiny/app-headless-cms-common/types").CmsModelFieldValidatorPlugin<any> | import("@webiny/app-headless-cms-common/types").CmsModelFieldRendererPlugin[] | (import("@webiny/app-headless-cms-common/types").CmsIconsPlugin | import("@webiny/app-headless-cms-common/types").CmsFieldValueTransformer<{
2
2
  id: string;
3
3
  type: string;
4
4
  fieldId: import("@webiny/app-headless-cms-common/types").CmsEditorFieldId;
@@ -1 +1,2 @@
1
- export { PermissionsTab } from "../../../admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js";
1
+ export { RulesEditor } from "../../../admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js";
2
+ export { PermissionsEditor } from "../../../admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js";
@@ -1,3 +1,4 @@
1
- export { PermissionsTab } from "../../../admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js";
1
+ export { RulesEditor } from "../../../admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js";
2
+ export { PermissionsEditor } from "../../../admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js";
2
3
 
3
4
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PermissionsTab"],"sources":["model.ts"],"sourcesContent":["export { PermissionsTab } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js\";\n"],"mappings":"AAAA,SAASA,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["RulesEditor","PermissionsEditor"],"sources":["model.ts"],"sourcesContent":["export { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js\";\nexport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,iBAAiB","ignoreList":[]}
@@ -1,4 +1,11 @@
1
+ export { CmsContentFormRenderer } from "../../legacyPluginAdapters/CmsContentFormRenderer.js";
2
+ export { CmsModelFieldValidator } from "../../legacyPluginAdapters/CmsModelFieldValidator.js";
3
+ export { CmsModelFieldType } from "../../legacyPluginAdapters/CmsModelFieldType.js";
4
+ export { CmsModelFieldRenderer } from "../../legacyPluginAdapters/CmsModelFieldRenderer.js";
5
+ export { CmsModelLayoutFieldType } from "../../legacyPluginAdapters/CmsModelLayoutFieldType.js";
6
+ export { CmsModelLayoutFieldRenderer } from "../../legacyPluginAdapters/CmsModelLayoutFieldRenderer.js";
1
7
  export { useQuery } from "../../admin/hooks/useQuery.js";
8
+ export { useCms } from "../../admin/hooks/useCms.js";
2
9
  export { useLazyQuery } from "../../admin/hooks/useLazyQuery.js";
3
10
  export { useMutation } from "../../admin/hooks/useMutation.js";
4
11
  export { useModel } from "../../admin/components/ModelProvider/index.js";
@@ -1,4 +1,11 @@
1
+ export { CmsContentFormRenderer } from "../../legacyPluginAdapters/CmsContentFormRenderer.js";
2
+ export { CmsModelFieldValidator } from "../../legacyPluginAdapters/CmsModelFieldValidator.js";
3
+ export { CmsModelFieldType } from "../../legacyPluginAdapters/CmsModelFieldType.js";
4
+ export { CmsModelFieldRenderer } from "../../legacyPluginAdapters/CmsModelFieldRenderer.js";
5
+ export { CmsModelLayoutFieldType } from "../../legacyPluginAdapters/CmsModelLayoutFieldType.js";
6
+ export { CmsModelLayoutFieldRenderer } from "../../legacyPluginAdapters/CmsModelLayoutFieldRenderer.js";
1
7
  export { useQuery } from "../../admin/hooks/useQuery.js";
8
+ export { useCms } from "../../admin/hooks/useCms.js";
2
9
  export { useLazyQuery } from "../../admin/hooks/useLazyQuery.js";
3
10
  export { useMutation } from "../../admin/hooks/useMutation.js";
4
11
  export { useModel } from "../../admin/components/ModelProvider/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","useLazyQuery","useMutation","useModel","usePermission","IsModelPublishable","Routes"],"sources":["cms.ts"],"sourcesContent":["export { useQuery } from \"~/admin/hooks/useQuery.js\";\nexport { useLazyQuery } from \"~/admin/hooks/useLazyQuery.js\";\nexport { useMutation } from \"~/admin/hooks/useMutation.js\";\nexport { useModel } from \"~/admin/components/ModelProvider/index.js\";\nexport { usePermission } from \"~/admin/hooks/usePermission.js\";\nexport { IsModelPublishable } from \"~/admin/components/IsModelPublishable.js\";\nexport { Routes } from \"~/routes.js\";\n"],"mappings":"AAAA,SAASA,QAAQ;AACjB,SAASC,YAAY;AACrB,SAASC,WAAW;AACpB,SAASC,QAAQ;AACjB,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAC3B,SAASC,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["CmsContentFormRenderer","CmsModelFieldValidator","CmsModelFieldType","CmsModelFieldRenderer","CmsModelLayoutFieldType","CmsModelLayoutFieldRenderer","useQuery","useCms","useLazyQuery","useMutation","useModel","usePermission","IsModelPublishable","Routes"],"sources":["cms.ts"],"sourcesContent":["export { CmsContentFormRenderer } from \"~/legacyPluginAdapters/CmsContentFormRenderer.js\";\nexport { CmsModelFieldValidator } from \"~/legacyPluginAdapters/CmsModelFieldValidator.js\";\nexport { CmsModelFieldType } from \"~/legacyPluginAdapters/CmsModelFieldType.js\";\nexport { CmsModelFieldRenderer } from \"~/legacyPluginAdapters/CmsModelFieldRenderer.js\";\nexport { CmsModelLayoutFieldType } from \"~/legacyPluginAdapters/CmsModelLayoutFieldType.js\";\nexport { CmsModelLayoutFieldRenderer } from \"~/legacyPluginAdapters/CmsModelLayoutFieldRenderer.js\";\nexport { useQuery } from \"~/admin/hooks/useQuery.js\";\nexport { useCms } from \"~/admin/hooks/useCms.js\";\nexport { useLazyQuery } from \"~/admin/hooks/useLazyQuery.js\";\nexport { useMutation } from \"~/admin/hooks/useMutation.js\";\nexport { useModel } from \"~/admin/components/ModelProvider/index.js\";\nexport { usePermission } from \"~/admin/hooks/usePermission.js\";\nexport { IsModelPublishable } from \"~/admin/components/IsModelPublishable.js\";\nexport { Routes } from \"~/routes.js\";\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,2BAA2B;AACpC,SAASC,QAAQ;AACjB,SAASC,MAAM;AACf,SAASC,YAAY;AACrB,SAASC,WAAW;AACpB,SAASC,QAAQ;AACjB,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAC3B,SAASC,MAAM","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CmsContentFormRendererPlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
+ type CmsContentFormRendererProps = Pick<CmsContentFormRendererPlugin, "modelId" | "render">;
3
+ export declare const CmsContentFormRenderer: (props: CmsContentFormRendererProps) => null;
4
+ export {};
@@ -0,0 +1,15 @@
1
+ import { useEffect } from "react";
2
+ import { plugins } from "@webiny/plugins";
3
+ export const CmsContentFormRenderer = props => {
4
+ useEffect(() => {
5
+ plugins.register({
6
+ type: "cms-content-form-renderer",
7
+ name: `cms-content-form-renderer-${props.modelId}`,
8
+ modelId: props.modelId,
9
+ render: props.render
10
+ });
11
+ }, []);
12
+ return null;
13
+ };
14
+
15
+ //# sourceMappingURL=CmsContentFormRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","plugins","CmsContentFormRenderer","props","register","type","name","modelId","render"],"sources":["CmsContentFormRenderer.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport type { CmsContentFormRendererPlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\n\ntype CmsContentFormRendererProps = Pick<CmsContentFormRendererPlugin, \"modelId\" | \"render\">;\n\nexport const CmsContentFormRenderer = (props: CmsContentFormRendererProps) => {\n useEffect(() => {\n plugins.register({\n type: \"cms-content-form-renderer\",\n name: `cms-content-form-renderer-${props.modelId}`,\n modelId: props.modelId,\n render: props.render\n } satisfies CmsContentFormRendererPlugin);\n }, []);\n return null;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,QAAQ,iBAAiB;AAKzC,OAAO,MAAMC,sBAAsB,GAAIC,KAAkC,IAAK;EAC1EH,SAAS,CAAC,MAAM;IACZC,OAAO,CAACG,QAAQ,CAAC;MACbC,IAAI,EAAE,2BAA2B;MACjCC,IAAI,EAAE,6BAA6BH,KAAK,CAACI,OAAO,EAAE;MAClDA,OAAO,EAAEJ,KAAK,CAACI,OAAO;MACtBC,MAAM,EAAEL,KAAK,CAACK;IAClB,CAAwC,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CmsModelFieldRendererPlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
+ type CmsModelFieldRendererProps = CmsModelFieldRendererPlugin["renderer"];
3
+ export declare const CmsModelFieldRenderer: (props: CmsModelFieldRendererProps) => null;
4
+ export {};
@@ -0,0 +1,14 @@
1
+ import { useEffect } from "react";
2
+ import { plugins } from "@webiny/plugins";
3
+ export const CmsModelFieldRenderer = props => {
4
+ useEffect(() => {
5
+ plugins.register({
6
+ type: "cms-editor-field-renderer",
7
+ name: `cms-editor-field-renderer-${props.rendererName}`,
8
+ renderer: props
9
+ });
10
+ }, []);
11
+ return null;
12
+ };
13
+
14
+ //# sourceMappingURL=CmsModelFieldRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","plugins","CmsModelFieldRenderer","props","register","type","name","rendererName","renderer"],"sources":["CmsModelFieldRenderer.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport type { CmsModelFieldRendererPlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\n\ntype CmsModelFieldRendererProps = CmsModelFieldRendererPlugin[\"renderer\"];\n\nexport const CmsModelFieldRenderer = (props: CmsModelFieldRendererProps) => {\n useEffect(() => {\n plugins.register({\n type: \"cms-editor-field-renderer\",\n name: `cms-editor-field-renderer-${props.rendererName}`,\n renderer: props\n } satisfies CmsModelFieldRendererPlugin);\n }, []);\n return null;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,QAAQ,iBAAiB;AAKzC,OAAO,MAAMC,qBAAqB,GAAIC,KAAiC,IAAK;EACxEH,SAAS,CAAC,MAAM;IACZC,OAAO,CAACG,QAAQ,CAAC;MACbC,IAAI,EAAE,2BAA2B;MACjCC,IAAI,EAAE,6BAA6BH,KAAK,CAACI,YAAY,EAAE;MACvDC,QAAQ,EAAEL;IACd,CAAuC,CAAC;EAC5C,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CmsModelFieldTypePlugin } from "@webiny/app-headless-cms-common/types/index.js";
2
+ type CmsModelFieldTypeProps = CmsModelFieldTypePlugin["field"];
3
+ export declare const CmsModelFieldType: (props: CmsModelFieldTypeProps) => null;
4
+ export {};
@@ -0,0 +1,14 @@
1
+ import { useEffect } from "react";
2
+ import { plugins } from "@webiny/plugins";
3
+ export const CmsModelFieldType = props => {
4
+ useEffect(() => {
5
+ plugins.register({
6
+ type: "cms-editor-field-type",
7
+ name: `cms-editor-field-type-${props.type}`,
8
+ field: props
9
+ });
10
+ }, []);
11
+ return null;
12
+ };
13
+
14
+ //# sourceMappingURL=CmsModelFieldType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","plugins","CmsModelFieldType","props","register","type","name","field"],"sources":["CmsModelFieldType.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport type { CmsModelFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\n\ntype CmsModelFieldTypeProps = CmsModelFieldTypePlugin[\"field\"];\n\nexport const CmsModelFieldType = (props: CmsModelFieldTypeProps) => {\n useEffect(() => {\n plugins.register({\n type: \"cms-editor-field-type\",\n name: `cms-editor-field-type-${props.type}`,\n field: props\n } satisfies CmsModelFieldTypePlugin);\n }, []);\n return null;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,QAAQ,iBAAiB;AAKzC,OAAO,MAAMC,iBAAiB,GAAIC,KAA6B,IAAK;EAChEH,SAAS,CAAC,MAAM;IACZC,OAAO,CAACG,QAAQ,CAAC;MACbC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE,yBAAyBH,KAAK,CAACE,IAAI,EAAE;MAC3CE,KAAK,EAAEJ;IACX,CAAmC,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CmsModelFieldValidatorPlugin } from "@webiny/app-headless-cms-common/types/validation.js";
2
+ type CmsModelFieldValidatorProps = Pick<CmsModelFieldValidatorPlugin, "validator">;
3
+ export declare const CmsModelFieldValidator: (props: CmsModelFieldValidatorProps) => null;
4
+ export {};
@@ -0,0 +1,14 @@
1
+ import { useEffect } from "react";
2
+ import { plugins } from "@webiny/plugins";
3
+ export const CmsModelFieldValidator = props => {
4
+ useEffect(() => {
5
+ plugins.register({
6
+ type: "cms-model-field-validator",
7
+ name: `cms-model-field-validator-${props.validator.name}`,
8
+ validator: props.validator
9
+ });
10
+ }, []);
11
+ return null;
12
+ };
13
+
14
+ //# sourceMappingURL=CmsModelFieldValidator.js.map