@webiny/app-headless-cms 6.0.0 → 6.1.0-beta.1

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 (116) hide show
  1. package/admin/components/ContentEntries/SidebarFooter/SidebarFooter.js +1 -3
  2. package/admin/components/ContentEntries/SidebarFooter/SidebarFooter.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +1 -1
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +8 -2
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
  7. package/admin/components/ContentEntryForm/ContentEntryFormProvider.d.ts +2 -2
  8. package/admin/components/ContentEntryForm/ContentEntryFormProvider.js +31 -7
  9. package/admin/components/ContentEntryForm/ContentEntryFormProvider.js.map +1 -1
  10. package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js +7 -4
  11. package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js.map +1 -1
  12. package/admin/components/ContentEntryForm/ParentValue.js +1 -1
  13. package/admin/components/ContentEntryForm/ParentValue.js.map +1 -1
  14. package/admin/components/ContentModelEditor/ContentModelEditor.js +22 -5
  15. package/admin/components/ContentModelEditor/ContentModelEditor.js.map +1 -1
  16. package/admin/components/ContentModelEditor/FieldsSidebar.js +6 -2
  17. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  18. package/admin/components/DragPreview.js +4 -2
  19. package/admin/components/DragPreview.js.map +1 -1
  20. package/admin/components/DropZone/Center.js +4 -2
  21. package/admin/components/DropZone/Center.js.map +1 -1
  22. package/admin/components/DropZone/Horizontal.js +3 -1
  23. package/admin/components/DropZone/Horizontal.js.map +1 -1
  24. package/admin/components/DropZone/Vertical.js +3 -1
  25. package/admin/components/DropZone/Vertical.js.map +1 -1
  26. package/admin/components/FieldEditor/FieldEditor.js +9 -3
  27. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  28. package/admin/components/IsModelPublishable.js +3 -6
  29. package/admin/components/IsModelPublishable.js.map +1 -1
  30. package/admin/hooks/useIsModelPublishable.d.ts +1 -0
  31. package/admin/hooks/useIsModelPublishable.js +10 -0
  32. package/admin/hooks/useIsModelPublishable.js.map +1 -0
  33. package/admin/menus/HasContentEntryPermissions.d.ts +2 -2
  34. package/admin/menus/HasContentEntryPermissions.js.map +1 -1
  35. package/admin/plugins/editor/defaultBar/Name/Name.js +1 -5
  36. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  37. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +1 -1
  38. package/admin/plugins/fieldRenderers/DynamicSection.js +1 -1
  39. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  40. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +2 -2
  41. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  42. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +2 -2
  43. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +1 -1
  44. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
  45. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +1 -1
  46. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
  47. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +1 -1
  48. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +1 -1
  49. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  50. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +2 -2
  51. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -1
  52. package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js +8 -2
  53. package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js.map +1 -1
  54. package/admin/plugins/icons.js +13 -12
  55. package/admin/plugins/icons.js.map +1 -1
  56. package/admin/views/contentEntries/ContentEntriesModule.js +1 -5
  57. package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
  58. package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js +2 -9
  59. package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js.map +1 -1
  60. package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js +1 -2
  61. package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js.map +1 -1
  62. package/admin/views/contentModels/ContentModelsDataList.js +4 -5
  63. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  64. package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.d.ts +1 -1
  65. package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js +2 -2
  66. package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js.map +1 -1
  67. package/admin/views/contentModels/fullDelete/dialog/state.d.ts +3 -3
  68. package/admin/views/contentModels/fullDelete/dialog/state.js +13 -9
  69. package/admin/views/contentModels/fullDelete/dialog/state.js.map +1 -1
  70. package/admin/views/contentModels/fullDelete/types.d.ts +1 -1
  71. package/admin/views/contentModels/fullDelete/types.js.map +1 -1
  72. package/admin/views/contentModels/importing/components/Model/DataListModelItem.js +10 -10
  73. package/admin/views/contentModels/importing/components/Model/DataListModelItem.js.map +1 -1
  74. package/package.json +38 -40
  75. package/admin/components/ContentEntries/Scheduler/actions/ScheduleEntryAction.d.ts +0 -2
  76. package/admin/components/ContentEntries/Scheduler/actions/ScheduleEntryAction.js +0 -82
  77. package/admin/components/ContentEntries/Scheduler/actions/ScheduleEntryAction.js.map +0 -1
  78. package/admin/components/ContentEntries/Scheduler/actions/hooks/useGetSchedulerItem.d.ts +0 -11
  79. package/admin/components/ContentEntries/Scheduler/actions/hooks/useGetSchedulerItem.js +0 -35
  80. package/admin/components/ContentEntries/Scheduler/actions/hooks/useGetSchedulerItem.js.map +0 -1
  81. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerCancelGraphQLGateway.d.ts +0 -7
  82. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerCancelGraphQLGateway.js +0 -46
  83. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerCancelGraphQLGateway.js.map +0 -1
  84. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerGetGraphQLGateway.d.ts +0 -20
  85. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerGetGraphQLGateway.js +0 -69
  86. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerGetGraphQLGateway.js.map +0 -1
  87. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerListGraphQLGateway.d.ts +0 -7
  88. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerListGraphQLGateway.js +0 -86
  89. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerListGraphQLGateway.js.map +0 -1
  90. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerPublishGraphQLGateway.d.ts +0 -7
  91. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerPublishGraphQLGateway.js +0 -65
  92. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerPublishGraphQLGateway.js.map +0 -1
  93. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerUnpublishGraphQLGateway.d.ts +0 -23
  94. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerUnpublishGraphQLGateway.js +0 -67
  95. package/admin/components/ContentEntries/Scheduler/adapters/SchedulerUnpublishGraphQLGateway.js.map +0 -1
  96. package/admin/components/ContentEntries/Scheduler/adapters/graphql/fields.d.ts +0 -1
  97. package/admin/components/ContentEntries/Scheduler/adapters/graphql/fields.js +0 -20
  98. package/admin/components/ContentEntries/Scheduler/adapters/graphql/fields.js.map +0 -1
  99. package/admin/components/ContentEntries/Scheduler/adapters/index.d.ts +0 -5
  100. package/admin/components/ContentEntries/Scheduler/adapters/index.js +0 -7
  101. package/admin/components/ContentEntries/Scheduler/adapters/index.js.map +0 -1
  102. package/admin/components/ContentEntries/Scheduler/adapters/schema/schedulerEntry.d.ts +0 -61
  103. package/admin/components/ContentEntries/Scheduler/adapters/schema/schedulerEntry.js +0 -26
  104. package/admin/components/ContentEntries/Scheduler/adapters/schema/schedulerEntry.js.map +0 -1
  105. package/admin/components/ContentEntries/Scheduler/components/ScheduleSidebarButton.d.ts +0 -5
  106. package/admin/components/ContentEntries/Scheduler/components/ScheduleSidebarButton.js +0 -17
  107. package/admin/components/ContentEntries/Scheduler/components/ScheduleSidebarButton.js.map +0 -1
  108. package/admin/components/ContentEntries/Scheduler/components/Scheduler.d.ts +0 -2
  109. package/admin/components/ContentEntries/Scheduler/components/Scheduler.js +0 -54
  110. package/admin/components/ContentEntries/Scheduler/components/Scheduler.js.map +0 -1
  111. package/admin/components/ContentEntries/Scheduler/components/index.d.ts +0 -1
  112. package/admin/components/ContentEntries/Scheduler/components/index.js +0 -3
  113. package/admin/components/ContentEntries/Scheduler/components/index.js.map +0 -1
  114. package/admin/components/ContentEntries/Scheduler/index.d.ts +0 -1
  115. package/admin/components/ContentEntries/Scheduler/index.js +0 -3
  116. package/admin/components/ContentEntries/Scheduler/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","cloneDeep","ReactComponent","DeleteIcon","CloneIcon","ArrowUpIcon","ArrowDownIcon","AddTemplateButton","TemplateIcon","useFieldEffectiveRules","ParentFieldProvider","useModelField","Fields","makeDecoratable","TemplateProvider","CanEditField","ParentValueIndexProvider","useConfirmationDialog","Accordion","Tooltip","MultiValueItemContainer","children","props","actions","createElement","Fragment","Item","Action","icon","trigger","content","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Separator","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","fields","layout","TemplateValueForm","field","rules","canEdit","templates","settings","find","tpl","id","_templateId","name","MultiValueContainer","variant","className","MultiValueDynamicZone","showConfirmation","message","acceptLabel","cancelLabel","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","values","hasValues","length","path","parentName","map","removeValue","key","ValidationContainer","moveValueUp","moveValueDown"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport cloneDeep from \"lodash/cloneDeep.js\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@webiny/icons/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@webiny/icons/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@webiny/icons/expand_more.svg\";\nimport { AddTemplateButton } from \"./AddTemplate.js\";\nimport { TemplateIcon } from \"./TemplateIcon.js\";\nimport { useFieldEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks/index.js\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields.js\";\nimport type {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types.js\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider.js\";\nimport {\n CanEditField,\n ParentValueIndexProvider\n} from \"~/admin/components/ModelFieldProvider/index.js\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\nimport { Accordion, Tooltip } from \"@webiny/admin-ui\";\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n disabled?: 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 <>\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowUpIcon />} content={\"Move up\"} />}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowDownIcon />} content={\"Move down\"} />}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <Accordion.Item.Action.Separator />\n {props.actions ? <>{props.actions}</> : null}\n <Accordion.Item.Action\n icon={<Tooltip trigger={<CloneIcon />} content={\"Duplicate\"} />}\n onClick={() => props.onClone(props.value)}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<DeleteIcon />} content={\"Delete\"} />}\n onClick={props.onDelete}\n />\n </>\n );\n\n return (\n <Accordion.Item\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={props.disabled ? null : actions}\n >\n {children}\n </Accordion.Item>\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 rules = useFieldEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\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 disabled={disabled}\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 variant={\"container\"} className={\"gap-md\"}>\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 <div className={\"flex flex-col gap-y-lg\"}>\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 <CanEditField>\n <AddTemplateButton onTemplate={onTemplate} />\n </CanEditField>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,SAASC,cAAc,IAAIC,UAAU,QAAQ,kCAAkC;AAC/E,SAASD,cAAc,IAAIE,SAAS,QAAQ,+BAA+B;AAC3E,SAASF,cAAc,IAAIG,WAAW,QAAQ,+BAA+B;AAC7E,SAASH,cAAc,IAAII,aAAa,QAAQ,+BAA+B;AAC/E,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,mBAAmB,EAAEC,aAAa;AAC3C,SAASC,MAAM;AAUf,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,gBAAgB;AACzB,SACIC,YAAY,EACZC,wBAAwB;AAE5B,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,SAAS,EAAEC,OAAO,QAAQ,kBAAkB;AAsBrD,OAAO,MAAMC,uBAAuB,GAAGP,eAAe,CAClD,yBAAyB,EACzB,CAAC;EAAEQ,QAAQ;EAAE,GAAGC;AAAoC,CAAC,KAAK;EACtD,MAAMC,OAAO,gBACTvB,KAAA,CAAAwB,aAAA,CAAAxB,KAAA,CAAAyB,QAAA,qBACIzB,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI,CAACC,MAAM;IAClBC,IAAI,eAAE5B,KAAA,CAAAwB,aAAA,CAACL,OAAO;MAACU,OAAO,eAAE7B,KAAA,CAAAwB,aAAA,CAACnB,WAAW,MAAE,CAAE;MAACyB,OAAO,EAAE;IAAU,CAAE,CAAE;IAChEC,OAAO,EAAET,KAAK,CAACU,QAAS;IACxBC,QAAQ,EAAEX,KAAK,CAACY;EAAQ,CAC3B,CAAC,eACFlC,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI,CAACC,MAAM;IAClBC,IAAI,eAAE5B,KAAA,CAAAwB,aAAA,CAACL,OAAO;MAACU,OAAO,eAAE7B,KAAA,CAAAwB,aAAA,CAAClB,aAAa,MAAE,CAAE;MAACwB,OAAO,EAAE;IAAY,CAAE,CAAE;IACpEC,OAAO,EAAET,KAAK,CAACa,UAAW;IAC1BF,QAAQ,EAAEX,KAAK,CAACc;EAAO,CAC1B,CAAC,eACFpC,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI,CAACC,MAAM,CAACU,SAAS,MAAE,CAAC,EAClCf,KAAK,CAACC,OAAO,gBAAGvB,KAAA,CAAAwB,aAAA,CAAAxB,KAAA,CAAAyB,QAAA,QAAGH,KAAK,CAACC,OAAU,CAAC,GAAG,IAAI,eAC5CvB,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI,CAACC,MAAM;IAClBC,IAAI,eAAE5B,KAAA,CAAAwB,aAAA,CAACL,OAAO;MAACU,OAAO,eAAE7B,KAAA,CAAAwB,aAAA,CAACpB,SAAS,MAAE,CAAE;MAAC0B,OAAO,EAAE;IAAY,CAAE,CAAE;IAChEC,OAAO,EAAEA,CAAA,KAAMT,KAAK,CAACgB,OAAO,CAAChB,KAAK,CAACiB,KAAK;EAAE,CAC7C,CAAC,eACFvC,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI,CAACC,MAAM;IAClBC,IAAI,eAAE5B,KAAA,CAAAwB,aAAA,CAACL,OAAO;MAACU,OAAO,eAAE7B,KAAA,CAAAwB,aAAA,CAACrB,UAAU,MAAE,CAAE;MAAC2B,OAAO,EAAE;IAAS,CAAE,CAAE;IAC9DC,OAAO,EAAET,KAAK,CAACkB;EAAS,CAC3B,CACH,CACL;EAED,oBACIxC,KAAA,CAAAwB,aAAA,CAACN,SAAS,CAACQ,IAAI;IACXe,KAAK,EAAEnB,KAAK,CAACmB,KAAM;IACnBC,WAAW,EAAEpB,KAAK,CAACoB,WAAY;IAC/Bd,IAAI,EAAEN,KAAK,CAACM,IAAK;IACjBL,OAAO,EAAED,KAAK,CAACW,QAAQ,GAAG,IAAI,GAAGV;EAAQ,GAExCF,QACW,CAAC;AAEzB,CACJ,CAAC;AAQD,OAAO,MAAMsB,cAAc,GAAG9B,eAAe,CACzC,gBAAgB,EACfS,KAA8B,IAAK;EAChC,MAAM;IAAEsB,QAAQ;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAGxB,KAAK;EAE9C,oBACItB,KAAA,CAAAwB,aAAA,CAACV,gBAAgB;IAAC8B,QAAQ,EAAEA;EAAS,gBACjC5C,KAAA,CAAAwB,aAAA,CAACZ,MAAM;IACHmC,MAAM,EAAEH,QAAQ,CAACG,MAAO;IACxBC,MAAM,EAAEJ,QAAQ,CAACI,MAAM,IAAI,EAAG;IAC9BF,YAAY,EAAEA,YAAa;IAC3BD,IAAI,EAAEA;EAAK,CACd,CACa,CAAC;AAE3B,CACJ,CAAC;AAmBD,MAAMI,iBAAiB,GAAGA,CAAC;EACvBV,KAAK;EACLO,YAAY;EACZD,IAAI;EACJT,MAAM;EACNF,OAAO;EACPF,QAAQ;EACRG,UAAU;EACVK,QAAQ;EACRF;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEY;EAAM,CAAC,GAAGvC,aAAa,CAAC,CAAC;EACjC,MAAMwC,KAAK,GAAG1C,sBAAsB,CAACyC,KAAK,CAAC;EAC3C,MAAMjB,QAAQ,GAAG,CAACkB,KAAK,CAACC,OAAO,IAAID,KAAK,CAAClB,QAAQ;EACjD,MAAMoB,SAAS,GAAGH,KAAK,CAACI,QAAQ,EAAED,SAAS,IAAI,EAAE;EAEjD,MAAMT,QAA4C,GAAGS,SAAS,CAACE,IAAI,CAC/DC,GAAG,IAAIA,GAAG,CAACC,EAAE,KAAKlB,KAAK,CAACmB,WAC5B,CAAC;EAED,IAAI,CAACd,QAAQ,EAAE;IACX,OAAO,IAAI;EACf;EAEA,oBACI5C,KAAA,CAAAwB,aAAA,CAACJ,uBAAuB;IACpBmB,KAAK,EAAEA,KAAM;IACbO,YAAY,EAAEA,YAAa;IAC3BZ,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfE,OAAO,EAAEA,OAAQ;IACjBE,QAAQ,EAAEA,QAAS;IACnBR,QAAQ,EAAEA,QAAS;IACnBG,UAAU,EAAEA,UAAW;IACvBM,KAAK,EAAEG,QAAQ,CAACe,IAAK;IACrBjB,WAAW,EAAEE,QAAQ,CAACF,WAAY;IAClCd,IAAI,eAAE5B,KAAA,CAAAwB,aAAA,CAAChB,YAAY;MAACoB,IAAI,EAAEgB,QAAQ,CAAChB;IAAK,CAAE,CAAE;IAC5CgB,QAAQ,EAAEA,QAAS;IACnBX,QAAQ,EAAEA;EAAS,gBAEnBjC,KAAA,CAAAwB,aAAA,CAACmB,cAAc;IAACC,QAAQ,EAAEA,QAAS;IAACE,YAAY,EAAEA,YAAa;IAACD,IAAI,EAAEA;EAAK,CAAE,CACxD,CAAC;AAElC,CAAC;AAMD,OAAO,MAAMe,mBAAmB,GAAG/C,eAAe,CAC9C,qBAAqB,EACrB,CAAC;EAAEQ;AAAmC,CAAC,KAAK;EACxC,oBACIrB,KAAA,CAAAwB,aAAA,CAACN,SAAS;IAAC2C,OAAO,EAAE,WAAY;IAACC,SAAS,EAAE;EAAS,gBACjD9D,KAAA,CAAAwB,aAAA,CAAAxB,KAAA,CAAAyB,QAAA,QAAGJ,QAAW,CACP,CAAC;AAEpB,CACJ,CAAC;AAUD,OAAO,MAAM0C,qBAAqB,GAAIzC,KAAiC,IAAK;EACxE,MAAM;IAAE0C;EAAiB,CAAC,GAAG/C,qBAAqB,CAAC;IAC/CgD,OAAO,EAAE,2EAA2E;IACpFC,WAAW,EAAE,gBAAgB;IAC7BC,WAAW,EAAE;EACjB,CAAC,CAAC;EAEF,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEvB;EAAa,CAAC,GAAGxB,KAAK;EAC7C,MAAMgD,UAAU,GAAI1B,QAA4C,IAAK;IACjEwB,IAAI,CAACG,WAAW,CAAC;MAAEb,WAAW,EAAEd,QAAQ,CAACa,EAAE;MAAEe,UAAU,EAAE5B,QAAQ,CAAC4B;IAAW,CAAC,CAAC;EACnF,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAClC,KAAoB,EAAEmC,KAAa,KAAK;IACxDN,IAAI,CAACG,WAAW,CAACtE,SAAS,CAACsC,KAAK,CAAC,EAAEmC,KAAK,GAAG,CAAC,CAAC;EACjD,CAAC;EAED,MAAMC,MAAuB,GAAGP,IAAI,CAAC7B,KAAK,IAAI,EAAE;EAChD,MAAMqC,SAAS,GAAGD,MAAM,CAACE,MAAM,GAAG,CAAC;EAEnC,MAAMhC,IAAI,GAAGwB,OAAO,CAAC,CAAC;EAEtB,oBACIrE,KAAA,CAAAwB,aAAA;IAAKsC,SAAS,EAAE;EAAyB,GACpCc,SAAS,gBACN5E,KAAA,CAAAwB,aAAA,CAACd,mBAAmB;IAAC6B,KAAK,EAAE6B,IAAI,CAAC7B,KAAM;IAACuC,IAAI,EAAEjC,IAAI,CAACkC;EAAW,gBAC1D/E,KAAA,CAAAwB,aAAA,CAACoC,mBAAmB,EAAKtC,KAAK,EACzBqD,MAAM,CAACK,GAAG,CAAC,CAACzC,KAAK,EAAEmC,KAAK,KAAK;IAC1B,MAAM7B,IAAI,GAAGwB,OAAO,CAACK,KAAK,CAAC;IAE3B,MAAMlC,QAAQ,GAAGA,CAAA,KAAM;MACnBwB,gBAAgB,CAAC,MAAM;QACnBI,IAAI,CAACa,WAAW,CAACP,KAAK,CAAC;MAC3B,CAAC,CAAC;IACN,CAAC;IAED,oBACI1E,KAAA,CAAAwB,aAAA,CAACR,wBAAwB;MAACkE,GAAG,EAAER,KAAM;MAACA,KAAK,EAAEA;IAAM,gBAC/C1E,KAAA,CAAAwB,aAAA,CAACqB,IAAI,QACA,mBACG7C,KAAA,CAAAwB,aAAA,CAACqB,IAAI,CAACsC,mBAAmB,qBACrBnF,KAAA,CAAAwB,aAAA,CAACyB,iBAAiB;MACdV,KAAK,EAAEA,KAAM;MACbO,YAAY,EAAEA,YAAa;MAC3BD,IAAI,EAAEA,IAAK;MACXX,OAAO,EAAEwC,KAAK,KAAK,CAAE;MACrBtC,MAAM,EAAEsC,KAAK,KAAKC,MAAM,CAACE,MAAM,GAAG,CAAE;MACpC7C,QAAQ,EAAEA,CAAA,KAAMoC,IAAI,CAACgB,WAAW,CAACV,KAAK,CAAE;MACxCvC,UAAU,EAAEA,CAAA,KAAMiC,IAAI,CAACiB,aAAa,CAACX,KAAK,CAAE;MAC5ClC,QAAQ,EAAEA,QAAS;MACnBF,OAAO,EAAEC,KAAK,IAAIkC,UAAU,CAAClC,KAAK,EAAEmC,KAAK;IAAE,CAC9C,CACqB,CAE5B,CACgB,CAAC;EAEnC,CAAC,CACgB,CACJ,CAAC,GACtB,IAAI,eACR1E,KAAA,CAAAwB,aAAA,CAACT,YAAY,qBACTf,KAAA,CAAAwB,aAAA,CAACjB,iBAAiB;IAAC+D,UAAU,EAAEA;EAAW,CAAE,CAClC,CACb,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","cloneDeep","ReactComponent","DeleteIcon","CloneIcon","ArrowUpIcon","ArrowDownIcon","AddTemplateButton","TemplateIcon","useFieldEffectiveRules","ParentFieldProvider","useModelField","Fields","makeDecoratable","TemplateProvider","CanEditField","ParentValueIndexProvider","useConfirmationDialog","Accordion","Tooltip","MultiValueItemContainer","children","props","actions","createElement","Fragment","Item","Action","icon","trigger","content","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Separator","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","fields","layout","TemplateValueForm","field","rules","canEdit","templates","settings","find","tpl","id","_templateId","name","MultiValueContainer","variant","className","MultiValueDynamicZone","showConfirmation","message","acceptLabel","cancelLabel","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","values","hasValues","length","path","parentName","map","removeValue","key","ValidationContainer","moveValueUp","moveValueDown"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport cloneDeep from \"lodash/cloneDeep.js\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@webiny/icons/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@webiny/icons/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@webiny/icons/expand_more.svg\";\nimport { AddTemplateButton } from \"./AddTemplate.js\";\nimport { TemplateIcon } from \"./TemplateIcon.js\";\nimport { useFieldEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks/index.js\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields.js\";\nimport type {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types.js\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider.js\";\nimport {\n CanEditField,\n ParentValueIndexProvider\n} from \"~/admin/components/ModelFieldProvider/index.js\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\nimport { Accordion, Tooltip } from \"@webiny/admin-ui\";\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n disabled?: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n title: React.ReactNode;\n description: string;\n icon: React.JSX.Element;\n actions?: React.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 <>\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowUpIcon />} content={\"Move up\"} />}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowDownIcon />} content={\"Move down\"} />}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <Accordion.Item.Action.Separator />\n {props.actions ? <>{props.actions}</> : null}\n <Accordion.Item.Action\n icon={<Tooltip trigger={<CloneIcon />} content={\"Duplicate\"} />}\n onClick={() => props.onClone(props.value)}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<DeleteIcon />} content={\"Delete\"} />}\n onClick={props.onDelete}\n />\n </>\n );\n\n return (\n <Accordion.Item\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={props.disabled ? null : actions}\n >\n {children}\n </Accordion.Item>\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 rules = useFieldEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\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 disabled={disabled}\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 variant={\"container\"} className={\"gap-md\"}>\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 <div className={\"flex flex-col gap-y-lg\"}>\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 <CanEditField>\n <AddTemplateButton onTemplate={onTemplate} />\n </CanEditField>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -18,8 +18,8 @@ export interface SingleValueItemContainerProps {
