@webiny/app-headless-cms 5.42.3-beta.2 → 5.42.3-beta.4

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 (27) hide show
  1. package/ContentEntryEditorConfig.d.ts +21 -0
  2. package/ContentEntryEditorConfig.js +4 -5
  3. package/ContentEntryEditorConfig.js.map +1 -1
  4. package/ContentEntryListConfig.d.ts +6 -1
  5. package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js +1 -4
  6. package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js.map +1 -1
  7. package/admin/config/contentEntries/list/Browser/AdvancedSearch/FieldRenderer.js +1 -4
  8. package/admin/config/contentEntries/list/Browser/AdvancedSearch/FieldRenderer.js.map +1 -1
  9. package/admin/config/contentEntries/list/Browser/EntryAction.js +2 -4
  10. package/admin/config/contentEntries/list/Browser/EntryAction.js.map +1 -1
  11. package/admin/config/contentEntries/list/Browser/FolderAction.js +1 -4
  12. package/admin/config/contentEntries/list/Browser/FolderAction.js.map +1 -1
  13. package/admin/config/contentEntries/list/Browser/Table/Column.js +2 -4
  14. package/admin/config/contentEntries/list/Browser/Table/Column.js.map +1 -1
  15. package/admin/config/contentEntries/list/ContentEntryListConfig.d.ts +48 -43
  16. package/admin/config/contentEntries/list/ContentEntryListConfig.js +11 -2
  17. package/admin/config/contentEntries/list/ContentEntryListConfig.js.map +1 -1
  18. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +1 -0
  19. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +7 -3
  20. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  21. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +35 -1
  22. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +26 -9
  23. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
  24. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +1 -0
  25. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +2 -1
  26. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  27. package/package.json +27 -27
@@ -278,6 +278,27 @@ export declare const ContentEntryEditorConfig: (({ priority, children }: import(
278
278
  displayName: string;
279
279
  }>) => (props: unknown) => import("react").JSX.Element;
280
280
  };