18
18
  title: React.ReactNode;
19
19
  description: string;
20
20
  disabled?: boolean;
21
- icon: JSX.Element;
22
- actions?: JSX.Element;
21
+ icon: React.JSX.Element;
22
+ actions?: React.JSX.Element;
23
23
  template: CmsDynamicZoneTemplate;
24
24
  children: React.ReactNode;
25
25
  }
@@ -74,7 +74,7 @@ export const SingleValueDynamicZone = ({
74
74
  background: "base",
75
75
  variant: "container"
76
76
  }, /*#__PURE__*/React.createElement(SingleValueItemContainer, {
77
- disabled: !disabled,
77
+ disabled: disabled,
78
78
  template: template,
79
79
  value: bind.value,
80
80
  contentModel: contentModel,
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","DeleteIcon","makeDecoratable","useConfirmationDialog","Accordion","Tooltip","AddTemplateButton","TemplateIcon","TemplateProvider","Fields","ParentFieldProvider","useFieldEffectiveRules","ParentValueIndexProvider","ModelFieldProvider","useModelField","SingleValueItemContainer","props","template","actions","children","disabled","accordionActions","createElement","Fragment","Item","Action","icon","trigger","content","onClick","onDelete","title","name","description","SingleValueDynamicZone","bind","contentModel","getBind","field","rules","canEdit","showConfirmation","message","acceptLabel","cancelLabel","onTemplate","onChange","_templateId","id","__typename","templates","settings","value","find","tpl","undefined","Bind","unsetValue","path","parentName","index","background","variant","fields","layout"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { makeDecoratable, useConfirmationDialog } from \"@webiny/app-admin\";\nimport { Accordion, Tooltip } from \"@webiny/admin-ui\";\nimport { AddTemplateButton } from \"./AddTemplate.js\";\nimport { TemplateIcon } from \"./TemplateIcon.js\";\nimport { TemplateProvider } from \"./TemplateProvider.js\";\nimport type {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types.js\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields.js\";\nimport { ParentFieldProvider } from \"~/admin/components/ContentEntryForm/ParentValue.js\";\nimport { useFieldEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport {\n ParentValueIndexProvider,\n ModelFieldProvider,\n useModelField\n} from \"~/admin/components/ModelFieldProvider/index.js\";\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 disabled?: boolean;\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, disabled = false } = props;\n\n const accordionActions = disabled ? null : (\n <>\n {actions ?? null}\n <Accordion.Item.Action\n icon={<Tooltip trigger={<DeleteIcon />} content={\"Delete\"} />}\n onClick={props.onDelete}\n />\n </>\n );\n\n return (\n <Accordion.Item\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n actions={accordionActions}\n >\n {children}\n </Accordion.Item>\n );\n }\n);\n\nexport const SingleValueDynamicZone = ({\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const { field } = useModelField();\n const rules = useFieldEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n\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 background={\"base\"} variant={\"container\"}>\n <SingleValueItemContainer\n disabled={!disabled}\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":[]}
1
+ {"version":3,"names":["React","ReactComponent","DeleteIcon","makeDecoratable","useConfirmationDialog","Accordion","Tooltip","AddTemplateButton","TemplateIcon","TemplateProvider","Fields","ParentFieldProvider","useFieldEffectiveRules","ParentValueIndexProvider","ModelFieldProvider","useModelField","SingleValueItemContainer","props","template","actions","children","disabled","accordionActions","createElement","Fragment","Item","Action","icon","trigger","content","onClick","onDelete","title","name","description","SingleValueDynamicZone","bind","contentModel","getBind","field","rules","canEdit","showConfirmation","message","acceptLabel","cancelLabel","onTemplate","onChange","_templateId","id","__typename","templates","settings","value","find","tpl","undefined","Bind","unsetValue","path","parentName","index","background","variant","fields","layout"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { makeDecoratable, useConfirmationDialog } from \"@webiny/app-admin\";\nimport { Accordion, Tooltip } from \"@webiny/admin-ui\";\nimport { AddTemplateButton } from \"./AddTemplate.js\";\nimport { TemplateIcon } from \"./TemplateIcon.js\";\nimport { TemplateProvider } from \"./TemplateProvider.js\";\nimport type {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types.js\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields.js\";\nimport { ParentFieldProvider } from \"~/admin/components/ContentEntryForm/ParentValue.js\";\nimport { useFieldEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport {\n ParentValueIndexProvider,\n ModelFieldProvider,\n useModelField\n} from \"~/admin/components/ModelFieldProvider/index.js\";\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 disabled?: boolean;\n icon: React.JSX.Element;\n actions?: React.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, disabled = false } = props;\n\n const accordionActions = disabled ? null : (\n <>\n {actions ?? null}\n <Accordion.Item.Action\n icon={<Tooltip trigger={<DeleteIcon />} content={\"Delete\"} />}\n onClick={props.onDelete}\n />\n </>\n );\n\n return (\n <Accordion.Item\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n actions={accordionActions}\n >\n {children}\n </Accordion.Item>\n );\n }\n);\n\nexport const SingleValueDynamicZone = ({\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const { field } = useModelField();\n const rules = useFieldEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n\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 background={\"base\"} variant={\"container\"}>\n <SingleValueItemContainer\n disabled={disabled}\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":[]}
@@ -3,7 +3,7 @@ import type { FontAwesomeIconProps } from "@fortawesome/react-fontawesome";
3
3
  interface TemplateIconProps {
4
4
  icon: string;
5
5
  size?: FontAwesomeIconProps["size"];
6
- style?: React.CSSProperties;
6
+ style?: FontAwesomeIconProps["style"];
7
7
  }
8
8
  export declare const TemplateIcon: ({ icon, size, style }: TemplateIconProps) => React.JSX.Element | null;
9
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":["React","FontAwesomeIcon","normalizeIcon","TemplateIcon","icon","size","style","faIcon","createElement","className"],"sources":["TemplateIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport type { FontAwesomeIconProps } from \"@fortawesome/react-fontawesome\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { normalizeIcon } from \"~/utils/normalizeIcon.js\";\n\ninterface TemplateIconProps {\n icon: string;\n size?: FontAwesomeIconProps[\"size\"];\n style?: React.CSSProperties;\n}\n\nexport const TemplateIcon = ({ icon, size, style }: TemplateIconProps) => {\n const faIcon = normalizeIcon(icon);\n\n return faIcon ? (\n <FontAwesomeIcon\n className={\"text-neutral-xstrong\"}\n icon={faIcon}\n size={size}\n style={style}\n />\n ) : null;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,aAAa;AAQtB,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAyB,CAAC,KAAK;EACtE,MAAMC,MAAM,GAAGL,aAAa,CAACE,IAAI,CAAC;EAElC,OAAOG,MAAM,gBACTP,KAAA,CAAAQ,aAAA,CAACP,eAAe;IACZQ,SAAS,EAAE,sBAAuB;IAClCL,IAAI,EAAEG,MAAO;IACbF,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA;EAAM,CAChB,CAAC,GACF,IAAI;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","FontAwesomeIcon","normalizeIcon","TemplateIcon","icon","size","style","faIcon","createElement","className"],"sources":["TemplateIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport type { FontAwesomeIconProps } from \"@fortawesome/react-fontawesome\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { normalizeIcon } from \"~/utils/normalizeIcon.js\";\n\ninterface TemplateIconProps {\n icon: string;\n size?: FontAwesomeIconProps[\"size\"];\n style?: FontAwesomeIconProps[\"style\"];\n}\n\nexport const TemplateIcon = ({ icon, size, style }: TemplateIconProps) => {\n const faIcon = normalizeIcon(icon);\n\n return faIcon ? (\n <FontAwesomeIcon\n className={\"text-neutral-xstrong\"}\n icon={faIcon}\n size={size}\n style={style}\n />\n ) : null;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,aAAa;AAQtB,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAyB,CAAC,KAAK;EACtE,MAAMC,MAAM,GAAGL,aAAa,CAACE,IAAI,CAAC;EAElC,OAAOG,MAAM,gBACTP,KAAA,CAAAQ,aAAA,CAACP,eAAe;IACZQ,SAAS,EAAE,sBAAuB;IAClCL,IAAI,EAAEG,MAAO;IACbF,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA;EAAM,CAChB,CAAC,GACF,IAAI;AACZ,CAAC","ignoreList":[]}
@@ -9,7 +9,7 @@ export type DynamicZoneContainerProps = {
9
9
  title?: string;
10
10
  description?: string;
11
11
  className?: string;
12
- actions?: JSX.Element;
12
+ actions?: React.JSX.Element;
13
13
  };
14
14
  export declare const DynamicZoneContainer: ((props: DynamicZoneContainerProps) => React.JSX.Element) & {
15
15
  original: (props: DynamicZoneContainerProps) => React.JSX.Element;
@@ -12,7 +12,7 @@ const noBottomPadding = /*#__PURE__*/css(process.env.NODE_ENV === "production" ?
12
12
  styles: ">.webiny-ui-accordion-item__content{padding-bottom:0!important;}"
13
13
  } : {
14
14
  name: "lyg8qk-noBottomPadding",
15
- styles: ">.webiny-ui-accordion-item__content{padding-bottom:0!important;};label:noBottomPadding;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImR5bmFtaWNab25lUmVuZGVyZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCMkIiLCJmaWxlIjoiZHluYW1pY1pvbmVSZW5kZXJlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgdHlwZSB7XG4gICAgQmluZENvbXBvbmVudCxcbiAgICBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcCxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc01vZGVsRmllbGRSZW5kZXJlclBsdWdpbixcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wc1xufSBmcm9tIFwifi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgU2luZ2xlVmFsdWVEeW5hbWljWm9uZSB9IGZyb20gXCIuL1NpbmdsZVZhbHVlRHluYW1pY1pvbmUuanNcIjtcbmltcG9ydCB7IE11bHRpVmFsdWVEeW5hbWljWm9uZSB9IGZyb20gXCIuL011bHRpVmFsdWVEeW5hbWljWm9uZS5qc1wiO1xuaW1wb3J0IHsgQWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MsIGdldEFjY29yZGlvblJlbmRlclNldHRpbmdzIH0gZnJvbSBcIi4uL0FjY29yZGlvblJlbmRlclNldHRpbmdzLmpzXCI7XG5pbXBvcnQgeyBtYWtlRGVjb3JhdGFibGUgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1jb21wb3NpdGlvblwiO1xuaW1wb3J0IHsgQWNjb3JkaW9uLCBGb3JtQ29tcG9uZW50RXJyb3JNZXNzYWdlIH0gZnJvbSBcIkB3ZWJpbnkvYWRtaW4tdWlcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEhvcml6b250YWxSdWxlSWNvbiB9IGZyb20gXCJAd2ViaW55L2ljb25zL2hvcml6b250YWxfcnVsZS5zdmdcIjtcblxuY29uc3Qgbm9Cb3R0b21QYWRkaW5nID0gY3NzYFxuICAgID4gLndlYmlueS11aS1hY2NvcmRpb24taXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuYDtcblxuZXhwb3J0IHR5cGUgRHluYW1pY1pvbmVDb250YWluZXJQcm9wcyA9IHtcbiAgICBmaWVsZDogQ21zTW9kZWxGaWVsZDtcbiAgICBnZXRCaW5kOiAoaW5kZXg/OiBudW1iZXIsIGtleT86IHN0cmluZykgPT4gQmluZENvbXBvbmVudDtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGJpbmQ6IEJpbmRDb21wb25lbnRSZW5kZXJQcm9wO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGFjdGlvbnM/OiBKU1guRWxlbWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBEeW5hbWljWm9uZUNvbnRhaW5lciA9IG1ha2VEZWNvcmF0YWJsZShcbiAgICBcIkR5bmFtaWNab25lQ29udGFpbmVyXCIsXG4gICAgKHByb3BzOiBEeW5hbWljWm9uZUNvbnRhaW5lclByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgYmluZDoge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHsgaXNWYWxpZCwgbWVzc2FnZSB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGl0bGUgPSBmaWVsZC5sYWJlbCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZmllbGQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdENsYXNzTmFtZSA9IGZpZWxkLmxpc3QgPyBub0JvdHRvbVBhZGRpbmcgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHsgb3BlbiB9ID0gZ2V0QWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MoZmllbGQpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb24gYmFja2dyb3VuZD17XCJiYXNlXCJ9IHZhcmlhbnQ9e1wiY29udGFpbmVyXCJ9PlxuICAgICAgICAgICAgICAgICAgICA8QWNjb3JkaW9uLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBY2NvcmRpb24uSXRlbS5JY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtcImFjY2VudFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjY29yZGlvbiBJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEhvcml6b250YWxSdWxlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUgfHwgZGVmYXVsdENsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRPcGVuPXtvcGVufVxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucz17cHJvcHMuYWN0aW9ucyA/PyBudWxsfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgIDwvQWNjb3JkaW9uLkl0ZW0+XG4gICAgICAgICAgICAgICAgPC9BY2NvcmRpb24+XG4gICAgICAgICAgICAgICAge2lzVmFsaWQgPT09IGZhbHNlICYmIDxGb3JtQ29tcG9uZW50RXJyb3JNZXNzYWdlIHRleHQ9e21lc3NhZ2V9IC8+fVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuY29uc3QgRHluYW1pY1pvbmVDb250ZW50ID0gKHsgZmllbGQsIGdldEJpbmQsIGNvbnRlbnRNb2RlbCB9OiBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGZpZWxkLnNldHRpbmdzPy50ZW1wbGF0ZXMgfHwgW107XG4gICAgaWYgKCF0ZW1wbGF0ZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgICAgIGBTa2lwcGluZyBcIiR7ZmllbGQuZmllbGRJZH1cIiBmaWVsZC4gVGhlcmUgYXJlIG5vIHRlbXBsYXRlcyBkZWZpbmVkIGZvciB0aGlzIGR5bmFtaWMgem9uZS5gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKCk7XG5cbiAgICBjb25zdCBDb21wb25lbnQgPSBmaWVsZC5saXN0ID8gTXVsdGlWYWx1ZUR5bmFtaWNab25lIDogU2luZ2xlVmFsdWVEeW5hbWljWm9uZTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxCaW5kPlxuICAgICAgICAgICAge2JpbmQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxCaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RHluYW1pY1pvbmVDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZD17YmluZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRCaW5kPXtnZXRCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZD17YmluZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRCaW5kPXtnZXRCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50TW9kZWw9e2NvbnRlbnRNb2RlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EeW5hbWljWm9uZUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvQmluZD5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtaWNab25lRmllbGRSZW5kZXJlcjogQ21zTW9kZWxGaWVsZFJlbmRlcmVyUGx1Z2luID0ge1xuICAgIHR5cGU6IFwiY21zLWVkaXRvci1maWVsZC1yZW5kZXJlclwiLFxuICAgIG5hbWU6IFwiY21zLWVkaXRvci1maWVsZC1yZW5kZXJlci1keW5hbWljLXpvbmVcIixcbiAgICByZW5kZXJlcjoge1xuICAgICAgICByZW5kZXJlck5hbWU6IFwiZHluYW1pY1pvbmVcIixcbiAgICAgICAgbmFtZTogXCJEeW5hbWljIFpvbmVcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiUmVuZGVycyBhIGR5bmFtaWMgem9uZS5cIixcbiAgICAgICAgY2FuVXNlKHsgZmllbGQgfSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgPT09IFwiZHluYW1pY1pvbmVcIjtcbiAgICAgICAgfSxcbiAgICAgICAgcmVuZGVyKHByb3BzKSB7XG4gICAgICAgICAgICByZXR1cm4gPER5bmFtaWNab25lQ29udGVudCB7Li4ucHJvcHN9IC8+O1xuICAgICAgICB9LFxuICAgICAgICByZW5kZXJTZXR0aW5ncyh7IGZpZWxkIH0pIHtcbiAgICAgICAgICAgIHJldHVybiA8QWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MgZmllbGQ9e2ZpZWxkfSAvPjtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0= */",
15
+ styles: ">.webiny-ui-accordion-item__content{padding-bottom:0!important;};label:noBottomPadding;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImR5bmFtaWNab25lUmVuZGVyZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCMkIiLCJmaWxlIjoiZHluYW1pY1pvbmVSZW5kZXJlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgdHlwZSB7XG4gICAgQmluZENvbXBvbmVudCxcbiAgICBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcCxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc01vZGVsRmllbGRSZW5kZXJlclBsdWdpbixcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wc1xufSBmcm9tIFwifi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgU2luZ2xlVmFsdWVEeW5hbWljWm9uZSB9IGZyb20gXCIuL1NpbmdsZVZhbHVlRHluYW1pY1pvbmUuanNcIjtcbmltcG9ydCB7IE11bHRpVmFsdWVEeW5hbWljWm9uZSB9IGZyb20gXCIuL011bHRpVmFsdWVEeW5hbWljWm9uZS5qc1wiO1xuaW1wb3J0IHsgQWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MsIGdldEFjY29yZGlvblJlbmRlclNldHRpbmdzIH0gZnJvbSBcIi4uL0FjY29yZGlvblJlbmRlclNldHRpbmdzLmpzXCI7XG5pbXBvcnQgeyBtYWtlRGVjb3JhdGFibGUgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1jb21wb3NpdGlvblwiO1xuaW1wb3J0IHsgQWNjb3JkaW9uLCBGb3JtQ29tcG9uZW50RXJyb3JNZXNzYWdlIH0gZnJvbSBcIkB3ZWJpbnkvYWRtaW4tdWlcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEhvcml6b250YWxSdWxlSWNvbiB9IGZyb20gXCJAd2ViaW55L2ljb25zL2hvcml6b250YWxfcnVsZS5zdmdcIjtcblxuY29uc3Qgbm9Cb3R0b21QYWRkaW5nID0gY3NzYFxuICAgID4gLndlYmlueS11aS1hY2NvcmRpb24taXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuYDtcblxuZXhwb3J0IHR5cGUgRHluYW1pY1pvbmVDb250YWluZXJQcm9wcyA9IHtcbiAgICBmaWVsZDogQ21zTW9kZWxGaWVsZDtcbiAgICBnZXRCaW5kOiAoaW5kZXg/OiBudW1iZXIsIGtleT86IHN0cmluZykgPT4gQmluZENvbXBvbmVudDtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGJpbmQ6IEJpbmRDb21wb25lbnRSZW5kZXJQcm9wO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGFjdGlvbnM/OiBSZWFjdC5KU1guRWxlbWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBEeW5hbWljWm9uZUNvbnRhaW5lciA9IG1ha2VEZWNvcmF0YWJsZShcbiAgICBcIkR5bmFtaWNab25lQ29udGFpbmVyXCIsXG4gICAgKHByb3BzOiBEeW5hbWljWm9uZUNvbnRhaW5lclByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgYmluZDoge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHsgaXNWYWxpZCwgbWVzc2FnZSB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGl0bGUgPSBmaWVsZC5sYWJlbCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZmllbGQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdENsYXNzTmFtZSA9IGZpZWxkLmxpc3QgPyBub0JvdHRvbVBhZGRpbmcgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHsgb3BlbiB9ID0gZ2V0QWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MoZmllbGQpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb24gYmFja2dyb3VuZD17XCJiYXNlXCJ9IHZhcmlhbnQ9e1wiY29udGFpbmVyXCJ9PlxuICAgICAgICAgICAgICAgICAgICA8QWNjb3JkaW9uLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBY2NvcmRpb24uSXRlbS5JY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtcImFjY2VudFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjY29yZGlvbiBJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEhvcml6b250YWxSdWxlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUgfHwgZGVmYXVsdENsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRPcGVuPXtvcGVufVxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucz17cHJvcHMuYWN0aW9ucyA/PyBudWxsfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgIDwvQWNjb3JkaW9uLkl0ZW0+XG4gICAgICAgICAgICAgICAgPC9BY2NvcmRpb24+XG4gICAgICAgICAgICAgICAge2lzVmFsaWQgPT09IGZhbHNlICYmIDxGb3JtQ29tcG9uZW50RXJyb3JNZXNzYWdlIHRleHQ9e21lc3NhZ2V9IC8+fVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuY29uc3QgRHluYW1pY1pvbmVDb250ZW50ID0gKHsgZmllbGQsIGdldEJpbmQsIGNvbnRlbnRNb2RlbCB9OiBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGZpZWxkLnNldHRpbmdzPy50ZW1wbGF0ZXMgfHwgW107XG4gICAgaWYgKCF0ZW1wbGF0ZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgICAgIGBTa2lwcGluZyBcIiR7ZmllbGQuZmllbGRJZH1cIiBmaWVsZC4gVGhlcmUgYXJlIG5vIHRlbXBsYXRlcyBkZWZpbmVkIGZvciB0aGlzIGR5bmFtaWMgem9uZS5gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKCk7XG5cbiAgICBjb25zdCBDb21wb25lbnQgPSBmaWVsZC5saXN0ID8gTXVsdGlWYWx1ZUR5bmFtaWNab25lIDogU2luZ2xlVmFsdWVEeW5hbWljWm9uZTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxCaW5kPlxuICAgICAgICAgICAge2JpbmQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxCaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RHluYW1pY1pvbmVDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZD17YmluZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRCaW5kPXtnZXRCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZD17YmluZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRCaW5kPXtnZXRCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50TW9kZWw9e2NvbnRlbnRNb2RlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EeW5hbWljWm9uZUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvQmluZD5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtaWNab25lRmllbGRSZW5kZXJlcjogQ21zTW9kZWxGaWVsZFJlbmRlcmVyUGx1Z2luID0ge1xuICAgIHR5cGU6IFwiY21zLWVkaXRvci1maWVsZC1yZW5kZXJlclwiLFxuICAgIG5hbWU6IFwiY21zLWVkaXRvci1maWVsZC1yZW5kZXJlci1keW5hbWljLXpvbmVcIixcbiAgICByZW5kZXJlcjoge1xuICAgICAgICByZW5kZXJlck5hbWU6IFwiZHluYW1pY1pvbmVcIixcbiAgICAgICAgbmFtZTogXCJEeW5hbWljIFpvbmVcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiUmVuZGVycyBhIGR5bmFtaWMgem9uZS5cIixcbiAgICAgICAgY2FuVXNlKHsgZmllbGQgfSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgPT09IFwiZHluYW1pY1pvbmVcIjtcbiAgICAgICAgfSxcbiAgICAgICAgcmVuZGVyKHByb3BzKSB7XG4gICAgICAgICAgICByZXR1cm4gPER5bmFtaWNab25lQ29udGVudCB7Li4ucHJvcHN9IC8+O1xuICAgICAgICB9LFxuICAgICAgICByZW5kZXJTZXR0aW5ncyh7IGZpZWxkIH0pIHtcbiAgICAgICAgICAgIHJldHVybiA8QWNjb3JkaW9uUmVuZGVyU2V0dGluZ3MgZmllbGQ9e2ZpZWxkfSAvPjtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0= */",
16
16
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
17
17
  });
18
18
  export const DynamicZoneContainer = makeDecoratable("DynamicZoneContainer", props => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","SingleValueDynamicZone","MultiValueDynamicZone","AccordionRenderSettings","getAccordionRenderSettings","makeDecoratable","Accordion","FormComponentErrorMessage","ReactComponent","HorizontalRuleIcon","noBottomPadding","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DynamicZoneContainer","props","field","bind","validation","isValid","message","title","label","description","className","children","defaultClassName","list","undefined","open","createElement","Fragment","background","variant","Item","icon","Icon","color","defaultOpen","actions","text","DynamicZoneContent","getBind","contentModel","templates","settings","length","console","info","fieldId","Bind","Component","ValidationContainer","dynamicZoneFieldRenderer","type","renderer","rendererName","canUse","render","renderSettings"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"@emotion/css\";\nimport type {\n BindComponent,\n BindComponentRenderProp,\n CmsModel,\n CmsModelField,\n CmsModelFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types.js\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone.js\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone.js\";\nimport { AccordionRenderSettings, getAccordionRenderSettings } from \"../AccordionRenderSettings.js\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Accordion, FormComponentErrorMessage } from \"@webiny/admin-ui\";\nimport { ReactComponent as HorizontalRuleIcon } from \"@webiny/icons/horizontal_rule.svg\";\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.description,\n className,\n children\n } = props;\n\n const defaultClassName = field.list ? noBottomPadding : undefined;\n const { open } = getAccordionRenderSettings(field);\n\n return (\n <>\n <Accordion background={\"base\"} variant={\"container\"}>\n <Accordion.Item\n icon={\n <Accordion.Item.Icon\n color={\"accent\"}\n label=\"Accordion Item\"\n icon={<HorizontalRuleIcon />}\n />\n }\n title={title}\n description={description}\n className={className || defaultClassName}\n defaultOpen={open}\n actions={props.actions ?? null}\n >\n {children}\n </Accordion.Item>\n </Accordion>\n {isValid === false && <FormComponentErrorMessage text={message} />}\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.list ? 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","css","SingleValueDynamicZone","MultiValueDynamicZone","AccordionRenderSettings","getAccordionRenderSettings","makeDecoratable","Accordion","FormComponentErrorMessage","ReactComponent","HorizontalRuleIcon","noBottomPadding","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DynamicZoneContainer","props","field","bind","validation","isValid","message","title","label","description","className","children","defaultClassName","list","undefined","open","createElement","Fragment","background","variant","Item","icon","Icon","color","defaultOpen","actions","text","DynamicZoneContent","getBind","contentModel","templates","settings","length","console","info","fieldId","Bind","Component","ValidationContainer","dynamicZoneFieldRenderer","type","renderer","rendererName","canUse","render","renderSettings"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"@emotion/css\";\nimport type {\n BindComponent,\n BindComponentRenderProp,\n CmsModel,\n CmsModelField,\n CmsModelFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types.js\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone.js\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone.js\";\nimport { AccordionRenderSettings, getAccordionRenderSettings } from \"../AccordionRenderSettings.js\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Accordion, FormComponentErrorMessage } from \"@webiny/admin-ui\";\nimport { ReactComponent as HorizontalRuleIcon } from \"@webiny/icons/horizontal_rule.svg\";\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?: React.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.description,\n className,\n children\n } = props;\n\n const defaultClassName = field.list ? noBottomPadding : undefined;\n const { open } = getAccordionRenderSettings(field);\n\n return (\n <>\n <Accordion background={\"base\"} variant={\"container\"}>\n <Accordion.Item\n icon={\n <Accordion.Item.Icon\n color={\"accent\"}\n label=\"Accordion Item\"\n icon={<HorizontalRuleIcon />}\n />\n }\n title={title}\n description={description}\n className={className || defaultClassName}\n defaultOpen={open}\n actions={props.actions ?? null}\n >\n {children}\n </Accordion.Item>\n </Accordion>\n {isValid === false && <FormComponentErrorMessage text={message} />}\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.list ? 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":[]}
@@ -11,7 +11,7 @@ const Button = /*#__PURE__*/_styled("a", process.env.NODE_ENV === "production" ?
11
11
  styles: "display:flex;height:35px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0.1px;text-transform:uppercase;align-items:center;justify-content:center;cursor:pointer;color:var(--mdc-theme-primary); > svg{margin-right:10px;fill:var(--mdc-theme-primary);}&:hover{text-decoration:underline;}"
12
12
  } : {
13
13
  name: "q2fp67",
14
- styles: "display:flex;height:35px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0.1px;text-transform:uppercase;align-items:center;justify-content:center;cursor:pointer;color:var(--mdc-theme-primary); > svg{margin-right:10px;fill:var(--mdc-theme-primary);}&:hover{text-decoration:underline;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbkxpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdvQiIsImZpbGUiOiJCdXR0b25MaW5rLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBCdXR0b246IGFueSA9IHN0eWxlZChcImFcIikoe1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGhlaWdodDogMzUsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgICBsaW5lSGVpZ2h0OiBcIjIwcHhcIixcbiAgICBsZXR0ZXJTcGFjaW5nOiBcIjAuMXB4XCIsXG4gICAgdGV4dFRyYW5zZm9ybTogXCJ1cHBlcmNhc2VcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgY29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpXCIsXG4gICAgXCIgPiBzdmdcIjoge1xuICAgICAgICBtYXJnaW5SaWdodDogXCIxMHB4XCIsXG4gICAgICAgIGZpbGw6IFwidmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpXCJcbiAgICB9LFxuICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiXG4gICAgfVxufSk7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiKSgoeyBtYXhXaWR0aCB9OiBQcm9wcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1heFdpZHRoOiBtYXhXaWR0aCB8fCBcIjE0MHB4XCIsXG4gICAgICAgIHdpZHRoOiBcImF1dG9cIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICBcIiYuaGFzLXRvb2x0aXBcIjoge1xuICAgICAgICAgICAgW0J1dHRvbl06IHtcbiAgICAgICAgICAgICAgICBcIj5zcGFuXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgICAgICAgICBcIiA+IHN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogXCIxMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCImLmRpc2FibGVkXCI6IHtcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgICAgY3Vyc29yOiBcIm5vdC1hbGxvd2VkXCIsXG4gICAgICAgICAgICBbQnV0dG9uXToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiLFxuICAgICAgICAgICAgICAgIFwiPnN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn0pO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG1heFdpZHRoPzogYCR7c3RyaW5nfXB4YDtcbn1cblxuaW50ZXJmYWNlIFByb3BzV2l0aENsaWNrIGV4dGVuZHMgUHJvcHMge1xuICAgIGhyZWY/OiBuZXZlcjtcbiAgICB0YXJnZXQ/OiBuZXZlcjtcbiAgICBvbkNsaWNrOiAoZXY6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBQcm9wc1dpdGhIcmVmIGV4dGVuZHMgUHJvcHMge1xuICAgIGhyZWY6IHN0cmluZztcbiAgICB0YXJnZXQ6IFwiX2JsYW5rXCIgfCBzdHJpbmc7XG4gICAgb25DbGljaz86IG5ldmVyO1xufVxuXG5leHBvcnQgY29uc3QgQnV0dG9uTGluayA9IChwcm9wczogUHJvcHNXaXRoQ2xpY2sgfCBQcm9wc1dpdGhIcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgaHJlZiwgdGFyZ2V0LCBvbkNsaWNrLCBjbGFzc05hbWUsIC4uLnN0eWxlcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLnN0eWxlc30+XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9e2hyZWZ9IHRhcmdldD17dGFyZ2V0fSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbn07XG4iXX0= */",
14
+ styles: "display:flex;height:35px;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0.1px;text-transform:uppercase;align-items:center;justify-content:center;cursor:pointer;color:var(--mdc-theme-primary); > svg{margin-right:10px;fill:var(--mdc-theme-primary);}&:hover{text-decoration:underline;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbkxpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdvQiIsImZpbGUiOiJCdXR0b25MaW5rLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBCdXR0b246IGFueSA9IHN0eWxlZChcImFcIikoe1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGhlaWdodDogMzUsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgICBsaW5lSGVpZ2h0OiBcIjIwcHhcIixcbiAgICBsZXR0ZXJTcGFjaW5nOiBcIjAuMXB4XCIsXG4gICAgdGV4dFRyYW5zZm9ybTogXCJ1cHBlcmNhc2VcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgY29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpXCIsXG4gICAgXCIgPiBzdmdcIjoge1xuICAgICAgICBtYXJnaW5SaWdodDogXCIxMHB4XCIsXG4gICAgICAgIGZpbGw6IFwidmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpXCJcbiAgICB9LFxuICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiXG4gICAgfVxufSk7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiKSgoeyBtYXhXaWR0aCB9OiBQcm9wcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1heFdpZHRoOiBtYXhXaWR0aCB8fCBcIjE0MHB4XCIsXG4gICAgICAgIHdpZHRoOiBcImF1dG9cIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIgYXMgY29uc3QsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICBcIiYuaGFzLXRvb2x0aXBcIjoge1xuICAgICAgICAgICAgW0J1dHRvbl06IHtcbiAgICAgICAgICAgICAgICBcIj5zcGFuXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgICAgICAgICBcIiA+IHN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogXCIxMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCImLmRpc2FibGVkXCI6IHtcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiIGFzIGNvbnN0LFxuICAgICAgICAgICAgY3Vyc29yOiBcIm5vdC1hbGxvd2VkXCIsXG4gICAgICAgICAgICBbQnV0dG9uXToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiLFxuICAgICAgICAgICAgICAgIFwiPnN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn0pO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG1heFdpZHRoPzogYCR7c3RyaW5nfXB4YDtcbn1cblxuaW50ZXJmYWNlIFByb3BzV2l0aENsaWNrIGV4dGVuZHMgUHJvcHMge1xuICAgIGhyZWY/OiBuZXZlcjtcbiAgICB0YXJnZXQ/OiBuZXZlcjtcbiAgICBvbkNsaWNrOiAoZXY6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBQcm9wc1dpdGhIcmVmIGV4dGVuZHMgUHJvcHMge1xuICAgIGhyZWY6IHN0cmluZztcbiAgICB0YXJnZXQ6IFwiX2JsYW5rXCIgfCBzdHJpbmc7XG4gICAgb25DbGljaz86IG5ldmVyO1xufVxuXG5leHBvcnQgY29uc3QgQnV0dG9uTGluayA9IChwcm9wczogUHJvcHNXaXRoQ2xpY2sgfCBQcm9wc1dpdGhIcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgaHJlZiwgdGFyZ2V0LCBvbkNsaWNrLCBjbGFzc05hbWUsIC4uLnN0eWxlcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLnN0eWxlc30+XG4gICAgICAgICAgICA8QnV0dG9uIGhyZWY9e2hyZWZ9IHRhcmdldD17dGFyZ2V0fSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbn07XG4iXX0= */",
15
15
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
16
16
  });
17
17
  const Container = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
@@ -52,7 +52,7 @@ const Container = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "producti
52
52
  }
53
53
  }
54
54
  };
55
- }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbkxpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCa0IiLCJmaWxlIjoiQnV0dG9uTGluay50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgQnV0dG9uOiBhbnkgPSBzdHlsZWQoXCJhXCIpKHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBoZWlnaHQ6IDM1LFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBmb250U2l6ZTogXCIxNHB4XCIsXG4gICAgbGluZUhlaWdodDogXCIyMHB4XCIsXG4gICAgbGV0dGVyU3BhY2luZzogXCIwLjFweFwiLFxuICAgIHRleHRUcmFuc2Zvcm06IFwidXBwZXJjYXNlXCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiLFxuICAgIFwiID4gc3ZnXCI6IHtcbiAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMTBweFwiLFxuICAgICAgICBmaWxsOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiXG4gICAgfSxcbiAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIlxuICAgIH1cbn0pO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQoXCJkaXZcIikoKHsgbWF4V2lkdGggfTogUHJvcHMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBtYXhXaWR0aDogbWF4V2lkdGggfHwgXCIxNDBweFwiLFxuICAgICAgICB3aWR0aDogXCJhdXRvXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgXCImLmhhcy10b29sdGlwXCI6IHtcbiAgICAgICAgICAgIFtCdXR0b25dOiB7XG4gICAgICAgICAgICAgICAgXCI+c3BhblwiOiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgICAgICAgXCIgPiBzdmdcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMTBweFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5kaXNhYmxlZFwiOiB7XG4gICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICAgIGN1cnNvcjogXCJub3QtYWxsb3dlZFwiLFxuICAgICAgICAgICAgW0J1dHRvbl06IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIixcbiAgICAgICAgICAgICAgICBcIj5zdmdcIjoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59KTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBtYXhXaWR0aD86IGAke3N0cmluZ31weGA7XG59XG5cbmludGVyZmFjZSBQcm9wc1dpdGhDbGljayBleHRlbmRzIFByb3BzIHtcbiAgICBocmVmPzogbmV2ZXI7XG4gICAgdGFyZ2V0PzogbmV2ZXI7XG4gICAgb25DbGljazogKGV2OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgUHJvcHNXaXRoSHJlZiBleHRlbmRzIFByb3BzIHtcbiAgICBocmVmOiBzdHJpbmc7XG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiIHwgc3RyaW5nO1xuICAgIG9uQ2xpY2s/OiBuZXZlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkxpbmsgPSAocHJvcHM6IFByb3BzV2l0aENsaWNrIHwgUHJvcHNXaXRoSHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGhyZWYsIHRhcmdldCwgb25DbGljaywgY2xhc3NOYW1lLCAuLi5zdHlsZXMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5zdHlsZXN9PlxuICAgICAgICAgICAgPEJ1dHRvbiBocmVmPXtocmVmfSB0YXJnZXQ9e3RhcmdldH0gb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICk7XG59O1xuIl19 */");
55
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbkxpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCa0IiLCJmaWxlIjoiQnV0dG9uTGluay50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgQnV0dG9uOiBhbnkgPSBzdHlsZWQoXCJhXCIpKHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBoZWlnaHQ6IDM1LFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBmb250U2l6ZTogXCIxNHB4XCIsXG4gICAgbGluZUhlaWdodDogXCIyMHB4XCIsXG4gICAgbGV0dGVyU3BhY2luZzogXCIwLjFweFwiLFxuICAgIHRleHRUcmFuc2Zvcm06IFwidXBwZXJjYXNlXCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiLFxuICAgIFwiID4gc3ZnXCI6IHtcbiAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMTBweFwiLFxuICAgICAgICBmaWxsOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiXG4gICAgfSxcbiAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIlxuICAgIH1cbn0pO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQoXCJkaXZcIikoKHsgbWF4V2lkdGggfTogUHJvcHMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBtYXhXaWR0aDogbWF4V2lkdGggfHwgXCIxNDBweFwiLFxuICAgICAgICB3aWR0aDogXCJhdXRvXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiIGFzIGNvbnN0LFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgXCImLmhhcy10b29sdGlwXCI6IHtcbiAgICAgICAgICAgIFtCdXR0b25dOiB7XG4gICAgICAgICAgICAgICAgXCI+c3BhblwiOiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgICAgICAgXCIgPiBzdmdcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMTBweFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5kaXNhYmxlZFwiOiB7XG4gICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIiBhcyBjb25zdCxcbiAgICAgICAgICAgIGN1cnNvcjogXCJub3QtYWxsb3dlZFwiLFxuICAgICAgICAgICAgW0J1dHRvbl06IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIixcbiAgICAgICAgICAgICAgICBcIj5zdmdcIjoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59KTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBtYXhXaWR0aD86IGAke3N0cmluZ31weGA7XG59XG5cbmludGVyZmFjZSBQcm9wc1dpdGhDbGljayBleHRlbmRzIFByb3BzIHtcbiAgICBocmVmPzogbmV2ZXI7XG4gICAgdGFyZ2V0PzogbmV2ZXI7XG4gICAgb25DbGljazogKGV2OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgUHJvcHNXaXRoSHJlZiBleHRlbmRzIFByb3BzIHtcbiAgICBocmVmOiBzdHJpbmc7XG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiIHwgc3RyaW5nO1xuICAgIG9uQ2xpY2s/OiBuZXZlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkxpbmsgPSAocHJvcHM6IFByb3BzV2l0aENsaWNrIHwgUHJvcHNXaXRoSHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGhyZWYsIHRhcmdldCwgb25DbGljaywgY2xhc3NOYW1lLCAuLi5zdHlsZXMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5zdHlsZXN9PlxuICAgICAgICAgICAgPEJ1dHRvbiBocmVmPXtocmVmfSB0YXJnZXQ9e3RhcmdldH0gb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICk7XG59O1xuIl19 */");
56
56
  export const ButtonLink = props => {
57
57
  const {
58
58
  children,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Button","_styled","process","env","NODE_ENV","target","label","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Container","maxWidth","width","display","flexDirection","alignItems","justifyContent","marginRight","pointerEvents","cursor","color","ButtonLink","props","children","href","onClick","className","createElement","Object","assign"],"sources":["ButtonLink.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport React from \"react\";\n\nconst Button: any = styled(\"a\")({\n display: \"flex\",\n height: 35,\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"20px\",\n letterSpacing: \"0.1px\",\n textTransform: \"uppercase\",\n alignItems: \"center\",\n justifyContent: \"center\",\n cursor: \"pointer\",\n color: \"var(--mdc-theme-primary)\",\n \" > svg\": {\n marginRight: \"10px\",\n fill: \"var(--mdc-theme-primary)\"\n },\n \"&:hover\": {\n textDecoration: \"underline\"\n }\n});\n\nconst Container = styled(\"div\")(({ maxWidth }: Props) => {\n return {\n maxWidth: maxWidth || \"140px\",\n width: \"auto\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"&.has-tooltip\": {\n [Button]: {\n \">span\": {\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n \" > svg\": {\n marginRight: \"10px\"\n }\n }\n }\n },\n \"&.disabled\": {\n pointerEvents: \"none\",\n cursor: \"not-allowed\",\n [Button]: {\n color: \"var(--mdc-theme-on-background)\",\n \">svg\": {\n color: \"var(--mdc-theme-on-background)\"\n }\n }\n }\n };\n});\n\ninterface Props {\n children: React.ReactNode;\n className?: string;\n maxWidth?: `${string}px`;\n}\n\ninterface PropsWithClick extends Props {\n href?: never;\n target?: never;\n onClick: (ev: React.MouseEvent) => void;\n}\n\ninterface PropsWithHref extends Props {\n href: string;\n target: \"_blank\" | string;\n onClick?: never;\n}\n\nexport const ButtonLink = (props: PropsWithClick | PropsWithHref) => {\n const { children, href, target, onClick, className, ...styles } = props;\n return (\n <Container className={className} {...styles}>\n <Button href={href} target={target} onClick={onClick}>\n {children}\n </Button>\n </Container>\n );\n};\n"],"mappings":";;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,MAAW,gBAAGC,OAAA,CAAO,GAAG,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAC;AAAA,CAmB9B,CAAC;AAEF,MAAMC,SAAS,gBAAGV,OAAA,CAAO,KAAK,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAC,CAAC;EAAEM;AAAgB,CAAC,KAAK;EACrD,OAAO;IACHA,QAAQ,EAAEA,QAAQ,IAAI,OAAO;IAC7BC,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE;MACb,CAACjB,MAAM,GAAG;QACN,OAAO,EAAE;UACLgB,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxBH,OAAO,EAAE,MAAM;UACf,QAAQ,EAAE;YACNI,WAAW,EAAE;UACjB;QACJ;MACJ;IACJ,CAAC;IACD,YAAY,EAAE;MACVC,aAAa,EAAE,MAAM;MACrBC,MAAM,EAAE,aAAa;MACrB,CAACpB,MAAM,GAAG;QACNqB,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE;UACJA,KAAK,EAAE;QACX;MACJ;IACJ;EACJ,CAAC;AACL,CAAC,EAAAnB,OAAA,CAAAC,GAAA,CAAAC,QAAA,mxGAAC;AAoBF,OAAO,MAAMkB,UAAU,GAAIC,KAAqC,IAAK;EACjE,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEpB,MAAM;IAAEqB,OAAO;IAAEC,SAAS;IAAE,GAAGnB;EAAO,CAAC,GAAGe,KAAK;EACvE,oBACIxB,KAAA,CAAA6B,aAAA,CAACjB,SAAS,EAAAkB,MAAA,CAAAC,MAAA;IAACH,SAAS,EAAEA;EAAU,GAAKnB,MAAM,gBACvCT,KAAA,CAAA6B,aAAA,CAAC5B,MAAM;IAACyB,IAAI,EAAEA,IAAK;IAACpB,MAAM,EAAEA,MAAO;IAACqB,OAAO,EAAEA;EAAQ,GAChDF,QACG,CACD,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Button","_styled","process","env","NODE_ENV","target","label","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Container","maxWidth","width","display","flexDirection","alignItems","justifyContent","marginRight","pointerEvents","cursor","color","ButtonLink","props","children","href","onClick","className","createElement","Object","assign"],"sources":["ButtonLink.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport React from \"react\";\n\nconst Button: any = styled(\"a\")({\n display: \"flex\",\n height: 35,\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"20px\",\n letterSpacing: \"0.1px\",\n textTransform: \"uppercase\",\n alignItems: \"center\",\n justifyContent: \"center\",\n cursor: \"pointer\",\n color: \"var(--mdc-theme-primary)\",\n \" > svg\": {\n marginRight: \"10px\",\n fill: \"var(--mdc-theme-primary)\"\n },\n \"&:hover\": {\n textDecoration: \"underline\"\n }\n});\n\nconst Container = styled(\"div\")(({ maxWidth }: Props) => {\n return {\n maxWidth: maxWidth || \"140px\",\n width: \"auto\",\n display: \"flex\",\n flexDirection: \"row\" as const,\n alignItems: \"center\",\n justifyContent: \"center\",\n \"&.has-tooltip\": {\n [Button]: {\n \">span\": {\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n \" > svg\": {\n marginRight: \"10px\"\n }\n }\n }\n },\n \"&.disabled\": {\n pointerEvents: \"none\" as const,\n cursor: \"not-allowed\",\n [Button]: {\n color: \"var(--mdc-theme-on-background)\",\n \">svg\": {\n color: \"var(--mdc-theme-on-background)\"\n }\n }\n }\n };\n});\n\ninterface Props {\n children: React.ReactNode;\n className?: string;\n maxWidth?: `${string}px`;\n}\n\ninterface PropsWithClick extends Props {\n href?: never;\n target?: never;\n onClick: (ev: React.MouseEvent) => void;\n}\n\ninterface PropsWithHref extends Props {\n href: string;\n target: \"_blank\" | string;\n onClick?: never;\n}\n\nexport const ButtonLink = (props: PropsWithClick | PropsWithHref) => {\n const { children, href, target, onClick, className, ...styles } = props;\n return (\n <Container className={className} {...styles}>\n <Button href={href} target={target} onClick={onClick}>\n {children}\n </Button>\n </Container>\n );\n};\n"],"mappings":";;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,MAAW,gBAAGC,OAAA,CAAO,GAAG,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAC;AAAA,CAmB9B,CAAC;AAEF,MAAMC,SAAS,gBAAGV,OAAA,CAAO,KAAK,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAC,CAAC;EAAEM;AAAgB,CAAC,KAAK;EACrD,OAAO;IACHA,QAAQ,EAAEA,QAAQ,IAAI,OAAO;IAC7BC,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,KAAc;IAC7BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE;MACb,CAACjB,MAAM,GAAG;QACN,OAAO,EAAE;UACLgB,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxBH,OAAO,EAAE,MAAM;UACf,QAAQ,EAAE;YACNI,WAAW,EAAE;UACjB;QACJ;MACJ;IACJ,CAAC;IACD,YAAY,EAAE;MACVC,aAAa,EAAE,MAAe;MAC9BC,MAAM,EAAE,aAAa;MACrB,CAACpB,MAAM,GAAG;QACNqB,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE;UACJA,KAAK,EAAE;QACX;MACJ;IACJ;EACJ,CAAC;AACL,CAAC,EAAAnB,OAAA,CAAAC,GAAA,CAAAC,QAAA,2yGAAC;AAoBF,OAAO,MAAMkB,UAAU,GAAIC,KAAqC,IAAK;EACjE,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEpB,MAAM;IAAEqB,OAAO;IAAEC,SAAS;IAAE,GAAGnB;EAAO,CAAC,GAAGe,KAAK;EACvE,oBACIxB,KAAA,CAAA6B,aAAA,CAACjB,SAAS,EAAAkB,MAAA,CAAAC,MAAA;IAACH,SAAS,EAAEA;EAAU,GAAKnB,MAAM,gBACvCT,KAAA,CAAA6B,aAAA,CAAC5B,MAAM;IAACyB,IAAI,EAAEA,IAAK;IAACpB,MAAM,EAAEA,MAAO;IAACqB,OAAO,EAAEA;EAAQ,GAChDF,QACG,CACD,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useEffect, useRef, useState } from "react";