281
+ SingleValue: {
282
+ ItemContainer: ((props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element) & {
283
+ original: (props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element;
284
+ originalName: string;
285
+ displayName: string;
286
+ } & {
287
+ original: ((props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element) & {
288
+ original: (props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element;
289
+ originalName: string;
290
+ displayName: string;
291
+ };
292
+ originalName: string;
293
+ displayName: string;
294
+ } & {
295
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<((props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element) & {
296
+ original: (props: import("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone").SingleValueItemContainerProps) => import("react").JSX.Element;
297
+ originalName: string;
298
+ displayName: string;
299
+ }>) => (props: unknown) => import("react").JSX.Element;
300
+ };
301
+ };
281
302
  MultiValue: {
282
303
  Container: (({ children }: import("./admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone").MultiValueContainerProps) => import("react").JSX.Element) & {
283
304
  original: ({ children }: import("./admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone").MultiValueContainerProps) => import("react").JSX.Element;
@@ -18,6 +18,7 @@ var _contentEntries = require("./admin/config/contentEntries");
18
18
  var _SingletonContentEntry = require("./admin/views/contentEntries/ContentEntry/SingletonContentEntry");
19
19
  var _useSingletonContentEntry = require("./admin/views/contentEntries/hooks/useSingletonContentEntry");
20
20
  var _FullScreenContentEntryHeaderLeft = require("./admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft");
21
+ var _SingleValueDynamicZone = require("./admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone");
21
22
  var ContentEntryEditorConfig = exports.ContentEntryEditorConfig = Object.assign(_contentEntries.ContentEntryEditorConfig, {
22
23
  ContentEntry: Object.assign(_ContentEntry.ContentEntry, {
23
24
  useContentEntry: _hooks.useContentEntry,
@@ -45,11 +46,9 @@ var ContentEntryEditorConfig = exports.ContentEntryEditorConfig = Object.assign(
45
46
  useTemplate: DzField.useTemplate
46
47
  },
47
48
  Container: DzField.DynamicZoneContainer,
48
- // SingleValue: {
49
- // Container: null,
50
- // ItemContainer: null,
51
- // Item: null
52
- // },
49
+ SingleValue: {
50
+ ItemContainer: _SingleValueDynamicZone.SingleValueItemContainer
51
+ },
53
52
  MultiValue: {
54
53
  Container: DzField.MultiValueContainer,
55
54
  ItemContainer: DzField.MultiValueItemContainer,
@@ -1 +1 @@
1
- {"version":3,"names":["DzField","_interopRequireWildcard","require","_object","_ContentEntryForm","_Header","_ContentEntryFormPreview","_useContentEntryForm","_DefaultLayout","_hooks","_ContentEntry","_contentEntries","_SingletonContentEntry","_useSingletonContentEntry","_FullScreenContentEntryHeaderLeft","ContentEntryEditorConfig","exports","Object","assign","BaseContentEntryEditorConfig","ContentEntry","useContentEntry","DefaultLayout","ContentEntryForm","BaseContentEntryForm","useContentEntryForm","Header","ContentEntryFormHeader","Title","ContentEntryFormTitle","Meta","ContentEntryFormMeta","ContentEntryFormPreview","SingletonContentEntry","useSingletonContentEntry","FieldRenderers","MultiValue","ItemContainer","ObjectField","MultiValueItemContainer","DynamicZone","Template","useTemplate","Container","DynamicZoneContainer","MultiValueContainer","Item","MultiValueItem","TemplateGallery"],"sources":["ContentEntryEditorConfig.ts"],"sourcesContent":["import * as DzField from \"~/admin/plugins/fieldRenderers/dynamicZone\";\nimport { Components as ObjectField } from \"~/admin/plugins/fieldRenderers/object\";\nimport { ContentEntryForm as BaseContentEntryForm } from \"./admin/components/ContentEntryForm/ContentEntryForm\";\nimport { Header as ContentEntryFormHeader } from \"./admin/components/ContentEntryForm/Header\";\nimport { ContentEntryFormPreview } from \"./admin/components/ContentEntryForm/ContentEntryFormPreview\";\nimport { useContentEntryForm } from \"./admin/components/ContentEntryForm/useContentEntryForm\";\nimport { DefaultLayout } from \"~/admin/components/ContentEntryForm/DefaultLayout\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { ContentEntryEditorConfig as BaseContentEntryEditorConfig } from \"./admin/config/contentEntries\";\nimport { SingletonContentEntry } from \"~/admin/views/contentEntries/ContentEntry/SingletonContentEntry\";\nimport { useSingletonContentEntry } from \"~/admin/views/contentEntries/hooks/useSingletonContentEntry\";\nimport {\n ContentEntryFormMeta,\n ContentEntryFormTitle\n} from \"~/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft\";\n\nexport const ContentEntryEditorConfig = Object.assign(BaseContentEntryEditorConfig, {\n ContentEntry: Object.assign(ContentEntry, {\n useContentEntry,\n DefaultLayout,\n ContentEntryForm: Object.assign(BaseContentEntryForm, {\n useContentEntryForm,\n Header: Object.assign(ContentEntryFormHeader, {\n Title: ContentEntryFormTitle,\n Meta: ContentEntryFormMeta\n })\n }),\n ContentEntryFormPreview\n }),\n SingletonContentEntry: Object.assign(SingletonContentEntry, {\n useSingletonContentEntry\n }),\n FieldRenderers: {\n Object: {\n MultiValue: {\n ItemContainer: ObjectField.MultiValueItemContainer\n }\n },\n DynamicZone: {\n Template: {\n useTemplate: DzField.useTemplate\n },\n Container: DzField.DynamicZoneContainer,\n // SingleValue: {\n // Container: null,\n // ItemContainer: null,\n // Item: null\n // },\n MultiValue: {\n Container: DzField.MultiValueContainer,\n ItemContainer: DzField.MultiValueItemContainer,\n Item: DzField.MultiValueItem\n },\n TemplateGallery: DzField.TemplateGallery\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AACA,IAAAY,iCAAA,GAAAZ,OAAA;AAKO,IAAMa,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAGE,MAAM,CAACC,MAAM,CAACC,wCAA4B,EAAE;EAChFC,YAAY,EAAEH,MAAM,CAACC,MAAM,CAACE,0BAAY,EAAE;IACtCC,eAAe,EAAfA,sBAAe;IACfC,aAAa,EAAbA,4BAAa;IACbC,gBAAgB,EAAEN,MAAM,CAACC,MAAM,CAACM,kCAAoB,EAAE;MAClDC,mBAAmB,EAAnBA,wCAAmB;MACnBC,MAAM,EAAET,MAAM,CAACC,MAAM,CAACS,cAAsB,EAAE;QAC1CC,KAAK,EAAEC,uDAAqB;QAC5BC,IAAI,EAAEC;MACV,CAAC;IACL,CAAC,CAAC;IACFC,uBAAuB,EAAvBA;EACJ,CAAC,CAAC;EACFC,qBAAqB,EAAEhB,MAAM,CAACC,MAAM,CAACe,4CAAqB,EAAE;IACxDC,wBAAwB,EAAxBA;EACJ,CAAC,CAAC;EACFC,cAAc,EAAE;IACZlB,MAAM,EAAE;MACJmB,UAAU,EAAE;QACRC,aAAa,EAAEC,kBAAW,CAACC;MAC/B;IACJ,CAAC;IACDC,WAAW,EAAE;MACTC,QAAQ,EAAE;QACNC,WAAW,EAAE1C,OAAO,CAAC0C;MACzB,CAAC;MACDC,SAAS,EAAE3C,OAAO,CAAC4C,oBAAoB;MACvC;MACA;MACA;MACA;MACA;MACAR,UAAU,EAAE;QACRO,SAAS,EAAE3C,OAAO,CAAC6C,mBAAmB;QACtCR,aAAa,EAAErC,OAAO,CAACuC,uBAAuB;QAC9CO,IAAI,EAAE9C,OAAO,CAAC+C;MAClB,CAAC;MACDC,eAAe,EAAEhD,OAAO,CAACgD;IAC7B;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DzField","_interopRequireWildcard","require","_object","_ContentEntryForm","_Header","_ContentEntryFormPreview","_useContentEntryForm","_DefaultLayout","_hooks","_ContentEntry","_contentEntries","_SingletonContentEntry","_useSingletonContentEntry","_FullScreenContentEntryHeaderLeft","_SingleValueDynamicZone","ContentEntryEditorConfig","exports","Object","assign","BaseContentEntryEditorConfig","ContentEntry","useContentEntry","DefaultLayout","ContentEntryForm","BaseContentEntryForm","useContentEntryForm","Header","ContentEntryFormHeader","Title","ContentEntryFormTitle","Meta","ContentEntryFormMeta","ContentEntryFormPreview","SingletonContentEntry","useSingletonContentEntry","FieldRenderers","MultiValue","ItemContainer","ObjectField","MultiValueItemContainer","DynamicZone","Template","useTemplate","Container","DynamicZoneContainer","SingleValue","SingleValueItemContainer","MultiValueContainer","Item","MultiValueItem","TemplateGallery"],"sources":["ContentEntryEditorConfig.ts"],"sourcesContent":["import * as DzField from \"~/admin/plugins/fieldRenderers/dynamicZone\";\nimport { Components as ObjectField } from \"~/admin/plugins/fieldRenderers/object\";\nimport { ContentEntryForm as BaseContentEntryForm } from \"./admin/components/ContentEntryForm/ContentEntryForm\";\nimport { Header as ContentEntryFormHeader } from \"./admin/components/ContentEntryForm/Header\";\nimport { ContentEntryFormPreview } from \"./admin/components/ContentEntryForm/ContentEntryFormPreview\";\nimport { useContentEntryForm } from \"./admin/components/ContentEntryForm/useContentEntryForm\";\nimport { DefaultLayout } from \"~/admin/components/ContentEntryForm/DefaultLayout\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { ContentEntryEditorConfig as BaseContentEntryEditorConfig } from \"./admin/config/contentEntries\";\nimport { SingletonContentEntry } from \"~/admin/views/contentEntries/ContentEntry/SingletonContentEntry\";\nimport { useSingletonContentEntry } from \"~/admin/views/contentEntries/hooks/useSingletonContentEntry\";\nimport {\n ContentEntryFormMeta,\n ContentEntryFormTitle\n} from \"~/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft\";\nimport { SingleValueItemContainer } from \"~/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone\";\n\nexport const ContentEntryEditorConfig = Object.assign(BaseContentEntryEditorConfig, {\n ContentEntry: Object.assign(ContentEntry, {\n useContentEntry,\n DefaultLayout,\n ContentEntryForm: Object.assign(BaseContentEntryForm, {\n useContentEntryForm,\n Header: Object.assign(ContentEntryFormHeader, {\n Title: ContentEntryFormTitle,\n Meta: ContentEntryFormMeta\n })\n }),\n ContentEntryFormPreview\n }),\n SingletonContentEntry: Object.assign(SingletonContentEntry, {\n useSingletonContentEntry\n }),\n FieldRenderers: {\n Object: {\n MultiValue: {\n ItemContainer: ObjectField.MultiValueItemContainer\n }\n },\n DynamicZone: {\n Template: {\n useTemplate: DzField.useTemplate\n },\n Container: DzField.DynamicZoneContainer,\n SingleValue: {\n ItemContainer: SingleValueItemContainer\n },\n MultiValue: {\n Container: DzField.MultiValueContainer,\n ItemContainer: DzField.MultiValueItemContainer,\n Item: DzField.MultiValueItem\n },\n TemplateGallery: DzField.TemplateGallery\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AACA,IAAAY,iCAAA,GAAAZ,OAAA;AAIA,IAAAa,uBAAA,GAAAb,OAAA;AAEO,IAAMc,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAGE,MAAM,CAACC,MAAM,CAACC,wCAA4B,EAAE;EAChFC,YAAY,EAAEH,MAAM,CAACC,MAAM,CAACE,0BAAY,EAAE;IACtCC,eAAe,EAAfA,sBAAe;IACfC,aAAa,EAAbA,4BAAa;IACbC,gBAAgB,EAAEN,MAAM,CAACC,MAAM,CAACM,kCAAoB,EAAE;MAClDC,mBAAmB,EAAnBA,wCAAmB;MACnBC,MAAM,EAAET,MAAM,CAACC,MAAM,CAACS,cAAsB,EAAE;QAC1CC,KAAK,EAAEC,uDAAqB;QAC5BC,IAAI,EAAEC;MACV,CAAC;IACL,CAAC,CAAC;IACFC,uBAAuB,EAAvBA;EACJ,CAAC,CAAC;EACFC,qBAAqB,EAAEhB,MAAM,CAACC,MAAM,CAACe,4CAAqB,EAAE;IACxDC,wBAAwB,EAAxBA;EACJ,CAAC,CAAC;EACFC,cAAc,EAAE;IACZlB,MAAM,EAAE;MACJmB,UAAU,EAAE;QACRC,aAAa,EAAEC,kBAAW,CAACC;MAC/B;IACJ,CAAC;IACDC,WAAW,EAAE;MACTC,QAAQ,EAAE;QACNC,WAAW,EAAE3C,OAAO,CAAC2C;MACzB,CAAC;MACDC,SAAS,EAAE5C,OAAO,CAAC6C,oBAAoB;MACvCC,WAAW,EAAE;QACTR,aAAa,EAAES;MACnB,CAAC;MACDV,UAAU,EAAE;QACRO,SAAS,EAAE5C,OAAO,CAACgD,mBAAmB;QACtCV,aAAa,EAAEtC,OAAO,CAACwC,uBAAuB;QAC9CS,IAAI,EAAEjD,OAAO,CAACkD;MAClB,CAAC;MACDC,eAAe,EAAEnD,OAAO,CAACmD;IAC7B;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  /// <reference types="react" />
2
- export declare const ContentEntryListConfig: (({ priority, children }: import("@webiny/react-properties").ConfigProps) => import("react").JSX.Element) & {
2
+ export declare const ContentEntryListConfig: {
3
+ ({ children }: {
4
+ children: import("react").ReactNode;
5
+ }): import("react").JSX.Element;
6
+ displayName: string;
7
+ } & {
3
8
  Browser: {
4
9
  AdvancedSearch: {
5
10
  FieldRenderer: (({ modelIds, ...props }: import("./admin/config/contentEntries/list/Browser/AdvancedSearch/FieldRenderer").FieldRendererProps) => import("react").JSX.Element | null) & {
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.LexicalCmsEditor = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _lexicalEditor = require("@webiny/lexical-editor");
10
- var _reactComposition = require("@webiny/react-composition");
11
10
  var _LexicalEditor = require("@webiny/app-admin/components/LexicalEditor");
12
11
  var placeholderStyles = {
13
12
  position: "absolute",
@@ -26,9 +25,7 @@ var styles = {
26
25
  minHeight: 200,
27
26
  maxHeight: 350
28
27
  };
29
- var toolbar = /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
30
- name: "cms"
31
- }, /*#__PURE__*/_react.default.createElement(_lexicalEditor.StaticToolbar, null));
28
+ var toolbar = /*#__PURE__*/_react.default.createElement(_lexicalEditor.StaticToolbar, null);
32
29
  var LexicalCmsEditor = exports.LexicalCmsEditor = function LexicalCmsEditor(props) {
33
30
  var onChange = (0, _react.useCallback)(function (jsonString) {
34
31
  if (props?.onChange) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_lexicalEditor","_reactComposition","_LexicalEditor","placeholderStyles","position","top","left","contentEditableStyles","minHeight","display","padding","styles","backgroundColor","border","maxHeight","toolbar","default","createElement","CompositionScope","name","StaticToolbar","LexicalCmsEditor","exports","props","onChange","useCallback","jsonString","JSON","parse","LexicalEditor","Object","assign","focus","value","stringify","staticToolbar","tag","placeholder"],"sources":["LexicalCmsEditor.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { RichTextEditorProps } from \"@webiny/lexical-editor/types\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { LexicalEditor } from \"@webiny/app-admin/components/LexicalEditor\";\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350\n};\n\nconst toolbar = (\n <CompositionScope name={\"cms\"}>\n <StaticToolbar />\n </CompositionScope>\n);\n\nexport const LexicalCmsEditor = (props: Omit<RichTextEditorProps, \"theme\">) => {\n const onChange = useCallback(\n (jsonString: string) => {\n if (props?.onChange) {\n props?.onChange(JSON.parse(jsonString));\n }\n },\n [props?.onChange]\n );\n\n return (\n <LexicalEditor\n {...props}\n focus={true}\n value={props.value ? JSON.stringify(props.value) : props.value}\n onChange={onChange}\n staticToolbar={toolbar}\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAMI,iBAAsC,GAAG;EAAEC,QAAQ,EAAE,UAAU;EAAEC,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC;AAE1F,IAAMC,qBAA0C,GAAG;EAC/CC,SAAS,EAAE,GAAG;EACdC,OAAO,EAAE,OAAO;EAChBC,OAAO,EAAE;AACb,CAAC;AAED,IAAMC,MAA2B,GAAG;EAChCC,eAAe,EAAE,MAAM;EACvBC,MAAM,EAAE,mBAAmB;EAC3BH,OAAO,EAAE,WAAW;EACpBF,SAAS,EAAE,GAAG;EACdM,SAAS,EAAE;AACf,CAAC;AAED,IAAMC,OAAO,gBACTlB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAAChB,iBAAA,CAAAiB,gBAAgB;EAACC,IAAI,EAAE;AAAM,gBAC1BtB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACjB,cAAA,CAAAoB,aAAa,MAAE,CACF,CACrB;AAEM,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,SAAnBA,gBAAgBA,CAAIE,KAAyC,EAAK;EAC3E,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EACxB,UAACC,UAAkB,EAAK;IACpB,IAAIH,KAAK,EAAEC,QAAQ,EAAE;MACjBD,KAAK,EAAEC,QAAQ,CAACG,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC,CAAC;IAC3C;EACJ,CAAC,EACD,CAACH,KAAK,EAAEC,QAAQ,CACpB,CAAC;EAED,oBACI3B,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACf,cAAA,CAAA2B,aAAa,EAAAC,MAAA,CAAAC,MAAA,KACNR,KAAK;IACTS,KAAK,EAAE,IAAK;IACZC,KAAK,EAAEV,KAAK,CAACU,KAAK,GAAGN,IAAI,CAACO,SAAS,CAACX,KAAK,CAACU,KAAK,CAAC,GAAGV,KAAK,CAACU,KAAM;IAC/DT,QAAQ,EAAEA,QAAS;IACnBW,aAAa,EAAEpB,OAAQ;IACvBqB,GAAG,EAAE,GAAI;IACTC,WAAW,EAAEd,KAAK,EAAEc,WAAW,IAAI,yBAA0B;IAC7DlC,iBAAiB,EAAEA,iBAAkB;IACrCI,qBAAqB,EAAEA,qBAAsB;IAC7CI,MAAM,EAAEA;EAAO,EAClB,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_lexicalEditor","_LexicalEditor","placeholderStyles","position","top","left","contentEditableStyles","minHeight","display","padding","styles","backgroundColor","border","maxHeight","toolbar","default","createElement","StaticToolbar","LexicalCmsEditor","exports","props","onChange","useCallback","jsonString","JSON","parse","LexicalEditor","Object","assign","focus","value","stringify","staticToolbar","tag","placeholder"],"sources":["LexicalCmsEditor.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { RichTextEditorProps } from \"@webiny/lexical-editor/types\";\nimport { LexicalEditor } from \"@webiny/app-admin/components/LexicalEditor\";\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350\n};\n\nconst toolbar = <StaticToolbar />;\n\nexport const LexicalCmsEditor = (props: Omit<RichTextEditorProps, \"theme\">) => {\n const onChange = useCallback(\n (jsonString: string) => {\n if (props?.onChange) {\n props?.onChange(JSON.parse(jsonString));\n }\n },\n [props?.onChange]\n );\n\n return (\n <LexicalEditor\n {...props}\n focus={true}\n value={props.value ? JSON.stringify(props.value) : props.value}\n onChange={onChange}\n staticToolbar={toolbar}\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAMG,iBAAsC,GAAG;EAAEC,QAAQ,EAAE,UAAU;EAAEC,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC;AAE1F,IAAMC,qBAA0C,GAAG;EAC/CC,SAAS,EAAE,GAAG;EACdC,OAAO,EAAE,OAAO;EAChBC,OAAO,EAAE;AACb,CAAC;AAED,IAAMC,MAA2B,GAAG;EAChCC,eAAe,EAAE,MAAM;EACvBC,MAAM,EAAE,mBAAmB;EAC3BH,OAAO,EAAE,WAAW;EACpBF,SAAS,EAAE,GAAG;EACdM,SAAS,EAAE;AACf,CAAC;AAED,IAAMC,OAAO,gBAAGjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,cAAA,CAAAiB,aAAa,MAAE,CAAC;AAE1B,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,SAAnBA,gBAAgBA,CAAIE,KAAyC,EAAK;EAC3E,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EACxB,UAACC,UAAkB,EAAK;IACpB,IAAIH,KAAK,EAAEC,QAAQ,EAAE;MACjBD,KAAK,EAAEC,QAAQ,CAACG,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC,CAAC;IAC3C;EACJ,CAAC,EACD,CAACH,KAAK,EAAEC,QAAQ,CACpB,CAAC;EAED,oBACIxB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,cAAA,CAAAyB,aAAa,EAAAC,MAAA,CAAAC,MAAA,KACNR,KAAK;IACTS,KAAK,EAAE,IAAK;IACZC,KAAK,EAAEV,KAAK,CAACU,KAAK,GAAGN,IAAI,CAACO,SAAS,CAACX,KAAK,CAACU,KAAK,CAAC,GAAGV,KAAK,CAACU,KAAM;IAC/DT,QAAQ,EAAEA,QAAS;IACnBW,aAAa,EAAElB,OAAQ;IACvBmB,GAAG,EAAE,GAAI;IACTC,WAAW,EAAEd,KAAK,EAAEc,WAAW,IAAI,yBAA0B;IAC7DhC,iBAAiB,EAAEA,iBAAkB;IACrCI,qBAAqB,EAAEA,qBAAsB;IAC7CI,MAAM,EAAEA;EAAO,EAClB,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -13,7 +13,6 @@ Object.defineProperty(exports, "FieldRendererConfig", {
13
13
  });
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
  var _react = _interopRequireDefault(require("react"));
16
- var _reactComposition = require("@webiny/react-composition");
17
16
  var _appAco = require("@webiny/app-aco");
18
17
  var _ModelProvider = require("../../../../../components/ModelProvider");
19
18
  var _excluded = ["modelIds"];
@@ -27,9 +26,7 @@ var BaseFieldRenderer = function BaseFieldRenderer(_ref) {
27
26
  if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {
28
27
  return null;
29
28
  }
30
- return /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
31
- name: "cms"
32
- }, /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(AdvancedSearch.FieldRenderer, props)));
29
+ return /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(AdvancedSearch.FieldRenderer, props));
33
30
  };
34
31
  var FieldRenderer = exports.FieldRenderer = Object.assign(BaseFieldRenderer, {
35
32
  useInputField: AdvancedSearch.FieldRenderer.useInputField,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_ModelProvider","_excluded","AdvancedSearch","AcoConfig","BaseFieldRenderer","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","_useModel","useModel","model","length","includes","modelId","createElement","CompositionScope","name","FieldRenderer","exports","Object","assign","useInputField","FieldType"],"sources":["FieldRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport {\n AcoConfig,\n AdvancedSearchFieldRendererConfig as FieldRendererConfig\n} from \"@webiny/app-aco\";\nimport { useModel } from \"~/admin/components/ModelProvider\";\n\nconst { AdvancedSearch } = AcoConfig;\n\nexport { FieldRendererConfig };\n\nexport interface FieldRendererProps\n extends React.ComponentProps<typeof AcoConfig.AdvancedSearch.FieldRenderer> {\n modelIds?: string[];\n}\n\nconst BaseFieldRenderer = ({ modelIds = [], ...props }: FieldRendererProps) => {\n const { model } = useModel();\n\n if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {\n return null;\n }\n\n return (\n <CompositionScope name={\"cms\"}>\n <AcoConfig>\n <AdvancedSearch.FieldRenderer {...props} />\n </AcoConfig>\n </CompositionScope>\n );\n};\n\nexport const FieldRenderer = Object.assign(BaseFieldRenderer, {\n useInputField: AdvancedSearch.FieldRenderer.useInputField,\n FieldType: AdvancedSearch.FieldRenderer.FieldType\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AAA4D,IAAAI,SAAA;AAE5D,IAAQC,cAAc,GAAKC,iBAAS,CAA5BD,cAAc;AAStB,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAwD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAlDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAChD,IAAAU,SAAA,GAAkB,IAAAC,uBAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EAEb,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,QAAQ,CAACF,KAAK,CAACG,OAAO,CAAC,EAAE;IAC1D,OAAO,IAAI;EACf;EAEA,oBACIrB,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAACnB,iBAAA,CAAAoB,gBAAgB;IAACC,IAAI,EAAE;EAAM,gBAC1BxB,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAAClB,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAACf,cAAc,CAACkB,aAAa,EAAKZ,KAAQ,CACnC,CACG,CAAC;AAE3B,CAAC;AAEM,IAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,MAAM,CAACC,MAAM,CAACnB,iBAAiB,EAAE;EAC1DoB,aAAa,EAAEtB,cAAc,CAACkB,aAAa,CAACI,aAAa;EACzDC,SAAS,EAAEvB,cAAc,CAACkB,aAAa,CAACK;AAC5C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_ModelProvider","_excluded","AdvancedSearch","AcoConfig","BaseFieldRenderer","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","_useModel","useModel","model","length","includes","modelId","createElement","FieldRenderer","exports","Object","assign","useInputField","FieldType"],"sources":["FieldRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n AcoConfig,\n AdvancedSearchFieldRendererConfig as FieldRendererConfig\n} from \"@webiny/app-aco\";\nimport { useModel } from \"~/admin/components/ModelProvider\";\n\nconst { AdvancedSearch } = AcoConfig;\n\nexport { FieldRendererConfig };\n\nexport interface FieldRendererProps\n extends React.ComponentProps<typeof AcoConfig.AdvancedSearch.FieldRenderer> {\n modelIds?: string[];\n}\n\nconst BaseFieldRenderer = ({ modelIds = [], ...props }: FieldRendererProps) => {\n const { model } = useModel();\n\n if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {\n return null;\n }\n\n return (\n <AcoConfig>\n <AdvancedSearch.FieldRenderer {...props} />\n </AcoConfig>\n );\n};\n\nexport const FieldRenderer = Object.assign(BaseFieldRenderer, {\n useInputField: AdvancedSearch.FieldRenderer.useInputField,\n FieldType: AdvancedSearch.FieldRenderer.FieldType\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,cAAA,GAAAF,OAAA;AAA4D,IAAAG,SAAA;AAE5D,IAAQC,cAAc,GAAKC,iBAAS,CAA5BD,cAAc;AAStB,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAwD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAlDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAChD,IAAAU,SAAA,GAAkB,IAAAC,uBAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EAEb,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,QAAQ,CAACF,KAAK,CAACG,OAAO,CAAC,EAAE;IAC1D,OAAO,IAAI;EACf;EAEA,oBACIpB,MAAA,CAAAc,OAAA,CAAAO,aAAA,CAAClB,OAAA,CAAAI,SAAS,qBACNP,MAAA,CAAAc,OAAA,CAAAO,aAAA,CAACf,cAAc,CAACgB,aAAa,EAAKV,KAAQ,CACnC,CAAC;AAEpB,CAAC;AAEM,IAAMU,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,MAAM,CAACC,MAAM,CAACjB,iBAAiB,EAAE;EAC1DkB,aAAa,EAAEpB,cAAc,CAACgB,aAAa,CAACI,aAAa;EACzDC,SAAS,EAAErB,cAAc,CAACgB,aAAa,CAACK;AAC5C,CAAC,CAAC","ignoreList":[]}
@@ -22,11 +22,9 @@ var BaseEntryAction = (0, _reactComposition.makeDecoratable)("EntryAction", func
22
22
  var _ref$modelIds = _ref.modelIds,
23
23
  modelIds = _ref$modelIds === void 0 ? [] : _ref$modelIds,
24
24
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
25
- return /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
26
- name: "cms"
27
- }, /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(_IsApplicableToCurrentModel.IsApplicableToCurrentModel, {
25
+ return /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(_IsApplicableToCurrentModel.IsApplicableToCurrentModel, {
28
26
  modelIds: modelIds
29
- }, /*#__PURE__*/_react.default.createElement(Record.Action, props))));
27
+ }, /*#__PURE__*/_react.default.createElement(Record.Action, props)));
30
28
  });
31
29
  var EntryAction = exports.EntryAction = Object.assign(BaseEntryAction, {
32
30
  OptionsMenuItem: Record.Action.OptionsMenuItem,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_IsApplicableToCurrentModel","_excluded","Record","AcoConfig","BaseEntryAction","makeDecoratable","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","createElement","CompositionScope","name","IsApplicableToCurrentModel","Action","EntryAction","exports","Object","assign","OptionsMenuItem","OptionsMenuLink"],"sources":["EntryAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { CompositionScope, makeDecoratable } from \"@webiny/react-composition\";\nimport { AcoConfig, RecordActionConfig } from \"@webiny/app-aco\";\nimport { IsApplicableToCurrentModel } from \"~/admin/config/IsApplicableToCurrentModel\";\n\nconst { Record } = AcoConfig;\n\nexport { RecordActionConfig as EntryActionConfig };\n\nexport interface EntryActionProps extends React.ComponentProps<typeof AcoConfig.Record.Action> {\n modelIds?: string[];\n}\n\nconst BaseEntryAction = makeDecoratable(\n \"EntryAction\",\n ({ modelIds = [], ...props }: EntryActionProps) => {\n return (\n <CompositionScope name={\"cms\"}>\n <AcoConfig>\n <IsApplicableToCurrentModel modelIds={modelIds}>\n <Record.Action {...props} />\n </IsApplicableToCurrentModel>\n </AcoConfig>\n </CompositionScope>\n );\n }\n);\n\nexport const EntryAction = Object.assign(BaseEntryAction, {\n OptionsMenuItem: Record.Action.OptionsMenuItem,\n OptionsMenuLink: Record.Action.OptionsMenuLink\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAAuF,IAAAI,SAAA;AAEvF,IAAQC,MAAM,GAAKC,iBAAS,CAApBD,MAAM;AAQd,IAAME,eAAe,GAAG,IAAAC,iCAAe,EACnC,aAAa,EACb,UAAAC,IAAA,EAAmD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAhDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAL,SAAA;EACtB,oBACIN,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,iBAAA,CAAAe,gBAAgB;IAACC,IAAI,EAAE;EAAM,gBAC1BnB,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACZ,2BAAA,CAAAe,0BAA0B;IAACP,QAAQ,EAAEA;EAAS,gBAC3Cb,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACV,MAAM,CAACc,MAAM,EAAKP,KAAQ,CACH,CACrB,CACG,CAAC;AAE3B,CACJ,CAAC;AAEM,IAAMQ,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,MAAM,CAACC,MAAM,CAAChB,eAAe,EAAE;EACtDiB,eAAe,EAAEnB,MAAM,CAACc,MAAM,CAACK,eAAe;EAC9CC,eAAe,EAAEpB,MAAM,CAACc,MAAM,CAACM;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_IsApplicableToCurrentModel","_excluded","Record","AcoConfig","BaseEntryAction","makeDecoratable","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","createElement","IsApplicableToCurrentModel","Action","EntryAction","exports","Object","assign","OptionsMenuItem","OptionsMenuLink"],"sources":["EntryAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { AcoConfig, RecordActionConfig } from \"@webiny/app-aco\";\nimport { IsApplicableToCurrentModel } from \"~/admin/config/IsApplicableToCurrentModel\";\n\nconst { Record } = AcoConfig;\n\nexport { RecordActionConfig as EntryActionConfig };\n\nexport interface EntryActionProps extends React.ComponentProps<typeof AcoConfig.Record.Action> {\n modelIds?: string[];\n}\n\nconst BaseEntryAction = makeDecoratable(\n \"EntryAction\",\n ({ modelIds = [], ...props }: EntryActionProps) => {\n return (\n <AcoConfig>\n <IsApplicableToCurrentModel modelIds={modelIds}>\n <Record.Action {...props} />\n </IsApplicableToCurrentModel>\n </AcoConfig>\n );\n }\n);\n\nexport const EntryAction = Object.assign(BaseEntryAction, {\n OptionsMenuItem: Record.Action.OptionsMenuItem,\n OptionsMenuLink: Record.Action.OptionsMenuLink\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAAuF,IAAAI,SAAA;AAEvF,IAAQC,MAAM,GAAKC,iBAAS,CAApBD,MAAM;AAQd,IAAME,eAAe,GAAG,IAAAC,iCAAe,EACnC,aAAa,EACb,UAAAC,IAAA,EAAmD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAhDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAL,SAAA;EACtB,oBACIN,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACZ,2BAAA,CAAAa,0BAA0B;IAACL,QAAQ,EAAEA;EAAS,gBAC3Cb,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACV,MAAM,CAACY,MAAM,EAAKL,KAAQ,CACH,CACrB,CAAC;AAEpB,CACJ,CAAC;AAEM,IAAMM,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,MAAM,CAACC,MAAM,CAACd,eAAe,EAAE;EACtDe,eAAe,EAAEjB,MAAM,CAACY,MAAM,CAACK,eAAe;EAC9CC,eAAe,EAAElB,MAAM,CAACY,MAAM,CAACM;AACnC,CAAC,CAAC","ignoreList":[]}
@@ -13,7 +13,6 @@ Object.defineProperty(exports, "FolderActionConfig", {
13
13
  });
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
  var _react = _interopRequireDefault(require("react"));
16
- var _reactComposition = require("@webiny/react-composition");
17
16
  var _appAco = require("@webiny/app-aco");
18
17
  var _hooks = require("../../../../hooks");
19
18
  var _excluded = ["modelIds"];
@@ -27,9 +26,7 @@ var BaseFolderAction = function BaseFolderAction(_ref) {
27
26
  if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {
28
27
  return null;
29
28
  }
30
- return /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
31
- name: "cms"
32
- }, /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(Folder.Action, props)));
29
+ return /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(Folder.Action, props));
33
30
  };
34
31
  var FolderAction = exports.FolderAction = Object.assign(BaseFolderAction, {
35
32
  OptionsMenuItem: Folder.Action.OptionsMenuItem
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_hooks","_excluded","Folder","AcoConfig","BaseFolderAction","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","_useModel","useModel","model","length","includes","modelId","createElement","CompositionScope","name","Action","FolderAction","exports","Object","assign","OptionsMenuItem"],"sources":["FolderAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { AcoConfig, FolderActionConfig } from \"@webiny/app-aco\";\nimport { useModel } from \"~/admin/hooks\";\n\nconst { Folder } = AcoConfig;\n\nexport { FolderActionConfig };\n\nexport interface FolderActionProps extends React.ComponentProps<typeof AcoConfig.Folder.Action> {\n modelIds?: string[];\n}\n\nconst BaseFolderAction = ({ modelIds = [], ...props }: FolderActionProps) => {\n const { model } = useModel();\n\n if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {\n return null;\n }\n\n return (\n <CompositionScope name={\"cms\"}>\n <AcoConfig>\n <Folder.Action {...props} />\n </AcoConfig>\n </CompositionScope>\n );\n};\n\nexport const FolderAction = Object.assign(BaseFolderAction, {\n OptionsMenuItem: Folder.Action.OptionsMenuItem\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAyC,IAAAI,SAAA;AAEzC,IAAQC,MAAM,GAAKC,iBAAS,CAApBD,MAAM;AAQd,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAuD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAjDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAC/C,IAAAU,SAAA,GAAkB,IAAAC,eAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EAEb,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,QAAQ,CAACF,KAAK,CAACG,OAAO,CAAC,EAAE;IAC1D,OAAO,IAAI;EACf;EAEA,oBACIrB,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAACnB,iBAAA,CAAAoB,gBAAgB;IAACC,IAAI,EAAE;EAAM,gBAC1BxB,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAAClB,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAe,OAAA,CAAAO,aAAA,CAACf,MAAM,CAACkB,MAAM,EAAKZ,KAAQ,CACpB,CACG,CAAC;AAE3B,CAAC;AAEM,IAAMa,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,MAAM,CAACC,MAAM,CAACpB,gBAAgB,EAAE;EACxDqB,eAAe,EAAEvB,MAAM,CAACkB,MAAM,CAACK;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_hooks","_excluded","Folder","AcoConfig","BaseFolderAction","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","_useModel","useModel","model","length","includes","modelId","createElement","Action","FolderAction","exports","Object","assign","OptionsMenuItem"],"sources":["FolderAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { AcoConfig, FolderActionConfig } from \"@webiny/app-aco\";\nimport { useModel } from \"~/admin/hooks\";\n\nconst { Folder } = AcoConfig;\n\nexport { FolderActionConfig };\n\nexport interface FolderActionProps extends React.ComponentProps<typeof AcoConfig.Folder.Action> {\n modelIds?: string[];\n}\n\nconst BaseFolderAction = ({ modelIds = [], ...props }: FolderActionProps) => {\n const { model } = useModel();\n\n if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {\n return null;\n }\n\n return (\n <AcoConfig>\n <Folder.Action {...props} />\n </AcoConfig>\n );\n};\n\nexport const FolderAction = Object.assign(BaseFolderAction, {\n OptionsMenuItem: Folder.Action.OptionsMenuItem\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAyC,IAAAG,SAAA;AAEzC,IAAQC,MAAM,GAAKC,iBAAS,CAApBD,MAAM;AAQd,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAuD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAAjDE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAC/C,IAAAU,SAAA,GAAkB,IAAAC,eAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EAEb,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,QAAQ,CAACF,KAAK,CAACG,OAAO,CAAC,EAAE;IAC1D,OAAO,IAAI;EACf;EAEA,oBACIpB,MAAA,CAAAc,OAAA,CAAAO,aAAA,CAAClB,OAAA,CAAAI,SAAS,qBACNP,MAAA,CAAAc,OAAA,CAAAO,aAAA,CAACf,MAAM,CAACgB,MAAM,EAAKV,KAAQ,CACpB,CAAC;AAEpB,CAAC;AAEM,IAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,MAAM,CAACC,MAAM,CAAClB,gBAAgB,EAAE;EACxDmB,eAAe,EAAErB,MAAM,CAACgB,MAAM,CAACK;AACnC,CAAC,CAAC","ignoreList":[]}
@@ -22,11 +22,9 @@ var BaseColumnComponent = function BaseColumnComponent(_ref) {
22
22
  var _ref$modelIds = _ref.modelIds,
23
23
  modelIds = _ref$modelIds === void 0 ? [] : _ref$modelIds,
24
24
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
25
- return /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
26
- name: "cms"
27
- }, /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(_IsApplicableToCurrentModel.IsApplicableToCurrentModel, {
25
+ return /*#__PURE__*/_react.default.createElement(_appAco.AcoConfig, null, /*#__PURE__*/_react.default.createElement(_IsApplicableToCurrentModel.IsApplicableToCurrentModel, {
28
26
  modelIds: modelIds
29
- }, /*#__PURE__*/_react.default.createElement(Table.Column, props))));
27
+ }, /*#__PURE__*/_react.default.createElement(Table.Column, props)));
30
28
  };
31
29
  var BaseColumn = (0, _reactComposition.makeDecoratable)("Column", BaseColumnComponent);
32
30
  var Column = exports.Column = Object.assign(BaseColumn, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_IsApplicableToCurrentModel","_excluded","Table","AcoConfig","BaseColumnComponent","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","createElement","CompositionScope","name","IsApplicableToCurrentModel","Column","BaseColumn","makeDecoratable","exports","Object","assign","useTableRow","createUseTableRow","isFolderRow"],"sources":["Column.tsx"],"sourcesContent":["import React from \"react\";\nimport { CompositionScope, makeDecoratable } from \"@webiny/react-composition\";\nimport { AcoConfig, TableColumnConfig as ColumnConfig } from \"@webiny/app-aco\";\nimport { TableItem } from \"~/types\";\nimport { IsApplicableToCurrentModel } from \"~/admin/config/IsApplicableToCurrentModel\";\n\nconst { Table } = AcoConfig;\n\nexport { ColumnConfig };\n\nexport interface ColumnProps extends React.ComponentProps<typeof AcoConfig.Table.Column> {\n modelIds?: string[];\n}\n\nconst BaseColumnComponent = ({ modelIds = [], ...props }: ColumnProps) => {\n return (\n <CompositionScope name={\"cms\"}>\n <AcoConfig>\n <IsApplicableToCurrentModel modelIds={modelIds}>\n <Table.Column {...props} />\n </IsApplicableToCurrentModel>\n </AcoConfig>\n </CompositionScope>\n );\n};\n\nconst BaseColumn = makeDecoratable(\"Column\", BaseColumnComponent);\n\nexport const Column = Object.assign(BaseColumn, {\n useTableRow: Table.Column.createUseTableRow<TableItem>(),\n isFolderRow: Table.Column.isFolderRow\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAAuF,IAAAI,SAAA;AAEvF,IAAQC,KAAK,GAAKC,iBAAS,CAAnBD,KAAK;AAQb,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAiD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAA3CE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAClD,oBACIN,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,iBAAA,CAAAc,gBAAgB;IAACC,IAAI,EAAE;EAAM,gBAC1BlB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,2BAAA,CAAAc,0BAA0B;IAACP,QAAQ,EAAEA;EAAS,gBAC3CZ,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACT,KAAK,CAACa,MAAM,EAAKP,KAAQ,CACF,CACrB,CACG,CAAC;AAE3B,CAAC;AAED,IAAMQ,UAAU,GAAG,IAAAC,iCAAe,EAAC,QAAQ,EAAEb,mBAAmB,CAAC;AAE1D,IAAMW,MAAM,GAAAG,OAAA,CAAAH,MAAA,GAAGI,MAAM,CAACC,MAAM,CAACJ,UAAU,EAAE;EAC5CK,WAAW,EAAEnB,KAAK,CAACa,MAAM,CAACO,iBAAiB,CAAY,CAAC;EACxDC,WAAW,EAAErB,KAAK,CAACa,MAAM,CAACQ;AAC9B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactComposition","_appAco","_IsApplicableToCurrentModel","_excluded","Table","AcoConfig","BaseColumnComponent","_ref","_ref$modelIds","modelIds","props","_objectWithoutProperties2","default","createElement","IsApplicableToCurrentModel","Column","BaseColumn","makeDecoratable","exports","Object","assign","useTableRow","createUseTableRow","isFolderRow"],"sources":["Column.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { AcoConfig, TableColumnConfig as ColumnConfig } from \"@webiny/app-aco\";\nimport { TableItem } from \"~/types\";\nimport { IsApplicableToCurrentModel } from \"~/admin/config/IsApplicableToCurrentModel\";\n\nconst { Table } = AcoConfig;\n\nexport { ColumnConfig };\n\nexport interface ColumnProps extends React.ComponentProps<typeof AcoConfig.Table.Column> {\n modelIds?: string[];\n}\n\nconst BaseColumnComponent = ({ modelIds = [], ...props }: ColumnProps) => {\n return (\n <AcoConfig>\n <IsApplicableToCurrentModel modelIds={modelIds}>\n <Table.Column {...props} />\n </IsApplicableToCurrentModel>\n </AcoConfig>\n );\n};\n\nconst BaseColumn = makeDecoratable(\"Column\", BaseColumnComponent);\n\nexport const Column = Object.assign(BaseColumn, {\n useTableRow: Table.Column.createUseTableRow<TableItem>(),\n isFolderRow: Table.Column.isFolderRow\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAAuF,IAAAI,SAAA;AAEvF,IAAQC,KAAK,GAAKC,iBAAS,CAAnBD,KAAK;AAQb,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAiD;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAA3CE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAKE,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;EAClD,oBACIN,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,OAAA,CAAAI,SAAS,qBACNR,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,2BAAA,CAAAY,0BAA0B;IAACL,QAAQ,EAAEA;EAAS,gBAC3CZ,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACT,KAAK,CAACW,MAAM,EAAKL,KAAQ,CACF,CACrB,CAAC;AAEpB,CAAC;AAED,IAAMM,UAAU,GAAG,IAAAC,iCAAe,EAAC,QAAQ,EAAEX,mBAAmB,CAAC;AAE1D,IAAMS,MAAM,GAAAG,OAAA,CAAAH,MAAA,GAAGI,MAAM,CAACC,MAAM,CAACJ,UAAU,EAAE;EAC5CK,WAAW,EAAEjB,KAAK,CAACW,MAAM,CAACO,iBAAiB,CAAY,CAAC;EACxDC,WAAW,EAAEnB,KAAK,CAACW,MAAM,CAACQ;AAC9B,CAAC,CAAC","ignoreList":[]}
@@ -1,30 +1,35 @@
1
- /// <reference types="react" />
2
- export declare const ContentEntryListConfig: (({ priority, children }: import("@webiny/react-properties").ConfigProps) => import("react").JSX.Element) & {
1
+ import React from "react";
2
+ export declare const ContentEntryListConfig: {
3
+ ({ children }: {
4
+ children: React.ReactNode;
5
+ }): React.JSX.Element;
6
+ displayName: string;
7
+ } & {
3
8
  Browser: {
4
9
  AdvancedSearch: {
5
- FieldRenderer: (({ modelIds, ...props }: import("./Browser/AdvancedSearch/FieldRenderer").FieldRendererProps) => import("react").JSX.Element | null) & {
10
+ FieldRenderer: (({ modelIds, ...props }: import("./Browser/AdvancedSearch/FieldRenderer").FieldRendererProps) => React.JSX.Element | null) & {
6
11
  useInputField: () => import("@webiny/app-aco").InputFieldContext;
7
12
  FieldType: typeof import("@webiny/app-aco/components/AdvancedSearch/domain").FieldType;
8
13
  };
9
14
  };
10
- BulkAction: (({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null) & {
11
- original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null;
15
+ BulkAction: (({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null) & {
16
+ original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null;
12
17
  originalName: string;
13
18
  displayName: string;
14
19
  } & {
15
- original: (({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null) & {
16
- original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null;
20
+ original: (({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null) & {
21
+ original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null;
17
22
  originalName: string;
18
23
  displayName: string;
19
24
  };
20
25
  originalName: string;
21
26
  displayName: string;
22
27
  } & {
23
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null) & {
24
- original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => import("react").JSX.Element | null;
28
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null) & {
29
+ original: ({ name, after, before, remove, modelIds, element }: import("./Browser/BulkAction").BulkActionProps) => React.JSX.Element | null;
25
30
  originalName: string;
26
31
  displayName: string;
27
- }>) => (props: unknown) => import("react").JSX.Element;
32
+ }>) => (props: unknown) => React.JSX.Element;
28
33
  } & {
29
34
  useButtons: () => import("@webiny/app-admin/components/Buttons/useButtons").ButtonsProviderContext;
30
35
  useWorker: () => {
@@ -38,92 +43,92 @@ export declare const ContentEntryListConfig: (({ priority, children }: import("@
38
43
  };
39
44
  useDialog: () => import("@webiny/app-admin").UseDialogWithReportResponse;
40
45
  };
41
- EntryAction: (({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element) & {
42
- original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element;
46
+ EntryAction: (({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element) & {
47
+ original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element;
43
48
  originalName: string;
44
49
  displayName: string;
45
50
  } & {
46
- original: (({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element) & {
47
- original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element;
51
+ original: (({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element) & {
52
+ original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element;
48
53
  originalName: string;
49
54
  displayName: string;
50
55
  };
51
56
  originalName: string;
52
57
  displayName: string;
53
58
  } & {
54
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element) & {
55
- original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => import("react").JSX.Element;
59
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element) & {
60
+ original: ({ modelIds, ...props }: import("./Browser/EntryAction").EntryActionProps) => React.JSX.Element;
56
61
  originalName: string;
57
62
  displayName: string;
58
- }>) => (props: unknown) => import("react").JSX.Element;
63
+ }>) => (props: unknown) => React.JSX.Element;
59
64
  } & {
60
- OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => import("react").JSX.Element;
61
- OptionsMenuLink: (props: import("@webiny/app-admin").OptionsMenuLinkProps) => import("react").JSX.Element;
65
+ OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => React.JSX.Element;
66
+ OptionsMenuLink: (props: import("@webiny/app-admin").OptionsMenuLinkProps) => React.JSX.Element;
62
67
  };
63
- Filter: (({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null) & {
64
- original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null;
68
+ Filter: (({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null) & {
69
+ original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null;
65
70
  originalName: string;
66
71
  displayName: string;
67
72
  } & {
68
- original: (({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null) & {
69
- original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null;
73
+ original: (({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null) & {
74
+ original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null;
70
75
  originalName: string;
71
76
  displayName: string;
72
77
  };
73
78
  originalName: string;
74
79
  displayName: string;
75
80
  } & {
76
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null) & {
77
- original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null;
81
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null) & {
82
+ original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null;
78
83
  originalName: string;
79
84
  displayName: string;
80
- }>) => (props: unknown) => import("react").JSX.Element;
85
+ }>) => (props: unknown) => React.JSX.Element;
81
86
  } & {
82
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null) & {
83
- original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => import("react").JSX.Element | null;
87
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null) & {
88
+ original: ({ name, element, modelIds, after, before, remove }: import("./Browser/Filter").FilterProps) => React.JSX.Element | null;
84
89
  originalName: string;
85
90
  displayName: string;
86
- }>) => (props: import("./Browser/Filter").CreateDecoratorParams) => import("react").JSX.Element;
91
+ }>) => (props: import("./Browser/Filter").CreateDecoratorParams) => React.JSX.Element;
87
92
  };
88
- FiltersToWhere: ({ converter, modelIds }: import("./Browser/FiltersToWhere").FiltersToWhereProps) => import("react").JSX.Element | null;
93
+ FiltersToWhere: ({ converter, modelIds }: import("./Browser/FiltersToWhere").FiltersToWhereProps) => React.JSX.Element | null;
89
94
  Folder: {
90
95
  ExtensionField: {
91
- createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("@webiny/react-composition").GenericComponent<import("@webiny/app-headless-cms-common").FieldElementProps>>) => (props: import("@webiny/app-aco").FieldDecoratorProps) => import("react").JSX.Element;
96
+ createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("@webiny/react-composition").GenericComponent<import("@webiny/app-headless-cms-common").FieldElementProps>>) => (props: import("@webiny/app-aco").FieldDecoratorProps) => React.JSX.Element;
92
97
  };
93
- Action: (({ modelIds, ...props }: import("./Browser/FolderAction").FolderActionProps) => import("react").JSX.Element | null) & {
94
- OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => import("react").JSX.Element;
98
+ Action: (({ modelIds, ...props }: import("./Browser/FolderAction").FolderActionProps) => React.JSX.Element | null) & {
99
+ OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => React.JSX.Element;
95
100
  };
96
101
  };
97
102
  Table: {
98
- Column: (({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element) & {
99
- original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element;
103
+ Column: (({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element) & {
104
+ original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element;
100
105
  originalName: string;
101
106
  displayName: string;
102
107
  } & {
103
- original: (({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element) & {
104
- original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element;
108
+ original: (({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element) & {
109
+ original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element;
105
110
  originalName: string;
106
111
  displayName: string;
107
112
  };
108
113
  originalName: string;
109
114
  displayName: string;
110
115
  } & {
111
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element) & {
112
- original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => import("react").JSX.Element;
116
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element) & {
117
+ original: ({ modelIds, ...props }: import("./Browser/Table/Column").ColumnProps) => React.JSX.Element;
113
118
  originalName: string;
114
119
  displayName: string;
115
- }>) => (props: unknown) => import("react").JSX.Element;
120
+ }>) => (props: unknown) => React.JSX.Element;
116
121
  } & {
117
122
  useTableRow: <TUserRow = Record<string, any>>() => import("@webiny/app-aco").TableRowContextData<import("../../../../types").TableItem & import("@webiny/ui/DataTable").DefaultData & TUserRow>;
118
123
  isFolderRow: (row: import("@webiny/app-aco/table.types").BaseTableItem) => row is import("@webiny/app-aco/table.types").FolderTableItem;
119
124
  };
120
125
  };
121
- FolderAction: (({ modelIds, ...props }: import("./Browser/FolderAction").FolderActionProps) => import("react").JSX.Element | null) & {
122
- OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => import("react").JSX.Element;
126
+ FolderAction: (({ modelIds, ...props }: import("./Browser/FolderAction").FolderActionProps) => React.JSX.Element | null) & {
127
+ OptionsMenuItem: (props: import("@webiny/app-admin").OptionsMenuItemProps) => React.JSX.Element;
123
128
  };
124
129
  };
125
130
  };
126
- export declare const ContentEntryListWithConfig: ({ onProperties, children }: import("@webiny/react-properties").WithConfigProps) => import("react").JSX.Element;
131
+ export declare const ContentEntryListWithConfig: ({ onProperties, children }: import("@webiny/react-properties").WithConfigProps) => React.JSX.Element;
127
132
  export declare function useContentEntryListConfig(): {
128
133
  browser: {
129
134
  bulkActions: import("./Browser/BulkAction").BulkActionConfig[];
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
@@ -8,11 +9,19 @@ exports.ContentEntryListWithConfig = exports.ContentEntryListConfig = void 0;
8
9
  exports.useContentEntryListConfig = useContentEntryListConfig;
9
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
- var _react = require("react");
12
+ var _react = _interopRequireWildcard(require("react"));
12
13
  var _reactProperties = require("@webiny/react-properties");
13
14
  var _Browser = require("./Browser");
15
+ var _reactComposition = require("@webiny/react-composition");
14
16
  var base = (0, _reactProperties.createConfigurableComponent)("ContentEntryListConfig");
15
- var ContentEntryListConfig = exports.ContentEntryListConfig = Object.assign(base.Config, {
17
+ var ScopedContentEntryListConfig = function ScopedContentEntryListConfig(_ref) {
18
+ var children = _ref.children;
19
+ return /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
20
+ name: "cms"
21
+ }, /*#__PURE__*/_react.default.createElement(base.Config, null, children));
22
+ };
23
+ ScopedContentEntryListConfig.displayName = "ContentEntryListConfig";
24
+ var ContentEntryListConfig = exports.ContentEntryListConfig = Object.assign(ScopedContentEntryListConfig, {
16
25
  Browser: _Browser.Browser
17
26
  });
18
27
  var ContentEntryListWithConfig = exports.ContentEntryListWithConfig = base.WithConfig;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactProperties","_Browser","base","createConfigurableComponent","ContentEntryListConfig","exports","Object","assign","Config","Browser","ContentEntryListWithConfig","WithConfig","useContentEntryListConfig","config","useConfig","browser","useMemo","_objectSpread2","default","bulkActions","_toConsumableArray2","filters","filtersToWhere"],"sources":["ContentEntryListConfig.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Browser, BrowserConfig } from \"./Browser\";\n\nconst base = createConfigurableComponent<ContentEntryListConfig>(\"ContentEntryListConfig\");\n\nexport const ContentEntryListConfig = Object.assign(base.Config, { Browser });\nexport const ContentEntryListWithConfig = base.WithConfig;\n\ninterface ContentEntryListConfig {\n browser: BrowserConfig;\n}\n\nexport function useContentEntryListConfig() {\n const config = base.useConfig();\n\n const browser = config.browser || {};\n\n return useMemo(\n () => ({\n browser: {\n ...browser,\n bulkActions: [...(browser.bulkActions || [])],\n filters: [...(browser.filters || [])],\n filtersToWhere: [...(browser.filtersToWhere || [])]\n }\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAMG,IAAI,GAAG,IAAAC,4CAA2B,EAAyB,wBAAwB,CAAC;AAEnF,IAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAGE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,MAAM,EAAE;EAAEC,OAAO,EAAPA;AAAQ,CAAC,CAAC;AACtE,IAAMC,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAGR,IAAI,CAACS,UAAU;AAMlD,SAASC,yBAAyBA,CAAA,EAAG;EACxC,IAAMC,MAAM,GAAGX,IAAI,CAACY,SAAS,CAAC,CAAC;EAE/B,IAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAI,CAAC,CAAC;EAEpC,OAAO,IAAAC,cAAO,EACV;IAAA,OAAO;MACHD,OAAO,MAAAE,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACAH,OAAO;QACVI,WAAW,MAAAC,mBAAA,CAAAF,OAAA,EAAOH,OAAO,CAACI,WAAW,IAAI,EAAE,CAAE;QAC7CE,OAAO,MAAAD,mBAAA,CAAAF,OAAA,EAAOH,OAAO,CAACM,OAAO,IAAI,EAAE,CAAE;QACrCC,cAAc,MAAAF,mBAAA,CAAAF,OAAA,EAAOH,OAAO,CAACO,cAAc,IAAI,EAAE;MAAE;IAE3D,CAAC;EAAA,CAAC,EACF,CAACT,MAAM,CACX,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactProperties","_Browser","_reactComposition","base","createConfigurableComponent","ScopedContentEntryListConfig","_ref","children","default","createElement","CompositionScope","name","Config","displayName","ContentEntryListConfig","exports","Object","assign","Browser","ContentEntryListWithConfig","WithConfig","useContentEntryListConfig","config","useConfig","browser","useMemo","_objectSpread2","bulkActions","_toConsumableArray2","filters","filtersToWhere"],"sources":["ContentEntryListConfig.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Browser, BrowserConfig } from \"./Browser\";\nimport { CompositionScope } from \"@webiny/react-composition\";\n\nconst base = createConfigurableComponent<ContentEntryListConfig>(\"ContentEntryListConfig\");\n\nconst ScopedContentEntryListConfig = ({ children }: { children: React.ReactNode }) => {\n return (\n <CompositionScope name={\"cms\"}>\n <base.Config>{children}</base.Config>\n </CompositionScope>\n );\n};\n\nScopedContentEntryListConfig.displayName = \"ContentEntryListConfig\";\n\nexport const ContentEntryListConfig = Object.assign(ScopedContentEntryListConfig, { Browser });\nexport const ContentEntryListWithConfig = base.WithConfig;\n\ninterface ContentEntryListConfig {\n browser: BrowserConfig;\n}\n\nexport function useContentEntryListConfig() {\n const config = base.useConfig();\n\n const browser = config.browser || {};\n\n return useMemo(\n () => ({\n browser: {\n ...browser,\n bulkActions: [...(browser.bulkActions || [])],\n filters: [...(browser.filters || [])],\n filtersToWhere: [...(browser.filtersToWhere || [])]\n }\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAEA,IAAMI,IAAI,GAAG,IAAAC,4CAA2B,EAAyB,wBAAwB,CAAC;AAE1F,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAC,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC5C,oBACIV,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACP,iBAAA,CAAAQ,gBAAgB;IAACC,IAAI,EAAE;EAAM,gBAC1Bd,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,IAAI,CAACS,MAAM,QAAEL,QAAsB,CACtB,CAAC;AAE3B,CAAC;AAEDF,4BAA4B,CAACQ,WAAW,GAAG,wBAAwB;AAE5D,IAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAGE,MAAM,CAACC,MAAM,CAACZ,4BAA4B,EAAE;EAAEa,OAAO,EAAPA;AAAQ,CAAC,CAAC;AACvF,IAAMC,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAGhB,IAAI,CAACiB,UAAU;AAMlD,SAASC,yBAAyBA,CAAA,EAAG;EACxC,IAAMC,MAAM,GAAGnB,IAAI,CAACoB,SAAS,CAAC,CAAC;EAE/B,IAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAI,CAAC,CAAC;EAEpC,OAAO,IAAAC,cAAO,EACV;IAAA,OAAO;MACHD,OAAO,MAAAE,cAAA,CAAAlB,OAAA,MAAAkB,cAAA,CAAAlB,OAAA,MACAgB,OAAO;QACVG,WAAW,MAAAC,mBAAA,CAAApB,OAAA,EAAOgB,OAAO,CAACG,WAAW,IAAI,EAAE,CAAE;QAC7CE,OAAO,MAAAD,mBAAA,CAAApB,OAAA,EAAOgB,OAAO,CAACK,OAAO,IAAI,EAAE,CAAE;QACrCC,cAAc,MAAAF,mBAAA,CAAApB,OAAA,EAAOgB,OAAO,CAACM,cAAc,IAAI,EAAE;MAAE;IAE3D,CAAC;EAAA,CAAC,EACF,CAACR,MAAM,CACX,CAAC;AACL","ignoreList":[]}
@@ -13,6 +13,7 @@ export interface MultiValueItemContainerProps {
13
13
  title: React.ReactNode;
14
14
  description: string;
15
15
  icon: JSX.Element;
16
+ actions?: JSX.Element;
16
17
  template: CmsDynamicZoneTemplate;
17
18
  children: React.ReactNode;
18
19
  }
@@ -35,7 +35,7 @@ var BottomMargin = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV =
35
35
  } : {
36
36
  name: "1azpx8r",
37
37
  styles: "margin-bottom:20px",
38
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVEeW5hbWljWm9uZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEIrQiIsImZpbGUiOiJNdWx0aVZhbHVlRHluYW1pY1pvbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gXCJsb2Rhc2gvY2xvbmVEZWVwXCI7XG5pbXBvcnQgeyBBY2NvcmRpb24sIEFjY29yZGlvbkl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9BY2NvcmRpb25cIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERlbGV0ZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvZGVsZXRlX291dGxpbmUuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9uZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvbGlicmFyeV9hZGQuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBcnJvd1VwSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX3VwLnN2Z1wiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQXJyb3dEb3duSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX2Rvd24uc3ZnXCI7XG5pbXBvcnQgeyBBZGRUZW1wbGF0ZUJ1dHRvbiwgQWRkVGVtcGxhdGVJY29uIH0gZnJvbSBcIi4vQWRkVGVtcGxhdGVcIjtcbmltcG9ydCB7IFRlbXBsYXRlSWNvbiB9IGZyb20gXCIuL1RlbXBsYXRlSWNvblwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciwgdXNlTW9kZWxGaWVsZCB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZHMgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vRmllbGRzXCI7XG5pbXBvcnQge1xuICAgIEJpbmRDb21wb25lbnQsXG4gICAgQmluZENvbXBvbmVudFJlbmRlclByb3AsXG4gICAgQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSxcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcyxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc0R5bmFtaWNab25lVGVtcGxhdGVXaXRoVHlwZW5hbWVcbn0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB7IG1ha2VEZWNvcmF0YWJsZSB9IGZyb20gXCJAd2ViaW55L3JlYWN0LWNvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVByb3ZpZGVyIH0gZnJvbSBcIn4vYWRtaW4vcGx1Z2lucy9maWVsZFJlbmRlcmVycy9keW5hbWljWm9uZS9UZW1wbGF0ZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5cbmNvbnN0IEJvdHRvbU1hcmdpbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbmA7XG5cbnR5cGUgR2V0QmluZCA9IENtc01vZGVsRmllbGRSZW5kZXJlclByb3BzW1wiZ2V0QmluZFwiXTtcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzIHtcbiAgICB2YWx1ZTogVGVtcGxhdGVWYWx1ZTtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpY29uOiBKU1guRWxlbWVudDtcbiAgICB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZTtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgTXVsdGlWYWx1ZUl0ZW1Db250YWluZXIgPSBtYWtlRGVjb3JhdGFibGUoXG4gICAgXCJNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuLCAuLi5wcm9wcyB9OiBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSAoXG4gICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dVcEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTW92ZVVwfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNGaXJzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25Nb3ZlRG93bn1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzTGFzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkRpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj17PENsb25lSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMub25DbG9uZShwcm9wcy52YWx1ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb24gaWNvbj17PERlbGV0ZUljb24gLz59IG9uQ2xpY2s9e3Byb3BzLm9uRGVsZXRlfSAvPlxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtLkFjdGlvbnM+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtXG4gICAgICAgICAgICAgICAgdGl0bGU9e3Byb3BzLnRpdGxlfVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXtwcm9wcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5pY29ufVxuICAgICAgICAgICAgICAgIGFjdGlvbnM9e2FjdGlvbnN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUl0ZW1JdGVtUHJvcHMge1xuICAgIHRlbXBsYXRlOiBDbXNEeW5hbWljWm9uZVRlbXBsYXRlO1xuICAgIGNvbnRlbnRNb2RlbDogQ21zTW9kZWw7XG4gICAgQmluZDogQmluZENvbXBvbmVudDtcbn1cblxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVJdGVtID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUl0ZW1cIixcbiAgICAocHJvcHM6IE11bHRpVmFsdWVJdGVtSXRlbVByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdGVtcGxhdGUsIEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUZW1wbGF0ZVByb3ZpZGVyIHRlbXBsYXRlPXt0ZW1wbGF0ZX0+XG4gICAgICAgICAgICAgICAgPEZpZWxkc1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3RlbXBsYXRlLmZpZWxkc31cbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0PXt0ZW1wbGF0ZS5sYXlvdXQgfHwgW119XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICBCaW5kPXtCaW5kfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1RlbXBsYXRlUHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuaW50ZXJmYWNlIFRlbXBsYXRlVmFsdWUge1xuICAgIF90ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVWYWx1ZUZvcm1Qcm9wcyB7XG4gICAgdmFsdWU6IFRlbXBsYXRlVmFsdWU7XG4gICAgY29udGVudE1vZGVsOiBDbXNNb2RlbDtcbiAgICBCaW5kOiBCaW5kQ29tcG9uZW50O1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xufVxuXG5jb25zdCBUZW1wbGF0ZVZhbHVlRm9ybSA9ICh7XG4gICAgdmFsdWUsXG4gICAgY29udGVudE1vZGVsLFxuICAgIEJpbmQsXG4gICAgaXNMYXN0LFxuICAgIGlzRmlyc3QsXG4gICAgb25Nb3ZlVXAsXG4gICAgb25Nb3ZlRG93bixcbiAgICBvbkRlbGV0ZSxcbiAgICBvbkNsb25lXG59OiBUZW1wbGF0ZVZhbHVlRm9ybVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZCB9ID0gdXNlTW9kZWxGaWVsZCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGZpZWxkLnNldHRpbmdzPy50ZW1wbGF0ZXMgfHwgW107XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSB8IHVuZGVmaW5lZCA9IHRlbXBsYXRlcy5maW5kKFxuICAgICAgICB0cGwgPT4gdHBsLmlkID09PSB2YWx1ZS5fdGVtcGxhdGVJZFxuICAgICk7XG5cbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9XG4gICAgICAgICAgICBpc0ZpcnN0PXtpc0ZpcnN0fVxuICAgICAgICAgICAgaXNMYXN0PXtpc0xhc3R9XG4gICAgICAgICAgICBvbkNsb25lPXtvbkNsb25lfVxuICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgb25Nb3ZlVXA9e29uTW92ZVVwfVxuICAgICAgICAgICAgb25Nb3ZlRG93bj17b25Nb3ZlRG93bn1cbiAgICAgICAgICAgIHRpdGxlPXt0ZW1wbGF0ZS5uYW1lfVxuICAgICAgICAgICAgZGVzY3JpcHRpb249e3RlbXBsYXRlLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgaWNvbj17PFRlbXBsYXRlSWNvbiBpY29uPXt0ZW1wbGF0ZS5pY29ufSAvPn1cbiAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPE11bHRpVmFsdWVJdGVtIHRlbXBsYXRlPXt0ZW1wbGF0ZX0gY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9IEJpbmQ9e0JpbmR9IC8+XG4gICAgICAgIDwvTXVsdGlWYWx1ZUl0ZW1Db250YWluZXI+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUNvbnRhaW5lclByb3BzIGV4dGVuZHMgTXVsdGlWYWx1ZUR5bmFtaWNab25lUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuIH06IE11bHRpVmFsdWVDb250YWluZXJQcm9wcykgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEFjY29yZGlvbj5cbiAgICAgICAgICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgICAgICAgIDwvQWNjb3JkaW9uPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmludGVyZmFjZSBNdWx0aVZhbHVlRHluYW1pY1pvbmVQcm9wcyB7XG4gICAgLy8gVE9ETzogdGhpcyBwcm9wIG1pZ2h0IGJlIHVzZWxlc3MsIGJlY2F1c2Ugd2Ugbm93IGhhdmUgYSBgdXNlTW9kZWxGaWVsZGAgaG9vay5cbiAgICBmaWVsZDogQ21zTW9kZWxGaWVsZDtcbiAgICBiaW5kOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGdldEJpbmQ6IEdldEJpbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlRHluYW1pY1pvbmUgPSAocHJvcHM6IE11bHRpVmFsdWVEeW5hbWljWm9uZVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBzaG93Q29uZmlybWF0aW9uIH0gPSB1c2VDb25maXJtYXRpb25EaWFsb2coe1xuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/IFRoaXMgYWN0aW9uIGlzIG5vdCByZXZlcnNpYmxlLmAsXG4gICAgICAgIGFjY2VwdExhYmVsOiBgWWVzLCBJJ20gc3VyZSFgLFxuICAgICAgICBjYW5jZWxMYWJlbDogYE5vLCBsZWF2ZSBpdC5gXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGJpbmQsIGdldEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG4gICAgY29uc3Qgb25UZW1wbGF0ZSA9ICh0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZVdpdGhUeXBlbmFtZSkgPT4ge1xuICAgICAgICBiaW5kLmFwcGVuZFZhbHVlKHsgX3RlbXBsYXRlSWQ6IHRlbXBsYXRlLmlkLCBfX3R5cGVuYW1lOiB0ZW1wbGF0ZS5fX3R5cGVuYW1lIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9uZVZhbHVlID0gKHZhbHVlOiBUZW1wbGF0ZVZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGJpbmQuYXBwZW5kVmFsdWUoY2xvbmVEZWVwKHZhbHVlKSwgaW5kZXggKyAxKTtcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWVzOiBUZW1wbGF0ZVZhbHVlW10gPSBiaW5kLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IGhhc1ZhbHVlcyA9IHZhbHVlcy5sZW5ndGggPiAwO1xuXG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7aGFzVmFsdWVzID8gKFxuICAgICAgICAgICAgICAgIDxQYXJlbnRGaWVsZFByb3ZpZGVyIHZhbHVlPXtiaW5kLnZhbHVlfSBwYXRoPXtCaW5kLnBhcmVudE5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8TXVsdGlWYWx1ZUNvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9uRGVsZXRlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29uZmlybWF0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmQucmVtb3ZlVmFsdWUoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudFZhbHVlSW5kZXhQcm92aWRlciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZW1wbGF0ZVZhbHVlRm9ybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50TW9kZWw9e2NvbnRlbnRNb2RlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaW5kPXtCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmlyc3Q9e2luZGV4ID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdD17aW5kZXggPT09IHZhbHVlcy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW92ZVVwPXsoKSA9PiBiaW5kLm1vdmVWYWx1ZVVwKGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdmVEb3duPXsoKSA9PiBiaW5kLm1vdmVWYWx1ZURvd24oaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRGVsZXRlPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb25lPXt2YWx1ZSA9PiBjbG9uZVZhbHVlKHZhbHVlLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0JpbmQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1BhcmVudFZhbHVlSW5kZXhQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvTXVsdGlWYWx1ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L1BhcmVudEZpZWxkUHJvdmlkZXI+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNWYWx1ZXMgPyAoXG4gICAgICAgICAgICAgICAgPEFkZFRlbXBsYXRlSWNvbiBvblRlbXBsYXRlPXtvblRlbXBsYXRlfSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8Qm90dG9tTWFyZ2luPlxuICAgICAgICAgICAgICAgICAgICA8QWRkVGVtcGxhdGVCdXR0b24gb25UZW1wbGF0ZT17b25UZW1wbGF0ZX0gLz5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbU1hcmdpbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuIl19 */",
38
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVEeW5hbWljWm9uZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEIrQiIsImZpbGUiOiJNdWx0aVZhbHVlRHluYW1pY1pvbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gXCJsb2Rhc2gvY2xvbmVEZWVwXCI7XG5pbXBvcnQgeyBBY2NvcmRpb24sIEFjY29yZGlvbkl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9BY2NvcmRpb25cIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERlbGV0ZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvZGVsZXRlX291dGxpbmUuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9uZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvbGlicmFyeV9hZGQuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBcnJvd1VwSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX3VwLnN2Z1wiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQXJyb3dEb3duSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX2Rvd24uc3ZnXCI7XG5pbXBvcnQgeyBBZGRUZW1wbGF0ZUJ1dHRvbiwgQWRkVGVtcGxhdGVJY29uIH0gZnJvbSBcIi4vQWRkVGVtcGxhdGVcIjtcbmltcG9ydCB7IFRlbXBsYXRlSWNvbiB9IGZyb20gXCIuL1RlbXBsYXRlSWNvblwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciwgdXNlTW9kZWxGaWVsZCB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZHMgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vRmllbGRzXCI7XG5pbXBvcnQge1xuICAgIEJpbmRDb21wb25lbnQsXG4gICAgQmluZENvbXBvbmVudFJlbmRlclByb3AsXG4gICAgQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSxcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcyxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc0R5bmFtaWNab25lVGVtcGxhdGVXaXRoVHlwZW5hbWVcbn0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB7IG1ha2VEZWNvcmF0YWJsZSB9IGZyb20gXCJAd2ViaW55L3JlYWN0LWNvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVByb3ZpZGVyIH0gZnJvbSBcIn4vYWRtaW4vcGx1Z2lucy9maWVsZFJlbmRlcmVycy9keW5hbWljWm9uZS9UZW1wbGF0ZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5cbmNvbnN0IEJvdHRvbU1hcmdpbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbmA7XG5cbnR5cGUgR2V0QmluZCA9IENtc01vZGVsRmllbGRSZW5kZXJlclByb3BzW1wiZ2V0QmluZFwiXTtcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzIHtcbiAgICB2YWx1ZTogVGVtcGxhdGVWYWx1ZTtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpY29uOiBKU1guRWxlbWVudDtcbiAgICBhY3Rpb25zPzogSlNYLkVsZW1lbnQ7XG4gICAgdGVtcGxhdGU6IENtc0R5bmFtaWNab25lVGVtcGxhdGU7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVJdGVtQ29udGFpbmVyID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUl0ZW1Db250YWluZXJcIixcbiAgICAoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogTXVsdGlWYWx1ZUl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gKFxuICAgICAgICAgICAgPEFjY29yZGlvbkl0ZW0uQWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj17PEFycm93VXBJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPXtcIk1vdmUgdXBcIn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25Nb3ZlVXB9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0ZpcnN0fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPEFjY29yZGlvbkl0ZW0uQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGljb249ezxBcnJvd0Rvd25JY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPXtcIk1vdmUgZG93blwifVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1vdmVEb3dufVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNMYXN0fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPEFjY29yZGlvbkl0ZW0uRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgIHtwcm9wcy5hY3Rpb25zID8gPD57cHJvcHMuYWN0aW9uc308Lz4gOiBudWxsfVxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPXtcIkR1cGxpY2F0ZVwifVxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8Q2xvbmVJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5vbkNsb25lKHByb3BzLnZhbHVlKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8RGVsZXRlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25EZWxldGV9XG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e1wiRGVsZXRlXCJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQWNjb3JkaW9uSXRlbS5BY3Rpb25zPlxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QWNjb3JkaW9uSXRlbVxuICAgICAgICAgICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZX1cbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17cHJvcHMuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgaWNvbj17cHJvcHMuaWNvbn1cbiAgICAgICAgICAgICAgICBhY3Rpb25zPXthY3Rpb25zfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvQWNjb3JkaW9uSXRlbT5cbiAgICAgICAgKTtcbiAgICB9XG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpVmFsdWVJdGVtSXRlbVByb3BzIHtcbiAgICB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZTtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIEJpbmQ6IEJpbmRDb21wb25lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlSXRlbSA9IG1ha2VEZWNvcmF0YWJsZShcbiAgICBcIk11bHRpVmFsdWVJdGVtXCIsXG4gICAgKHByb3BzOiBNdWx0aVZhbHVlSXRlbUl0ZW1Qcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IHRlbXBsYXRlLCBCaW5kLCBjb250ZW50TW9kZWwgfSA9IHByb3BzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8VGVtcGxhdGVQcm92aWRlciB0ZW1wbGF0ZT17dGVtcGxhdGV9PlxuICAgICAgICAgICAgICAgIDxGaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzPXt0ZW1wbGF0ZS5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgIGxheW91dD17dGVtcGxhdGUubGF5b3V0IHx8IFtdfVxuICAgICAgICAgICAgICAgICAgICBjb250ZW50TW9kZWw9e2NvbnRlbnRNb2RlbH1cbiAgICAgICAgICAgICAgICAgICAgQmluZD17QmluZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9UZW1wbGF0ZVByb3ZpZGVyPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmludGVyZmFjZSBUZW1wbGF0ZVZhbHVlIHtcbiAgICBfdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlVmFsdWVGb3JtUHJvcHMge1xuICAgIHZhbHVlOiBUZW1wbGF0ZVZhbHVlO1xuICAgIGNvbnRlbnRNb2RlbDogQ21zTW9kZWw7XG4gICAgQmluZDogQmluZENvbXBvbmVudDtcbiAgICBpc0ZpcnN0OiBib29sZWFuO1xuICAgIGlzTGFzdDogYm9vbGVhbjtcbiAgICBvbk1vdmVVcDogKCkgPT4gdm9pZDtcbiAgICBvbk1vdmVEb3duOiAoKSA9PiB2b2lkO1xuICAgIG9uRGVsZXRlOiAoKSA9PiB2b2lkO1xuICAgIG9uQ2xvbmU6ICh2YWx1ZTogVGVtcGxhdGVWYWx1ZSkgPT4gdm9pZDtcbn1cblxuY29uc3QgVGVtcGxhdGVWYWx1ZUZvcm0gPSAoe1xuICAgIHZhbHVlLFxuICAgIGNvbnRlbnRNb2RlbCxcbiAgICBCaW5kLFxuICAgIGlzTGFzdCxcbiAgICBpc0ZpcnN0LFxuICAgIG9uTW92ZVVwLFxuICAgIG9uTW92ZURvd24sXG4gICAgb25EZWxldGUsXG4gICAgb25DbG9uZVxufTogVGVtcGxhdGVWYWx1ZUZvcm1Qcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgZmllbGQgfSA9IHVzZU1vZGVsRmllbGQoKTtcbiAgICBjb25zdCB0ZW1wbGF0ZXMgPSBmaWVsZC5zZXR0aW5ncz8udGVtcGxhdGVzIHx8IFtdO1xuXG4gICAgY29uc3QgdGVtcGxhdGU6IENtc0R5bmFtaWNab25lVGVtcGxhdGUgfCB1bmRlZmluZWQgPSB0ZW1wbGF0ZXMuZmluZChcbiAgICAgICAgdHBsID0+IHRwbC5pZCA9PT0gdmFsdWUuX3RlbXBsYXRlSWRcbiAgICApO1xuXG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8TXVsdGlWYWx1ZUl0ZW1Db250YWluZXJcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgaXNGaXJzdD17aXNGaXJzdH1cbiAgICAgICAgICAgIGlzTGFzdD17aXNMYXN0fVxuICAgICAgICAgICAgb25DbG9uZT17b25DbG9uZX1cbiAgICAgICAgICAgIG9uRGVsZXRlPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgIG9uTW92ZVVwPXtvbk1vdmVVcH1cbiAgICAgICAgICAgIG9uTW92ZURvd249e29uTW92ZURvd259XG4gICAgICAgICAgICB0aXRsZT17dGVtcGxhdGUubmFtZX1cbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0ZW1wbGF0ZS5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgIGljb249ezxUZW1wbGF0ZUljb24gaWNvbj17dGVtcGxhdGUuaWNvbn0gLz59XG4gICAgICAgICAgICB0ZW1wbGF0ZT17dGVtcGxhdGV9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxNdWx0aVZhbHVlSXRlbSB0ZW1wbGF0ZT17dGVtcGxhdGV9IGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfSBCaW5kPXtCaW5kfSAvPlxuICAgICAgICA8L011bHRpVmFsdWVJdGVtQ29udGFpbmVyPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpVmFsdWVDb250YWluZXJQcm9wcyBleHRlbmRzIE11bHRpVmFsdWVEeW5hbWljWm9uZVByb3BzIHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgTXVsdGlWYWx1ZUNvbnRhaW5lciA9IG1ha2VEZWNvcmF0YWJsZShcbiAgICBcIk11bHRpVmFsdWVDb250YWluZXJcIixcbiAgICAoeyBjaGlsZHJlbiB9OiBNdWx0aVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBY2NvcmRpb24+XG4gICAgICAgICAgICAgICAgPD57Y2hpbGRyZW59PC8+XG4gICAgICAgICAgICA8L0FjY29yZGlvbj5cbiAgICAgICAgKTtcbiAgICB9XG4pO1xuXG5pbnRlcmZhY2UgTXVsdGlWYWx1ZUR5bmFtaWNab25lUHJvcHMge1xuICAgIC8vIFRPRE86IHRoaXMgcHJvcCBtaWdodCBiZSB1c2VsZXNzLCBiZWNhdXNlIHdlIG5vdyBoYXZlIGEgYHVzZU1vZGVsRmllbGRgIGhvb2suXG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgYmluZDogQmluZENvbXBvbmVudFJlbmRlclByb3A7XG4gICAgY29udGVudE1vZGVsOiBDbXNNb2RlbDtcbiAgICBnZXRCaW5kOiBHZXRCaW5kO1xufVxuXG5leHBvcnQgY29uc3QgTXVsdGlWYWx1ZUR5bmFtaWNab25lID0gKHByb3BzOiBNdWx0aVZhbHVlRHluYW1pY1pvbmVQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgc2hvd0NvbmZpcm1hdGlvbiB9ID0gdXNlQ29uZmlybWF0aW9uRGlhbG9nKHtcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBpdGVtPyBUaGlzIGFjdGlvbiBpcyBub3QgcmV2ZXJzaWJsZS5gLFxuICAgICAgICBhY2NlcHRMYWJlbDogYFllcywgSSdtIHN1cmUhYCxcbiAgICAgICAgY2FuY2VsTGFiZWw6IGBObywgbGVhdmUgaXQuYFxuICAgIH0pO1xuXG4gICAgY29uc3QgeyBiaW5kLCBnZXRCaW5kLCBjb250ZW50TW9kZWwgfSA9IHByb3BzO1xuICAgIGNvbnN0IG9uVGVtcGxhdGUgPSAodGVtcGxhdGU6IENtc0R5bmFtaWNab25lVGVtcGxhdGVXaXRoVHlwZW5hbWUpID0+IHtcbiAgICAgICAgYmluZC5hcHBlbmRWYWx1ZSh7IF90ZW1wbGF0ZUlkOiB0ZW1wbGF0ZS5pZCwgX190eXBlbmFtZTogdGVtcGxhdGUuX190eXBlbmFtZSB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xvbmVWYWx1ZSA9ICh2YWx1ZTogVGVtcGxhdGVWYWx1ZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBiaW5kLmFwcGVuZFZhbHVlKGNsb25lRGVlcCh2YWx1ZSksIGluZGV4ICsgMSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHZhbHVlczogVGVtcGxhdGVWYWx1ZVtdID0gYmluZC52YWx1ZSB8fCBbXTtcbiAgICBjb25zdCBoYXNWYWx1ZXMgPSB2YWx1ZXMubGVuZ3RoID4gMDtcblxuICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge2hhc1ZhbHVlcyA/IChcbiAgICAgICAgICAgICAgICA8UGFyZW50RmllbGRQcm92aWRlciB2YWx1ZT17YmluZC52YWx1ZX0gcGF0aD17QmluZC5wYXJlbnROYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgPE11bHRpVmFsdWVDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZXMubWFwKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCaW5kID0gZ2V0QmluZChpbmRleCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvbkRlbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbmZpcm1hdGlvbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kLnJlbW92ZVZhbHVlKGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIga2V5PXtpbmRleH0gaW5kZXg9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGVtcGxhdGVWYWx1ZUZvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmluZD17QmluZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0PXtpbmRleCA9PT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xhc3Q9e2luZGV4ID09PSB2YWx1ZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdmVVcD17KCkgPT4gYmluZC5tb3ZlVmFsdWVVcChpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3ZlRG93bj17KCkgPT4gYmluZC5tb3ZlVmFsdWVEb3duKGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRlbGV0ZT17b25EZWxldGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9uZT17dmFsdWUgPT4gY2xvbmVWYWx1ZSh2YWx1ZSwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9QYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8L011bHRpVmFsdWVDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9QYXJlbnRGaWVsZFByb3ZpZGVyPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7aGFzVmFsdWVzID8gKFxuICAgICAgICAgICAgICAgIDxBZGRUZW1wbGF0ZUljb24gb25UZW1wbGF0ZT17b25UZW1wbGF0ZX0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPEJvdHRvbU1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgPEFkZFRlbXBsYXRlQnV0dG9uIG9uVGVtcGxhdGU9e29uVGVtcGxhdGV9IC8+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21NYXJnaW4+XG4gICAgICAgICAgICApfVxuICAgICAgICA8Lz5cbiAgICApO1xufTtcbiJdfQ== */",
39
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
40
  });
41
41
  var MultiValueItemContainer = exports.MultiValueItemContainer = (0, _reactComposition.makeDecoratable)("MultiValueItemContainer", function (_ref) {
@@ -43,20 +43,24 @@ var MultiValueItemContainer = exports.MultiValueItemContainer = (0, _reactCompos
43
43
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
44
44
  var actions = /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
45
45
  icon: /*#__PURE__*/_react.default.createElement(_arrow_drop_up.ReactComponent, null),
46
+ tooltip: "Move up",
46
47
  onClick: props.onMoveUp,
47
48
  disabled: props.isFirst
48
49
  }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
49
50
  icon: /*#__PURE__*/_react.default.createElement(_arrow_drop_down.ReactComponent, null),
51
+ tooltip: "Move down",
50
52
  onClick: props.onMoveDown,
51
53
  disabled: props.isLast
52
- }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Divider, null), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
54
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Divider, null), props.actions ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.actions) : null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
55
+ tooltip: "Duplicate",
53
56
  icon: /*#__PURE__*/_react.default.createElement(_library_add.ReactComponent, null),
54
57
  onClick: function onClick() {
55
58
  return props.onClone(props.value);
56
59
  }
57
60
  }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
58
61
  icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
59
- onClick: props.onDelete
62
+ onClick: props.onDelete,
63
+ tooltip: "Delete"
60
64
  }));
61
65
  return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
62
66
  title: props.title,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_cloneDeep","_Accordion","_delete_outline","_library_add","_arrow_drop_up","_arrow_drop_down","_AddTemplate","_TemplateIcon","_hooks","_Fields","_reactComposition","_TemplateProvider","_ModelFieldProvider","_appAdmin","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","BottomMargin","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","MultiValueItemContainer","exports","makeDecoratable","_ref","children","props","_objectWithoutProperties2","actions","createElement","AccordionItem","Actions","Action","icon","ReactComponent","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Divider","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","TemplateProvider","Fields","fields","layout","TemplateValueForm","_ref2","_useModelField","useModelField","field","templates","settings","find","tpl","id","_templateId","TemplateIcon","MultiValueContainer","_ref3","Accordion","Fragment","MultiValueDynamicZone","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","cloneDeep","values","hasValues","length","ParentFieldProvider","path","parentName","removeValue","ParentValueIndexProvider","key","ValidationContainer","moveValueUp","moveValueDown","AddTemplateIcon","AddTemplateButton"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/outlined/arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n title: React.ReactNode;\n description: string;\n icon: JSX.Element;\n template: CmsDynamicZoneTemplate;\n children: React.ReactNode;\n}\n\nexport const MultiValueItemContainer = makeDecoratable(\n \"MultiValueItemContainer\",\n ({ children, ...props }: MultiValueItemContainerProps) => {\n const actions = (\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action\n icon={<CloneIcon />}\n onClick={() => props.onClone(props.value)}\n />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={props.onDelete} />\n </AccordionItem.Actions>\n );\n\n return (\n <AccordionItem\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={actions}\n >\n {children}\n </AccordionItem>\n );\n }\n);\n\nexport interface MultiValueItemItemProps {\n template: CmsDynamicZoneTemplate;\n contentModel: CmsModel;\n Bind: BindComponent;\n}\n\nexport const MultiValueItem = makeDecoratable(\n \"MultiValueItem\",\n (props: MultiValueItemItemProps) => {\n const { template, Bind, contentModel } = props;\n\n return (\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n );\n }\n);\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <MultiValueItemContainer\n value={value}\n contentModel={contentModel}\n isFirst={isFirst}\n isLast={isLast}\n onClone={onClone}\n onDelete={onDelete}\n onMoveUp={onMoveUp}\n onMoveDown={onMoveDown}\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n template={template}\n >\n <MultiValueItem template={template} contentModel={contentModel} Bind={Bind} />\n </MultiValueItemContainer>\n );\n};\n\nexport interface MultiValueContainerProps extends MultiValueDynamicZoneProps {\n children: React.ReactNode;\n}\n\nexport const MultiValueContainer = makeDecoratable(\n \"MultiValueContainer\",\n ({ children }: MultiValueContainerProps) => {\n return (\n <Accordion>\n <>{children}</>\n </Accordion>\n );\n }\n);\n\ninterface MultiValueDynamicZoneProps {\n // TODO: this prop might be useless, because we now have a `useModelField` hook.\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = (props: MultiValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to delete this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const { bind, getBind, contentModel } = props;\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.appendValue({ _templateId: template.id, __typename: template.__typename });\n };\n\n const cloneValue = (value: TemplateValue, index: number) => {\n bind.appendValue(cloneDeep(value), index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n const Bind = getBind();\n\n return (\n <>\n {hasValues ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <MultiValueContainer {...props}>\n {values.map((value, index) => {\n const Bind = getBind(index);\n\n const onDelete = () => {\n showConfirmation(() => {\n bind.removeValue(index);\n });\n };\n\n return (\n <ParentValueIndexProvider key={index} index={index}>\n <Bind>\n {() => (\n <Bind.ValidationContainer>\n <TemplateValueForm\n value={value}\n contentModel={contentModel}\n Bind={Bind}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={onDelete}\n onClone={value => cloneValue(value, index)}\n />\n </Bind.ValidationContainer>\n )}\n </Bind>\n </ParentValueIndexProvider>\n );\n })}\n </MultiValueContainer>\n </ParentFieldProvider>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_cloneDeep","_Accordion","_delete_outline","_library_add","_arrow_drop_up","_arrow_drop_down","_AddTemplate","_TemplateIcon","_hooks","_Fields","_reactComposition","_TemplateProvider","_ModelFieldProvider","_appAdmin","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","BottomMargin","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","MultiValueItemContainer","exports","makeDecoratable","_ref","children","props","_objectWithoutProperties2","actions","createElement","AccordionItem","Actions","Action","icon","ReactComponent","tooltip","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Divider","Fragment","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","TemplateProvider","Fields","fields","layout","TemplateValueForm","_ref2","_useModelField","useModelField","field","templates","settings","find","tpl","id","_templateId","TemplateIcon","MultiValueContainer","_ref3","Accordion","MultiValueDynamicZone","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","cloneDeep","values","hasValues","length","ParentFieldProvider","path","parentName","removeValue","ParentValueIndexProvider","key","ValidationContainer","moveValueUp","moveValueDown","AddTemplateIcon","AddTemplateButton"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/outlined/arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n title: React.ReactNode;\n description: string;\n icon: JSX.Element;\n actions?: JSX.Element;\n template: CmsDynamicZoneTemplate;\n children: React.ReactNode;\n}\n\nexport const MultiValueItemContainer = makeDecoratable(\n \"MultiValueItemContainer\",\n ({ children, ...props }: MultiValueItemContainerProps) => {\n const actions = (\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n tooltip={\"Move up\"}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n tooltip={\"Move down\"}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <AccordionItem.Divider />\n {props.actions ? <>{props.actions}</> : null}\n <AccordionItem.Action\n tooltip={\"Duplicate\"}\n icon={<CloneIcon />}\n onClick={() => props.onClone(props.value)}\n />\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={props.onDelete}\n tooltip={\"Delete\"}\n />\n </AccordionItem.Actions>\n );\n\n return (\n <AccordionItem\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={actions}\n >\n {children}\n </AccordionItem>\n );\n }\n);\n\nexport interface MultiValueItemItemProps {\n template: CmsDynamicZoneTemplate;\n contentModel: CmsModel;\n Bind: BindComponent;\n}\n\nexport const MultiValueItem = makeDecoratable(\n \"MultiValueItem\",\n (props: MultiValueItemItemProps) => {\n const { template, Bind, contentModel } = props;\n\n return (\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n );\n }\n);\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <MultiValueItemContainer\n value={value}\n contentModel={contentModel}\n isFirst={isFirst}\n isLast={isLast}\n onClone={onClone}\n onDelete={onDelete}\n onMoveUp={onMoveUp}\n onMoveDown={onMoveDown}\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n template={template}\n >\n <MultiValueItem template={template} contentModel={contentModel} Bind={Bind} />\n </MultiValueItemContainer>\n );\n};\n\nexport interface MultiValueContainerProps extends MultiValueDynamicZoneProps {\n children: React.ReactNode;\n}\n\nexport const MultiValueContainer = makeDecoratable(\n \"MultiValueContainer\",\n ({ children }: MultiValueContainerProps) => {\n return (\n <Accordion>\n <>{children}</>\n </Accordion>\n );\n }\n);\n\ninterface MultiValueDynamicZoneProps {\n // TODO: this prop might be useless, because we now have a `useModelField` hook.\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = (props: MultiValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to delete this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const { bind, getBind, contentModel } = props;\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.appendValue({ _templateId: template.id, __typename: template.__typename });\n };\n\n const cloneValue = (value: TemplateValue, index: number) => {\n bind.appendValue(cloneDeep(value), index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n const Bind = getBind();\n\n return (\n <>\n {hasValues ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <MultiValueContainer {...props}>\n {values.map((value, index) => {\n const Bind = getBind(index);\n\n const onDelete = () => {\n showConfirmation(() => {\n bind.removeValue(index);\n });\n };\n\n return (\n <ParentValueIndexProvider key={index} index={index}>\n <Bind>\n {() => (\n <Bind.ValidationContainer>\n <TemplateValueForm\n value={value}\n contentModel={contentModel}\n Bind={Bind}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={onDelete}\n onClone={value => cloneValue(value, index)}\n />\n </Bind.ValidationContainer>\n )}\n </Bind>\n </ParentValueIndexProvider>\n );\n })}\n </MultiValueContainer>\n </ParentFieldProvider>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAUA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAA0D,IAAAe,SAAA;AAAA,SAAAC,iCAAA;AAE1D,IAAMC,YAAY,oBAAAC,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAEjB;AAqBM,IAAMa,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAAE,iCAAe,EAClD,yBAAyB,EACzB,UAAAC,IAAA,EAA0D;EAAA,IAAvDC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,CAAAhB,OAAA,EAAAa,IAAA,EAAAjB,SAAA;EACjB,IAAMqB,OAAO,gBACTtC,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACC,OAAO,qBAClBzC,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACE,MAAM;IACjBC,IAAI,eAAE3C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAChC,cAAA,CAAAqC,cAAW,MAAE,CAAE;IACtBC,OAAO,EAAE,SAAU;IACnBC,OAAO,EAAEV,KAAK,CAACW,QAAS;IACxBC,QAAQ,EAAEZ,KAAK,CAACa;EAAQ,CAC3B,CAAC,eACFjD,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACE,MAAM;IACjBC,IAAI,eAAE3C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC/B,gBAAA,CAAAoC,cAAa,MAAE,CAAE;IACxBC,OAAO,EAAE,WAAY;IACrBC,OAAO,EAAEV,KAAK,CAACc,UAAW;IAC1BF,QAAQ,EAAEZ,KAAK,CAACe;EAAO,CAC1B,CAAC,eACFnD,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACY,OAAO,MAAE,CAAC,EACxBhB,KAAK,CAACE,OAAO,gBAAGtC,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAAvC,MAAA,CAAAqB,OAAA,CAAAgC,QAAA,QAAGjB,KAAK,CAACE,OAAU,CAAC,GAAG,IAAI,eAC5CtC,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACE,MAAM;IACjBG,OAAO,EAAE,WAAY;IACrBF,IAAI,eAAE3C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACjC,YAAA,CAAAsC,cAAS,MAAE,CAAE;IACpBE,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQV,KAAK,CAACkB,OAAO,CAAClB,KAAK,CAACmB,KAAK,CAAC;IAAA;EAAC,CAC7C,CAAC,eACFvD,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa,CAACE,MAAM;IACjBC,IAAI,eAAE3C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAClC,eAAA,CAAAuC,cAAU,MAAE,CAAE;IACrBE,OAAO,EAAEV,KAAK,CAACoB,QAAS;IACxBX,OAAO,EAAE;EAAS,CACrB,CACkB,CAC1B;EAED,oBACI7C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAAoC,aAAa;IACViB,KAAK,EAAErB,KAAK,CAACqB,KAAM;IACnBC,WAAW,EAAEtB,KAAK,CAACsB,WAAY;IAC/Bf,IAAI,EAAEP,KAAK,CAACO,IAAK;IACjBL,OAAO,EAAEA;EAAQ,GAEhBH,QACU,CAAC;AAExB,CACJ,CAAC;AAQM,IAAMwB,cAAc,GAAA3B,OAAA,CAAA2B,cAAA,GAAG,IAAA1B,iCAAe,EACzC,gBAAgB,EAChB,UAACG,KAA8B,EAAK;EAChC,IAAQwB,QAAQ,GAAyBxB,KAAK,CAAtCwB,QAAQ;IAAEC,IAAI,GAAmBzB,KAAK,CAA5ByB,IAAI;IAAEC,YAAY,GAAK1B,KAAK,CAAtB0B,YAAY;EAEpC,oBACI9D,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACzB,iBAAA,CAAAiD,gBAAgB;IAACH,QAAQ,EAAEA;EAAS,gBACjC5D,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC3B,OAAA,CAAAoD,MAAM;IACHC,MAAM,EAAEL,QAAQ,CAACK,MAAO;IACxBC,MAAM,EAAEN,QAAQ,CAACM,MAAM,IAAI,EAAG;IAC9BJ,YAAY,EAAEA,YAAa;IAC3BD,IAAI,EAAEA;EAAK,CACd,CACa,CAAC;AAE3B,CACJ,CAAC;AAmBD,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,KAAA,EAUO;EAAA,IAT1Bb,KAAK,GAAAa,KAAA,CAALb,KAAK;IACLO,YAAY,GAAAM,KAAA,CAAZN,YAAY;IACZD,IAAI,GAAAO,KAAA,CAAJP,IAAI;IACJV,MAAM,GAAAiB,KAAA,CAANjB,MAAM;IACNF,OAAO,GAAAmB,KAAA,CAAPnB,OAAO;IACPF,QAAQ,GAAAqB,KAAA,CAARrB,QAAQ;IACRG,UAAU,GAAAkB,KAAA,CAAVlB,UAAU;IACVM,QAAQ,GAAAY,KAAA,CAARZ,QAAQ;IACRF,OAAO,GAAAc,KAAA,CAAPd,OAAO;EAEP,IAAAe,cAAA,GAAkB,IAAAC,oBAAa,EAAC,CAAC;IAAzBC,KAAK,GAAAF,cAAA,CAALE,KAAK;EACb,IAAMC,SAAS,GAAGD,KAAK,CAACE,QAAQ,EAAED,SAAS,IAAI,EAAE;EAEjD,IAAMZ,QAA4C,GAAGY,SAAS,CAACE,IAAI,CAC/D,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACC,EAAE,KAAKrB,KAAK,CAACsB,WAAW;EAAA,CACvC,CAAC;EAED,IAAI,CAACjB,QAAQ,EAAE;IACX,OAAO,IAAI;EACf;EAEA,oBACI5D,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACR,uBAAuB;IACpBwB,KAAK,EAAEA,KAAM;IACbO,YAAY,EAAEA,YAAa;IAC3Bb,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfG,OAAO,EAAEA,OAAQ;IACjBE,QAAQ,EAAEA,QAAS;IACnBT,QAAQ,EAAEA,QAAS;IACnBG,UAAU,EAAEA,UAAW;IACvBO,KAAK,EAAEG,QAAQ,CAACjC,IAAK;IACrB+B,WAAW,EAAEE,QAAQ,CAACF,WAAY;IAClCf,IAAI,eAAE3C,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC7B,aAAA,CAAAoE,YAAY;MAACnC,IAAI,EAAEiB,QAAQ,CAACjB;IAAK,CAAE,CAAE;IAC5CiB,QAAQ,EAAEA;EAAS,gBAEnB5D,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACoB,cAAc;IAACC,QAAQ,EAAEA,QAAS;IAACE,YAAY,EAAEA,YAAa;IAACD,IAAI,EAAEA;EAAK,CAAE,CACxD,CAAC;AAElC,CAAC;AAMM,IAAMkB,mBAAmB,GAAA/C,OAAA,CAAA+C,mBAAA,GAAG,IAAA9C,iCAAe,EAC9C,qBAAqB,EACrB,UAAA+C,KAAA,EAA4C;EAAA,IAAzC7C,QAAQ,GAAA6C,KAAA,CAAR7C,QAAQ;EACP,oBACInC,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACnC,UAAA,CAAA6E,SAAS,qBACNjF,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAAvC,MAAA,CAAAqB,OAAA,CAAAgC,QAAA,QAAGlB,QAAW,CACP,CAAC;AAEpB,CACJ,CAAC;AAUM,IAAM+C,qBAAqB,GAAAlD,OAAA,CAAAkD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAI9C,KAAiC,EAAK;EACxE,IAAA+C,qBAAA,GAA6B,IAAAC,+BAAqB,EAAC;MAC/CC,OAAO,6EAA6E;MACpFC,WAAW,kBAAkB;MAC7BC,WAAW;IACf,CAAC,CAAC;IAJMC,gBAAgB,GAAAL,qBAAA,CAAhBK,gBAAgB;EAMxB,IAAQC,IAAI,GAA4BrD,KAAK,CAArCqD,IAAI;IAAEC,OAAO,GAAmBtD,KAAK,CAA/BsD,OAAO;IAAE5B,YAAY,GAAK1B,KAAK,CAAtB0B,YAAY;EACnC,IAAM6B,UAAU,GAAG,SAAbA,UAAUA,CAAI/B,QAA4C,EAAK;IACjE6B,IAAI,CAACG,WAAW,CAAC;MAAEf,WAAW,EAAEjB,QAAQ,CAACgB,EAAE;MAAEiB,UAAU,EAAEjC,QAAQ,CAACiC;IAAW,CAAC,CAAC;EACnF,CAAC;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIvC,KAAoB,EAAEwC,KAAa,EAAK;IACxDN,IAAI,CAACG,WAAW,CAAC,IAAAI,kBAAS,EAACzC,KAAK,CAAC,EAAEwC,KAAK,GAAG,CAAC,CAAC;EACjD,CAAC;EAED,IAAME,MAAuB,GAAGR,IAAI,CAAClC,KAAK,IAAI,EAAE;EAChD,IAAM2C,SAAS,GAAGD,MAAM,CAACE,MAAM,GAAG,CAAC;EAEnC,IAAMtC,IAAI,GAAG6B,OAAO,CAAC,CAAC;EAEtB,oBACI1F,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAAvC,MAAA,CAAAqB,OAAA,CAAAgC,QAAA,QACK6C,SAAS,gBACNlG,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC5B,MAAA,CAAAyF,mBAAmB;IAAC7C,KAAK,EAAEkC,IAAI,CAAClC,KAAM;IAAC8C,IAAI,EAAExC,IAAI,CAACyC;EAAW,gBAC1DtG,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACwC,mBAAmB,EAAK3C,KAAK,EACzB6D,MAAM,CAACpE,GAAG,CAAC,UAAC0B,KAAK,EAAEwC,KAAK,EAAK;IAC1B,IAAMlC,IAAI,GAAG6B,OAAO,CAACK,KAAK,CAAC;IAE3B,IAAMvC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;MACnBgC,gBAAgB,CAAC,YAAM;QACnBC,IAAI,CAACc,WAAW,CAACR,KAAK,CAAC;MAC3B,CAAC,CAAC;IACN,CAAC;IAED,oBACI/F,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACxB,mBAAA,CAAAyF,wBAAwB;MAACC,GAAG,EAAEV,KAAM;MAACA,KAAK,EAAEA;IAAM,gBAC/C/F,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACsB,IAAI,QACA;MAAA,oBACG7D,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACsB,IAAI,CAAC6C,mBAAmB,qBACrB1G,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC4B,iBAAiB;QACdZ,KAAK,EAAEA,KAAM;QACbO,YAAY,EAAEA,YAAa;QAC3BD,IAAI,EAAEA,IAAK;QACXZ,OAAO,EAAE8C,KAAK,KAAK,CAAE;QACrB5C,MAAM,EAAE4C,KAAK,KAAKE,MAAM,CAACE,MAAM,GAAG,CAAE;QACpCpD,QAAQ,EAAE,SAAVA,QAAQA,CAAA;UAAA,OAAQ0C,IAAI,CAACkB,WAAW,CAACZ,KAAK,CAAC;QAAA,CAAC;QACxC7C,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQuC,IAAI,CAACmB,aAAa,CAACb,KAAK,CAAC;QAAA,CAAC;QAC5CvC,QAAQ,EAAEA,QAAS;QACnBF,OAAO,EAAE,SAATA,OAAOA,CAAEC,KAAK;UAAA,OAAIuC,UAAU,CAACvC,KAAK,EAAEwC,KAAK,CAAC;QAAA;MAAC,CAC9C,CACqB,CAAC;IAAA,CAE7B,CACgB,CAAC;EAEnC,CAAC,CACgB,CACJ,CAAC,GACtB,IAAI,EACPG,SAAS,gBACNlG,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC9B,YAAA,CAAAoG,eAAe;IAAClB,UAAU,EAAEA;EAAW,CAAE,CAAC,gBAE3C3F,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAACpB,YAAY,qBACTnB,MAAA,CAAAqB,OAAA,CAAAkB,aAAA,CAAC9B,YAAA,CAAAqG,iBAAiB;IAACnB,UAAU,EAAEA;EAAW,CAAE,CAClC,CAEpB,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { BindComponentRenderProp, CmsModelFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
2
+ import { BindComponentRenderProp, CmsDynamicZoneTemplate, CmsModelFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
3
3
  type GetBind = CmsModelFieldRendererProps["getBind"];
4
4
  interface SingleValueDynamicZoneProps {
5
5
  field: CmsModelField;
@@ -7,5 +7,39 @@ interface SingleValueDynamicZoneProps {
7
7
  contentModel: CmsModel;
8
8
  getBind: GetBind;
9
9
  }
10
+ interface TemplateValue {
11
+ _templateId: string;
12
+ [key: string]: any;
13
+ }
14
+ export interface SingleValueItemContainerProps {
15
+ value: TemplateValue;
16
+ contentModel: CmsModel;
17
+ onDelete: () => void;
18
+ title: React.ReactNode;
19
+ description: string;
20
+ icon: JSX.Element;
21
+ actions?: JSX.Element;
22
+ template: CmsDynamicZoneTemplate;
23
+ children: React.ReactNode;
24
+ }
25
+ export declare const SingleValueItemContainer: ((props: SingleValueItemContainerProps) => React.JSX.Element) & {
26
+ original: (props: SingleValueItemContainerProps) => React.JSX.Element;
27
+ originalName: string;
28
+ displayName: string;
29
+ } & {
30
+ original: ((props: SingleValueItemContainerProps) => React.JSX.Element) & {
31
+ original: (props: SingleValueItemContainerProps) => React.JSX.Element;
32
+ originalName: string;
33
+ displayName: string;
34
+ };
35
+ originalName: string;
36
+ displayName: string;
37
+ } & {
38
+ createDecorator: (decorator: import("@webiny/app-admin").ComponentDecorator<((props: SingleValueItemContainerProps) => React.JSX.Element) & {
39
+ original: (props: SingleValueItemContainerProps) => React.JSX.Element;
40
+ originalName: string;
41
+ displayName: string;
42
+ }>) => (props: unknown) => React.JSX.Element;
43
+ };
10
44
  export declare const SingleValueDynamicZone: ({ field, bind, contentModel, getBind }: SingleValueDynamicZoneProps) => React.JSX.Element;
11
45
  export {};
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.SingleValueDynamicZone = void 0;
7
+ exports.SingleValueItemContainer = exports.SingleValueDynamicZone = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
10
10
  var _Accordion = require("@webiny/ui/Accordion");
@@ -15,6 +15,25 @@ var _Fields = require("../../../components/ContentEntryForm/Fields");
15
15
  var _ParentValue = require("../../../components/ContentEntryForm/ParentValue");
16
16
  var _ModelFieldProvider = require("../../../components/ModelFieldProvider");
17
17
  var _appAdmin = require("@webiny/app-admin");
18
+ var SingleValueItemContainer = exports.SingleValueItemContainer = (0, _appAdmin.makeDecoratable)("SingleValueItemContainer", function (props) {
19
+ var template = props.template,
20
+ actions = props.actions,
21
+ children = props.children;
22
+ return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
23
+ title: template.name,
24
+ description: template.description,
25
+ icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
26
+ icon: template.icon
27
+ }),
28
+ open: true,
29
+ interactive: false,
30
+ actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, actions ?? null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
31
+ icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
32
+ onClick: props.onDelete,
33
+ tooltip: "Delete"
34
+ }))
35
+ }, children);
36
+ });
18
37
  var SingleValueDynamicZone = exports.SingleValueDynamicZone = function SingleValueDynamicZone(_ref) {
19
38
  var field = _ref.field,
20
39
  bind = _ref.bind,
@@ -49,18 +68,16 @@ var SingleValueDynamicZone = exports.SingleValueDynamicZone = function SingleVal
49
68
  index: -1
50
69
  }, /*#__PURE__*/_react.default.createElement(_ModelFieldProvider.ModelFieldProvider, {
51
70
  field: field
52
- }, /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
71
+ }, /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, /*#__PURE__*/_react.default.createElement(SingleValueItemContainer, {
72
+ template: template,
73
+ value: bind.value,
74
+ contentModel: contentModel,
75
+ onDelete: unsetValue,
53
76
  title: template.name,
54
77
  description: template.description,
55
78
  icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
56
79
  icon: template.icon
57
- }),
58
- open: true,
59
- interactive: false,
60
- actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
61
- icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
62
- onClick: unsetValue
63
- }))
80
+ })
64
81
  }, /*#__PURE__*/_react.default.createElement(_TemplateProvider.TemplateProvider, {
65
82
  template: template
66
83
  }, /*#__PURE__*/_react.default.createElement(_Fields.Fields, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_delete_outline","_Accordion","_AddTemplate","_TemplateIcon","_TemplateProvider","_Fields","_ParentValue","_ModelFieldProvider","_appAdmin","SingleValueDynamicZone","exports","_ref","field","bind","contentModel","getBind","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","onTemplate","template","onChange","_templateId","id","__typename","templates","settings","value","find","tpl","undefined","Bind","unsetValue","default","createElement","Fragment","ParentFieldProvider","path","parentName","ParentValueIndexProvider","index","ModelFieldProvider","Accordion","AccordionItem","title","name","description","icon","TemplateIcon","open","interactive","actions","Actions","Action","ReactComponent","onClick","TemplateProvider","Fields","fields","layout","AddTemplateButton"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { AddTemplateButton } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { TemplateProvider } from \"./TemplateProvider\";\nimport {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { ParentFieldProvider } from \"~/admin/components/ContentEntryForm/ParentValue\";\nimport {\n ParentValueIndexProvider,\n ModelFieldProvider\n} from \"~/admin/components/ModelFieldProvider\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\ninterface SingleValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const SingleValueDynamicZone = ({\n field,\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to remove this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.onChange({ _templateId: template.id, __typename: template.__typename });\n };\n\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = bind.value\n ? templates.find(tpl => tpl.id === bind.value._templateId)\n : undefined;\n\n const Bind = getBind();\n\n const unsetValue = () => {\n showConfirmation(() => {\n bind.onChange(null);\n });\n };\n\n return (\n <>\n {template ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <ParentValueIndexProvider index={-1}>\n <ModelFieldProvider field={field}>\n <Accordion>\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n open={true}\n interactive={false}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={unsetValue}\n />\n </AccordionItem.Actions>\n }\n >\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n </AccordionItem>\n </Accordion>\n </ModelFieldProvider>\n </ParentValueIndexProvider>\n </ParentFieldProvider>\n ) : null}\n {bind.value ? null : <AddTemplateButton onTemplate={onTemplate} />}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_delete_outline","_Accordion","_AddTemplate","_TemplateIcon","_TemplateProvider","_Fields","_ParentValue","_ModelFieldProvider","_appAdmin","SingleValueItemContainer","exports","makeDecoratable","props","template","actions","children","default","createElement","AccordionItem","title","name","description","icon","TemplateIcon","open","interactive","Actions","Action","ReactComponent","onClick","onDelete","tooltip","SingleValueDynamicZone","_ref","field","bind","contentModel","getBind","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","onTemplate","onChange","_templateId","id","__typename","templates","settings","value","find","tpl","undefined","Bind","unsetValue","Fragment","ParentFieldProvider","path","parentName","ParentValueIndexProvider","index","ModelFieldProvider","Accordion","TemplateProvider","Fields","fields","layout","AddTemplateButton"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { AddTemplateButton } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { TemplateProvider } from \"./TemplateProvider\";\nimport {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { ParentFieldProvider } from \"~/admin/components/ContentEntryForm/ParentValue\";\nimport {\n ParentValueIndexProvider,\n ModelFieldProvider\n} from \"~/admin/components/ModelFieldProvider\";\nimport { makeDecoratable, useConfirmationDialog } from \"@webiny/app-admin\";\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\ninterface SingleValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\nexport interface SingleValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n onDelete: () => void;\n title: React.ReactNode;\n description: string;\n icon: JSX.Element;\n actions?: JSX.Element;\n template: CmsDynamicZoneTemplate;\n children: React.ReactNode;\n}\n\nexport const SingleValueItemContainer = makeDecoratable(\n \"SingleValueItemContainer\",\n (props: SingleValueItemContainerProps) => {\n const { template, actions, children } = props;\n return (\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n open={true}\n interactive={false}\n actions={\n <AccordionItem.Actions>\n {actions ?? null}\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={props.onDelete}\n tooltip={\"Delete\"}\n />\n </AccordionItem.Actions>\n }\n >\n {children}\n </AccordionItem>\n );\n }\n);\n\nexport const SingleValueDynamicZone = ({\n field,\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to remove this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.onChange({ _templateId: template.id, __typename: template.__typename });\n };\n\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = bind.value\n ? templates.find(tpl => tpl.id === bind.value._templateId)\n : undefined;\n\n const Bind = getBind();\n\n const unsetValue = () => {\n showConfirmation(() => {\n bind.onChange(null);\n });\n };\n\n return (\n <>\n {template ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <ParentValueIndexProvider index={-1}>\n <ModelFieldProvider field={field}>\n <Accordion>\n <SingleValueItemContainer\n template={template}\n value={bind.value}\n contentModel={contentModel}\n onDelete={unsetValue}\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n >\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n </SingleValueItemContainer>\n </Accordion>\n </ModelFieldProvider>\n </ParentValueIndexProvider>\n </ParentFieldProvider>\n ) : null}\n {bind.value ? null : <AddTemplateButton onTemplate={onTemplate} />}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ export type DynamicZoneContainerProps = {
9
9
  title?: string;
10
10
  description?: string;
11
11
  className?: string;
12
+ actions?: JSX.Element;
12
13
  };
13
14
  export declare const DynamicZoneContainer: ((props: DynamicZoneContainerProps) => React.JSX.Element) & {
14
15
  original: (props: DynamicZoneContainerProps) => React.JSX.Element;
@@ -34,7 +34,8 @@ var DynamicZoneContainer = exports.DynamicZoneContainer = (0, _reactComposition.
34
34
  title: title,
35
35
  description: description,
36
36
  className: className || defaultClassName,
37
- open: open
37
+ open: open,
38
+ actions: props.actions ?? null
38
39
  }, children)), isValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
39
40
  error: true
40
41
  }, message));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_Accordion","_SingleValueDynamicZone","_MultiValueDynamicZone","_AccordionRenderSettings","_FormElementMessage","_reactComposition","_templateObject","noBottomPadding","css","_taggedTemplateLiteral2","default","DynamicZoneContainer","exports","makeDecoratable","props","field","_props$bind$validatio","bind","validation","isValid","message","_props$title","title","label","_props$description","description","helpText","className","children","defaultClassName","multipleValues","undefined","_getAccordionRenderSe","getAccordionRenderSettings","open","createElement","Fragment","Accordion","AccordionItem","FormElementMessage","error","DynamicZoneContent","_ref","getBind","contentModel","templates","settings","length","console","info","concat","fieldId","Bind","Component","MultiValueDynamicZone","SingleValueDynamicZone","ValidationContainer","dynamicZoneFieldRenderer","type","name","renderer","rendererName","canUse","_ref2","render","renderSettings","_ref3","AccordionRenderSettings"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsModel,\n CmsModelField,\n CmsModelFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone\";\nimport { AccordionRenderSettings, getAccordionRenderSettings } from \"../AccordionRenderSettings\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\n\nconst noBottomPadding = css`\n > .webiny-ui-accordion-item__content {\n padding-bottom: 0 !important;\n }\n`;\n\nexport type DynamicZoneContainerProps = {\n field: CmsModelField;\n getBind: (index?: number, key?: string) => BindComponent;\n contentModel: CmsModel;\n bind: BindComponentRenderProp;\n children: React.ReactNode;\n title?: string;\n description?: string;\n className?: string;\n};\n\nexport const DynamicZoneContainer = makeDecoratable(\n \"DynamicZoneContainer\",\n (props: DynamicZoneContainerProps) => {\n const {\n field,\n bind: {\n validation: { isValid, message }\n },\n title = field.label,\n description = field.helpText,\n className,\n children\n } = props;\n\n const defaultClassName = field.multipleValues ? noBottomPadding : undefined;\n const { open } = getAccordionRenderSettings(field);\n\n return (\n <>\n <Accordion>\n <AccordionItem\n title={title}\n description={description}\n className={className || defaultClassName}\n open={open}\n >\n {children}\n </AccordionItem>\n </Accordion>\n {isValid === false && (\n <FormElementMessage error={true}>{message}</FormElementMessage>\n )}\n </>\n );\n }\n);\n\nconst DynamicZoneContent = ({ field, getBind, contentModel }: CmsModelFieldRendererProps) => {\n const templates = field.settings?.templates || [];\n if (!templates.length) {\n console.info(\n `Skipping \"${field.fieldId}\" field. There are no templates defined for this dynamic zone.`\n );\n return null;\n }\n\n const Bind = getBind();\n\n const Component = field.multipleValues ? MultiValueDynamicZone : SingleValueDynamicZone;\n\n return (\n <Bind>\n {bind => {\n return (\n <Bind.ValidationContainer>\n <DynamicZoneContainer\n field={field}\n bind={bind}\n getBind={getBind}\n contentModel={contentModel}\n >\n <Component\n bind={bind}\n field={field}\n getBind={getBind}\n contentModel={contentModel}\n />\n </DynamicZoneContainer>\n </Bind.ValidationContainer>\n );\n }}\n </Bind>\n );\n};\n\nexport const dynamicZoneFieldRenderer: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-dynamic-zone\",\n renderer: {\n rendererName: \"dynamicZone\",\n name: \"Dynamic Zone\",\n description: \"Renders a dynamic zone.\",\n canUse({ field }) {\n return field.type === \"dynamicZone\";\n },\n render(props) {\n return <DynamicZoneContent {...props} />;\n },\n renderSettings({ field }) {\n return <AccordionRenderSettings field={field} />;\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_Accordion","_SingleValueDynamicZone","_MultiValueDynamicZone","_AccordionRenderSettings","_FormElementMessage","_reactComposition","_templateObject","noBottomPadding","css","_taggedTemplateLiteral2","default","DynamicZoneContainer","exports","makeDecoratable","props","field","_props$bind$validatio","bind","validation","isValid","message","_props$title","title","label","_props$description","description","helpText","className","children","defaultClassName","multipleValues","undefined","_getAccordionRenderSe","getAccordionRenderSettings","open","createElement","Fragment","Accordion","AccordionItem","actions","FormElementMessage","error","DynamicZoneContent","_ref","getBind","contentModel","templates","settings","length","console","info","concat","fieldId","Bind","Component","MultiValueDynamicZone","SingleValueDynamicZone","ValidationContainer","dynamicZoneFieldRenderer","type","name","renderer","rendererName","canUse","_ref2","render","renderSettings","_ref3","AccordionRenderSettings"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsModel,\n CmsModelField,\n CmsModelFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone\";\nimport { AccordionRenderSettings, getAccordionRenderSettings } from \"../AccordionRenderSettings\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\n\nconst noBottomPadding = css`\n > .webiny-ui-accordion-item__content {\n padding-bottom: 0 !important;\n }\n`;\n\nexport type DynamicZoneContainerProps = {\n field: CmsModelField;\n getBind: (index?: number, key?: string) => BindComponent;\n contentModel: CmsModel;\n bind: BindComponentRenderProp;\n children: React.ReactNode;\n title?: string;\n description?: string;\n className?: string;\n actions?: JSX.Element;\n};\n\nexport const DynamicZoneContainer = makeDecoratable(\n \"DynamicZoneContainer\",\n (props: DynamicZoneContainerProps) => {\n const {\n field,\n bind: {\n validation: { isValid, message }\n },\n title = field.label,\n description = field.helpText,\n className,\n children\n } = props;\n\n const defaultClassName = field.multipleValues ? noBottomPadding : undefined;\n const { open } = getAccordionRenderSettings(field);\n\n return (\n <>\n <Accordion>\n <AccordionItem\n title={title}\n description={description}\n className={className || defaultClassName}\n open={open}\n actions={props.actions ?? null}\n >\n {children}\n </AccordionItem>\n </Accordion>\n {isValid === false && (\n <FormElementMessage error={true}>{message}</FormElementMessage>\n )}\n </>\n );\n }\n);\n\nconst DynamicZoneContent = ({ field, getBind, contentModel }: CmsModelFieldRendererProps) => {\n const templates = field.settings?.templates || [];\n if (!templates.length) {\n console.info(\n `Skipping \"${field.fieldId}\" field. There are no templates defined for this dynamic zone.`\n );\n return null;\n }\n\n const Bind = getBind();\n\n const Component = field.multipleValues ? MultiValueDynamicZone : SingleValueDynamicZone;\n\n return (\n <Bind>\n {bind => {\n return (\n <Bind.ValidationContainer>\n <DynamicZoneContainer\n field={field}\n bind={bind}\n getBind={getBind}\n contentModel={contentModel}\n >\n <Component\n bind={bind}\n field={field}\n getBind={getBind}\n contentModel={contentModel}\n />\n </DynamicZoneContainer>\n </Bind.ValidationContainer>\n );\n }}\n </Bind>\n );\n};\n\nexport const dynamicZoneFieldRenderer: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-dynamic-zone\",\n renderer: {\n rendererName: \"dynamicZone\",\n name: \"Dynamic Zone\",\n description: \"Renders a dynamic zone.\",\n canUse({ field }) {\n return field.type === \"dynamicZone\";\n },\n render(props) {\n return <DynamicZoneContent {...props} />;\n },\n renderSettings({ field }) {\n return <AccordionRenderSettings field={field} />;\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-headless-cms",
3
- "version": "5.42.3-beta.2",
3
+ "version": "5.42.3-beta.4",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,30 +27,30 @@
27
27
  "@material-design-icons/svg": "0.14.13",
28
28
  "@svgr/webpack": "6.5.1",
29
29
  "@types/react": "18.2.79",
30
- "@webiny/app": "5.42.3-beta.2",
31
- "@webiny/app-aco": "5.42.3-beta.2",
32
- "@webiny/app-admin": "5.42.3-beta.2",
33
- "@webiny/app-graphql-playground": "5.42.3-beta.2",
34
- "@webiny/app-headless-cms-common": "5.42.3-beta.2",
35
- "@webiny/app-i18n": "5.42.3-beta.2",
36
- "@webiny/app-plugin-admin-welcome-screen": "5.42.3-beta.2",
37
- "@webiny/app-security": "5.42.3-beta.2",
38
- "@webiny/app-tenancy": "5.42.3-beta.2",
39
- "@webiny/app-trash-bin": "5.42.3-beta.2",
40
- "@webiny/error": "5.42.3-beta.2",
41
- "@webiny/feature-flags": "5.42.3-beta.2",
42
- "@webiny/form": "5.42.3-beta.2",
43
- "@webiny/lexical-editor": "5.42.3-beta.2",
44
- "@webiny/lexical-nodes": "5.42.3-beta.2",
45
- "@webiny/lexical-theme": "5.42.3-beta.2",
46
- "@webiny/plugins": "5.42.3-beta.2",
47
- "@webiny/react-composition": "5.42.3-beta.2",
48
- "@webiny/react-properties": "5.42.3-beta.2",
49
- "@webiny/react-router": "5.42.3-beta.2",
50
- "@webiny/theme": "5.42.3-beta.2",
51
- "@webiny/ui": "5.42.3-beta.2",
52
- "@webiny/utils": "5.42.3-beta.2",
53
- "@webiny/validation": "5.42.3-beta.2",
30
+ "@webiny/app": "5.42.3-beta.4",
31
+ "@webiny/app-aco": "5.42.3-beta.4",
32
+ "@webiny/app-admin": "5.42.3-beta.4",
33
+ "@webiny/app-graphql-playground": "5.42.3-beta.4",
34
+ "@webiny/app-headless-cms-common": "5.42.3-beta.4",
35
+ "@webiny/app-i18n": "5.42.3-beta.4",
36
+ "@webiny/app-plugin-admin-welcome-screen": "5.42.3-beta.4",
37
+ "@webiny/app-security": "5.42.3-beta.4",
38
+ "@webiny/app-tenancy": "5.42.3-beta.4",
39
+ "@webiny/app-trash-bin": "5.42.3-beta.4",
40
+ "@webiny/error": "5.42.3-beta.4",
41
+ "@webiny/feature-flags": "5.42.3-beta.4",
42
+ "@webiny/form": "5.42.3-beta.4",
43
+ "@webiny/lexical-editor": "5.42.3-beta.4",
44
+ "@webiny/lexical-nodes": "5.42.3-beta.4",
45
+ "@webiny/lexical-theme": "5.42.3-beta.4",
46
+ "@webiny/plugins": "5.42.3-beta.4",
47
+ "@webiny/react-composition": "5.42.3-beta.4",
48
+ "@webiny/react-properties": "5.42.3-beta.4",
49
+ "@webiny/react-router": "5.42.3-beta.4",
50
+ "@webiny/theme": "5.42.3-beta.4",
51
+ "@webiny/ui": "5.42.3-beta.4",
52
+ "@webiny/utils": "5.42.3-beta.4",
53
+ "@webiny/validation": "5.42.3-beta.4",
54
54
  "apollo-cache": "1.3.5",
55
55
  "apollo-client": "2.6.10",
56
56
  "apollo-link": "1.2.14",
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "devDependencies": {
81
81
  "@emotion/babel-plugin": "11.11.0",
82
- "@webiny/project-utils": "5.42.3-beta.2",
82
+ "@webiny/project-utils": "5.42.3-beta.4",
83
83
  "babel-plugin-module-resolver": "5.0.2",
84
84
  "rimraf": "6.0.1",
85
85
  "ttypescript": "1.5.15",
@@ -108,5 +108,5 @@
108
108
  ]
109
109
  }
110
110
  },
111
- "gitHead": "2f2dbebb4bbf728ced489516d9a64296e0e27e23"
111
+ "gitHead": "ddd9afd2185a8e20317f263a3c11f84688b3d8a0"
112
112
  }