1
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
2
  import { ContentEntryProvider } from "../../../../views/contentEntries/ContentEntry/ContentEntryContext.js";
3
3
  import { FoldersProvider } from "@webiny/app-aco/contexts/folders.js";
4
4
  import { ContentEntriesProvider } from "../../../../views/contentEntries/ContentEntriesContext.js";
@@ -17,6 +17,9 @@ import { Drawer, OverlayLoader } from "@webiny/admin-ui";
17
17
  import { ROOT_FOLDER } from "../../../../constants.js";
18
18
  import { useContentEntryListConfig } from "../../../../config/contentEntries/index.js";
19
19
  const t = i18n.ns("app-headless-cms/admin/fields/ref");
20
+ const baseEntry = {
21
+ values: {}
22
+ };
20
23
  const EntryForm = ({
21
24
  onCreate,
22
25
  setSaveEntry
@@ -47,6 +50,9 @@ const EntryForm = ({
47
50
  loadFolderHierarchy(currentFolderId);
48
51
  }
49
52
  }, []);
53
+ const initialEntry = useMemo(() => {
54
+ return baseEntry;
55
+ }, []);
50
56
  return /*#__PURE__*/React.createElement(ModelProvider, {
51
57
  model: contentModel
52
58
  }, /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
@@ -67,7 +73,7 @@ const EntryForm = ({
67
73
  text: "Creating entry..."
68
74
  }) : null, /*#__PURE__*/React.createElement(ContentEntryForm, {
69
75
  header: false,
70
- entry: {},
76
+ entry: initialEntry,
71
77
  persistEntry: persistEntry,
72
78
  onAfterCreate: entry => onCreate(entry),
73
79
  setSaveEntry: setSaveEntry
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","useState","ContentEntryProvider","FoldersProvider","ContentEntriesProvider","i18n","useContentEntry","ModelProvider","ContentEntryForm","GET_CONTENT_MODEL","useCms","NavigateFolderProvider","AbstractNavigateFolderProvider","useLoadFolderHierarchy","FolderTree","useNavigateFolder","SplitView","LeftPanel","RightPanel","DialogsProvider","usePersistEntry","AcoAppContext","createAppFromModel","Drawer","OverlayLoader","ROOT_FOLDER","useContentEntryListConfig","t","ns","EntryForm","onCreate","setSaveEntry","contentModel","loading","persistEntry","addItemToListCache","currentFolderId","navigateToFolder","browser","folders","loadFolderHierarchy","length","createElement","model","span","className","folderActions","folder","actions","focusedFolderId","onFolderClick","data","id","enableActions","enableCreate","text","header","entry","onAfterCreate","NewReferencedEntryDialog","baseModel","onClose","onChange","apolloClient","setModel","undefined","response","query","variables","modelId","getContentModel","published","meta","status","modelName","name","acoAppContext","app","client","folderIdPath","folderIdInPath","Provider","value","key","insideDialog","ContentEntryProviderWithCurrentFolderId","children","folderId","setFolderId","createStorageKey","saveEntryRef","isNewEntry","getContentId","open","width","modal","headerSeparator","footerSeparator","bodyPadding","title","Fragment","CancelButton","ConfirmButton","onClick","current","cb"],"sources":["NewReferencedEntryDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { ContentEntryProvider } from \"~/admin/views/contentEntries/ContentEntry/ContentEntryContext.js\";\nimport { FoldersProvider } from \"@webiny/app-aco/contexts/folders.js\";\nimport { ContentEntriesProvider } from \"~/admin/views/contentEntries/ContentEntriesContext.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsContentEntry, CmsModel } from \"~/types.js\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry.js\";\nimport { ModelProvider } from \"~/admin/components/ModelProvider/index.js\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm.js\";\nimport type {\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels.js\";\nimport { GET_CONTENT_MODEL } from \"~/admin/graphql/contentModels.js\";\nimport { useCms } from \"~/admin/hooks/index.js\";\nimport {\n NavigateFolderProvider as AbstractNavigateFolderProvider,\n useLoadFolderHierarchy\n} from \"@webiny/app-aco\";\nimport { FolderTree, useNavigateFolder } from \"@webiny/app-aco\";\nimport { SplitView, LeftPanel, RightPanel, DialogsProvider } from \"@webiny/app-admin\";\nimport { usePersistEntry } from \"~/admin/hooks/usePersistEntry.js\";\nimport type { AcoAppProviderContext } from \"@webiny/app-aco/contexts/app.js\";\nimport { AcoAppContext, createAppFromModel } from \"@webiny/app-aco/contexts/app.js\";\nimport { Drawer, OverlayLoader } from \"@webiny/admin-ui\";\nimport { ROOT_FOLDER } from \"~/admin/constants.js\";\nimport { useContentEntryListConfig } from \"~/admin/config/contentEntries/index.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\ninterface SaveEntry {\n (): void;\n}\n\ninterface EntryFormProps {\n onCreate: (entry: CmsContentEntry) => void;\n setSaveEntry: (cb: SaveEntry) => void;\n}\n\nconst EntryForm = ({ onCreate, setSaveEntry }: EntryFormProps) => {\n const { contentModel, loading } = useContentEntry();\n const { persistEntry } = usePersistEntry({ addItemToListCache: false });\n const { currentFolderId, navigateToFolder } = useNavigateFolder();\n const { browser } = useContentEntryListConfig();\n const { folders, loadFolderHierarchy } = useLoadFolderHierarchy();\n\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n loadFolderHierarchy(currentFolderId);\n }\n }, []);\n\n return (\n <ModelProvider model={contentModel}>\n <SplitView>\n <LeftPanel span={3}>\n <div className={\"px-sm-extra py-sm\"}>\n <FolderTree\n folderActions={browser.folder.actions}\n focusedFolderId={currentFolderId}\n onFolderClick={data => navigateToFolder(data.id)}\n enableActions={true}\n enableCreate={true}\n />\n </div>\n </LeftPanel>\n <RightPanel span={9}>\n <div className={\"p-md relative\"}>\n {loading ? <OverlayLoader text={\"Creating entry...\"} /> : null}\n <ContentEntryForm\n header={false}\n entry={{}}\n persistEntry={persistEntry}\n onAfterCreate={entry => onCreate(entry)}\n setSaveEntry={setSaveEntry}\n />\n </div>\n </RightPanel>\n </SplitView>\n </ModelProvider>\n );\n};\n\ninterface NewReferencedEntryDialogProps {\n model: Pick<CmsModel, \"modelId\">;\n onClose: () => void;\n onChange: (entry: any) => void;\n}\n\nexport const NewReferencedEntryDialog = ({\n model: baseModel,\n onClose,\n onChange\n}: NewReferencedEntryDialogProps) => {\n const { apolloClient } = useCms();\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useEffect(() => {\n (async () => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId: baseModel.modelId\n }\n });\n setModel(response.data.getContentModel.data);\n })();\n }, [baseModel.modelId]);\n\n const onCreate = useCallback(\n (entry: CmsContentEntry) => {\n if (!model) {\n onClose();\n return;\n }\n onChange({\n ...entry,\n /*\n * Format data for AutoComplete.\n */\n published: entry.meta?.status === \"published\",\n modelId: model.modelId,\n modelName: model.name\n });\n onClose();\n },\n [onChange, model]\n );\n\n if (!model) {\n return null;\n }\n\n const acoAppContext: AcoAppProviderContext = {\n app: createAppFromModel({\n model,\n id: `cms:${model.modelId}`\n }),\n client: apolloClient,\n model,\n folderIdPath: \"wbyAco_location.folderId\",\n folderIdInPath: \"wbyAco_location.folderId_in\"\n };\n\n return (\n <AcoAppContext.Provider value={acoAppContext}>\n <FoldersProvider>\n {/* We need to mount <DialogsProvider> to render dialog content in the right context. */}\n {/* Otherwise, you'll see odd behavior with FolderTree, loading folders of the wrong type. */}\n <DialogsProvider>\n <NavigateFolderProvider modelId={model.modelId}>\n <ContentEntriesProvider\n contentModel={model}\n key={model.modelId}\n insideDialog={true}\n >\n <ContentEntryProviderWithCurrentFolderId\n model={model}\n onClose={onClose}\n onCreate={onCreate}\n />\n </ContentEntriesProvider>\n </NavigateFolderProvider>\n </DialogsProvider>\n </FoldersProvider>\n </AcoAppContext.Provider>\n );\n};\n\nconst NavigateFolderProvider = ({\n modelId,\n children\n}: {\n modelId: string;\n children: React.ReactNode;\n}) => {\n const [folderId, setFolderId] = useState<string | undefined>(undefined);\n\n const navigateToFolder = useCallback((folderId: string) => {\n setFolderId(folderId === ROOT_FOLDER ? undefined : folderId);\n }, []);\n\n return (\n <AbstractNavigateFolderProvider\n folderId={folderId}\n createStorageKey={() => `cms:${modelId}:create`}\n navigateToFolder={navigateToFolder}\n >\n {children}\n </AbstractNavigateFolderProvider>\n );\n};\n\ninterface ContentEntryProviderWithCurrentFolderIdProps {\n model: CmsModel;\n onClose: () => void;\n onCreate: (entry: CmsContentEntry) => void;\n}\n\nconst ContentEntryProviderWithCurrentFolderId = ({\n model,\n onClose,\n onCreate\n}: ContentEntryProviderWithCurrentFolderIdProps) => {\n const saveEntryRef = useRef<SaveEntry | null>(null);\n const { currentFolderId } = useNavigateFolder();\n\n return (\n <ContentEntryProvider\n isNewEntry={() => true}\n getContentId={() => undefined}\n currentFolderId={currentFolderId}\n >\n <Drawer\n open={true}\n onClose={onClose}\n width={1000}\n modal={true}\n headerSeparator={true}\n footerSeparator={true}\n bodyPadding={false}\n title={t`New {modelName} Entry`({ modelName: model.name })}\n actions={\n <>\n <Drawer.CancelButton />\n <Drawer.ConfirmButton\n onClick={() => saveEntryRef.current && saveEntryRef.current()}\n text={t`Create Entry`}\n />\n </>\n }\n >\n <EntryForm onCreate={onCreate} setSaveEntry={cb => (saveEntryRef.current = cb)} />\n </Drawer>\n </ContentEntryProvider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","ContentEntryProvider","FoldersProvider","ContentEntriesProvider","i18n","useContentEntry","ModelProvider","ContentEntryForm","GET_CONTENT_MODEL","useCms","NavigateFolderProvider","AbstractNavigateFolderProvider","useLoadFolderHierarchy","FolderTree","useNavigateFolder","SplitView","LeftPanel","RightPanel","DialogsProvider","usePersistEntry","AcoAppContext","createAppFromModel","Drawer","OverlayLoader","ROOT_FOLDER","useContentEntryListConfig","t","ns","baseEntry","values","EntryForm","onCreate","setSaveEntry","contentModel","loading","persistEntry","addItemToListCache","currentFolderId","navigateToFolder","browser","folders","loadFolderHierarchy","length","initialEntry","createElement","model","span","className","folderActions","folder","actions","focusedFolderId","onFolderClick","data","id","enableActions","enableCreate","text","header","entry","onAfterCreate","NewReferencedEntryDialog","baseModel","onClose","onChange","apolloClient","setModel","undefined","response","query","variables","modelId","getContentModel","published","meta","status","modelName","name","acoAppContext","app","client","folderIdPath","folderIdInPath","Provider","value","key","insideDialog","ContentEntryProviderWithCurrentFolderId","children","folderId","setFolderId","createStorageKey","saveEntryRef","isNewEntry","getContentId","open","width","modal","headerSeparator","footerSeparator","bodyPadding","title","Fragment","CancelButton","ConfirmButton","onClick","current","cb"],"sources":["NewReferencedEntryDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { ContentEntryProvider } from \"~/admin/views/contentEntries/ContentEntry/ContentEntryContext.js\";\nimport { FoldersProvider } from \"@webiny/app-aco/contexts/folders.js\";\nimport { ContentEntriesProvider } from \"~/admin/views/contentEntries/ContentEntriesContext.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsContentEntry, CmsModel } from \"~/types.js\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry.js\";\nimport { ModelProvider } from \"~/admin/components/ModelProvider/index.js\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm.js\";\nimport type {\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels.js\";\nimport { GET_CONTENT_MODEL } from \"~/admin/graphql/contentModels.js\";\nimport { useCms } from \"~/admin/hooks/index.js\";\nimport {\n NavigateFolderProvider as AbstractNavigateFolderProvider,\n useLoadFolderHierarchy\n} from \"@webiny/app-aco\";\nimport { FolderTree, useNavigateFolder } from \"@webiny/app-aco\";\nimport { SplitView, LeftPanel, RightPanel, DialogsProvider } from \"@webiny/app-admin\";\nimport { usePersistEntry } from \"~/admin/hooks/usePersistEntry.js\";\nimport type { AcoAppProviderContext } from \"@webiny/app-aco/contexts/app.js\";\nimport { AcoAppContext, createAppFromModel } from \"@webiny/app-aco/contexts/app.js\";\nimport { Drawer, OverlayLoader } from \"@webiny/admin-ui\";\nimport { ROOT_FOLDER } from \"~/admin/constants.js\";\nimport { useContentEntryListConfig } from \"~/admin/config/contentEntries/index.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\ninterface SaveEntry {\n (): void;\n}\n\ninterface EntryFormProps {\n onCreate: (entry: CmsContentEntry) => void;\n setSaveEntry: (cb: SaveEntry) => void;\n}\n\nconst baseEntry: Pick<CmsContentEntry, \"values\"> = {\n values: {}\n};\n\nconst EntryForm = ({ onCreate, setSaveEntry }: EntryFormProps) => {\n const { contentModel, loading } = useContentEntry();\n const { persistEntry } = usePersistEntry({ addItemToListCache: false });\n const { currentFolderId, navigateToFolder } = useNavigateFolder();\n const { browser } = useContentEntryListConfig();\n const { folders, loadFolderHierarchy } = useLoadFolderHierarchy();\n\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n loadFolderHierarchy(currentFolderId);\n }\n }, []);\n\n const initialEntry = useMemo(() => {\n return baseEntry;\n }, []);\n\n return (\n <ModelProvider model={contentModel}>\n <SplitView>\n <LeftPanel span={3}>\n <div className={\"px-sm-extra py-sm\"}>\n <FolderTree\n folderActions={browser.folder.actions}\n focusedFolderId={currentFolderId}\n onFolderClick={data => navigateToFolder(data.id)}\n enableActions={true}\n enableCreate={true}\n />\n </div>\n </LeftPanel>\n <RightPanel span={9}>\n <div className={\"p-md relative\"}>\n {loading ? <OverlayLoader text={\"Creating entry...\"} /> : null}\n <ContentEntryForm\n header={false}\n entry={initialEntry}\n persistEntry={persistEntry}\n onAfterCreate={entry => onCreate(entry)}\n setSaveEntry={setSaveEntry}\n />\n </div>\n </RightPanel>\n </SplitView>\n </ModelProvider>\n );\n};\n\ninterface NewReferencedEntryDialogProps {\n model: Pick<CmsModel, \"modelId\">;\n onClose: () => void;\n onChange: (entry: any) => void;\n}\n\nexport const NewReferencedEntryDialog = ({\n model: baseModel,\n onClose,\n onChange\n}: NewReferencedEntryDialogProps) => {\n const { apolloClient } = useCms();\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useEffect(() => {\n (async () => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId: baseModel.modelId\n }\n });\n setModel(response.data.getContentModel.data);\n })();\n }, [baseModel.modelId]);\n\n const onCreate = useCallback(\n (entry: CmsContentEntry) => {\n if (!model) {\n onClose();\n return;\n }\n onChange({\n ...entry,\n /*\n * Format data for AutoComplete.\n */\n published: entry.meta?.status === \"published\",\n modelId: model.modelId,\n modelName: model.name\n });\n onClose();\n },\n [onChange, model]\n );\n\n if (!model) {\n return null;\n }\n\n const acoAppContext: AcoAppProviderContext = {\n app: createAppFromModel({\n model,\n id: `cms:${model.modelId}`\n }),\n client: apolloClient,\n model,\n folderIdPath: \"wbyAco_location.folderId\",\n folderIdInPath: \"wbyAco_location.folderId_in\"\n };\n\n return (\n <AcoAppContext.Provider value={acoAppContext}>\n <FoldersProvider>\n {/* We need to mount <DialogsProvider> to render dialog content in the right context. */}\n {/* Otherwise, you'll see odd behavior with FolderTree, loading folders of the wrong type. */}\n <DialogsProvider>\n <NavigateFolderProvider modelId={model.modelId}>\n <ContentEntriesProvider\n contentModel={model}\n key={model.modelId}\n insideDialog={true}\n >\n <ContentEntryProviderWithCurrentFolderId\n model={model}\n onClose={onClose}\n onCreate={onCreate}\n />\n </ContentEntriesProvider>\n </NavigateFolderProvider>\n </DialogsProvider>\n </FoldersProvider>\n </AcoAppContext.Provider>\n );\n};\n\nconst NavigateFolderProvider = ({\n modelId,\n children\n}: {\n modelId: string;\n children: React.ReactNode;\n}) => {\n const [folderId, setFolderId] = useState<string | undefined>(undefined);\n\n const navigateToFolder = useCallback((folderId: string) => {\n setFolderId(folderId === ROOT_FOLDER ? undefined : folderId);\n }, []);\n\n return (\n <AbstractNavigateFolderProvider\n folderId={folderId}\n createStorageKey={() => `cms:${modelId}:create`}\n navigateToFolder={navigateToFolder}\n >\n {children}\n </AbstractNavigateFolderProvider>\n );\n};\n\ninterface ContentEntryProviderWithCurrentFolderIdProps {\n model: CmsModel;\n onClose: () => void;\n onCreate: (entry: CmsContentEntry) => void;\n}\n\nconst ContentEntryProviderWithCurrentFolderId = ({\n model,\n onClose,\n onCreate\n}: ContentEntryProviderWithCurrentFolderIdProps) => {\n const saveEntryRef = useRef<SaveEntry | null>(null);\n const { currentFolderId } = useNavigateFolder();\n\n return (\n <ContentEntryProvider\n isNewEntry={() => true}\n getContentId={() => undefined}\n currentFolderId={currentFolderId}\n >\n <Drawer\n open={true}\n onClose={onClose}\n width={1000}\n modal={true}\n headerSeparator={true}\n footerSeparator={true}\n bodyPadding={false}\n title={t`New {modelName} Entry`({ modelName: model.name })}\n actions={\n <>\n <Drawer.CancelButton />\n <Drawer.ConfirmButton\n onClick={() => saveEntryRef.current && saveEntryRef.current()}\n text={t`Create Entry`}\n />\n </>\n }\n >\n <EntryForm onCreate={onCreate} setSaveEntry={cb => (saveEntryRef.current = cb)} />\n </Drawer>\n </ContentEntryProvider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,28 +2,29 @@ import { library } from "@fortawesome/fontawesome-svg-core";
2
2
  import { fab } from "@fortawesome/free-brands-svg-icons";
3
3
  import { fas } from "@fortawesome/free-solid-svg-icons";
4
4
  import { far } from "@fortawesome/free-regular-svg-icons";
5
+ library.add(fab, fas, far);
5
6
  const icons = [];
7
+ const getDefinitions = input => {
8
+ if (!input?.definitions) {
9
+ throw new Error("FontAwesome library does not contain definitions. Make sure to add icons to the library before trying to get definitions.");
10
+ }
11
+ return input.definitions;
12
+ };
6
13
  const plugin = {
7
14
  name: "cms-icons-fontawesome",
8
15
  type: "cms-icons",
9
16
  init() {
10
- /**
11
- * Ignoring TS errors. We know what we did here is good, but cannot get it to work with typescript.
12
- */
13
- // @ts-expect-error
14
- library.add(fab, fas, far);
15
- const definitions = library.definitions;
16
- // @ts-expect-error
17
- Object.keys(definitions).forEach(pack => {
17
+ const definitions = getDefinitions(library);
18
+ for (const p in definitions) {
19
+ const pack = p;
18
20
  const defs = definitions[pack];
19
- // @ts-expect-error
20
- Object.keys(defs).forEach(icon => {
21
+ for (const icon in defs) {
21
22
  icons.push({
22
23
  prefix: pack,
23
24
  name: icon
24
25
  });
25
- });
26
- });
26
+ }
27
+ }
27
28
  },
28
29
  getIcons() {
29
30
  return icons;
@@ -1 +1 @@
1
- {"version":3,"names":["library","fab","fas","far","icons","plugin","name","type","init","add","definitions","Object","keys","forEach","pack","defs","icon","push","prefix","getIcons"],"sources":["icons.tsx"],"sourcesContent":["import type { IconName } from \"@fortawesome/fontawesome-svg-core\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport type { IconPrefix } from \"@fortawesome/fontawesome-common-types\";\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\nimport type { IconPickerIconDto } from \"@webiny/admin-ui\";\nimport type { CmsIconsPlugin } from \"~/types.js\";\n\nconst icons: IconPickerIconDto[] = [];\n\ninterface Icons {\n definitions: Record<IconPrefix, Record<IconName, string[]>>;\n}\n\nconst plugin: CmsIconsPlugin = {\n name: \"cms-icons-fontawesome\",\n type: \"cms-icons\",\n init() {\n /**\n * Ignoring TS errors. We know what we did here is good, but cannot get it to work with typescript.\n */\n // @ts-expect-error\n library.add(fab, fas, far);\n const definitions = (library as unknown as Icons).definitions;\n // @ts-expect-error\n Object.keys(definitions).forEach((pack: IconPrefix) => {\n const defs = definitions[pack];\n // @ts-expect-error\n Object.keys(defs).forEach((icon: IconName) => {\n icons.push({\n prefix: pack,\n name: icon\n });\n });\n });\n },\n getIcons() {\n return icons;\n }\n};\n\nexport default plugin;\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,mCAAmC;AAE3D,SAASC,GAAG,QAAQ,oCAAoC;AACxD,SAASC,GAAG,QAAQ,mCAAmC;AACvD,SAASC,GAAG,QAAQ,qCAAqC;AAIzD,MAAMC,KAA0B,GAAG,EAAE;AAMrC,MAAMC,MAAsB,GAAG;EAC3BC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,WAAW;EACjBC,IAAIA,CAAA,EAAG;IACH;AACR;AACA;IACQ;IACAR,OAAO,CAACS,GAAG,CAACR,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;IAC1B,MAAMO,WAAW,GAAIV,OAAO,CAAsBU,WAAW;IAC7D;IACAC,MAAM,CAACC,IAAI,CAACF,WAAW,CAAC,CAACG,OAAO,CAAEC,IAAgB,IAAK;MACnD,MAAMC,IAAI,GAAGL,WAAW,CAACI,IAAI,CAAC;MAC9B;MACAH,MAAM,CAACC,IAAI,CAACG,IAAI,CAAC,CAACF,OAAO,CAAEG,IAAc,IAAK;QAC1CZ,KAAK,CAACa,IAAI,CAAC;UACPC,MAAM,EAAEJ,IAAI;UACZR,IAAI,EAAEU;QACV,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EACDG,QAAQA,CAAA,EAAG;IACP,OAAOf,KAAK;EAChB;AACJ,CAAC;AAED,eAAeC,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["library","fab","fas","far","add","icons","getDefinitions","input","definitions","Error","plugin","name","type","init","p","pack","defs","icon","push","prefix","getIcons"],"sources":["icons.tsx"],"sourcesContent":["import type { IconName } from \"@fortawesome/fontawesome-svg-core\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport type { IconPrefix } from \"@fortawesome/fontawesome-common-types\";\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\nimport type { IconPickerIconDto } from \"@webiny/admin-ui\";\nimport type { CmsIconsPlugin } from \"~/types.js\";\n\nlibrary.add(fab, fas, far);\n\nconst icons: IconPickerIconDto[] = [];\n\nconst getDefinitions = (input: any): Record<IconPrefix, Record<IconName, string[]>> => {\n if (!input?.definitions) {\n throw new Error(\n \"FontAwesome library does not contain definitions. Make sure to add icons to the library before trying to get definitions.\"\n );\n }\n return input.definitions as unknown as Record<IconPrefix, Record<IconName, string[]>>;\n};\n\nconst plugin: CmsIconsPlugin = {\n name: \"cms-icons-fontawesome\",\n type: \"cms-icons\",\n init() {\n const definitions = getDefinitions(library);\n for (const p in definitions) {\n const pack = p as keyof typeof definitions;\n const defs = definitions[pack];\n for (const icon in defs) {\n icons.push({\n prefix: pack,\n name: icon\n });\n }\n }\n },\n getIcons() {\n return icons;\n }\n};\n\nexport default plugin;\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,mCAAmC;AAE3D,SAASC,GAAG,QAAQ,oCAAoC;AACxD,SAASC,GAAG,QAAQ,mCAAmC;AACvD,SAASC,GAAG,QAAQ,qCAAqC;AAIzDH,OAAO,CAACI,GAAG,CAACH,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;AAE1B,MAAME,KAA0B,GAAG,EAAE;AAErC,MAAMC,cAAc,GAAIC,KAAU,IAAqD;EACnF,IAAI,CAACA,KAAK,EAAEC,WAAW,EAAE;IACrB,MAAM,IAAIC,KAAK,CACX,2HACJ,CAAC;EACL;EACA,OAAOF,KAAK,CAACC,WAAW;AAC5B,CAAC;AAED,MAAME,MAAsB,GAAG;EAC3BC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,WAAW;EACjBC,IAAIA,CAAA,EAAG;IACH,MAAML,WAAW,GAAGF,cAAc,CAACN,OAAO,CAAC;IAC3C,KAAK,MAAMc,CAAC,IAAIN,WAAW,EAAE;MACzB,MAAMO,IAAI,GAAGD,CAA6B;MAC1C,MAAME,IAAI,GAAGR,WAAW,CAACO,IAAI,CAAC;MAC9B,KAAK,MAAME,IAAI,IAAID,IAAI,EAAE;QACrBX,KAAK,CAACa,IAAI,CAAC;UACPC,MAAM,EAAEJ,IAAI;UACZJ,IAAI,EAAEM;QACV,CAAC,CAAC;MACN;IACJ;EACJ,CAAC;EACDG,QAAQA,CAAA,EAAG;IACP,OAAOf,KAAK;EAChB;AACJ,CAAC;AAED,eAAeK,MAAM","ignoreList":[]}
@@ -5,7 +5,7 @@ import { FilterByStatus } from "../../components/ContentEntries/Filters/index.js
5
5
  import { DeleteEntry as DeleteEntryMenuItem, SaveAndPublishButton, SaveContentButton } from "../../components/ContentEntryForm/Header/index.js";
6
6
  import { DeleteFolder, EditFolder, SetFolderPermissions } from "@webiny/app-aco";
7
7
  import { ChangeEntryStatus, DeleteEntry, EditEntry, MoveEntry } from "../../components/ContentEntries/Table/Actions/index.js";
8
- import { CellActions, CellAuthor, CellCreated, CellModified, CellName, CellStatus, CellLive } from "../../components/ContentEntries/Table/Cells/index.js";
8
+ import { CellActions, CellAuthor, CellCreated, CellLive, CellModified, CellName, CellStatus } from "../../components/ContentEntries/Table/Cells/index.js";
9
9
  import { Ref } from "../../components/ContentEntries/Filters/RefFieldRenderer/index.js";
10
10
  import { ShowConfirmationOnDelete } from "../../components/Decorators/ShowConfirmationOnDelete.js";
11
11
  import { ShowConfirmationOnPublish } from "../../components/Decorators/ShowConfirmationOnPublish.js";
@@ -13,7 +13,6 @@ import { ShowConfirmationOnUnpublish } from "../../components/Decorators/ShowCon
13
13
  import { ShowConfirmationOnDeleteRevision } from "../../components/Decorators/ShowConfirmationOnDeleteRevision.js";
14
14
  import { FullScreenContentEntry } from "./ContentEntry/FullScreenContentEntry/index.js";
15
15
  import { ShowRevisionList } from "../../components/ContentEntryForm/Header/ShowRevisionsList/index.js";
16
- import { ScheduleEntryMenuItem } from "../../components/ContentEntries/Scheduler/actions/ScheduleEntryAction.js";
17
16
  import { AdvancedSearchConfigs } from "@webiny/app-aco/components/AdvancedSearch/AdvancedSearchConfigs";
18
17
  import { IsModelPublishable } from "../../components/IsModelPublishable.js";
19
18
  const {
@@ -116,9 +115,6 @@ export const ContentEntriesModule = () => {
116
115
  name: "delete",
117
116
  element: /*#__PURE__*/React.createElement(DeleteEntryMenuItem, null)
118
117
  }), /*#__PURE__*/React.createElement(IsModelPublishable, null, /*#__PURE__*/React.createElement(Actions.MenuItemAction, {
119
- name: "schedule",
120
- element: /*#__PURE__*/React.createElement(ScheduleEntryMenuItem, null)
121
- }), /*#__PURE__*/React.createElement(Actions.MenuItemAction, {
122
118
  name: "showRevisionsList",
123
119
  element: /*#__PURE__*/React.createElement(ShowRevisionList, null)
124
120
  }))), /*#__PURE__*/React.createElement(FullScreenContentEntry, null));