diff --git a/assets/build/api/docs.jsonopenapi.json b/assets/build/api/docs.jsonopenapi.json
index a224d1410d..b1440ed8fe 100644
--- a/assets/build/api/docs.jsonopenapi.json
+++ b/assets/build/api/docs.jsonopenapi.json
@@ -1 +1,77279 @@
-{"openapi":"3.1.0","info":{"title":"Studio Backend API","description":"API for Studio generated by OpenApi Generator via zircote\/swagger-php","license":{"name":"Pimcore Open Core License (POCL)","url":"https:\/\/github.com\/pimcore\/pimcore\/blob\/12.x\/LICENSE.md"},"version":"0.15.17"},"servers":[{"url":"\/","description":"Pimcore Studio Backend API"}],"paths":{"\/pimcore-studio\/api\/assets\/types":{"get":{"tags":["Assets"],"summary":"Get all asset types","description":"Retrieves all available asset types in the system.\n","operationId":"asset_get_types","responses":{"200":{"description":"Successfully retrieved all available asset types","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/AssetType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/batch-delete":{"delete":{"tags":["Assets"],"summary":"Batch delete assets by IDs","description":"Batch delete assets based on the given \u003Cstrong\u003E{ids}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{ids}\u003C\/strong\u003E must be a list of IDs of existing assets. \u003Cbr\u003E\nDeletion is done asynchronously and the jobRun ID is returned in the response\n","operationId":"asset_batch_delete","requestBody":{"content":{"application\/json":{"schema":{"properties":{"ids":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for batch delete","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/clone\/{parentId}":{"post":{"tags":["Assets"],"summary":"Clone a specific asset","description":"Clones a specific asset with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be a folder\n","operationId":"asset_clone","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}},{"name":"parentId","in":"path","description":"ParentId of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully copied asset"},"201":{"description":"Successfully copied parent asset and created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for copying child assets","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/custom-settings":{"get":{"tags":["Assets"],"summary":"Get custom settings of an asset by ID","description":"Retrieves custom settings based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset\n","operationId":"asset_custom_settings_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved custom settings as JSON","content":{"application\/json":{"schema":{"properties":{"items":{"$ref":"#\/components\/schemas\/CustomSettings"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/text":{"get":{"tags":["Assets"],"summary":"Get asset data in text UTF8 representation by ID","description":"Retrieves the text data in UTF8 representation of the asset based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset.\n","operationId":"asset_get_text_data_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved UTF8 encoded text data of asset","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"UTF 8 encoded text data","type":"string","example":"Test content"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/download\/custom":{"get":{"tags":["Assets"],"summary":"Download custom document image by ID and configuration","description":"Download the custom document image based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and configuration parameters. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document\n","operationId":"asset_document_download_custom","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"mimeType","in":"query","description":"Mime type of downloaded image.","required":true,"schema":{"type":"string","enum":["JPEG","PNG"],"example":"JPEG"}},{"name":"page","in":"query","description":"Page of the document","schema":{"type":"integer","example":1}},{"name":"resizeMode","in":"query","description":"Resize mode of downloaded image.","required":false,"schema":{"type":"string","enum":["resize","scaleByWidth","scaleByHeight"],"example":"scaleByWidth"}},{"name":"width","in":"query","description":"Width of downloaded image","schema":{"type":"integer","example":140}},{"name":"height","in":"query","description":"Height of downloaded image","schema":{"type":"integer","example":140}},{"name":"quality","in":"query","description":"Quality of downloaded image","schema":{"type":"integer","example":80}},{"name":"dpi","in":"query","description":"Dpi of downloaded image","schema":{"type":"integer","example":300}}],"responses":{"200":{"description":"Custom document image binary file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"image\/jpeg":{"schema":{"type":"string","format":"binary"}},"image\/png":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/stream\/custom":{"get":{"tags":["Assets"],"summary":"Stream custom document image by ID and configuration","description":"Stream the custom document image based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and configuration parameters. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document\n","operationId":"asset_document_stream_custom","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"mimeType","in":"query","description":"Mime type of downloaded image.","required":true,"schema":{"type":"string","enum":["JPEG","PNG"],"example":"JPEG"}},{"name":"page","in":"query","description":"Page of the document","schema":{"type":"integer","example":1}},{"name":"resizeMode","in":"query","description":"Resize mode of downloaded image.","required":false,"schema":{"type":"string","enum":["resize","scaleByWidth","scaleByHeight"],"example":"scaleByWidth"}},{"name":"width","in":"query","description":"Width of downloaded image","schema":{"type":"integer","example":140}},{"name":"height","in":"query","description":"Height of downloaded image","schema":{"type":"integer","example":140}},{"name":"quality","in":"query","description":"Quality of downloaded image","schema":{"type":"integer","example":80}},{"name":"dpi","in":"query","description":"Dpi of downloaded image","schema":{"type":"integer","example":300}},{"name":"cropPercent","in":"query","description":"","required":false,"schema":{"type":"boolean","example":false}},{"name":"cropWidth","in":"query","description":"CropWidth of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropHeight","in":"query","description":"CropHeight of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropTop","in":"query","description":"CropTop of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropLeft","in":"query","description":"CropLeft of image thumbnail","schema":{"type":"number","format":"float","example":0}}],"responses":{"200":{"description":"Custom document image stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/jpeg":{"schema":{"type":"string","format":"binary"}},"image\/png":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/stream\/dynamic":{"get":{"tags":["Assets"],"summary":"Stream document image by ID and dynamic configuration","description":"Stream the custom image based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and dynamic config data. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document\n","operationId":"asset_document_stream_dynamic","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"config","in":"query","description":"A JSON encoded thumbnail configuration.","required":true,"schema":{"type":"string","example":"{\u0022alt\u0022: \u0022\u0022,\u0022cropPercent\u0022: false,\u0022cropWidth\u0022: 0,\u0022cropHeight\u0022: 0,\u0022cropTop\u0022: 0,\u0022cropLeft\u0022: 0,\u0022thumbnail\u0022: {\u0022width\u0022: 200,\u0022height\u0022: 200,\u0022interlace\u0022: true,\u0022quality\u0022: 90}}"}}],"responses":{"200":{"description":"Document image stream based on dynamic thumbnail configuration","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/stream\/pdf-preview":{"get":{"tags":["Assets"],"summary":"Stream asset document PDF preview by ID","description":"Stream asset document PDF preview based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document\n","operationId":"asset_document_stream_preview","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Asset PDF preview stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"application\/pdf":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"202 - Not Completed\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/download\/thumbnail\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Download document image by ID and thumbnail name","description":"Download the asset document based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document \u003Cbr\u003E\nList of downloadable \u003Cb\u003Ethumbnail names\u003C\/b\u003E can be obtained via the thumbnail image collection endpoint\n","operationId":"asset_document_download_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page of the document","schema":{"type":"integer","example":1}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}}],"responses":{"200":{"description":"Document image binary file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/document\/stream\/thumbnail\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Stream document image by ID and thumbnail name","description":"Stream the asset document based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset document\n","operationId":"asset_document_stream_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page of the document","schema":{"type":"integer","example":1}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}},{"name":"cropPercent","in":"query","description":"","required":false,"schema":{"type":"boolean","example":false}},{"name":"cropWidth","in":"query","description":"CropWidth of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropHeight","in":"query","description":"CropHeight of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropTop","in":"query","description":"CropTop of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropLeft","in":"query","description":"CropLeft of image thumbnail","schema":{"type":"number","format":"float","example":0}}],"responses":{"200":{"description":"Stream of document image","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"application\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/download\/zip\/{jobRunId}":{"get":{"tags":["Assets"],"summary":"Download ZIP archive for assets","description":"Download the ZIP archive with assets based on the given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create zip endpoint\n","operationId":"asset_download_zip","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"ZIP archive as attachment","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/zip":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Assets"],"summary":"Delete asset ZIP file based on jobRunId","description":"Delete the ZIP file with given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create zip endpoint\n","operationId":"asset_delete_zip","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/download":{"get":{"tags":["Assets"],"summary":"Download asset by ID","description":"Download the original asset stream based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"asset_download_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Original asset binary file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/export\/zip\/asset":{"post":{"tags":["Assets"],"summary":"Creating ZIP file for assets","description":"Creating a ZIP file for assets based on the provided asset IDs in \u003Cstrong\u003E{assets}\u003C\/strong\u003E parameter. \u003Cbr\u003E\nDownload has to be triggered separately via the zip download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"asset_export_zip_asset","requestBody":{"content":{"application\/json":{"schema":{"properties":{"assets":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for zip export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E413 - Max File Size Exceeded\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/export\/zip\/folder":{"post":{"tags":["Assets"],"summary":"Creating ZIP file assets based on folder","description":"Creating a ZIP file for assets based on the provided folder IDs in \u003Cstrong\u003E{folders}\u003C\/strong\u003E parameter. \u003Cbr\u003E\nFilter assets from folder based on the grid filter schema. \u003Cbr\u003E\nDownload has to be triggered separately via the zip download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"asset_export_zip_folder","requestBody":{"content":{"application\/json":{"schema":{"properties":{"folders":{"type":"array","items":{"type":"integer"},"example":[83]},"filters":{"$ref":"#\/components\/schemas\/ExportAllFilter"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for zip export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E413 - Max File Size Exceeded\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}":{"get":{"tags":["Assets"],"summary":"Get asset by ID","description":"Retrieves a specific asset data based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset.\n","operationId":"asset_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved one of asset type data as JSON","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/Image"},{"$ref":"#\/components\/schemas\/AssetDocument"},{"$ref":"#\/components\/schemas\/Audio"},{"$ref":"#\/components\/schemas\/Video"},{"$ref":"#\/components\/schemas\/Archive"},{"$ref":"#\/components\/schemas\/Text"},{"$ref":"#\/components\/schemas\/AssetFolder"},{"$ref":"#\/components\/schemas\/Unknown"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Assets"],"summary":"Update an asset by ID","description":"Update needs to have the complete data present. \u003Cbr\u003E You can create\/update\/delete list entries like metadata, custom settings and properties. \u003Cbr\u003E E.g. if you want to remove an entry from metadata simply do not include this entry in the update. \u003Cbr\u003E If you want to update only a single field, use the PATCH method.\n","operationId":"asset_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"parentId":{"type":["integer","null"],"minimum":1},"key":{"type":["string","null"]},"locked":{"type":["string","null"]},"data":{"type":["string","null"]},"dataUri":{"type":["string","null"]},"metadata":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/UpdateCustomMetadata"}},"customSettings":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/UpdateCustomSettings"}},"properties":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/UpdateElementProperty"}},"image":{"oneOf":[{"$ref":"#\/components\/schemas\/ImageData"},{"type":"null"}],"type":"object"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"One of asset types","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/Image"},{"$ref":"#\/components\/schemas\/AssetDocument"},{"$ref":"#\/components\/schemas\/Audio"},{"$ref":"#\/components\/schemas\/Video"},{"$ref":"#\/components\/schemas\/Archive"},{"$ref":"#\/components\/schemas\/Text"},{"$ref":"#\/components\/schemas\/AssetFolder"},{"$ref":"#\/components\/schemas\/Unknown"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/{configurationId}\/delete":{"delete":{"tags":["Asset Grid"],"summary":"Delete grid configuration for a specific folder and given configuration ID","description":"Delete grid configuration for a specific folder and given configuration ID \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E\n","operationId":"asset_delete_grid_configuration_by_configurationId","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/available-columns":{"get":{"tags":["Asset Grid"],"summary":"Get available grid column configurations","description":"Get all available grid columns for assets\n","operationId":"asset_get_available_grid_columns","responses":{"200":{"description":"All available grid column configurations for assets","content":{"application\/json":{"schema":{"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnConfiguration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/{folderId}":{"get":{"tags":["Asset Grid"],"summary":"Get asset grid configuration for a specific folder","description":"Get asset saved grid configuration by \u003Cstrong\u003E{folderId}\u003C\/strong\u003E if a configuration-id is set, otherwise get the default configuration will be returned.\n","operationId":"asset_get_grid_configuration_by_folderId","parameters":[{"name":"folderId","in":"path","description":"FolderId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"configurationId","in":"query","description":"Configuration ID","required":false,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Asset grid configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configurations":{"get":{"tags":["Asset Grid"],"summary":"Get all saved grid configurations for assets of the given folder","description":"Get all saved grid configurations for assets of the given folder for the current user and shared configurations for this user\n","operationId":"asset_get_saved_grid_configurations","responses":{"200":{"description":"List of saved grid configurations for the given folder","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Configuration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/remove-favorite\/{configurationId}\/{folderId}":{"delete":{"tags":["Asset Grid"],"summary":"Remove asset grid configuration as favorite for a specific folder","description":"Remove asset grid configuration as favorite for the current user for a specific folder\n","operationId":"asset_remove_grid_configuration_as_favorite","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}},{"name":"folderId","in":"path","description":"FolderId of the folderId","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Asset grid configuration removed as favorite successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/save":{"post":{"tags":["Asset Grid"],"summary":"Save asset grid configuration for a specific folder\n","description":"Save asset grid configuration for a specific folder\n","operationId":"asset_save_grid_configuration","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId","pageSize","name","description","columns"],"properties":{"folderId":{"type":"integer","example":1},"pageSize":{"type":"integer","example":1},"name":{"type":"string"},"description":{"type":"string"},"shareGlobal":{"type":"boolean","example":true},"setAsFavorite":{"type":"boolean","example":true},"saveFilter":{"type":"boolean","example":true},"sharedUsers":{"type":"object","example":[42,1337]},"sharedRoles":{"type":"object","example":[42,1337]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnSchema"}},"filter":{"oneOf":[{"$ref":"#\/components\/schemas\/Filter"},{"type":"null"}],"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Asset grid configuration saved successfully","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Configuration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/set-as-favorite\/{configurationId}\/{folderId}":{"post":{"tags":["Asset Grid"],"summary":"Set asset grid configuration as favorite for a specific folder","description":"Set asset grid configuration as favorite for the current user for a specific folder\n","operationId":"asset_set_grid_configuration_as_favorite","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}},{"name":"folderId","in":"path","description":"FolderId of the folderId","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Asset grid configuration set as favorite successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid\/configuration\/update\/{configurationId}":{"put":{"tags":["Asset Grid"],"summary":"Update asset grid configuration for a specific folder","description":"Update asset grid configuration for a specific folder and given configuration ID \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E\n","operationId":"asset_update_grid_configuration","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId","pageSize","name","description","columns"],"properties":{"folderId":{"type":"integer","example":1},"pageSize":{"type":"integer","example":1},"name":{"type":"string"},"description":{"type":"string"},"shareGlobal":{"type":"boolean","example":true},"setAsFavorite":{"type":"boolean","example":true},"saveFilter":{"type":"boolean","example":true},"sharedUsers":{"type":"object","example":[42,1337]},"sharedRoles":{"type":"object","example":[42,1337]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnSchema"}},"filter":{"oneOf":[{"$ref":"#\/components\/schemas\/Filter"},{"type":"null"}],"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Asset grid configuration updated successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/grid":{"post":{"tags":["Asset Grid"],"summary":"Get asset data for grid","description":"Retrieve assets data for grid. \u003Cbr\u003E\nYou can use different query parameters to filter the asset data: \u003Cbr\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EfolderId\u003C\/strong\u003E: ID of parent folder\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: To see the full description of request fields see the schema \u003Cstrong\u003EGrid Column Request\u003C\/strong\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: To see the full description of request fields see the schema \u003Cstrong\u003EGrid Filter\u003C\/strong\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"asset_get_grid","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId"],"properties":{"folderId":{"type":"integer","example":1},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/Filter"}},"type":"object"}}}},"responses":{"200":{"description":"Asset grid data","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"required":["id","columns","isLocked","permissions"],"type":"array","items":{"properties":{"id":{"type":"integer"},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnData"}},"isLocked":{"type":"boolean"},"permissions":{"$ref":"#\/components\/schemas\/Permissions"}},"type":"object"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/download\/custom":{"get":{"tags":["Assets"],"summary":"Download custom image by ID and configuration","description":"Download the custom image based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and configuration parameters. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_download_custom","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}},{"name":"mimeType","in":"query","description":"Mime type of downloaded image.","required":true,"schema":{"type":"string","enum":["JPEG","PNG"],"example":"JPEG"}},{"name":"resizeMode","in":"query","description":"Resize mode of downloaded image.","required":true,"schema":{"type":"string","enum":["resize","scaleByWidth","scaleByHeight"],"example":"scaleByWidth"}},{"name":"width","in":"query","description":"Width of downloaded image","schema":{"type":"integer","example":140}},{"name":"height","in":"query","description":"Height of downloaded image","schema":{"type":"integer","example":140}},{"name":"quality","in":"query","description":"Quality of downloaded image","schema":{"type":"integer","example":80}},{"name":"dpi","in":"query","description":"Dpi of downloaded image","schema":{"type":"integer","example":300}}],"responses":{"200":{"description":"Custom image binary file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"image\/jpeg":{"schema":{"type":"string","format":"binary"}},"image\/png":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/stream\/custom":{"get":{"tags":["Assets"],"summary":"Stream custom image thumbnail by ID and configuration","description":"Stream image asset thumbnail based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and configuration parameters. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_stream_custom","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}},{"name":"mimeType","in":"query","description":"Mime type of downloaded image.","required":true,"schema":{"type":"string","enum":["JPEG","PNG"],"example":"PNG"}},{"name":"resizeMode","in":"query","description":"Resize mode of downloaded image.","required":true,"schema":{"type":"string","enum":["scaleByHeight","scaleByWidth","resize","none"],"example":"none"}},{"name":"width","in":"query","description":"Width of downloaded image","schema":{"type":"integer","example":140}},{"name":"height","in":"query","description":"Height of downloaded image","schema":{"type":"integer","example":140}},{"name":"quality","in":"query","description":"Quality of downloaded image","schema":{"type":"integer","example":85}},{"name":"dpi","in":"query","description":"Dpi of downloaded image","schema":{"type":"integer","example":72}},{"name":"contain","in":"query","description":"Contain","required":false,"schema":{"type":"boolean","example":false}},{"name":"frame","in":"query","description":"Frame","required":false,"schema":{"type":"boolean","example":false}},{"name":"cover","in":"query","description":"Cover","required":false,"schema":{"type":"boolean","example":false}},{"name":"forceResize","in":"query","description":"Force resize","required":false,"schema":{"type":"boolean","example":false}},{"name":"cropPercent","in":"query","description":"","required":false,"schema":{"type":"boolean","example":false}},{"name":"cropWidth","in":"query","description":"CropWidth of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropHeight","in":"query","description":"CropHeight of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropTop","in":"query","description":"CropTop of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropLeft","in":"query","description":"CropLeft of image thumbnail","schema":{"type":"number","format":"float","example":0}}],"responses":{"200":{"description":"Image asset stream based on custom thumbnail configuration","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/stream\/dynamic":{"get":{"tags":["Assets"],"summary":"Stream image thumbnail by ID and dynamic configuration","description":"Stream image asset thumbnail based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and dynamic config data. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_stream_dynamic","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}},{"name":"config","in":"query","description":"A JSON encoded thumbnail configuration.","required":true,"schema":{"type":"string","example":"{\u0022alt\u0022: \u0022\u0022,\u0022cropPercent\u0022: false,\u0022cropWidth\u0022: 0,\u0022cropHeight\u0022: 0,\u0022cropTop\u0022: 0,\u0022cropLeft\u0022: 0,\u0022thumbnail\u0022: {\u0022width\u0022: 200,\u0022height\u0022: 200,\u0022interlace\u0022: true,\u0022quality\u0022: 90}}"}}],"responses":{"200":{"description":"Image asset stream based on dynamic thumbnail configuration","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/download\/format\/{format}":{"get":{"tags":["Assets"],"summary":"Download image asset by ID and format","description":"Download image asset by ID and format. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image. \u003Cbr\u003E List of available formats can be obtained via the thumbnail image collection endpoint","operationId":"asset_image_download_by_format","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}},{"name":"format","in":"path","description":"Find asset by matching format type.","required":true,"schema":{"type":"string","enum":["office","print","web"],"example":"web"}}],"responses":{"200":{"description":"Image asset binary file based on format","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"image\/jpeg":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/stream\/preview":{"get":{"tags":["Assets"],"summary":"Stream image asset preview by ID","description":"Stream image asset preview based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_stream_preview","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Image preview stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/stream":{"get":{"tags":["Assets"],"summary":"Stream original image asset by ID","description":"Stream original image asset based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_stream","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Stream of an original image asset","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/download\/thumbnail\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Download image asset by ID and thumbnail name","description":"Download the image asset based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image \u003Cbr\u003E\nList of downloadable \u003Cb\u003Ethumbnail names\u003C\/b\u003E can be obtained via the thumbnail image collection endpoint\n","operationId":"asset_image_download_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}}],"responses":{"200":{"description":"Image asset binary file based on thumbnail name","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/image\/stream\/thumbnail\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Stream image asset by ID and thumbnail name","description":"Stream the image asset based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset image\n","operationId":"asset_image_stream_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the image","required":true,"schema":{"type":"integer","example":83}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}},{"name":"cropPercent","in":"query","description":"","required":false,"schema":{"type":"boolean","example":false}},{"name":"cropWidth","in":"query","description":"CropWidth of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropHeight","in":"query","description":"CropHeight of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropTop","in":"query","description":"CropTop of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"cropLeft","in":"query","description":"CropLeft of image thumbnail","schema":{"type":"number","format":"float","example":0}},{"name":"mimeType","in":"query","description":"Mime type of steamed image.","required":false,"schema":{"type":"string","enum":["JPEG","PNG","source","original","print"],"example":"JPEG"}}],"responses":{"200":{"description":"Stream of image asset based on thumbnail name","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets":{"patch":{"tags":["Assets"],"summary":"Patch assets by ID","description":"Patching assets based on the given ID and data. \u003Cbr\u003E Patching can be used for updating single or multiple fields. \u003Cbr\u003E If single element is being patched, operation is executed synchronously. Multiple elements are patched asynchronously.\n","operationId":"asset_patch_by_id","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"type":"array","items":{"required":["id"],"properties":{"id":{"description":"Asset ID","type":"integer","example":83},"parentId":{"type":["integer","null"],"minimum":1},"key":{"type":["string","null"]},"locked":{"type":["string","null"]},"metadata":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/PatchCustomMetadata"}}},"type":"object"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully patched asset"},"201":{"description":"Successfully created jobRun for patching multiple assets","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/folder":{"patch":{"tags":["Assets"],"summary":"Patch all assets based on folder ID and filters","description":"Patching assets based on the given folder ID and data. \u003Cbr\u003E Patching on folders will be done asynchronously. \u003Cbr\u003E\nYou can also use filters and sorting. Filter assets from folder based on the grid filter schema\n","operationId":"asset_patch_folder_by_id","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"type":"array","items":{"required":["folderId"],"properties":{"folderId":{"description":"Folder ID","type":"integer","example":83},"parentId":{"type":["integer","null"],"minimum":1},"key":{"type":["string","null"]},"locked":{"type":["string","null"]},"metadata":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/PatchCustomMetadata"}}},"type":"object"}},"filters":{"$ref":"#\/components\/schemas\/ExportAllFilter"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created jobRun for patching multiple assets","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/thumbnail\/clear":{"delete":{"tags":["Assets"],"summary":"Clear image thumbnail by ID","description":"Clear the image thumbnail based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing asset image, video or pdf\n","operationId":"asset_clear_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/tree":{"get":{"tags":["Assets"],"summary":"Get all asset data for the tree","description":"Listing of all assets and asset folders in the system. \u003Cbr\u003E\nReturns only data which are relevant for the tree \u003Cbr\u003E\nYou can use different query parameters to filter the assets and it is possible to exclude folders from the result completely\n","operationId":"asset_get_tree","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"parentId","in":"query","description":"Filter assets by parent id.","required":false,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"idSearchTerm","in":"query","description":"Filter assets\/data-objects by matching ids. As a wildcard * can be used","required":false,"schema":{"type":"string","example":83}},{"name":"pqlQuery","in":"query","description":"Pql query filter","required":false,"schema":{"type":"string","example":"id = 69"}},{"name":"excludeFolders","in":"query","description":"Filter folders from result.","required":false,"schema":{"type":"boolean","example":false}},{"name":"path","in":"query","description":"Filter by path.","required":false,"schema":{"type":"string","example":"\/path\/to\/folder"}},{"name":"pathIncludeParent","in":"query","description":"Include the parent item in the result.","required":false,"schema":{"type":"boolean","example":true}},{"name":"pathIncludeDescendants","in":"query","description":"Include all descendants in the result.","required":false,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"asset_get_tree_success_description","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/Image"},{"$ref":"#\/components\/schemas\/AssetDocument"},{"$ref":"#\/components\/schemas\/Audio"},{"$ref":"#\/components\/schemas\/Video"},{"$ref":"#\/components\/schemas\/Archive"},{"$ref":"#\/components\/schemas\/Text"},{"$ref":"#\/components\/schemas\/AssetFolder"},{"$ref":"#\/components\/schemas\/Unknown"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/add\/{parentId}":{"post":{"tags":["Assets"],"summary":"Add a new asset","description":"Add a new asset based on the binary \u003Cstrong\u003E{file}\u003C\/strong\u003E to the given \u003Cstrong\u003E{parentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be an ID of existing folder.\n","operationId":"asset_add","parameters":[{"name":"parentId","in":"path","description":"ParentId of the asset","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"File to upload","type":"string","format":"binary"},"assetType":{"description":"Type of the asset to create","type":["string","null"]}},"type":"object"}}}},"responses":{"200":{"description":"ID of successfully uploaded new asset","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of created asset","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/exists\/{parentId}":{"get":{"tags":["Assets"],"summary":"Get information if asset already exists","description":"Get information if asset already exists based on the given \u003Cstrong\u003E{parentId}\u003C\/strong\u003E and \u003Cstrong\u003E{fileName}\u003C\/strong\u003E query parameter.\n","operationId":"asset_upload_info","parameters":[{"name":"parentId","in":"path","description":"ParentId of the asset","required":true,"schema":{"type":"integer","example":83}},{"name":"fileName","in":"query","description":"Name of the file to upload","required":true,"schema":{"type":"string","example":"file.jpg"}}],"responses":{"200":{"description":"Returns true and existing asset ID, if asset with the same name and in the same path already exists, false otherwise","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AssetUploadInfo"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/replace":{"post":{"tags":["Assets"],"summary":"Replace existing asset binary","description":"Replace the existing asset binary based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E with the provided {file} binary. \u003Cbr\u003E \nThe new asset binary mime type must be the same as the existing asset binary mime type.\n","operationId":"asset_replace","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"File to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"File name of the successfully replaced asset","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"new file name of the asset","type":"string","example":"image.jpg"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/add-zip\/{parentId}":{"post":{"tags":["Assets"],"summary":"Add new assets via ZIP archive","description":"Upload a ZIP archive with assets to the given \u003Cstrong\u003E{parentId}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be an ID of existing folder.\nZip archive is extracted and assets are uploaded on the background. \u003Cbr\u003E The jobRun ID is returned in the response\n","operationId":"asset_upload_zip","parameters":[{"name":"parentId","in":"path","description":"ParentId of the asset","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["zipFile"],"properties":{"zipFile":{"description":"Zip file to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created jobRun ID to upload multiple assets","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/video\/stream\/image-thumbnail":{"get":{"tags":["Assets"],"summary":"Stream video image thumbnail by ID and configuration","description":"Stream the video image thumbnail based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and configuration parameters. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset video \u003Cbr\u003E\n","operationId":"asset_video_image_thumbnail_stream","parameters":[{"name":"id","in":"path","description":"Id of the video","required":true,"schema":{"type":"integer","example":83}},{"name":"width","in":"query","description":"Width of the video image thumbnail","schema":{"type":"integer","example":265}},{"name":"height","in":"query","description":"Height of the video image thumbnail","schema":{"type":"integer","example":265}},{"name":"aspectRatio","in":"query","description":"Aspect ratio of the video image thumbnail","required":false,"schema":{"type":"boolean","example":false}},{"name":"frame","in":"query","description":"Frame of the video image thumbnail","required":false,"schema":{"type":"boolean","example":false}},{"name":"async","in":"query","description":"Generate the asset asynchronously","schema":{"type":"boolean","example":false}}],"responses":{"200":{"description":"Video image thumbnail stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/video\/download\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Download video asset by ID and thumbnail name","description":"Download the video asset based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset video \u003Cbr\u003E\nList of \u003Cb\u003Ethumbnail names\u003C\/b\u003E can be obtained via the thumbnail video collection endpoint\n","operationId":"asset_video_download_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the video","required":true,"schema":{"type":"integer","example":83}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}}],"responses":{"200":{"description":"Video binary file based on thumbnail name","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"video\/mp4":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/video\/stream\/{thumbnailName}":{"get":{"tags":["Assets"],"summary":"Stream video asset by ID and thumbnail name","description":"Stream the video asset based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{thumbnailName}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset video \u003Cbr\u003E\nList of \u003Cb\u003Ethumbnail names\u003C\/b\u003E can be obtained via the thumbnail video collection endpoint\n","operationId":"asset_video_stream_by_thumbnail","parameters":[{"name":"id","in":"path","description":"Id of the video","required":true,"schema":{"type":"integer","example":83}},{"name":"thumbnailName","in":"path","description":"Find asset by matching thumbnail name.","required":true,"schema":{"type":"string","example":"pimcore-system-treepreview"}}],"responses":{"200":{"description":"Video stream based on thumbnail name","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"video\/mp4":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/video\/types":{"get":{"tags":["Assets"],"summary":"Get all video types","description":"Retrieves all available video types in the system.\n","operationId":"asset_get_video_types","responses":{"200":{"description":"Successfully retrieved all available video types","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/VideoType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/login":{"post":{"tags":["Authorization"],"summary":"Session-based login with user credentials.","description":"Logs in a user with the provided credentials and returns the user information.","operationId":"login","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Credentials"}}}},"responses":{"200":{"description":"Login successful."},"401":{"description":"Invalid credentials Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvalidCredentials"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/logout":{"post":{"tags":["Authorization"],"summary":"Logout and invalidate current session for active user.","description":"Logout and invalidate current session for active user.","operationId":"logout","responses":{"200":{"description":"Logout successful."}}}},"\/pimcore-studio\/api\/login\/token":{"post":{"tags":["Authorization"],"summary":"Session-based login with user token.","description":"Logs in a user based on the provided token and returns the user information.\n","operationId":"login_token","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthenticationToken"}}}},"responses":{"200":{"description":"Login successful."},"401":{"description":"Invalid credentials Response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvalidCredentials"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/application-logger\/list":{"post":{"tags":["Bundle Application Logger"],"summary":"Get all log entries","description":"Get all paginated log entries. \u003Cbr\u003E \nYou can specify different filters in your request body. Available filters are: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\n \u003Cstrong\u003Elike and equals\u003C\/strong\u003E: Filter by key and value. Allowed keys:\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Epriority\u003C\/strong\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ecomponent\u003C\/strong\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Erelatedobject\u003C\/strong\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Emessage\u003C\/strong\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epid\u003C\/strong\u003E\u003C\/li\u003E\n \u003C\/ul\u003E\n \u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EdateFrom and dateTo\u003C\/strong\u003E: Filter by date (from, to)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the pageSize\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"bundle_application_logger_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022dateFrom\u0022,\u0022type\u0022:\u0022date\u0022,\u0022filterValue\u0022:{\u0022operator\u0022: \u0022from\u0022, \u0022value\u0022: \u00222025-06-25T10:00:00+02:00\u0022}},{\u0022key\u0022:\u0022dateTo\u0022,\u0022type\u0022:\u0022date\u0022,\u0022filterValue\u0022:{\u0022operator\u0022: \u0022to\u0022, \u0022value\u0022: \u00222025-06-30T24:00:00+02:00\u0022}},{\u0022key\u0022:\u0022priority\u0022, \u0022type\u0022:\u0022equals\u0022, \u0022filterValue\u0022: 2},{\u0022key\u0022:\u0022pid\u0022, \u0022type\u0022:\u0022like\u0022, \u0022filterValue\u0022: 44}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022id\u0022, \u0022direction\u0022:\u0022DESC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated log entries with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleApplicationLoggerLogEntry"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/application-logger\/components":{"get":{"tags":["Bundle Application Logger"],"summary":"List application logger components","description":"List all available components used for filtering for the application logger.\n","operationId":"bundle_application_logger_list_components","responses":{"200":{"description":"List of available components","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"title":"Components","description":"Log components used in the ApplicationLogger.","type":"array","items":{"type":"string","example":"application"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/application-logger\/priorities":{"get":{"tags":["Bundle Application Logger"],"summary":"List application logger priorities","description":"List all available priorities for the application logger.\n","operationId":"bundle_application_logger_list_priorities","responses":{"200":{"description":"List of available priorities","content":{"application\/json":{"schema":{"required":["priorities"],"properties":{"priorities":{"title":"Log priority levels","description":"Log priority levels used in the ApplicationLogger.","type":"array","items":{"type":"integer","example":1}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/drill-down-options":{"post":{"tags":["Bundle Custom Reports"],"summary":"Get all drill down options for a specific report by name and field","description":"Get all drill down options for a specific report by name and field. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing report and \u003Cstrong\u003E{field}\u003C\/strong\u003E must be a field of the report.\nIt is possible to use the \u003Cstrong\u003Efilters\u003C\/strong\u003E to further narrow down the options.\n","operationId":"custom_reports_list_drill_down_options","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","field"],"properties":{"name":{"type":["string","null"]},"field":{"type":["string","null"]},"filters":{"properties":{"columnFilters":{"type":"object","example":"[{\u0022property\u0022: \u0022count(*)\u0022, \u0022type\u0022:\u0022numeric\u0022,\u0022operator\u0022:\u0022lt\u0022,\u0022value\u0022:\u002215\u0022}]"},"drillDownFilters":{"type":"object","example":"{\u0022field\u0022:\u0022value\u0022,\u0022anotherField\u0022:\u0022anotherValue\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"List of drill down options for the report","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsDrillDownOption"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/chart":{"post":{"tags":["Bundle Custom Reports"],"summary":"Get chart data for a specific report","description":"Get paginated chart data for a specific report by name. \u003Cbr\u003E Parameters are: \n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Ename (required)\u003C\/strong\u003E: Name of existing custom report\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: Array of filters to filter the data\u003C\/li\u003E\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003EcolumnFilters\u003C\/strong\u003E: Allow filtering based on the columns and their values\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EdrillDownFilters\u003C\/strong\u003E: Filter based on pre-defined drill down filters\u003C\/li\u003E\n \u003C\/ul\u003E\n \u003Cli\u003E\u003Cstrong\u003EsortBy\u003C\/strong\u003E: Column name to sort the data by\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EsortOrder\u003C\/strong\u003E: Sort order (ASC\/DESC)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Offset, can be used in combination with pageSize\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Limit returned data\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Efields\u003C\/strong\u003E: Array of fields to be included in the data. If not provided, all fields will be included\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"custom_reports_chart","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":["string","null"]},"filters":{"properties":{"columnFilters":{"type":"object","example":"[{\u0022property\u0022: \u0022count(*)\u0022, \u0022type\u0022:\u0022numeric\u0022,\u0022operator\u0022:\u0022lt\u0022,\u0022value\u0022:\u002215\u0022}]"},"drillDownFilters":{"type":"object","example":"{\u0022field\u0022:\u0022value\u0022,\u0022anotherField\u0022:\u0022anotherValue\u0022}"}},"type":"object"},"sortBy":{"description":"Sort by field.","type":"string","example":"id"},"sortOrder":{"description":"Sort order (ASC or DESC).","type":"string","example":"DESC"},"page":{"description":"Page of the report data","type":"integer","minimum":1,"example":1},"pageSize":{"description":"Page size of the report data","type":"integer","minimum":1,"example":"50"},"fields":{"description":"Fields to be included in the chart data. If not provided, all fields will be included.","type":"array","items":{"type":"string","example":"field1"}}},"type":"object"}}}},"responses":{"200":{"description":"Chart data as JSON. The actual data depends on the selected adapter in the report configuration.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsChartData"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/config\/add":{"post":{"tags":["Bundle Custom Reports"],"summary":"Add a new custom reports configuration","description":"Add a new custom reports configuration with the provided name.\n","operationId":"custom_reports_config_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportAdd"}}}},"responses":{"200":{"description":"Successfully added custom report configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportsDetails"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/config\/clone\/{name}":{"post":{"tags":["Bundle Custom Reports"],"summary":"Clone an existing custom reports configuration","description":"Clone an existing custom reports configuration with the provided new name by existing report name \u003Cstrong\u003E{reportName}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{reportName}\u003C\/strong\u003E must be a name of an existing custom report. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E of the new report must be a unique valid name.\n","operationId":"custom_reports_config_clone","parameters":[{"name":"name","in":"path","description":"Name of the report to clone","required":true,"schema":{"type":"string","example":"myOriginalReport"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportClone"}}}},"responses":{"200":{"description":"Successfully cloned custom report configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportsDetails"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/column-config\/{name}":{"post":{"tags":["Bundle Custom Reports"],"summary":"Get all available column configurations for custom report","description":"Get all available column configurations for custom report by \u003Cstrong\u003E{name}\u003C\/strong\u003E and \u003Cstrong\u003E{configuration}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing custom report and \u003Cstrong\u003E{configuration}\u003C\/strong\u003E must be a valid data source configuration of that report.\n","operationId":"custom_reports_column_config_list","parameters":[{"name":"name","in":"path","description":"Name of the report","required":true,"schema":{"type":"string","example":"Quality_Attributes"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportsDataSourceConfig"}}}},"responses":{"200":{"description":"List of column configurations for the custom report","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsColumnInformation"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/config\/{name}":{"put":{"tags":["Bundle Custom Reports"],"summary":"Update an existing custom reports configuration","description":"Update an existing custom reports configuration with the provided name and parameters. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing custom report. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"custom_reports_config_update","parameters":[{"name":"name","in":"path","description":"Name of the report","required":true,"schema":{"type":"string","example":"Quality_Attributes"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportUpdate"}}}},"responses":{"200":{"description":"Successfully updated custom report configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportsDetails"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Custom Reports"],"summary":"Delete a custom reports configuration","description":"Delete a custom reports configuration with the given \u003Cstrong\u003E{name}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing custom report.\n","operationId":"custom_reports_config_delete","parameters":[{"name":"name","in":"path","description":"Name of the custom report to delete","required":true,"schema":{"type":"string","example":"Quality_Attributes"}}],"responses":{"200":{"description":"Successfully deleted custom report configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/report\/{name}":{"get":{"tags":["Bundle Custom Reports"],"summary":"Get detailed configuration for a specific report by name","operationId":"custom_reports_report","parameters":[{"name":"name","in":"path","description":"Name of the report","required":true,"schema":{"type":"string","example":"Quality_Attributes"}}],"responses":{"200":{"description":"Report data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCustomReportsDetails"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/tree\/config":{"get":{"tags":["Bundle Custom Reports"],"summary":"All reports for the current user to display in configuration tree.","description":"Get all reports for the current user to display in configuration tree.","operationId":"custom_reports_config_get_tree","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}}],"responses":{"200":{"description":"Get all reports for the current user to display in configuration tree.","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsConfigurationTreeNode"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/export\/csv":{"post":{"tags":["Bundle Custom Reports"],"summary":"Export report data as CSV","description":"Creating the CSV export file for custom reports. \u003Cbr\u003E Parameters are: \n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Ename (required)\u003C\/strong\u003E: Name of custom report\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: Array of filters to filter the data\u003C\/li\u003E\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003EcolumnFilters\u003C\/strong\u003E: Allow filtering based on the columns and their values\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EdrillDownFilters\u003C\/strong\u003E: Filter based on pre-defined drill down filters\u003C\/li\u003E\n \u003C\/ul\u003E\n \u003Cli\u003E\u003Cstrong\u003EsortBy\u003C\/strong\u003E: Column name to sort the data by\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EsortOrder\u003C\/strong\u003E: Sort order (ASC\/DESC)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Offset, can be used in combination with pageSize\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Limit returned data\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EincludeHeaders\u003C\/strong\u003E: Include headers in the export\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Edelimiter\u003C\/strong\u003E: Delimiter can be set to anything, but the default is a \u003Cstrong\u003Esemicolon\u003C\/strong\u003E\/li\u003E\n\u003C\/ul\u003E\nDownload has to be triggered separately via the csv download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"custom_report_export_csv","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":["string","null"]},"filters":{"properties":{"columnFilters":{"type":"object","example":"[{\u0022property\u0022: \u0022count(*)\u0022, \u0022type\u0022:\u0022numeric\u0022,\u0022operator\u0022:\u0022lt\u0022,\u0022value\u0022:\u002215\u0022}]"},"drillDownFilters":{"type":"object","example":"{\u0022field\u0022:\u0022value\u0022,\u0022anotherField\u0022:\u0022anotherValue\u0022}"}},"type":"object"},"sortBy":{"description":"Sort by field.","type":"string","example":"id"},"sortOrder":{"description":"Sort order (ASC or DESC).","type":"string","example":"DESC"},"page":{"description":"Page of the report data","type":"integer","minimum":1,"example":1},"pageSize":{"description":"Page size of the report data","type":"integer","minimum":1,"example":"50"},"includeHeaders":{"type":"boolean","example":false},"delimiter":{"type":"string","example":";"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for csv export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/custom-reports\/tree":{"get":{"tags":["Bundle Custom Reports"],"summary":"All reports for the current user to display in tree.","description":"Get all reports for the current user to display in tree.","operationId":"custom_reports_get_tree","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}}],"responses":{"200":{"description":"Get all reports for the current user to display in tree.","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsTreeNode"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/add":{"post":{"tags":["Bundle Seo"],"summary":"Add a new redirect","description":"Add a new redirect entry. \u003Cbr\u003E See the full description of request fields with the schema \u003Cstrong\u003EBundleSeoRedirectAdd\u003C\/strong\u003E\n","operationId":"bundle_seo_redirect_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRedirectAdd"}}}},"responses":{"200":{"description":"New redirect data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRedirect"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/cleanup":{"delete":{"tags":["Bundle Seo"],"summary":"Cleanup expired redirects","description":"Cleanup all expired redirects. \u003Cbr\u003E This will delete all redirects which are expired based on the \u003Cstrong\u003Eexpiry\u003C\/strong\u003E field.\n","operationId":"bundle_seo_redirect_cleanup","responses":{"200":{"description":"Successfully cleaned up expired redirects"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects":{"post":{"tags":["Bundle Seo"],"summary":"Get all redirects","description":"Get all paginated redirects entries. \u003Cbr\u003E You can specify different filters in your request body. Example filters are: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the page.size\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Eurl\u003C\/strong\u003E: Filter by redirect source URL\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Etype\u003C\/strong\u003E: Filter by redirect type (entire_uri, path_query, path, auto_create)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Edate\u003C\/strong\u003E: Filter for example by expiry (on, from, to)\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"bundle_seo_redirects_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022, \u0022filterValue\u0022: \u0022https:\/\/www.some-site\/old-url\u0022},{\u0022key\u0022:\u0022source\u0022, \u0022type\u0022:\u0022url\u0022, \u0022filterValue\u0022: \u0022https:\/\/www.some-example\u0022},{\u0022key\u0022:\u0022source\u0022, \u0022type\u0022:\u0022like\u0022, \u0022filterValue\u0022: \u0022en\/news\u0022},{\u0022key\u0022:\u0022target\u0022, \u0022type\u0022:\u0022equals\u0022, \u0022filterValue\u0022: \u0022en\/news\/new\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022priority\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated redirects with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleSeoRedirect"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/{id}":{"put":{"tags":["Bundle Seo"],"summary":"Update a redirect by ID","description":"Update the redirect with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing redirect. \u003Cbr\u003E\nSee the full description of updatable fields with the schema \u003Cstrong\u003EBundleSeoRedirectUpdate\u003C\/strong\u003E \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"bundle_seo_redirect_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the redirect","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRedirectUpdate"}}}},"responses":{"200":{"description":"Successfully updated redirect","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRedirect"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Seo"],"summary":"Delete a redirect by ID","description":"Delete the redirect with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing redirect.\n","operationId":"bundle_seo_redirect_delete","parameters":[{"name":"id","in":"path","description":"Id of the redirect","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted redirect"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/export":{"get":{"tags":["Bundle Seo"],"summary":"Export all redirects as CSV","description":"Export all redirects as CSV file.\n","operationId":"bundle_seo_redirects_export","responses":{"200":{"description":"CSV file with redirects as attachment","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022redirects.csv\u0022"}}},"content":{"text\/csv":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/import":{"post":{"tags":["Bundle Seo"],"summary":"Import redirects from CSV","description":"Import all redirects using a previously exported a CSV file.\n","operationId":"bundle_seo_redirects_import","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"CSV import file to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Import statistics data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRedirectImportStats"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/priorities":{"get":{"tags":["Bundle Seo"],"summary":"List redirect priorities","description":"List all available priorities for the redirects. Priority 1 is the lowest, 10 highest and 99 is to overwrite all other redirects.\n","operationId":"bundle_seo_redirect_list_priorities","responses":{"200":{"description":"List of available redirect priorities","content":{"application\/json":{"schema":{"required":["priorities"],"properties":{"priorities":{"title":"Redirect priority","description":"Redirect priority used in the PimcoreSeoBundle.","type":"array","items":{"type":"integer","example":1}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/statuses":{"get":{"tags":["Bundle Seo"],"summary":"List redirect statuses","description":"List all available statuses for the redirects.\n","operationId":"bundle_seo_redirect_list_statuses","responses":{"200":{"description":"List of available redirect statuses","content":{"application\/json":{"schema":{"required":["statuses"],"properties":{"statuses":{"title":"Redirect statuses","description":"List of redirect statuses used in the PimcoreSeoBundle.","type":"array","items":{"$ref":"#\/components\/schemas\/BundleSeoRedirectStatus"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/redirects\/types":{"get":{"tags":["Bundle Seo"],"summary":"List redirect types","description":"List all available types for the redirects.\n","operationId":"bundle_seo_redirect_list_types","responses":{"200":{"description":"List of available redirect types","content":{"application\/json":{"schema":{"required":["types"],"properties":{"types":{"title":"Redirect types","description":"List of redirect types used in the PimcoreSeoBundle.","type":"array","items":{"type":"string","example":"path"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/seo\/robots-txt":{"get":{"tags":["Bundle Seo"],"summary":"Get robots.txt configuration","description":"Get the robots.txt configuration for all sites, including whether a physical robots.txt file exists on the filesystem.\n","operationId":"bundle_seo_robots_txt_get","responses":{"200":{"description":"Robots.txt configuration data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRobotsTxtConfig"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Seo"],"summary":"Update robots.txt configuration","description":"Update the robots.txt configuration for all sites. Saves the provided site-keyed robots.txt content to the settings store.\n","operationId":"bundle_seo_robots_txt_update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRobotsTxtUpdate"}}}},"responses":{"200":{"description":"Updated robots.txt configuration data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleSeoRobotsTxtConfig"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/available-visible-fields":{"get":{"tags":["Class Definition"],"summary":"Get available visible fields for classes","description":"Get available visible fields for the specified data object classes. \u003Cbr\u003E\nReturns system columns and common fields across all provided class names. \u003Cbr\u003E\nThe \u003Cstrong\u003E{classNames}\u003C\/strong\u003E must be a comma separated list of existing data object class names.\n","operationId":"class_get_available_visible_fields","parameters":[{"name":"classNames","in":"query","description":"Comma-separated list of class names","required":false,"schema":{"type":"string","example":"Car,Manufacturer,News"}}],"responses":{"200":{"description":"Successfully retrieved available visible fields","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/AvailableVisibleField"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/bulk-export\/available":{"get":{"tags":["Class Definition"],"summary":"Get available items for bulk export","description":"Get all available definitions (field collections, classes, custom layouts, object bricks) that can be exported, filtered by user permissions.\n","operationId":"class_bulk_export_available","responses":{"200":{"description":"List of available exportable items","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BulkExportAvailableItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/bulk-export":{"post":{"tags":["Class Definition"],"summary":"Bulk export class definitions","description":"Export multiple definitions (field collections, classes, custom layouts, object bricks) as a single JSON file. \u003Cbr\u003E\nItems are grouped by type in the exported file.\n","operationId":"class_bulk_export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BulkExportParameters"}}}},"responses":{"200":{"description":"Bulk export JSON file download","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022bulk_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/bulk-import\/{fileId}":{"post":{"tags":["Class Definition"],"summary":"Bulk import class definitions asynchronously","description":"Import selected definitions asynchronously from a previously prepared bulk import file identified by \u003Cstrong\u003E{fileId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{fileId}\u003C\/strong\u003E must be obtained from the prepare import endpoint. \u003Cbr\u003E\nItems are imported in dependency order (field collections, classes, custom layouts, object bricks). \u003Cbr\u003E\nImport is processed asynchronously via the execution engine. The response contains a \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E to track progress.\n","operationId":"class_bulk_import","parameters":[{"name":"fileId","in":"path","description":"File identifier returned by the prepare import endpoint","required":true,"schema":{"type":"string","example":"6792e2b43f0a7"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BulkImportParameters"}}}},"responses":{"201":{"description":"Successfully created jobRun for bulk import","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete a prepared bulk import file","description":"Delete a previously prepared bulk import file identified by \u003Cstrong\u003E{fileId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{fileId}\u003C\/strong\u003E must be obtained from the prepare import endpoint. \u003Cbr\u003E\nReturns 404 if the file does not exist or has already been cleaned up.\n","operationId":"class_bulk_import_delete_file","parameters":[{"name":"fileId","in":"path","description":"File identifier returned by the prepare import endpoint","required":true,"schema":{"type":"string","example":"6792e2b43f0a7"}}],"responses":{"200":{"description":"Successfully deleted bulk import file"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/bulk-import\/prepare":{"post":{"tags":["Class Definition"],"summary":"Prepare a bulk import from an uploaded file","description":"Upload a bulk export JSON file to analyze its contents and prepare for import. \u003Cbr\u003E\nReturns a file identifier and a list of importable items found in the file. \u003Cbr\u003E\nUse the returned \u003Cstrong\u003E{fileId}\u003C\/strong\u003E with the bulk import endpoint to perform the actual import.\n","operationId":"class_bulk_import_prepare","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Bulk export JSON file to analyze","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"File identifier and list of importable items","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BulkImportPrepareResponse"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/collection":{"get":{"tags":["Class Definition"],"summary":"Get class definitions collection","description":"Get collection of all class definitions","operationId":"class_definition_collection","responses":{"200":{"description":"List of class definitions","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionList"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/collection\/creatable":{"get":{"tags":["Class Definition"],"summary":"Get collection of all class definitions that can be created.","description":"Get collection of all class definitions that can be created.","operationId":"class_definition_collection_creatable","responses":{"200":{"description":"List of class definitions that can be created.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionList"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/collection":{"get":{"tags":["Class Definition"],"summary":"Get custom layout collection for data object class","description":"Get custom layout collection for the given data object class.","operationId":"class_custom_layout_collection","parameters":[{"name":"classIds","in":"query","description":"Comma-separated list of class Ids","required":false,"schema":{"type":"string","example":"CAR,MA,CA"}}],"responses":{"200":{"description":"List of custom layouts for the given data object class in a simple and compact format for listings.\n","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/CustomLayoutCompact"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/all-layouts":{"get":{"tags":["Class Definition"],"summary":"Get all available class layouts","description":"Get all available layouts for classes.\n","operationId":"class_all_layout_collection","responses":{"200":{"description":"List of all available class layouts","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassLayoutCompact"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/{customLayoutId}":{"get":{"tags":["Class Definition"],"summary":"Get custom layout by given id","description":"Get custom layout by given id","operationId":"class_custom_layout_get","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Custom layout data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update custom layout by given ID","description":"Update custom layout by the given \u003Cstrong\u003E{customLayoutId}\u003C\/strong\u003E and parameters. \u003Cbr\u003E\nThe \u003Cstrong\u003E{customLayoutId}\u003C\/strong\u003E must be an ID of an existing custom layout. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"class_custom_layout_update","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayoutUpdate"}}}},"responses":{"200":{"description":"Custom layout updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Class Definition"],"summary":"Create custom layout","description":"Create custom layout","operationId":"class_custom_layout_create","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayoutNew"}}}},"responses":{"200":{"description":"Custom layout created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete custom layout by given id","description":"Delete custom layout by given id","operationId":"class_custom_layout_delete","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Custom layout deleted"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/editor\/collection\/{objectId}":{"get":{"tags":["Class Definition"],"summary":"Get custom layout collection for the data object","description":"Get custom layout collection based on the \u003Cstrong\u003E{objectId}\u003C\/strong\u003E and current user permissions. \u003Cbr\u003E\nThe \u003Cstrong\u003E{objectId}\u003C\/strong\u003E must be an ID of an existing object.\n","operationId":"class_custom_layout_editor_collection","parameters":[{"name":"objectId","in":"path","description":"ObjectId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of custom layouts for the given data object ID","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/CustomLayoutCompact"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/export\/{customLayoutId}":{"get":{"tags":["Class Definition"],"summary":"Export custom layout by given id as JSON","description":"Export custom layout by given id as JSON","operationId":"class_custom_layout_export","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Custom layout data as JSON","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022custom_definition_CarToDo_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/identifier-data\/{classDefinitionId}":{"get":{"tags":["Class Definition"],"summary":"Get identifier data for new custom layout","description":"Get identifier data for new custom layout. \u003Cbr\u003E\nResults consist of suggested unique ID, existing layout IDs and existing layout names for provided \u003Cstrong\u003E{classDefinitionId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{classDefinitionId}\u003C\/strong\u003E must be an ID of an existing class definition.\n","operationId":"class_custom_layout_get_identifier_data","parameters":[{"name":"classDefinitionId","in":"path","description":"Class definition unique identifier for custom layouts","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Identifier data for new custom layout as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayoutIdentifierData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/custom-layout\/import\/{customLayoutId}":{"post":{"tags":["Class Definition"],"summary":"Import custom layout","description":"Import custom layout using a previously exported JSON.","operationId":"class_custom_layout_import","parameters":[{"name":"customLayoutId","in":"path","description":"Id of custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported custom layout configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}\/bricks":{"get":{"tags":["Class Definition"],"summary":"Get object bricks usage data for the class definition","description":"Get usage data of object bricks for the given class definition ID \u003Cstrong\u003E{id}\u003C\/strong\u003E \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing class definition.\n","operationId":"class_definition_get_bricks_usages","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Object bricks usage data","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionObjectBrickData"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/create":{"post":{"tags":["Class Definition"],"summary":"Create a new class definition configuration","description":"Create a new class definition configuration with the given \u003Cstrong\u003E{name}\u003C\/strong\u003E and unique ID \u003Cstrong\u003E{uid}\u003C\/strong\u003E \u003Cbr\u003E\nThe \u003Cstrong\u003E{uid}\u003C\/strong\u003E must be unique and not already exist.\n","operationId":"class_definition_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateClassDefinition"}}}},"responses":{"200":{"description":"Successfully created class definition configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}":{"get":{"tags":["Class Definition"],"summary":"Get class definition data by ID","description":"Get class definition data by ID","operationId":"class_definition_get_by_id","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Class definition data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update class definition configuration by given ID","description":"Update an existing class definition configuration with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and parameters. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing class definition. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"class_definition_update","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinitionUpdate"}}}},"responses":{"200":{"description":"Successfully updated class definition configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete a class definition configuration","description":"Delete a class definition configuration with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing class definition.\n","operationId":"class_definition_delete","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Successfully deleted class definition configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}\/export":{"get":{"tags":["Class Definition"],"summary":"Export a class definition configuration as JSON","description":"Export a class definition configuration as JSON for the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing class definition.\n","operationId":"class_definition_export","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Exported class definition configuration as JSON","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022class_Car_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/identifier-data":{"get":{"tags":["Class Definition"],"summary":"Get identifier data for new class","description":"Get identifier data for new class. Results consist of suggested unique ID and existing class IDs.\n","operationId":"class_definition_get_identifier_data","responses":{"200":{"description":"Suggested unique ID and existing class IDs","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinitionIdentifierData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}\/import":{"post":{"tags":["Class Definition"],"summary":"Import a class definition configuration from JSON file","description":"Import a class definition configuration from a previously exported JSON file for the given class definition \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing class definition.\n","operationId":"class_definition_import","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file with JSON encoded class definition configuration","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported class definition configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}\/layout":{"get":{"tags":["Class Definition"],"summary":"Get layout definitions for the class definition","description":"Get layout definition for the given class definition ID \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"class_definition_get_layout_by_id","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Layout definition data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Layout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/detail\/{id}\/selected-visible-fields":{"get":{"tags":["Class Definition"],"summary":"Get selected visible fields for a class relation field","description":"Get selected visible fields for the specified data object class and relation field. \u003Cbr\u003E\nThe \u003Cstrong\u003E{classId}\u003C\/strong\u003E must be an ID of existing data object class. \u003Cbr\u003E\nThe \u003Cstrong\u003E{relationField}\u003C\/strong\u003E must be the name of an existing relation field in the specified class.\n","operationId":"class_get_selected_visible_fields","parameters":[{"name":"id","in":"path","description":"Class definition unique identifier","required":true,"schema":{"type":"string","example":"CAR"}},{"name":"relationField","in":"query","description":"Relation field name for which the selected fields should be retrieved as dot notation.","required":false,"schema":{"type":"string","example":"myRelationField"}}],"responses":{"200":{"description":"Successfully retrieved selected visible fields","content":{"application\/json":{"schema":{"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnConfiguration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/text-layout\/preview":{"get":{"tags":["Class Definition"],"summary":"Get text layout preview for the class definition","description":"Get text layout preview for the given class definition based on the provided request data. \u003Cbr\u003E\nThe \u003Cstrong\u003E{className}\u003C\/strong\u003E must be a name of an existing class definition.\n","operationId":"class_definition_get_text_layout_preview","parameters":[{"name":"className","in":"query","description":"Class definition name where layout is defined","required":true,"schema":{"type":"string","example":"Car"}},{"name":"path","in":"query","description":"Path to optional object to render the layout with","required":false,"schema":{"type":"string","example":"\/cars\/my-car"}},{"name":"renderingData","in":"query","description":"Optional dynamic data to be used for rendering the layout","required":false,"schema":{"type":"string","example":"\u003Cdiv\u003ESome HTML data\u003C\/div\u003E"}},{"name":"renderingClass","in":"query","description":"Optional rendering class to be used for rendering the layout","required":false,"schema":{"type":"string","example":"My\\Custom\\Class"}},{"name":"html","in":"query","description":"Optional static HTML to be used for rendering the layout","required":false,"schema":{"type":"string","example":"\u003Cdiv\u003ESome HTML data\u003C\/div\u003E"}}],"responses":{"200":{"description":"Text layout preview as HTML","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022text-layout-preview.html\u0022"}}},"content":{"text\/html":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/configuration-view\/tree":{"get":{"tags":["Class Definition"],"summary":"Get class definition tree data","description":"Get class definition tree for all classes. Results can be grouped based on the \u003Cstrong\u003E{withGroup}\u003C\/strong\u003E parameter.\n","operationId":"class_definition_get_tree","parameters":[{"name":"withGroup","in":"query","description":"Whether to group the results.","required":true,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"Class definition data for the tree view","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/ClassDefinitionTreeNode"},{"$ref":"#\/components\/schemas\/ClassDefinitionTreeNodeFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/collection":{"get":{"tags":["Class Definition"],"summary":"Get all field collection configurations","description":"Get all available field collection configurations in the system\n","operationId":"class_field_collection_collection","responses":{"200":{"description":"List of field collection configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/FieldCollectionConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection":{"post":{"tags":["Class Definition"],"summary":"Create a new field collection definition","description":"Create a new empty field collection definition with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be unique and not already exist (case-insensitive). \u003Cbr\u003E\n","operationId":"class_field_collection_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateFieldCollection"}}}},"responses":{"200":{"description":"Successfully created field collection definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FieldCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{key}":{"get":{"tags":["Class Definition"],"summary":"Get field collection by key","description":"Retrieves a specific field collection definition based on the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_get_by_key","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"responses":{"200":{"description":"Field collection detail data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FieldCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update field collection definition by given key","description":"Update an existing field collection definition with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E and parameters. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition. \u003Cbr\u003E\nThe \u003Cstrong\u003E{values}\u003C\/strong\u003E and \u003Cstrong\u003E{configuration}\u003C\/strong\u003E fields are required.\n","operationId":"class_field_collection_update","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FieldCollectionUpdate"}}}},"responses":{"200":{"description":"Successfully updated field collection definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FieldCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete a field collection definition","description":"Delete a field collection definition with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_delete","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"responses":{"200":{"description":"Successfully deleted field collection definition"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{key}\/export":{"get":{"tags":["Class Definition"],"summary":"Export a field collection definition as JSON","description":"Export a field collection definition as JSON for the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_export","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"responses":{"200":{"description":"Exported field collection definition as JSON","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022fieldcollection_MyFieldCollection_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{key}\/import":{"post":{"tags":["Class Definition"],"summary":"Import a field collection definition from JSON file","description":"Import a field collection definition from a previously exported JSON file for the given field collection \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_import","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file with JSON encoded field collection definition","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported field collection definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FieldCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{objectId}\/object\/layout":{"get":{"tags":["Class Definition"],"summary":"Get all layouts from the field collection for an given object","description":"Get all layouts from the field collection for an given object\n","operationId":"class_field_collection_object_layout","parameters":[{"name":"objectId","in":"path","description":"ObjectId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of layouts","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/FieldCollectionLayoutDefinition"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{key}\/layout":{"get":{"tags":["Class Definition"],"summary":"Get field collection layout definition by key","description":"Retrieves the layout definition for a specific field collection based on the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_get_layout_by_key","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"responses":{"200":{"description":"Field collection layout definition data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConfigLayoutDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/tree":{"get":{"tags":["Class Definition"],"summary":"Get field collection tree","description":"Get the field collection tree with grouped folders. \u003Cbr\u003E\nOptionally filter by allowed types using a comma-separated list via the \u003Cstrong\u003E{allowedTypes}\u003C\/strong\u003E query parameter.\n","operationId":"class_field_collection_get_tree","parameters":[{"name":"allowedTypes","in":"query","description":"Comma-separated list of allowed field collection types to filter by.","required":false,"schema":{"type":"string","example":"NewsCars,NewsText"}}],"responses":{"200":{"description":"Field collection tree with nodes and folders","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/FieldCollectionTreeNode"},{"$ref":"#\/components\/schemas\/FieldCollectionTreeNodeFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/field-collection\/{key}\/usages":{"get":{"tags":["Class Definition"],"summary":"Get field collection usage data","description":"Get usage data showing which classes and fields use the field collection with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing field collection definition.\n","operationId":"class_field_collection_get_usages","parameters":[{"name":"key","in":"path","description":"Field collection unique key","required":true,"schema":{"type":"string","example":"MyFieldCollection"}}],"responses":{"200":{"description":"Field collection usage data","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/FieldCollectionUsageData"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/fields-by-type":{"get":{"tags":["Class Definition"],"summary":"Get class definition fields by type","description":"Get class definition fields filtered by one or more field types. \u003Cbr\u003E\nThe \u003Cstrong\u003E{classId}\u003C\/strong\u003E must be an ID of an existing data object class. \u003Cbr\u003E\nThe \u003Cstrong\u003E{type}\u003C\/strong\u003E must be a comma-separated list of field types, e.g. \u003Cstrong\u003EmanyToOneRelation,objectbricks\u003C\/strong\u003E.\n","operationId":"class_get_fields_by_type","parameters":[{"name":"classId","in":"query","description":"The class ID to retrieve fields for.","required":true,"schema":{"type":"string","example":"EV"}},{"name":"type","in":"query","description":"Comma-separated list of field types to filter by.","required":true,"schema":{"type":"string","example":"manyToOneRelation,objectbricks"}}],"responses":{"200":{"description":"Successfully retrieved class definition fields for the requested types","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/FieldByType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/folder\/{folderId}":{"get":{"tags":["Class Definition"],"summary":"Get list of all data object classes in a folder","description":"Get list of all data object classes in a folder","operationId":"class_definition_folder_collection","parameters":[{"name":"folderId","in":"path","description":"FolderId of the data-object","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of all data object classes in a folder","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionFolderItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/definition\/{dataObjectClass}":{"get":{"tags":["Class Definition"],"summary":"Get class definition for data object class","description":"Get class definition for the given data object class","operationId":"class_definition_get","parameters":[{"name":"dataObjectClass","in":"path","description":"Data object class","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Class definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/classes":{"get":{"tags":["Class Definition"],"summary":"Get class definitions with ObjectBricks fields","description":"Get a collection of class definitions that have at least one ObjectBricks field definition.\n","operationId":"class_object_brick_classes","responses":{"200":{"description":"Collection of class definitions with ObjectBricks fields","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionList"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/collection":{"get":{"tags":["Class Definition"],"summary":"Get all object brick definitions","description":"Get a collection of all available object brick definitions.\n","operationId":"class_object_brick_collection","responses":{"200":{"description":"Collection of object brick definitions","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ObjectBrickConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick":{"post":{"tags":["Class Definition"],"summary":"Create a new object brick definition","description":"Create a new object brick definition with the provided \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be unique and not already exist.\n","operationId":"class_object_brick_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateObjectBrick"}}}},"responses":{"200":{"description":"Created object brick definition detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ObjectBrickDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/custom-layout\/{customLayoutId}":{"get":{"tags":["Class Definition"],"summary":"Get object brick custom layout","description":"Get a custom layout for a specific object brick by brick key and custom layout ID.\n","operationId":"class_object_brick_custom_layout_get","parameters":[{"name":"key","in":"path","description":"Object brick key","required":true,"schema":{"type":"string","example":"SaleInformation"}},{"name":"customLayoutId","in":"path","description":"Id of the base custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Object brick custom layout data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update object brick custom layout","description":"Update a custom layout for a specific object brick. If the brick layout does not exist yet, it will be\nauto-created from the base custom layout and then updated with the provided data.\n","operationId":"class_object_brick_custom_layout_update","parameters":[{"name":"key","in":"path","description":"Object brick key","required":true,"schema":{"type":"string","example":"SaleInformation"}},{"name":"customLayoutId","in":"path","description":"Id of the base custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayoutUpdate"}}}},"responses":{"200":{"description":"Updated object brick custom layout","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete object brick custom layout","description":"Delete a custom layout for a specific object brick by brick key and custom layout ID.\n","operationId":"class_object_brick_custom_layout_delete","parameters":[{"name":"key","in":"path","description":"Object brick key","required":true,"schema":{"type":"string","example":"SaleInformation"}},{"name":"customLayoutId","in":"path","description":"Id of the base custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Object brick custom layout deleted"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/custom-layout\/{customLayoutId}\/export":{"get":{"tags":["Class Definition"],"summary":"Export object brick custom layout as JSON","description":"Export a custom layout for a specific object brick as JSON file download.\n","operationId":"class_object_brick_custom_layout_export","parameters":[{"name":"key","in":"path","description":"Object brick key","required":true,"schema":{"type":"string","example":"SaleInformation"}},{"name":"customLayoutId","in":"path","description":"Id of the base custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"responses":{"200":{"description":"Object brick custom layout data as JSON","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022custom_definition_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/custom-layout\/{customLayoutId}\/import":{"post":{"tags":["Class Definition"],"summary":"Import object brick custom layout from JSON","description":"Import a custom layout for a specific object brick from a previously exported JSON file.\n","operationId":"class_object_brick_custom_layout_import","parameters":[{"name":"key","in":"path","description":"Object brick key","required":true,"schema":{"type":"string","example":"SaleInformation"}},{"name":"customLayoutId","in":"path","description":"Id of the base custom layout","required":true,"schema":{"type":"string","example":"CarTodo"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported object brick custom layout","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}":{"get":{"tags":["Class Definition"],"summary":"Get object brick definition by key","description":"Get a single object brick definition by its unique \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing object brick definition.\n","operationId":"class_object_brick_get_by_key","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"Object brick definition detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ObjectBrickDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update an object brick definition by key","description":"Update an existing object brick definition by its unique \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing object brick definition.\n","operationId":"class_object_brick_update","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ObjectBrickUpdate"}}}},"responses":{"200":{"description":"Updated object brick definition detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ObjectBrickDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete an object brick definition by key","description":"Delete an existing object brick definition by its unique \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing object brick definition.\n","operationId":"class_object_brick_delete","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"Successfully deleted object brick definition"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/export":{"get":{"tags":["Class Definition"],"summary":"Export an object brick definition as JSON","description":"Export an existing object brick definition as JSON by its unique \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing object brick definition.\n","operationId":"class_object_brick_export","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"JSON export of the object brick definition","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022objectbrick_MyObjectBrick_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/import":{"post":{"tags":["Class Definition"],"summary":"Import an object brick definition from JSON","description":"Import an object brick definition from a JSON file for the object brick with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{key}\u003C\/strong\u003E must be the key of an existing object brick definition.\n","operationId":"class_object_brick_import","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file with JSON encoded object brick definition","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Imported object brick definition detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ObjectBrickDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{objectId}\/object\/layout":{"get":{"tags":["Class Definition"],"summary":"Get all layouts from the object bricks for an given object","description":"Get all layouts from the object bricks for an given object\n","operationId":"class_object_brick_object_layout","parameters":[{"name":"objectId","in":"path","description":"ObjectId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of layouts","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ObjectBrickLayoutDefinition"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/layout":{"get":{"tags":["Class Definition"],"summary":"Get object brick layout definition by key","description":"Get the layout definition for the object brick with the given \u003Cstrong\u003E{key}\u003C\/strong\u003E.\n","operationId":"class_object_brick_get_layout_by_key","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"Object brick layout definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConfigLayoutDefinition"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/tree":{"get":{"tags":["Class Definition"],"summary":"Get object brick tree","description":"Get the object brick tree with grouped folders.\n","operationId":"class_object_brick_get_tree","responses":{"200":{"description":"Object brick tree with nodes and folders","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/ObjectBrickTreeNode"},{"$ref":"#\/components\/schemas\/ObjectBrickTreeNodeFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/object-brick\/{key}\/usages":{"get":{"tags":["Class Definition"],"summary":"Get usages of an object brick definition","description":"Get the usages of an object brick definition by its unique \u003Cstrong\u003E{key}\u003C\/strong\u003E. \u003Cbr\u003E\nReturns all classes and fields that reference this object brick.\n","operationId":"class_object_brick_get_usages","parameters":[{"name":"key","in":"path","description":"Object brick unique key","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"List of classes and fields using the object brick","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/ObjectBrickUsageData"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/select-option":{"post":{"tags":["Class Definition"],"summary":"Create a new select option configuration","description":"Create a new select option configuration.\nThe ID must be unique (case-insensitive). Returns the newly created configuration detail.\n","operationId":"class_select_option_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateSelectOption"}}}},"responses":{"200":{"description":"Newly created select option configuration detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SelectOptionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/select-option\/{id}":{"get":{"tags":["Class Definition"],"summary":"Get select option configuration by ID","description":"Get a single select option configuration by its ID.\nReturns all configuration details including select option entries, group, traits, interfaces, and the fully qualified enum name.\n","operationId":"class_select_option_get","parameters":[{"name":"id","in":"path","description":"Select option configuration ID","required":true,"schema":{"type":"string","example":"EventStatus"}}],"responses":{"200":{"description":"Select option configuration detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SelectOptionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Class Definition"],"summary":"Update a select option configuration","description":"Update an existing select option configuration.\nReplaces the configuration data with the provided values. Admin-only configurations require admin access.\n","operationId":"class_select_option_update","parameters":[{"name":"id","in":"path","description":"Select option configuration ID","required":true,"schema":{"type":"string","example":"EventStatus"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateSelectOption"}}}},"responses":{"200":{"description":"Updated select option configuration detail","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SelectOptionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Class Definition"],"summary":"Delete a select option configuration","description":"Delete a select option configuration by its ID.\nFails with a conflict error if the configuration is currently in use by class definitions.\nAdmin-only configurations require admin access.\n","operationId":"class_select_option_delete","parameters":[{"name":"id","in":"path","description":"Select option configuration ID","required":true,"schema":{"type":"string","example":"EventStatus"}}],"responses":{"200":{"description":"Successfully deleted the select option configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/select-option\/tree":{"get":{"tags":["Class Definition"],"summary":"Get select options tree data","description":"Get select options tree data. Results can be grouped based on the \u003Cstrong\u003E{withGroup}\u003C\/strong\u003E parameter.\n","operationId":"class_select_option_get_tree","parameters":[{"name":"withGroup","in":"query","description":"Whether to group the results.","required":true,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"Select options data for the tree view","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/SelectOptionTree"},{"$ref":"#\/components\/schemas\/SelectOptionTreeFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/class\/select-option\/{id}\/usages":{"get":{"tags":["Class Definition"],"summary":"Get usages of a select option configuration","description":"Get the list of class definitions and fields that use a specific select option configuration.\n","operationId":"class_select_option_get_usages","parameters":[{"name":"id","in":"path","description":"Select option configuration ID","required":true,"schema":{"type":"string","example":"EventStatus"}}],"responses":{"200":{"description":"List of classes and fields using the select option configuration","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/SelectOptionUsageItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores\/{storeId}\/collections":{"post":{"tags":["Classification Store"],"summary":"List collection configurations","description":"Get a paginated list of classification store collection configurations.\nSupports filtering, sorting, and pagination via the collection filter parameter.\n","operationId":"classification_store_configuration_collection_collection","parameters":[{"name":"storeId","in":"path","description":"ID of the store to list collections for","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022,\u0022filterValue\u0022:\u0022my-collection\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022name\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated list of collection configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionDetail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/collections\/add":{"post":{"tags":["Classification Store"],"summary":"Create a collection","description":"Create a new classification store collection configuration with a name and store ID","operationId":"classification_store_configuration_collection_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionCreate"}}}},"responses":{"200":{"description":"Created collection configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/collections\/{id}":{"put":{"tags":["Classification Store"],"summary":"Update a collection","description":"Update an existing classification store collection configuration by ID","operationId":"classification_store_configuration_collection_update","parameters":[{"name":"id","in":"path","description":"Id of the collection configuration","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionUpdate"}}}},"responses":{"200":{"description":"Updated collection configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Classification Store"],"summary":"Delete a collection","description":"Delete a classification store collection configuration by ID.\nThis also removes all associated collection-group relations.\n","operationId":"classification_store_configuration_collection_delete","parameters":[{"name":"id","in":"path","description":"Id of the collection configuration","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted collection configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/collections\/{colId}\/relations":{"post":{"tags":["Classification Store"],"summary":"List collection-group relations","description":"List collection-group relations for a given collection ID.\nSupports filtering, sorting, and pagination via the collection filter parameter.\nThe colId query parameter is required.\n","operationId":"classification_store_configuration_collection_relation_collection","parameters":[{"name":"colId","in":"path","description":"ID of the collection to list relations for","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022:\u0022metadata.object\u0022,\u0022filterValue\u0022:1}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022groupId\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated list of collection-group relations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionRelationDetail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/collection-relations\/add":{"post":{"tags":["Classification Store"],"summary":"Create or update a collection-group relation","description":"Create or update a collection-group relation with collection ID, group ID, and optional sorter","operationId":"classification_store_configuration_collection_relation_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionRelationCreate"}}}},"responses":{"200":{"description":"Created or updated collection-group relation","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionRelationDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/collection-relations":{"delete":{"tags":["Classification Store"],"summary":"Delete a collection-group relation","description":"Delete a collection-group relation by collection ID and group ID","operationId":"classification_store_configuration_collection_relation_delete","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationCollectionRelationDelete"}}}},"responses":{"200":{"description":"Successfully deleted collection-group relation"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores\/{storeId}\/groups":{"post":{"tags":["Classification Store"],"summary":"List group configurations","description":"Get a paginated list of classification store group configurations.\nYou can specify filters, sorting and pagination in the request body.\n","operationId":"classification_store_configuration_group_collection","parameters":[{"name":"storeId","in":"path","description":"ID of the store to list groups for","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022,\u0022filterValue\u0022:\u0022my-group\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022name\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated list of group configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGroupDetail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/groups\/add":{"post":{"tags":["Classification Store"],"summary":"Create a new group","description":"Create a new classification store group configuration within a store","operationId":"classification_store_configuration_group_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGroupCreate"}}}},"responses":{"200":{"description":"Created group configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGroupDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/groups\/{id}":{"put":{"tags":["Classification Store"],"summary":"Update a group","description":"Update an existing classification store group configuration by ID","operationId":"classification_store_configuration_group_update","parameters":[{"name":"id","in":"path","description":"Id of the group configuration","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGroupUpdate"}}}},"responses":{"200":{"description":"Updated group configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGroupDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Classification Store"],"summary":"Delete a group","description":"Delete a classification store group configuration by ID","operationId":"classification_store_configuration_group_delete","parameters":[{"name":"id","in":"path","description":"Id of the group configuration","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted group configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores\/{storeId}\/keys":{"post":{"tags":["Classification Store"],"summary":"List key configurations","description":"Get a paginated list of classification store key configurations.\nSupports filtering, sorting, and pagination via the collection request body.\n","operationId":"classification_store_configuration_key_collection","parameters":[{"name":"storeId","in":"path","description":"ID of the store to list keys for","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022,\u0022filterValue\u0022:\u0022my-key\u0022},{\u0022type\u0022:\u0022equals\u0022,\u0022key\u0022: \u0022type\u0022, \u0022filterValue\u0022:\u0022quantityValue\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022name\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated list of key configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyDetail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/keys\/add":{"post":{"tags":["Classification Store"],"summary":"Create a new key","description":"Create a new classification store key configuration within a store","operationId":"classification_store_configuration_key_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyCreate"}}}},"responses":{"200":{"description":"Created key configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/keys\/{id}":{"put":{"tags":["Classification Store"],"summary":"Update a key","description":"Update an existing classification store key configuration by ID","operationId":"classification_store_configuration_key_update","parameters":[{"name":"id","in":"path","description":"Id of the key configuration","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyUpdate"}}}},"responses":{"200":{"description":"Updated key configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Classification Store"],"summary":"Disable a key (soft-delete)","description":"Soft-delete a classification store key configuration by ID.\nThe key is not permanently removed but disabled (enabled is set to false).\n","operationId":"classification_store_configuration_key_delete","parameters":[{"name":"id","in":"path","description":"Id of the key configuration","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully disabled key configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/groups\/{groupId}\/key-relations":{"post":{"tags":["Classification Store"],"summary":"List key-group relations","description":"List key-group relations for a given group ID.\nSupports filtering, sorting, and pagination via the collection filter parameter.\nThe groupId query parameter is required. Returns key details with layout definition.\n","operationId":"classification_store_configuration_key_group_relation_collection","parameters":[{"name":"groupId","in":"path","description":"ID of the group to list key relations for","required":true,"schema":{"type":"integer","example":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022:\u0022metadata.object\u0022,\u0022filterValue\u0022:1}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022keyId\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated list of key-group relations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyGroupRelationDetail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/key-group-relations\/add":{"post":{"tags":["Classification Store"],"summary":"Create or update a key-group relation","description":"Create or update a key-group relation with key ID, group ID, optional sorter and mandatory flag","operationId":"classification_store_configuration_key_group_relation_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyGroupRelationCreate"}}}},"responses":{"200":{"description":"Created or updated key-group relation","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyGroupRelationDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/key-group-relations":{"delete":{"tags":["Classification Store"],"summary":"Delete a key-group relation","description":"Delete a key-group relation by key ID and group ID","operationId":"classification_store_configuration_key_group_relation_delete","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationKeyGroupRelationDelete"}}}},"responses":{"200":{"description":"Successfully deleted key-group relation"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores":{"post":{"tags":["Classification Store"],"summary":"Create a new store","description":"Create a new classification store configuration","operationId":"classification_store_configuration_store_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationStoreCreate"}}}},"responses":{"200":{"description":"Created store configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationStoreDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores\/tree":{"get":{"tags":["Classification Store"],"summary":"Get store tree","description":"Get all classification store configurations as a flat tree list","operationId":"classification_store_configuration_store_tree","responses":{"200":{"description":"List of store tree nodes","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationStoreTreeNode"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/stores\/{id}":{"put":{"tags":["Classification Store"],"summary":"Update a store","description":"Update an existing classification store configuration by ID","operationId":"classification_store_configuration_store_update","parameters":[{"name":"id","in":"path","description":"Id of the store configuration","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationStoreUpdate"}}}},"responses":{"200":{"description":"Updated store configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationStoreDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/configuration\/get-page":{"get":{"tags":["Classification Store"],"summary":"Get page number for a specific item","description":"Calculate the page number where a specific item (key or group) is located within a paginated listing.\nUseful for navigating directly to the page containing a specific item.\n","operationId":"classification_store_configuration_get_page","parameters":[{"name":"table","in":"query","description":"Table to search in (keys or groups)","required":true,"schema":{"type":"string","example":"keys"}},{"name":"id","in":"query","description":"ID of the item to find","required":true,"schema":{"type":"integer","example":1}},{"name":"storeId","in":"query","description":"ID of the store","required":true,"schema":{"type":"integer","example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","example":15}},{"name":"sortKey","in":"query","description":"Column to sort by","required":false,"schema":{"type":"string","example":"name"}},{"name":"sortDir","in":"query","description":"Sort direction (ASC or DESC)","required":false,"schema":{"type":"string","example":"ASC"}}],"responses":{"200":{"description":"Page number where the item is located","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ClassificationStoreConfigurationGetPageResponse"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/collections":{"get":{"tags":["Classification Store"],"summary":"Get all classification store collections for given fieldName","description":"Get all classification store collections for given fieldName","operationId":"classification_store_get_collections","parameters":[{"name":"storeId","in":"query","description":"Classification Store ID","required":true,"schema":{"type":"integer","example":83}},{"name":"classId","in":"query","description":"Class ID","required":false,"schema":{"type":"string","example":"AP"}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}},{"name":"searchTerm","in":"query","description":"Search Term","required":false,"schema":{"type":"string","example":"search term"}}],"responses":{"200":{"description":"List of classification store collections","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Collection"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/groups":{"get":{"tags":["Classification Store"],"summary":"Get all classification store groups for given fieldName","description":"Get all classification store groups for given fieldName","operationId":"classification_store_get_groups","parameters":[{"name":"storeId","in":"query","description":"Classification Store ID","required":true,"schema":{"type":"integer","example":83}},{"name":"classId","in":"query","description":"Class ID","required":false,"schema":{"type":"string","example":"AP"}},{"name":"searchTerm","in":"query","description":"Search Term","required":false,"schema":{"type":"string","example":"search term"}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}}],"responses":{"200":{"description":"List of classification store groups","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Group"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/key-group-relations":{"get":{"tags":["Classification Store"],"summary":"Get all classification store key group relations for given fieldName","description":"Get all classification store key group relations for given fieldName","operationId":"classification_store_get_key_group_relations","parameters":[{"name":"storeId","in":"query","description":"Classification Store ID","required":true,"schema":{"type":"integer","example":83}},{"name":"classId","in":"query","description":"Class ID","required":false,"schema":{"type":"string","example":"AP"}},{"name":"searchTerm","in":"query","description":"Search Term","required":false,"schema":{"type":"string","example":"search term"}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}}],"responses":{"200":{"description":"List of classification store key group relations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/KeyGroupRelation"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/layout-by-collection\/{collectionId}":{"get":{"tags":["Classification Store"],"summary":"Get Layout definition for given collection","description":"Get Layout definition for given collection","operationId":"classification_store_get_layout_by_collection","parameters":[{"name":"objectId","in":"query","description":"object ID","required":true,"schema":{"type":"integer","example":83}},{"name":"collectionId","in":"path","description":"CollectionId of the Collection ID","required":true,"schema":{"type":"integer","example":83}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}}],"responses":{"200":{"description":"Layout definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CollectionLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/layout-by-group\/{groupId}":{"get":{"tags":["Classification Store"],"summary":"Get Layout definition for given group","description":"Get Layout definition for given group","operationId":"classification_store_get_layout_by_group","parameters":[{"name":"objectId","in":"query","description":"object ID","required":true,"schema":{"type":"integer","example":83}},{"name":"groupId","in":"path","description":"GroupId of the Group ID","required":true,"schema":{"type":"integer","example":83}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}}],"responses":{"200":{"description":"Layout definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GroupLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/layout-by-key\/{keyId}\/{groupId}":{"get":{"tags":["Classification Store"],"summary":"Get Layout definition for given key","description":"Get Layout definition for given key","operationId":"classification_store_get_layout_by_key","parameters":[{"name":"objectId","in":"query","description":"object ID","required":false,"schema":{"type":"integer","example":83}},{"name":"keyId","in":"path","description":"KeyId of the Key ID","required":true,"schema":{"type":"integer","example":83}},{"name":"groupId","in":"path","description":"GroupId of the Group ID","required":true,"schema":{"type":"integer","example":83}},{"name":"fieldName","in":"query","description":"Field Name","required":true,"schema":{"type":"string","example":"technicalAttributes"}}],"responses":{"200":{"description":"Layout definition","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeyLayout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/classification-store\/config\/collection":{"get":{"tags":["Classification Store"],"summary":"Get all classification store configurations","description":"Get all available classification stores","operationId":"classification_store_get_config_collection","responses":{"200":{"description":"List of classification store configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/ClassificationStoreStoreConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/add\/{parentId}":{"post":{"tags":["Data Objects"],"summary":"Successfully added a new data object","description":"Add a new data object to the given \u003Cstrong\u003E{parentId}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be an ID of a folder or another data object. See the full description of request fields with the schema \u003Cstrong\u003EDataObjectAdd\u003C\/strong\u003E\n","operationId":"data_object_add","parameters":[{"name":"parentId","in":"path","description":"ParentId of the data-object","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataObjectAddParameters"}}}},"responses":{"200":{"description":"ID of added data object","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of created data object","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/batch-delete":{"delete":{"tags":["Data Objects"],"summary":"Batch delete data objects by IDs","description":"Batch delete data objects based on the given \u003Cstrong\u003E{ids}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{ids}\u003C\/strong\u003E must be a list of IDs of existing data objects. \u003Cbr\u003E\nDeletion is done asynchronously and the jobRun ID is returned in the response\n","operationId":"data_object_batch_delete","requestBody":{"content":{"application\/json":{"schema":{"properties":{"ids":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for batch delete","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/{id}\/clone\/{parentId}":{"post":{"tags":["Data Objects"],"summary":"Clone a specific data object","description":"Clones a specific data object with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be a folder or another data object\n","operationId":"data_object_clone","parameters":[{"name":"id","in":"path","description":"Id of the data-object","required":true,"schema":{"type":"integer","example":83}},{"name":"parentId","in":"path","description":"ParentId of the data-object","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CloneParameters"}}}},"responses":{"200":{"description":"Successfully copied data object"},"201":{"description":"Successfully copied parent data object and created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for copying child objects","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/{id}":{"get":{"tags":["Data Objects"],"summary":"Get a specific data object by ID","description":"Retrieves a specific data object based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing data object or folder.\n","operationId":"data_object_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the data-object","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved data object data as JSON","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/DataObjectDetail"},{"$ref":"#\/components\/schemas\/DataObjectFolder"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Data Objects"],"summary":"Update a data object by ID","description":"You can create\/update\/delete list entries like properties or data object editable fields. \u003Cbr\u003E If you want to update (add\/remove) only some data of a field (e.g data of multi-relation fields), use the PATCH method.\n","operationId":"data_object_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the data-object","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"parentId":{"type":["integer","null"],"minimum":1},"index":{"type":["integer","null"],"minimum":0},"key":{"type":["string","null"]},"useDraftData":{"type":["boolean","null"]},"task":{"type":"string","enum":["autoSave","publish","save","unpublish","version"]},"locked":{"type":["string","null"]},"childrenSortBy":{"type":["string","null"]},"childrenSortOrder":{"type":["string","null"]},"published":{"type":["boolean","null"]},"editableData":{"type":["object","null"],"example":"{ \u0022someFieldKey\u0022: \u0022someValue\u0022 }"},"properties":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/UpdateElementProperty"}}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated data object","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/DataObjectDetail"},{"$ref":"#\/components\/schemas\/DataObjectFolder"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/grid\/preview":{"post":{"tags":["Data Object Grid"],"summary":"Get a preview of an Advanced Column Grid for a given Data Object.","description":"Gives you a preview of an Advanced Column Grid for a given Data Object.","operationId":"data_object_get_grid_preview","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["objectId","column"],"properties":{"objectId":{"type":"integer","example":1},"column":{"$ref":"#\/components\/schemas\/Column"}},"type":"object"}}}},"responses":{"200":{"description":"Preview of an Advanced Column Grid for a given Data Object.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ColumnData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/{configurationId}":{"delete":{"tags":["Data Object Grid"],"summary":"Delete grid configuration for a given configuration ID","description":"Delete grid configuration for a given configuration ID \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E\n","operationId":"data_object_delete_grid_configuration_by_configurationId","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/{folderId}\/{classId}":{"get":{"tags":["Data Object Grid"],"summary":"Get data object grid configuration for a specific folder and class-id","description":"Get data object saved grid configuration by \u003Cstrong\u003E{folderId}\u003C\/strong\u003E \u003Cstrong\u003E{classId}\u003C\/strong\u003E if a configuration-id is set, otherwise get the default configuration will be returned.\n","operationId":"data_object_get_grid_configuration","parameters":[{"name":"folderId","in":"path","description":"FolderId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"classId","in":"path","description":"Class Id of the data object","required":true,"schema":{"type":"string","example":"EV"}},{"name":"configurationId","in":"query","description":"Configuration ID","required":false,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Data Object grid configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configurations\/{classId}":{"get":{"tags":["Data Object Grid"],"summary":"List all saved grid configurations for data objects","description":"List all saved grid configurations for data objects for given class ID\n","operationId":"data_object_list_saved_grid_configurations","parameters":[{"name":"classId","in":"path","description":"Class Id of the data object","required":true,"schema":{"type":"string","example":"EV"}}],"responses":{"200":{"description":"List of saved grid configurations for data objects","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Configuration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/remove-favorite\/{configurationId}\/{folderId}":{"delete":{"tags":["Data Object Grid"],"summary":"Remove data object grid configuration as favorite for a specific folder","description":"Remove data object grid configuration as favorite for the current user for a specific folder\n","operationId":"data_object_remove_grid_configuration_as_favorite","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}},{"name":"folderId","in":"path","description":"FolderId of the folderId","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Data Object grid configuration removed as favorite successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/save\/{classId}":{"post":{"tags":["Data Object Grid"],"summary":"Save Data Object grid configuration for a specific folder","description":"Save Data Object grid configuration for a specific Class ID \u003Cstrong\u003E{classId}\u003C\/strong\u003E\n","operationId":"data_object_save_grid_configuration","parameters":[{"name":"classId","in":"path","description":"Class Id of the data object","required":true,"schema":{"type":"string","example":"EV"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId","pageSize","name","description","columns"],"properties":{"folderId":{"type":"integer","example":1},"pageSize":{"type":"integer","example":1},"name":{"type":"string"},"description":{"type":"string"},"shareGlobal":{"type":"boolean","example":true},"setAsFavorite":{"type":"boolean","example":true},"saveFilter":{"type":"boolean","example":true},"sharedUsers":{"type":"object","example":[42,1337]},"sharedRoles":{"type":"object","example":[42,1337]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filter":{"oneOf":[{"$ref":"#\/components\/schemas\/Filter"},{"type":"null"}],"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Data Object grid configuration saved successfully","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Configuration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/set-as-favorite\/{configurationId}\/{folderId}":{"post":{"tags":["Data Object Grid"],"summary":"Set data object grid configuration as favorite for a specific folder","description":"Set data object grid configuration as favorite for the current user for a specific folder\n","operationId":"data_object_set_grid_configuration_as_favorite","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}},{"name":"folderId","in":"path","description":"FolderId of the folderId","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Data Object grid configuration set as favorite successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/configuration\/update\/{configurationId}":{"put":{"tags":["Data Object Grid"],"summary":"Update data object grid configuration for a specific folder","description":"Update data object grid configuration for a specific folder and given configuration ID \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E\n","operationId":"data_object_update_grid_configuration","parameters":[{"name":"configurationId","in":"path","description":"ConfigurationId of the configurationId","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId","pageSize","name","description","columns"],"properties":{"folderId":{"type":"integer","example":1},"pageSize":{"type":"integer","example":1},"name":{"type":"string"},"description":{"type":"string"},"shareGlobal":{"type":"boolean","example":true},"setAsFavorite":{"type":"boolean","example":true},"saveFilter":{"type":"boolean","example":true},"sharedUsers":{"type":"object","example":[42,1337]},"sharedRoles":{"type":"object","example":[42,1337]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filter":{"oneOf":[{"$ref":"#\/components\/schemas\/Filter"},{"type":"null"}],"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Data Object grid configuration updated successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/available-columns":{"get":{"tags":["Data Object Grid"],"summary":"Get all available grid columns for data objects","description":"Get all available grid columns for data objects\n","operationId":"data_object_get_available_grid_columns","parameters":[{"name":"classId","in":"query","description":"Identifies the class name for which the columns should be retrieved.","required":false,"schema":{"type":"string","example":"EV"}},{"name":"folderId","in":"query","description":"folderId","required":false,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of available grid columns for data objects","content":{"application\/json":{"schema":{"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnConfiguration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-object\/grid\/available-columns-for-relation":{"get":{"tags":["Data Object Grid"],"summary":"Get all available grid columns for data objects Many to many relation field","description":"Get all available grid columns for data objects Many to many relation field (defined in the visible columns)","operationId":"data_object_get_available_grid_columns_for_relation","parameters":[{"name":"classId","in":"query","description":"Identifies the class name for which the columns should be retrieved.","required":false,"schema":{"type":"string","example":"EV"}},{"name":"relationField","in":"query","description":"relationField as dot notation, e.g. \u0022myBlock.mySubRelationField\u0022","required":false,"schema":{"type":"string","example":"myRelationField"}}],"responses":{"200":{"description":"List of available grid columns for data objects Many to many relation field","content":{"application\/json":{"schema":{"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnConfiguration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/grid\/{classId}":{"post":{"tags":["Data Object Grid"],"summary":"Get data object data for grid","description":"Retrieve data objects data for grid. \u003Cbr\u003E\nYou can use different query parameters to filter the data objects data: \u003Cbr\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EfolderId\u003C\/strong\u003E: ID of parent folder\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: To see the full description of request fields see the schema \u003Cstrong\u003EGrid Column Request\u003C\/strong\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: To see the full description of request fields see the schema \u003Cstrong\u003EGrid Filter\u003C\/strong\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"data_object_get_grid","parameters":[{"name":"classId","in":"path","description":"Identifies the class name for which the the grid should be build.","required":true,"schema":{"type":"string","example":"EV"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderId"],"properties":{"folderId":{"type":"integer","example":1},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/Filter"}},"type":"object"}}}},"responses":{"200":{"description":"Data object grid data","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"required":["id","columns","isLocked","permissions"],"type":"array","items":{"properties":{"id":{"type":"integer"},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnData"}},"isLocked":{"type":"boolean"},"permissions":{"$ref":"#\/components\/schemas\/Permissions"}},"type":"object"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/grid\/transformers\/services\/phpcode":{"get":{"tags":["Data Object Grid"],"summary":"List PHPCode transformers","description":"Returns a list of available PHPCode transformers used in grid rendering. \nThese transformers can be applied to grid columns to dynamically modify or format values using PHP logic.\n","operationId":"data_object_get_phpcode_transformers","responses":{"200":{"description":"List of available PHPCode transformers","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PhpCodeTransformer"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/{id}\/layout":{"get":{"tags":["Data Objects"],"summary":"Get layout of a data object by ID","description":"Retrieves the layout of a specific data object based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing data object.\n","operationId":"data_object_get_layout_by_id","parameters":[{"name":"id","in":"path","description":"Id of the data-object","required":true,"schema":{"type":"integer","example":83}},{"name":"layoutId","in":"query","description":"ID to get specific layout","required":false,"schema":{"type":"string","example":"Todo"}}],"responses":{"200":{"description":"Successfully retrieved data object layout data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Layout"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects":{"patch":{"tags":["Data Objects"],"summary":"Patch data objects by ID","description":"Patching data objects based on the given ID and data. \u003Cbr\u003E Patching can be used for updating single or multiple fields. \u003Cbr\u003E If single element is being patched, operation is executed synchronously. Multiple elements are patched asynchronously.\n","operationId":"data_object_patch_by_id","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"type":"array","items":{"required":["id"],"properties":{"id":{"description":"Data Object ID","type":"integer","example":83},"parentId":{"type":["integer","null"],"minimum":1},"index":{"type":["integer","null"],"minimum":0},"key":{"type":["string","null"]},"task":{"type":"string","enum":["autoSave","publish","save","unpublish","version"]},"locked":{"type":["string","null"]},"childrenSortBy":{"type":["string","null"]},"childrenSortOrder":{"type":["string","null"]},"published":{"type":["boolean","null"]},"editableData":{"type":["object","null"],"example":"{ \u0022someFieldKey\u0022: \u0022someValue\u0022 }"}},"type":"object"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully patched data object"},"201":{"description":"Successfully created jobRun for patching multiple data objects","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/folder":{"patch":{"tags":["Data Objects"],"summary":"Patch all data objects based on folder ID and filters","description":"Patching data objects based on the given folder ID, filters and data. \u003Cbr\u003E Patching on folders will be done asynchronously. \u003Cbr\u003E\nYou can also use filters and sorting. Filter data objects from folder based on the grid filter schema\n","operationId":"data_object_patch_folder_by_id","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data","classId"],"properties":{"data":{"type":"array","items":{"required":["folderId"],"properties":{"folderId":{"description":"Folder ID","type":"integer","example":2},"parentId":{"type":["integer","null"],"minimum":1},"index":{"type":["integer","null"],"minimum":0},"key":{"type":["string","null"]},"locked":{"type":["string","null"]},"childrenSortBy":{"type":["string","null"]},"childrenSortOrder":{"type":["string","null"]},"published":{"type":["boolean","null"]},"editableData":{"type":["object","null"],"example":"{ \u0022someFieldKey\u0022: \u0022someValue\u0022 }"}},"type":"object"}},"filters":{"$ref":"#\/components\/schemas\/ExportAllFilter"},"classId":{"type":"string","example":"CAR"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created jobRun for patching multiple data objects","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/format-path":{"post":{"tags":["Data Objects"],"summary":"Format the path of the data","description":"Format the path of the data given by the \u003Cstrong\u003E{targets}\u003C\/strong\u003E option.\n","operationId":"data_object_format_path","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["objectId","targets"],"properties":{"objectId":{"type":"integer","example":1},"targets":{"type":"object","example":"{\u0022object_10\u0022:{\u0022id\u0022:10,\u0022type\u0022:\u0022object\u0022,\u0022label\u0022:\u0022\/Product\n Data\/Cars\/jaguar\/E-Type\/coup\u00e9\u0022,\u0022path\u0022:\u0022\/Product Data\/Cars\/jaguar\/E-Type\/coup\u00e9\u0022,\n \u0022nicePathKey\u0022:\u0022object_10\u0022}}"},"fieldName":{"description":"Fieldname for the PathFormatter. Given as Dot Notation","type":"string","example":"attributes.Bodywork.numberOfDoors"}},"type":"object"}}}},"responses":{"200":{"description":"Formatted path of the objects","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/FormatedPath"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/preview\/{id}":{"get":{"tags":["Data Objects"],"summary":"Preview data object by ID and site","description":"Preview data object by ID and site. Data Object must be stored in the session first to be able to preview it.\n","operationId":"data_object_preview_by_id","parameters":[{"name":"id","in":"path","description":"Id of the data object","required":true,"schema":{"type":"integer","example":83}},{"name":"site","in":"query","description":"Site ID","required":false,"schema":{"type":"integer","example":42}}],"responses":{"302":{"description":"Redirect to preview URL","headers":{"Location":{"description":"Redirect location","required":true,"schema":{"type":"string","format":"uri"}}}},"default":{"description":"302 - Redirect\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/{sourceId}\/replace\/{targetId}":{"post":{"tags":["Data Objects"],"summary":"Replace content of a data object","description":"Replace the content of the data object with the given \u003Cstrong\u003E{targetId}\u003C\/strong\u003E with the content of the data object matching the \u003Cstrong\u003E{sourceId}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{targetId}\u003C\/strong\u003E and \u003Cstrong\u003E{sourceId}\u003C\/strong\u003E must be an ID of existing data objects\n","operationId":"data_object_replace_content","parameters":[{"name":"sourceId","in":"path","description":"SourceId of the data-object","required":true,"schema":{"type":"integer","example":83}},{"name":"targetId","in":"path","description":"TargetId of the data-object","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully replaced content of data object"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/select-options":{"post":{"tags":["Data Objects"],"summary":"Get all dynamic select options for data objects","description":"Get all dynamic select options for data objects for given field\n","operationId":"data_object_get_select_options","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["objectId","fieldName","context"],"properties":{"objectId":{"type":"integer","example":1},"fieldName":{"type":"string"},"changedData":{"type":"object","example":"{\u0022Input\u0022:\u0022new value\u0022}"},"context":{"type":"object","example":"{\u0022containerType\u0022:\u0022object\u0022,\u0022fieldname\u0022:\u0022select\u0022,\u0022objectId\u0022:40,\u0022layoutId\u0022:\u00220\u0022}"}},"type":"object"}}}},"responses":{"200":{"description":"List of dynamic select options","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SelectOption"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/data-objects\/tree":{"get":{"tags":["Data Objects"],"summary":"Get all data object data for the tree","description":"Listing of all data objects and data object folders in the system. \u003Cbr\u003E\nReturns only data which are relevant for the tree \u003Cbr\u003E\nYou can use different query parameters to filter the data objects and it is possible to exclude folders from the result completely\n","operationId":"data_object_get_tree","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"parentId","in":"query","description":"Filter data objects by parent id.","required":false,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"idSearchTerm","in":"query","description":"Filter assets\/data-objects by matching ids. As a wildcard * can be used","required":false,"schema":{"type":"string","example":83}},{"name":"pqlQuery","in":"query","description":"Pql query filter","required":false,"schema":{"type":"string","example":"series = empty AND color=\u0022red\u0022"}},{"name":"excludeFolders","in":"query","description":"Filter folders from result.","required":false,"schema":{"type":"boolean","example":false}},{"name":"path","in":"query","description":"Filter by path.","required":false,"schema":{"type":"string","example":"\/path\/to\/folder"}},{"name":"pathIncludeParent","in":"query","description":"Include the parent item in the result.","required":false,"schema":{"type":"boolean","example":true}},{"name":"pathIncludeDescendants","in":"query","description":"Include all descendants in the result.","required":false,"schema":{"type":"boolean","example":true}},{"name":"className","in":"query","description":"When provided, the search is executed on the specific data object class index.","required":false,"schema":{"type":"string","example":"Car"}},{"name":"classIds","in":"query","description":"Filter results based on the provided class IDs.","required":false,"schema":{"type":"string","example":"[\u0022Car\u0022]"}}],"responses":{"200":{"description":"Paginated data objects with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"$ref":"#\/components\/schemas\/DataObjectFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/dependencies\/{elementType}\/{id}":{"get":{"tags":["Dependencies"],"summary":"Get all dependencies for provided element.","description":"Get paginated dependencies.\n Pass dependency mode to get either all elements that depend on the provided element\n or all dependencies for the provided element.","operationId":"dependency_get_collection_by_element_type","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"dependencyMode","in":"query","description":"Dependency mode","required":true,"schema":{"type":"string","enum":["required_by","requires"],"example":"required_by"}}],"responses":{"200":{"description":"Paginated dependencies with total count as header param","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/Dependency"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/add\/{parentId}":{"post":{"tags":["Documents"],"summary":"Add a new document","description":"Add a new data object to the given \u003Cstrong\u003E{parentId}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be an ID of a folder or another data object. See the full description of request fields with the schema \u003Cstrong\u003EDocumentAdd\u003C\/strong\u003E\n","operationId":"document_add","parameters":[{"name":"parentId","in":"path","description":"ParentId of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentAddParameters"}}}},"responses":{"200":{"description":"ID of added document","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of created document element","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}\/clone\/{parentId}":{"post":{"tags":["Documents"],"summary":"Clone a specific document","description":"Clones a specific document with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be a folder or another document. See the full description of request fields with the schema \u003Cstrong\u003EDocument Clone Parameters\u003C\/strong\u003E\n","operationId":"document_clone","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"parentId","in":"path","description":"ParentId of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentCloneParameters"}}}},"responses":{"200":{"description":"Successfully copied documents"},"201":{"description":"Successfully copied parent document and created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for copying children","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}\/convert\/{type}":{"post":{"tags":["Documents"],"summary":"Change document type","description":"Change the \u003Cstrong\u003E{type}\u003C\/strong\u003E of a specific document with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \n\u003Cbr\u003EThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document or folder and the \u003Cstrong\u003E{type}\u003C\/strong\u003E must be an existing Document Type type.\n","operationId":"document_convert","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"type","in":"path","description":"Document type to convert to","required":true,"schema":{"type":"string","example":"page"}}],"responses":{"200":{"description":"Successfully changed document type"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/doc-types\/add":{"post":{"tags":["Documents"],"summary":"Add a new document DocType","description":"Add a new document \u003Cstrong\u003EDocType\u003C\/string\u003E. \u003Cbr\u003E See the full description of request fields with the schema \u003Cstrong\u003EDocTypeAdd\u003C\/strong\u003E\n","operationId":"document_doc_type_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocTypeAddParameters"}}}},"responses":{"200":{"description":"New DocType data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocType"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/doc-types\/{id}":{"put":{"tags":["Documents"],"summary":"Update a document DocType by ID","description":"Update the DocType with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing DocType. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"document_doc_type_update_by_id","parameters":[{"name":"id","in":"path","description":"The Id of the DocType to update","required":true,"schema":{"type":"string","example":"1"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocTypeUpdateParameters"}}}},"responses":{"200":{"description":"Successfully updated DocType","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocType"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Documents"],"summary":"Delete an existing document DocType by ID","description":"Delete the existing document \u003Cstrong\u003EDocType\u003C\/strong\u003E with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing DocType.\n","operationId":"document_doc_type_delete","parameters":[{"name":"id","in":"path","description":"The Id of the DocType to delete","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Successfully deleted document DocType"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/doc-types\/types":{"get":{"tags":["Documents"],"summary":"List DocType types","description":"List all available types for DocType.\n","operationId":"document_doc_type_type_list","responses":{"200":{"description":"List of available DocType types","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocTypeType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/doc-types":{"get":{"tags":["Documents"],"summary":"List all document DocTypes","description":"List all DocTypes. Results can be filtered based on the given \u003Cstrong\u003E{type}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{type}\u003C\/strong\u003E must be an existing DocType type.\n","operationId":"document_doc_type_list","parameters":[{"name":"type","in":"query","description":"Filter results by docType type","required":false,"schema":{"type":"string","example":"page"}}],"responses":{"200":{"description":"List of all DocTypes","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/types":{"get":{"tags":["Documents"],"summary":"Get all available document types","description":"Retrieves all available document types in the system.\n","operationId":"document_get_types","responses":{"200":{"description":"Successfully retrieved all available document types","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/DocumentType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}":{"get":{"tags":["Documents"],"summary":"Get a specific document by ID","description":"Retrieves a specific document based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document or folder.\n","operationId":"document_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved document data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Documents"],"summary":"Update a document by ID","description":"You can create\/update\/delete list entries like properties, settings or editable fields.\n","operationId":"document_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"parentId":{"type":["integer","null"],"minimum":1},"index":{"type":["integer","null"],"minimum":0},"key":{"type":["string","null"]},"task":{"type":"string","enum":["autoSave","publish","save","unpublish","version"]},"locked":{"type":["string","null"]},"published":{"type":["boolean","null"]},"editableData":{"type":["object","null"],"example":"{ \u0022someFieldKey\u0022: \u0022someValue\u0022 }"},"settingsData":{"type":["object","null"],"example":{"title":"Some Title","description":"Some Description","prettyUrl":"pretty\/url","controller":"App\\Controller\\PageController","template":"@app\/template.html.twig","contentMainDocumentId":123,"contentMainDocumentPath":"\/path\/to\/main\/document","supportsContentMain":false,"missingRequiredEditable":false,"staticGeneratorEnabled":false,"staticGeneratorLifetime":123456,"staticLastGenerated":1700000000,"url":"https:\/\/example.com\/"}},"missingRequiredEditable":{"type":["boolean","null"]},"appendEditables":{"type":["boolean","null"]},"properties":{"type":["array","null"],"items":{"$ref":"#\/components\/schemas\/UpdateElementProperty"}}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated document","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}\/page\/check-pretty-url":{"post":{"tags":["Documents"],"summary":"Check if pretty URL is available and valid","description":"Check if the given \u003Cstrong\u003E{prettyUrl}\u003C\/strong\u003E is available and valid for the document with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \n\u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document.\n","operationId":"document_page_check_pretty_url","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CheckPrettyUrl"}}}},"responses":{"200":{"description":"Returns success if pretty URL is available and valid"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}\/page\/stream\/preview":{"get":{"tags":["Documents"],"summary":"Stream page document preview by ID","description":"Stream page document PDF preview based on the provided \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing page\n","operationId":"document_page_stream_preview","parameters":[{"name":"id","in":"path","description":"Id of the page","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Page preview stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/jpeg":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/get-available-controllers":{"get":{"tags":["Documents"],"summary":"List document controllers","description":"List all available controllers for documents.\n","operationId":"document_available_controllers_list","responses":{"200":{"description":"document_available_controllers_list_success_response","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentController"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/get-available-templates":{"get":{"tags":["Documents"],"summary":"List document templates","description":"List all available templates for documents.\n","operationId":"document_available_templates_list","responses":{"200":{"description":"document_available_templates_list_success_response","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentTemplate"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{id}\/page-snippet\/change-main-document":{"put":{"tags":["Documents"],"summary":"Change main document of a page snippet","description":"Set the main document of a page snippet with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E based on the the given \u003Cstrong\u003E{mainDocumentPath}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing page snippet. \u003Cbr\u003E\nThe \u003Cstrong\u003E{mainDocumentPath}\u003C\/strong\u003E must be a valid path of an existing document or null.\n","operationId":"document_page_snippet_change_main_document","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ChangeMainDocument"}}}},"responses":{"200":{"description":"Successfully changed main document of page snippet"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/page-snippet\/{id}\/area-block\/render":{"post":{"tags":["Documents"],"summary":"Render area brick for editmode","description":"Generate the editmode HTML and editable definitions based on the document \u003Cstrong\u003E{id}\u003C\/strong\u003E and data provided. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing page snippet document. \u003Cbr\u003E \nFollowing fields are required in the request body:\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Ename\u003C\/strong\u003E: Name of the areablock\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003ErealName\u003C\/strong\u003E: Real name of the areaBlock\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Eindex\u003C\/strong\u003E: Index of the areablock within the document\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EblockStateStack\u003C\/strong\u003E: State stack of the areaBlock\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EareaBlockConfig\u003C\/strong\u003E: areaBlock config\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EareaBlockData\u003C\/strong\u003E: Data of the areaBlock\u003C\/li\u003E\n \u003C\/ul\u003E\n","operationId":"document_page_snippet_area_block_render","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","realName","index","blockStateStack","areablockConfig","areablockData"],"properties":{"name":{"type":["string","null"]},"realName":{"type":["string","null"]},"index":{"type":["integer","null"],"minimum":0},"blockStateStack":{"type":["object","null"],"example":"[{\u0022blocks\u0022: [], \u0022indexes\u0022: []}]"},"areaBlockConfig":{"type":["object","null"],"example":"[]"},"areaBlockData":{"type":["object","null"],"example":"[]"}},"type":"object"}}}},"responses":{"200":{"description":"Rendered HTML and editable definitions","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RenderAreaBlockData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/renderlet\/render":{"get":{"tags":["Documents"],"summary":"Render a specific renderlet","description":"Render a specific renderlet based on the provided parameters.\n","operationId":"document_renderlet_render","parameters":[{"name":"id","in":"query","description":"ElementId of the renderlet element","required":true,"schema":{"type":"integer","example":83}},{"name":"type","in":"query","description":"Type of the renderlet element.","required":true,"schema":{"type":"string","example":"data-object"}},{"name":"controller","in":"query","description":"Renderlet controller action","required":true,"schema":{"type":"string","example":"App\/Controller\\Renderlet\\MyRenderletController::renderAction"}},{"name":"parentDocumentId","in":"query","description":"Parent document id of the renderlet","required":false,"schema":{"type":"integer","example":83}},{"name":"template","in":"query","description":"Renderlet template","required":false,"schema":{"type":"string","example":"App\/Template\/Renderlet\/my_template.html.twig"}}],"responses":{"200":{"description":"Rendered renderlet","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022renderlet.html.twig\u0022"}}},"content":{"text\/html":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/{sourceId}\/replace\/{targetId}":{"post":{"tags":["Documents"],"summary":"Replace content of a document","description":"Replace the content of the document with the given \u003Cstrong\u003E{targetId}\u003C\/strong\u003E with the content of the document matching the \u003Cstrong\u003E{sourceId}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{targetId}\u003C\/strong\u003E and \u003Cstrong\u003E{sourceId}\u003C\/strong\u003E must be an ID of existing document\n","operationId":"document_replace_content","parameters":[{"name":"sourceId","in":"path","description":"SourceId of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"targetId","in":"path","description":"TargetId of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully replaced contents of the document"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/sites\/list-available":{"get":{"tags":["Documents"],"summary":"List all available sites","description":"List all available sites\n","operationId":"documents_list_available_sites","parameters":[{"name":"excludeMainSite","in":"query","description":"Exclude main site from the list","schema":{"type":"boolean","example":false}}],"responses":{"200":{"description":"List of available sites","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Site"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/site\/{id}":{"post":{"tags":["Documents"],"summary":"Use document as a site or update the existing site","description":"Use document as a site or update the existing site by the given document \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document\n","operationId":"document_update_site","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateSite"}}}},"responses":{"200":{"description":"Successfully created\/updated site"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Documents"],"summary":"Delete the existing site by its document ID","description":"Delete the existing site by the given document \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document\n","operationId":"document_delete_site","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted site"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/site\/{documentId}":{"get":{"tags":["Documents"],"summary":"Get the site detail data by its document ID","description":"Get the site detail data by the given document \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing root document of the site\n","operationId":"document_get_site","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Site detail data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SiteDetailData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/translations\/{id}\/add\/{translationId}":{"post":{"tags":["Documents"],"summary":"Link a new translation document to the existing document","description":"Link a new translation document (by \u003Cstrong\u003E{translationId}\u003C\/strong\u003E) to the given document with \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{translationId}\u003C\/strong\u003E must be an ID of existing documents.\n","operationId":"document_add_translation","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"translationId","in":"path","description":"TranslationId of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully linked translation document"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/translations\/{id}\/delete\/{translationId}":{"delete":{"tags":["Documents"],"summary":"Delete a translation document from the existing document","description":"Delete the translation document with the given \u003Cstrong\u003E{translationId}\u003C\/strong\u003E from the given document with \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{translationId}\u003C\/strong\u003E must be an ID of existing documents.\n","operationId":"document_delete_translation","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"translationId","in":"path","description":"TranslationId of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted translation document"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/translations\/{id}":{"get":{"tags":["Documents"],"summary":"Get all existing translations of the document","description":"Get all existing translations of the document with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document.\n","operationId":"document_get_translations","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Get all existing translations","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentTranslationLinks"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/translations\/{id}\/get-parent\/{language}":{"get":{"tags":["Documents"],"summary":"Get the parent translation document data by language","description":"Get the parent translation document of the document with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E by \u003Cstrong\u003E{language}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing document and the \u003Cstrong\u003E{language}\u003C\/strong\u003E must be a valid language code.\n","operationId":"document_get_translation_parent_by_language","parameters":[{"name":"id","in":"path","description":"Id of the document","required":true,"schema":{"type":"integer","example":83}},{"name":"language","in":"path","description":"Language code for the translation parent","required":true,"schema":{"type":"string","example":"en"}}],"responses":{"200":{"description":"Parent translation document data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentTranslationParent"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/documents\/tree":{"get":{"tags":["Documents"],"summary":"Get all document data for the tree","description":"Listing of all documents and document folders in the system. \u003Cbr\u003E\nReturns only data which are relevant for the tree \u003Cbr\u003E\nYou can use different query parameters to filter the assets and it is possible to exclude folders from the result completely\n","operationId":"document_get_tree","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"parentId","in":"query","description":"Filter documents by parent id.","required":false,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"idSearchTerm","in":"query","description":"Filter assets\/data-objects by matching ids. As a wildcard * can be used","required":false,"schema":{"type":"string","example":83}},{"name":"pqlQuery","in":"query","description":"Pql query filter","required":false,"schema":{"type":"string","example":"id = 69"}},{"name":"excludeFolders","in":"query","description":"Filter folders from result.","required":false,"schema":{"type":"boolean","example":false}},{"name":"path","in":"query","description":"Filter by path.","required":false,"schema":{"type":"string","example":"\/path\/to\/folder"}},{"name":"pathIncludeParent","in":"query","description":"Include the parent item in the result.","required":false,"schema":{"type":"boolean","example":true}},{"name":"pathIncludeDescendants","in":"query","description":"Include all descendants in the result.","required":false,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"Paginated documents with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Document"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/delete\/{id}":{"delete":{"tags":["Elements"],"summary":"Delete a specific element and its children","description":"Deletes a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E. \u003Cbr\u003E If element is a folder, all child elements will be deleted as well. Elements are moved into the Recycle Bin before deletion.\n","operationId":"element_delete","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Successfully deleted element"},"201":{"description":"Successfully created jobRun for deleting element and its children","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/delete-info\/{id}":{"get":{"tags":["Elements"],"summary":"Get delete info of the element by id and element type path parameter","description":"Get delete info for a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an existing ID of an element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"element_get_delete_info","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Get delete info for an element","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DeleteInfo"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/folder\/{parentId}":{"post":{"tags":["Elements"],"summary":"Create a new element folder","description":"Creating a new folder by \u003Cstrong\u003E{parentId}\u003C\/strong\u003E and \u003Cstrong\u003E{elementType}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{parentId}\u003C\/strong\u003E must be an ID of an existing folder or element. \u003Cbr\u003E\nFor additional body parameters see the schema \u003Cstrong\u003EFolderData\u003C\/strong\u003E\n","operationId":"element_folder_create","parameters":[{"name":"parentId","in":"path","description":"ParentId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FolderData"}}}},"responses":{"200":{"description":"Successfully created folder"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/context-permissions\/":{"get":{"tags":["Elements"],"summary":"Get context permissions for the element type path parameter","description":"Get the context permission list relevant for the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"element_get_context_permissions","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Context permission list","content":{"application\/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"}},"example":{"add":true,"addFolder":true,"changeChildrenSortBy":true,"copy":true,"cut":true,"delete":true,"lock":true,"lockAndPropagate":true,"paste":true,"publish":true,"refresh":true,"rename":true,"searchAndMove":true,"unlock":true,"unlockAndPropagate":true,"unpublish":true}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/location\/{id}\/{perspectiveId}":{"get":{"tags":["Elements"],"summary":"Get location data of the element by id, element type and perspective id path parameter","description":"Get the location data of the element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E, \u003Cstrong\u003E{id}\u003C\/strong\u003E and \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{ids}\u003C\/strong\u003E must be an existing ID of an element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and existing perspective ID.\n","operationId":"element_get_tree_location","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"perspectiveId","in":"path","description":"Get perspective by matching Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"responses":{"200":{"description":"Location data of the element","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LocationData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/path":{"get":{"tags":["Elements"],"summary":"Get ID of the element by path query parameter and element type path parameter","description":"Get the element ID based on the given \u003Cstrong\u003E{path}\u003C\/strong\u003E and \u003Cstrong\u003E{elementType}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{path}\u003C\/strong\u003E must be a valid path of an existing element with provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E\n","operationId":"element_get_id_by_path","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"elementPath","in":"query","description":"Filter elements by matching element path.","required":true,"schema":{"type":"string","example":"path\/to\/element"}}],"responses":{"200":{"description":"ID of the element","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of the element","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/subtype\/{id}":{"get":{"tags":["Elements"],"summary":"Get subtype of the element by id and element type path parameter","description":"Get the subtype of the element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an existing ID of an element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"element_get_subtype","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Subtype of the element","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Subtype"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/usage\/{elementType}\/{id}":{"get":{"tags":["Elements"],"summary":"Get usage of element","description":"Get usage of element. Use \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E to specify the element.","operationId":"element_get_usage","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"sortOrder","in":"query","description":"Sort order (asc or desc).","required":false,"schema":{"type":"string","enum":["ASC","DESC"],"example":"ASC"}},{"name":"sortBy","in":"query","description":"Sort by field.","required":false,"schema":{"type":"string","enum":["id","path","type"],"example":null}}],"responses":{"200":{"description":"Where the element is referenced","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ElementUsage"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/usage\/replace\/{elementType}\/{id}":{"post":{"tags":["Elements"],"summary":"Replace all references to an element with another element","description":"Replace all references to an element with another element using generic execution engine.\nUse \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E to specify the source element, \u003Cstrong\u003EtargetElementType\u003C\/strong\u003E and \u003Cstrong\u003EtargetId\u003C\/strong\u003E in the request body to specify the target element.\nUse \u003Cstrong\u003Eelements\u003C\/strong\u003E array in the request body to specify the elements to be replaced.\n\u003Cstrong\u003ENote:\u003C\/strong\u003E If no elements are passed, all elements will be replaced.\n","operationId":"element_usage_replace","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"requestBody":{"content":{"application\/json":{"schema":{"properties":{"targetType":{"type":"string","enum":["data-object","object","asset","document"],"example":"data-object"},"targetId":{"type":"integer","example":"8"},"elements":{"type":"array","items":{"$ref":"#\/components\/schemas\/ElementUsageBaseItem"}}},"type":"object"}}}},"responses":{"200":{"description":"Id of the created job run","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"201 - Created\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/elements\/{elementType}\/resolve":{"get":{"tags":["Elements"],"summary":"Get ID of the element with given search term","description":"Get the element ID based on the given \u003Cstrong\u003E{searchTerm}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{searchTerm}\u003C\/strong\u003E must be a valid ID or Path of an existing element. \u003Cbr\u003E The \u003Cstrong\u003E{searchTerm}\u003C\/strong\u003E can be modified via the \u003Cstrong\u003EElementResolveEvent\u003C\/strong\u003E.\n","operationId":"element_resolve_by_search_term","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"searchTerm","in":"query","description":"Search term to filter elements by.","required":true,"schema":{"type":"string","example":"83"}}],"responses":{"200":{"description":"ID of the element with given search term","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of the element","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/blocklist":{"get":{"tags":["E-Mails"],"summary":"Get paginated collection of blocklist entries","description":"Get paginated E-Mail blocklist entries. \u003Cbr\u003E\nYou can use different query parameters to filter the E-Mail blocklist\n","operationId":"email_blocklist_get_collection","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"email","in":"query","description":"Email address to be filtered by","required":false,"schema":{"type":"string","example":"mail@mail.com"}}],"responses":{"200":{"description":"Paginated E-Mail blocklist entries with total count as header param","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BlocklistEntry"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["E-Mails"],"summary":"Add an E-mail address to the blocklist","description":"Add an E-mail address to the blocklist. \u003Cbr\u003E The E-mail address has to be compliant with the PHP validate filter.\n","operationId":"email_blocklist_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EmailAddressParameter"}}}},"responses":{"200":{"description":"Successfully added E-mail address to blocklist"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["E-Mails"],"summary":"Delete an E-mail address from the blocklist","description":"Delete an E-mail address from the blocklist with the given \u003Cstrong\u003E{email}\u003C\/strong\u003E \u003Cbr\u003E The E-mail address has to be present in the blocklist.\n","operationId":"email_blocklist_delete","parameters":[{"name":"email","in":"query","description":"Email address to be deleted from blocklist","required":false,"schema":{"type":"string","example":"mail@mail.com"}}],"responses":{"200":{"description":"Successfully deleted E-mail address from blocklist"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails":{"get":{"tags":["E-Mails"],"summary":"Get paginated collection of E-Mail log entries","description":"Get paginated E-Mail log entries. \u003Cbr\u003E\nYou can use different query parameters to filter the E-Mail logs\n","operationId":"email_log_get_collection","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}}],"responses":{"200":{"description":"Paginated E-Mail log entries with total count as header param","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/EmailLogEntry"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}":{"get":{"tags":["E-Mails"],"summary":"Get an E-Mail log entry by ID","description":"Get the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"E-Mail log entry data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EmailLogEntryDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["E-Mails"],"summary":"Delete E-Mail log entry","description":"Delete the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_delete","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted E-Mail log entry"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}\/html":{"get":{"tags":["E-Mails"],"summary":"Get HTML content of an E-Mail log entry by ID","description":"Get the HTML content of the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_get_html","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"HTML content of the E-Mail log entry","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Email log entry HTML data.","type":"string","example":"\u003Cp\u003ESome email HTML content\u003C\/p\u003E"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}\/params":{"get":{"tags":["E-Mails"],"summary":"Get parameters of an E-Mail log entry by ID","description":"Get the parameters of the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_get_params","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Parameters of the E-Mail log entry","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Email log entry parameters","type":"array","items":{"$ref":"#\/components\/schemas\/EmailLogEntryParameter"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}\/text":{"get":{"tags":["E-Mails"],"summary":"Get text content of an E-Mail log entry by ID","description":"Get the text content of the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_get_text","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Text content of the E-Mail log entry","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Email log entry text data.","type":"string","example":"Some email text content"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}\/forward":{"post":{"tags":["E-Mails"],"summary":"Forward and existing E-Mail log entry","description":"Forward the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E to the given \u003Cstrong\u003E{email}\u003C\/strong\u003E\n","operationId":"email_log_forward_by_id","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EmailAddressParameter"}}}},"responses":{"200":{"description":"E-Mail was successfully forwarded"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/{id}\/resend":{"post":{"tags":["E-Mails"],"summary":"Resend an existing E-Mail log entry","description":"Resend the E-Mail log entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"email_log_resend_by_id","parameters":[{"name":"id","in":"path","description":"Id of the E-Mail","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"E-Mail was successfully resent"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/emails\/test":{"post":{"tags":["E-Mails"],"summary":"Send a test E-Mail","description":"Send a test E-Mail based on the provided query parameters. \u003Cbr\u003E See the full description of request fields with the schema \u003Cstrong\u003ESendEmailParameters\u003C\/strong\u003E\n","operationId":"email_send_test","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SendEmailParameters"}}}},"responses":{"200":{"description":"E-Mail was successfully sent"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/execution-engine\/abort\/{jobRunId}":{"post":{"tags":["Execution Engine"],"summary":"Abort Job Run by Id","description":"Abort Job Run","operationId":"execution_engine_abort_job_run_by_id","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/execution-engine\/hide":{"post":{"tags":["Execution Engine"],"summary":"Hide Job Runs by IDs","description":"Hide Job Runs based on the given \u003Cstrong\u003E{jobRunIds}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{jobRunIds}\u003C\/strong\u003E must be an array of existing Job Run IDs.\n","operationId":"execution_engine_hide_job_runs","requestBody":{"content":{"application\/json":{"schema":{"properties":{"jobRunIds":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/execution-engine\/running-jobs":{"post":{"tags":["Execution Engine"],"summary":"List studio jobs","description":"List all studio jobs for the current user which are not hidden","operationId":"execution_engine_list_jobs","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022state\u0022, \u0022filterValue\u0022: \u0022running\u0022},{\u0022type\u0022:\u0022id\u0022, \u0022filterValue\u0022: 5}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022id\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"List of studio jobs","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/JobRun"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/download\/csv\/{jobRunId}":{"get":{"tags":["Export"],"summary":"Download CSV file for job run id","description":"Download the CSV file with given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create csv endpoint\n","operationId":"export_download_csv","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"CSV File as attachment","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/csv":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Export"],"summary":"Delete CSV export file based on jobRunId","description":"Delete the CSV file with given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create csv endpoint\n","operationId":"export_delete_csv","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/csv":{"post":{"tags":["Export"],"summary":"Creating CSV file for elements","description":"Creating the CSV file for elements. \u003Cbr\u003E Parameters are: \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Eelements\u003C\/strong\u003E: Array of element ids\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: Describes the columns that should be exported. Can be obtained via the grid endpoint\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Econfig\u003C\/strong\u003E: Delimiter and header options\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EelementType\u003C\/strong\u003E: Type of element that should be exported\u003C\/li\u003E\n\u003C\/ul\u003E \nDelimiter can be set to anything, but the default is a \u003Cstrong\u003Esemicolon\u003C\/strong\u003E \u003Cbr\u003E \nHeader options are: \u003Cstrong\u003Eno_header\u003C\/strong\u003E, \u003Cstrong\u003Etitle\u003C\/strong\u003E and \u003Cstrong\u003Ename\u003C\/strong\u003E\u003Cbr\u003E\nDownload has to be triggered separately via the csv download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"export_csv","requestBody":{"content":{"application\/json":{"schema":{"properties":{"elements":{"type":"array","items":{"type":"integer"},"example":[83]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"config":{"properties":{"header":{"type":"string","enum":["id","custom_report_config","custom_report_to_export","element_class_id","element_to_export","element_type","folder_to_export","grid_export_data","grid_export_data_info","config","columns","filters","delimiter","header","no_header","title","name","\r\n","array","int","string","bool"],"example":"title"},"delimiter":{"type":"string","example":";"}},"type":"object"},"elementType":{"type":"string","enum":["data-object","object","asset","document"],"example":"asset"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for csv export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/csv\/folder":{"post":{"tags":["Export"],"summary":"Creating CSV file for elements based on folder","description":"Creating the CSV file for elements based on the folder. \u003Cbr\u003E Parameters are: \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Efolders\u003C\/strong\u003E: Array of folder ids\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: Describes the columns that should be exported. Can be obtained via the grid endpoint. For folders you can also use filters and sorting\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: Filter elements from folder based on the grid filter schema\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Econfig\u003C\/strong\u003E: Delimiter and header options\u003C\/li\u003E\n\u003C\/ul\u003E \nDelimiter can be set to anything, but the default is a \u003Cstrong\u003Esemicolon\u003C\/strong\u003E \u003Cbr\u003E \nHeader options are: \u003Cstrong\u003Eno_header\u003C\/strong\u003E, \u003Cstrong\u003Etitle\u003C\/strong\u003E and \u003Cstrong\u003Ename\u003C\/strong\u003E\u003Cbr\u003E\nDownload has to be triggered separately via the csv download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"export_csv_folder","requestBody":{"content":{"application\/json":{"schema":{"properties":{"folders":{"type":"array","items":{"type":"integer"},"example":[1]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/ExportAllFilter"},"config":{"properties":{"header":{"type":"string","enum":["id","custom_report_config","custom_report_to_export","element_class_id","element_to_export","element_type","folder_to_export","grid_export_data","grid_export_data_info","config","columns","filters","delimiter","header","no_header","title","name","\r\n","array","int","string","bool"],"example":"title"},"delimiter":{"type":"string","example":";"}},"type":"object"},"elementType":{"type":"string","enum":["data-object","object","asset","document"],"example":"asset"},"classId":{"type":["string","null"],"example":"CAR"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for csv export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/download\/xlsx\/{jobRunId}":{"get":{"tags":["Export"],"summary":"Download XLSX file for job run id","description":"Download the XLSX file with given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create export endpoint\n","operationId":"export_download_xlsx","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"XLSX File as attachment","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Export"],"summary":"Delete XLSX export file based on jobRunId","description":"Delete the XLSX file with given \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response of the create export endpoint\n","operationId":"export_delete_xlsx","parameters":[{"name":"jobRunId","in":"path","description":"JobRunId of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/xlsx":{"post":{"tags":["Export"],"summary":"Creating XLSX file export for elements","description":"Creating the XLSX file for elements. \u003Cbr\u003E Parameters are: \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Eelements\u003C\/strong\u003E: Array of element ids\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: Describes the columns that should be exported. Can be obtained via the grid endpoint\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Econfig\u003C\/strong\u003E: Header options\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EelementType\u003C\/strong\u003E: Type of element that should be exported\u003C\/li\u003E\n\u003C\/ul\u003E\nHeader options are: \u003Cstrong\u003Eno_header\u003C\/strong\u003E, \u003Cstrong\u003Etitle\u003C\/strong\u003E and \u003Cstrong\u003Ename\u003C\/strong\u003E\u003Cbr\u003E\nDownload has to be triggered separately via the xlsx download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"export_xlsx","requestBody":{"content":{"application\/json":{"schema":{"properties":{"elements":{"type":"array","items":{"type":"integer"},"example":[83]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"config":{"properties":{"header":{"type":"string","enum":["id","custom_report_config","custom_report_to_export","element_class_id","element_to_export","element_type","folder_to_export","grid_export_data","grid_export_data_info","config","columns","filters","delimiter","header","no_header","title","name","\r\n","array","int","string","bool"],"example":"title"}},"type":"object"},"elementType":{"type":"string","enum":["data-object","object","asset","document"],"example":"asset"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for XLSX export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/export\/xlsx\/folder":{"post":{"tags":["Export"],"summary":"Creating XLSX file for elements based on folder","description":"Creating the XLSX file for elements based on the folder. \u003Cbr\u003E Parameters are: \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Efolders\u003C\/strong\u003E: Array of folder ids\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ecolumns\u003C\/strong\u003E: Describes the columns that should be exported. Can be obtained via the grid endpoint. For folders you can also use filters and sorting\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Efilters\u003C\/strong\u003E: Filter elements from folder based on the grid filter schema\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Econfig\u003C\/strong\u003E: Header options\u003C\/li\u003E\n\u003C\/ul\u003E \nHeader options are: \u003Cstrong\u003Eno_header\u003C\/strong\u003E, \u003Cstrong\u003Etitle\u003C\/strong\u003E and \u003Cstrong\u003Ename\u003C\/strong\u003E\u003Cbr\u003E\nDownload has to be triggered separately via the xlsx download route with the \u003Cstrong\u003E{jobRunId}\u003C\/strong\u003E returned in the response\n","operationId":"export_xlsx_folder","requestBody":{"content":{"application\/json":{"schema":{"properties":{"folders":{"type":"array","items":{"type":"integer"},"example":[1]},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/ExportAllFilter"},"config":{"properties":{"header":{"type":"string","enum":["id","custom_report_config","custom_report_to_export","element_class_id","element_to_export","element_type","folder_to_export","grid_export_data","grid_export_data_info","config","columns","filters","delimiter","header","no_header","title","name","\r\n","array","int","string","bool"],"example":"title"}},"type":"object"},"elementType":{"type":"string","enum":["data-object","object","asset","document"],"example":"asset"},"classId":{"type":["string","null"],"example":"CAR"}},"type":"object"}}}},"responses":{"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E for XLSX export","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/gdpr\/export-data\/{id}":{"get":{"tags":["GDPR Data Extractor"],"summary":"Export a single GDPR data provider item","description":"Fetches the data for a single data provider item (by ID) and returns it as a downloadable JSON file.","operationId":"gdpr_export","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"providerKey","in":"query","description":"The key of the single provider to export","required":true,"schema":{"type":"string","example":"pimcore_users"}}],"responses":{"200":{"description":"Successfully retrieved the data export as a downloadable JSON file.","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"*\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/gdpr\/providers":{"get":{"tags":["GDPR Data Extractor"],"summary":"List of available GDPR providers","description":"Returns a list of all configured GDPR providers that can be used for data compliance operations.","operationId":"gdpr_list_providers","responses":{"200":{"description":"Successfully retrieved the list of GDPR providers","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/GdprDataProvider"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/gdpr\/search":{"post":{"tags":["GDPR Data Extractor"],"summary":"Search for GDPR data from all the available data providers","description":"Searches for GDPR data using the provided search terms and returns a list of results grouped by each provider name.","operationId":"gdpr_search_data","parameters":[{"name":"provider","in":"query","description":"Define the data provider to search in.","required":false,"schema":{"type":"string","example":"assets"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022firstname\u0022, \u0022filterValue\u0022: \u0022John\u0022},{\u0022type\u0022:\u0022lastname\u0022, \u0022filterValue\u0022: \u0022Doe\u0022},{\u0022type\u0022:\u0022email\u0022, \u0022filterValue\u0022: \u0022john.doe@mail.com\u0022},{\u0022type\u0022:\u0022id\u0022, \u0022filterValue\u0022: 1}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022id\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully retrieved the list of matching data from all searched providers.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/GdprDataRow"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/mercure\/auth":{"post":{"tags":["Mercure"],"summary":"Retrieve JWT token for Mercure hub as cookie","description":"Retrieve JWT token for Mercure hub as cookie","operationId":"mercure_create_cookie","responses":{"200":{"description":"Retrieve JWT token for Mercure hub as cookie"},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/metadata\/asset":{"get":{"tags":["Metadata"],"summary":"Get predefined metadata for assets by type","description":"Get predefined metadata entries filtered by asset type, sub-type and group.\nReturns metadata definitions applicable to a specific asset type.\n","operationId":"metadata_asset_get_collection","parameters":[{"name":"subType","in":"query","description":"Filter by asset sub-type (e.g. image, video).","required":false,"schema":{"type":"string","example":"image"}},{"name":"group","in":"query","description":"Filter by metadata group. Use \u0027default\u0027 to match entries with no group assigned.","required":false,"schema":{"type":"string","example":"default"}}],"responses":{"200":{"description":"Filtered predefined metadata entries for the specified asset type","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/PredefinedMetadata"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/assets\/{id}\/custom-metadata":{"get":{"tags":["Metadata"],"summary":"Get custom metadata of an asset by ID","description":"Retrieves custom metadata based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing asset\n","operationId":"asset_custom_metadata_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the asset","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved custom metadata as JSON","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/CustomMetadata"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/metadata":{"post":{"tags":["Metadata"],"summary":"Get predefined metadata collection with filtering and sorting","description":"Get predefined metadata collection with optional search, column filtering, and sorting.\nSupports \u003Cstrong\u003EsearchTerm\u003C\/strong\u003E for global text search across all fields,\n\u003Cstrong\u003EcolumnFilters\u003C\/strong\u003E for per-column filtering (like\/equals), and\n\u003Cstrong\u003EsortFilter\u003C\/strong\u003E for sorting by any filterable column.\n","operationId":"metadata_get_collection","requestBody":{"required":false,"content":{"application\/json":{"schema":{"properties":{"searchTerm":{"description":"Global search term applied across all fields","type":["string","null"],"example":"author"},"columnFilters":{"description":"Per-column filters","type":["array","null"],"items":{"properties":{"key":{"type":"string","example":"name"},"type":{"type":"string","example":"like"},"filterValue":{"type":"string","example":"author"}},"type":"object"},"example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022:\u0022like\u0022,\u0022filterValue\u0022:\u0022author\u0022}]"},"sortFilter":{"description":"Sort configuration","properties":{"key":{"type":"string","example":"name"},"direction":{"type":"string","example":"ASC"}},"type":["object","null"],"example":"{\u0022key\u0022:\u0022name\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}}}},"responses":{"200":{"description":"Predefined metadata collection with total item count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PredefinedMetadata"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/metadata\/predefined":{"post":{"tags":["Metadata"],"summary":"Create a new predefined metadata entry","description":"Create a new predefined metadata entry.\nAn optional request body can be provided to set name, type, language, and other fields.\nIf no body is sent, the entry is created with default values (name: \u0022New Definition\u0022, type: \u0022input\u0022).\n","operationId":"metadata_predefined_create","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreatePredefinedMetadata"}}}},"responses":{"200":{"description":"Newly created predefined metadata entry","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PredefinedMetadata"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/metadata\/predefined\/{id}":{"put":{"tags":["Metadata"],"summary":"Update predefined metadata entry by id","description":"Update the predefined metadata entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E.\nAll provided fields will be updated on the existing entry.\n","operationId":"metadata_predefined_update","parameters":[{"name":"id","in":"path","description":"Id of the metadata","required":true,"schema":{"type":"string","example":"alpha-numerical"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdatePredefinedMetadata"}}}},"responses":{"200":{"description":"Updated predefined metadata entry","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PredefinedMetadata"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Metadata"],"summary":"Delete predefined metadata entry by id","description":"Delete the predefined metadata entry with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E.\n","operationId":"metadata_predefined_delete","parameters":[{"name":"id","in":"path","description":"Id of the metadata","required":true,"schema":{"type":"string","example":"alpha-numerical"}}],"responses":{"200":{"description":"Successfully deleted predefined metadata entry"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notes":{"post":{"tags":["Notes"],"summary":"Get paginated notes","description":"Get paginated notes. \u003Cbr\u003E\nYou can use different query parameters to filter the notes\n","operationId":"note_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["page","pageSize"],"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"sortOrder":{"description":"Sort order (asc or desc).","type":"string","enum":["ASC","DESC"],"example":"ASC"},"sortBy":{"description":"Sort by field. Only works in combination with sortOrder.","type":"string","enum":["id","type","cId","cType","cPath","date","title","description","locked"],"example":"id"},"filter":{"description":"Filter for notes","type":"string","example":""},"fieldFilters":{"description":"Filter for specific fields, will be json decoded to an array. e.g.\n [{\u0022operator\u0022:\u0022like\u0022,\u0022value\u0022:\u0022John\u0022,\u0022field\u0022:\u0022name\u0022,\u0022type\u0022:\u0022string\u0022}]","type":"object","example":"[{\u0022operator\u0022:\u0022like\u0022,\u0022value\u0022:\u0022consent-given\u0022,\u0022field\u0022:\u0022type\u0022,\u0022type\u0022:\u0022string\u0022}]"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated notes with total count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Note"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notes\/{id}":{"delete":{"tags":["Notes"],"summary":"Delete note with given id","description":"Delete the note with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"note_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"note_delete_by_id_success_description"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notes\/{elementType}\/{id}":{"get":{"tags":["Notes"],"summary":"Get paginated notes for an element by id","description":"Get paginated notes for a specific element by its \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nYou can use different query parameters to filter the notes\n","operationId":"note_element_get_collection","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":50}},{"name":"sortBy","in":"query","description":"Sort by field. Only works in combination with sortOrder.","required":false,"schema":{"type":"string","enum":["id","type","cId","cType","cPath","date","title","description","locked"],"example":"id"}},{"name":"sortOrder","in":"query","description":"Sort order (asc or desc).","required":false,"schema":{"type":"string","enum":["ASC","DESC"],"example":"ASC"}},{"name":"filter","in":"query","description":"Filter for notes","required":false,"schema":{"type":"string","example":"notes"}},{"name":"fieldFilters","in":"query","description":"Filter for specific fields, will be json decoded to an array. e.g.\n [{\u0022operator\u0022:\u0022like\u0022,\u0022value\u0022:\u0022John\u0022,\u0022field\u0022:\u0022name\u0022,\u0022type\u0022:\u0022string\u0022}]","required":false,"schema":{"type":"string","example":"[{\u0022operator\u0022:\u0022like\u0022,\u0022value\u0022:\u0022John\u0022,\u0022field\u0022:\u0022name\u0022, \u0022type\u0022:\u0022string\u0022}]"}}],"responses":{"200":{"description":"Paginated notes with total count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Note"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Notes"],"summary":"Create a new note for element with given id","description":"Create a new note for the element with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe note will be created for the current user.\n","operationId":"note_element_create","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateNote"}}}},"responses":{"200":{"description":"Created note for element","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Note"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notes\/type\/{elementType}":{"get":{"tags":["Notes"],"summary":"Get note types","description":"Get note types collection by \u003Cstrong\u003E{elementType}\u003C\/strong\u003E","operationId":"note_element_get_type_collection","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Note types collection","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/NoteType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notifications":{"post":{"tags":["Notifications"],"summary":"Get paginated notifications","description":"Get all paginated notifications for current user. \u003Cbr\u003E You can specify different filters in your request body. Available filters are: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Etitle\u003C\/strong\u003E: Filter by title string\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EcreationDate\u003C\/strong\u003E: Filter by creation date (on, from, to)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the page.size\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage.size\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"notification_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022creationDate\u0022, \u0022type\u0022:\u0022date\u0022, \u0022filterValue\u0022:{\u0022operator\u0022: \u0022on\u0022, \u0022value\u0022: \u002208\/20\/2024\u0022}},{\u0022key\u0022:\u0022title\u0022, \u0022type\u0022:\u0022like\u0022, \u0022filterValue\u0022: \u0022notification\u0022},{\u0022key\u0022:\u0022type\u0022, \u0022type\u0022:\u0022equals\u0022, \u0022filterValue\u0022: \u0022info\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022creationDate\u0022, \u0022direction\u0022:\u0022DESC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated notifications with total count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/NotificationListItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete all user notifications","description":"Delete all notifications for the current user","operationId":"notification_delete_all","responses":{"200":{"description":"Successfully deleted all notifications"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notifications\/{id}":{"get":{"tags":["Notifications"],"summary":"Get notification by ID","description":"Get the notification with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E Current user can only get notifications, where he is the recipient.\n","operationId":"notification_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the notification","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Notification data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Notification"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Notifications"],"summary":"Mark notification as read","description":"Mark the notification with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E as read. \u003Cbr\u003E Current user can only mark notifications as read, where he is the recipient.\n","operationId":"notification_read_by_id","parameters":[{"name":"id","in":"path","description":"Id of the notification","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully marked notification as read"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete notification with given id","description":"Delete the notification with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E Current user can only delete notifications, where he is the recipient.\n","operationId":"notification_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the notification","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted notification"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notifications\/unread-count":{"get":{"tags":["Notifications"],"summary":"Count of unread notifications for the current user","description":"Count of unread notifications for the current user","operationId":"notification_get_unread_count","responses":{"200":{"description":"Count of unread notifications for the current user","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UnreadCount"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notifications\/recipients":{"get":{"tags":["Notifications"],"summary":"Get all notification recipients for the current user","description":"Get all notification recipients for the current user","operationId":"notification_get_recipients","responses":{"200":{"description":"List of notification recipients for the current user","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Recipient"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/notifications\/send":{"post":{"tags":["Notifications"],"summary":"Send a notification","description":"Send a notification to the given \u003Cstrong\u003E{recipientId}\u003C\/strong\u003E. \u003Cbr\u003E See the full description of request fields with the schema \u003Cstrong\u003ESendNotificationParameters\u003C\/strong\u003E\n","operationId":"notification_send","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SendNotificationParameters"}}}},"responses":{"200":{"description":"Successfully sent notification"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/configuration":{"post":{"tags":["Perspectives"],"summary":"Create a new perspective","description":"Create a new perspective with default values.\n","operationId":"perspective_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddPerspectiveConfig"}}}},"responses":{"200":{"description":"Id of the new perspective"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/configurations":{"get":{"tags":["Perspectives"],"summary":"Get all perspective configurations","description":"Listing of all available perspectives","operationId":"perspective_get_config_collection","responses":{"200":{"description":"List of perspective configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PerspectiveConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/configuration\/{perspectiveId}":{"get":{"tags":["Perspectives"],"summary":"Get perspective configuration by ID","description":"Get the perspective configuration with the given \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E must be an ID of an existing perspective.\n","operationId":"perspective_get_config_by_id","parameters":[{"name":"perspectiveId","in":"path","description":"Get perspective by matching Id","required":true,"schema":{"type":"string","example":"studio_default_perspective"}}],"responses":{"200":{"description":"Perspective configuration data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PerspectiveConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Perspectives"],"summary":"Update widget configuration by id and type","description":"Update the perspective configuration with the given \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E must be an ID of an existing perspective. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall configuration fields\u003Cstrong\u003E have to be provided.\n","operationId":"perspective_update_config_by_id","parameters":[{"name":"perspectiveId","in":"path","description":"Update perspective by matching Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SavePerspectiveConfig"}}}},"responses":{"200":{"description":"Successfully updated perspective configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Perspectives"],"summary":"Delete perspective by given id","description":"Delete the perspective with the given \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{perspectiveId}\u003C\/strong\u003E must be an ID of an existing perspective.\n","operationId":"perspective_delete","parameters":[{"name":"perspectiveId","in":"path","description":"Get perspective by matching Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"responses":{"200":{"description":"Successfully deleted perspective"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/widgets\/{widgetType}\/configuration":{"post":{"tags":["Perspectives"],"summary":"Create a new widget","description":"Create a new widget with default values based on the provided \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E.\n\u003Cbr\u003E The widget type has to be registered via Symfony Configuration.\n\u003Cbr\u003E Please note that \u003Cstrong\u003E{name}\u003C\/strong\u003E has to be provided.\n","operationId":"perspective_widget_create","parameters":[{"name":"widgetType","in":"path","description":"Create widget by matching widget type","required":true,"schema":{"type":"string","example":"element_tree"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"name":{"type":["string","null"]}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Id of the new widget"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/widgets\/configurations":{"get":{"tags":["Perspectives"],"summary":"Get all widget configurations","description":"Listing of all available widget configurations","operationId":"perspective_widget_get_config_collection","parameters":[{"name":"skipWrapperWidgets","in":"query","description":"Skip wrapper widget configurations","required":false,"schema":{"type":"boolean","example":false}}],"responses":{"200":{"description":"List of widget configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/WidgetConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/widgets\/{widgetType}\/configuration\/{widgetId}":{"get":{"tags":["Perspectives"],"summary":"Get widget configuration by id and type","description":"Get the widget configuration with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n","operationId":"perspective_widget_get_config_by_id","parameters":[{"name":"widgetId","in":"path","description":"Filter widgets by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Filter widgets by matching widget type","required":true,"schema":{"type":"string","example":"element_tree"}}],"responses":{"200":{"description":"Widget configuration data as JSON","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Data of the widget configuration","type":"string","example":"Test content"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Perspectives"],"summary":"Update widget configuration by id and type","description":"Update the widget configuration with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall configuration fields\u003Cstrong\u003E have to be provided.\n","operationId":"perspective_widget_update_config_by_id","parameters":[{"name":"widgetId","in":"path","description":"Update widget by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Update widget by matching widget type","required":true,"schema":{"type":"string","example":"element_tree"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"name":{"type":["string","null"]}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated widget configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Perspectives"],"summary":"Delete widget with given id and type","description":"Delete the widget with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n","operationId":"perspective_widget_delete","parameters":[{"name":"widgetId","in":"path","description":"Filter widgets by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Filter widgets by matching widget type","required":true,"schema":{"type":"string","example":"element_tree"}}],"responses":{"200":{"description":"Successfully deleted widget"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/perspectives\/widgets\/types":{"get":{"tags":["Perspectives"],"summary":"Get widget types","description":"Get widget types collection","operationId":"perspective_widget_get_type_collection","responses":{"200":{"description":"List of widget types","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/WidgetType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/properties":{"get":{"tags":["Properties"],"summary":"Get all predefined properties. You can filter by type and query","description":"Listing all the predefined properties that are currently stored in the system. \u003Cbr\u003E\nTo list specific properties for a type you can use the \u003Cstrong\u003EelementType\u003C\/strong\u003E query parameter.\u003Cbr\u003E\nYou can also created element type specific listings for this, to show in the context of the element. \u003Cbr\u003E\nThe \u003Cstrong\u003Efilter\u003C\/strong\u003E query parameter is applied on the string properties. \u003Cbr\u003E\nKeep in mind that the name is language specific.\n","operationId":"property_get_collection","parameters":[{"name":"elementType","in":"query","description":"Filter elements by matching element type.","required":false,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"filter","in":"query","description":"Filter for properties","required":false,"schema":{"type":"string","example":"properties"}}],"responses":{"200":{"description":"Predefined properties filtered based on type and query parameters","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/PredefinedProperty"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/property":{"post":{"tags":["Properties"],"summary":"Creating new property with default values","description":"Creating the property with default values. \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003EName: New Property\u003C\/li\u003E\n \u003Cli\u003EKey: new_key\u003C\/li\u003E\n \u003Cli\u003EType: Text\u003C\/li\u003E\n \u003Cli\u003EElement Type: Document (Ctype)\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"property_create","responses":{"200":{"description":"Created predefined property with default values","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PredefinedProperty"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/properties\/{id}":{"put":{"tags":["Properties"],"summary":"Updating a property","description":"Updating the property with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nSee the full description of updatable fields with the schema \u003Cstrong\u003EUpdatePredefinedProperty\u003C\/strong\u003E\n","operationId":"property_update","parameters":[{"name":"id","in":"path","description":"Id of the property","required":true,"schema":{"type":"string","example":"alpha-numerical"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdatePredefinedProperty"}}}},"responses":{"200":{"description":"Updated predefined property","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PredefinedProperty"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Properties"],"summary":"Delete property with given id","description":"Deleting the property with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nIf the property is used in any element, it will not be deleted.\n","operationId":"property_delete","parameters":[{"name":"id","in":"path","description":"Id of the property","required":true,"schema":{"type":"string","example":"alpha-numerical"}}],"responses":{"200":{"description":"Successfully deleted property with given id"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/properties\/{elementType}\/{id}":{"get":{"tags":["Properties"],"summary":"Get properties for an element based on the element type and the element id","description":"List all the saved properties of the element. \u003Cbr\u003E\nKeep in mind that inherited properties should not be send back in an update request. \u003Cbr\u003E\nThis will result in the loss of the inheritance. \u003Cbr\u003E\n","operationId":"property_get_collection_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Element Properties data as json","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/ElementProperty"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/recycle-bin\/items":{"post":{"tags":["Recycle Bin"],"summary":"Get paginated recycle bin items","description":"Get all paginated recycle bin items. \u003Cbr\u003E You can specify different filters in your request body. Example filters are: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the page.size\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Edate\u003C\/strong\u003E: Filter by deletion date (on, from, to)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Epath\u003C\/strong\u003E: Filter by element path\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Etype\u003C\/strong\u003E: Filter by element type (asset, document, object)\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"recycle_bin_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022date\u0022, \u0022type\u0022:\u0022date\u0022, \u0022filterValue\u0022:{\u0022operator\u0022: \u0022on\u0022, \u0022value\u0022: \u002208\/20\/2024\u0022}},{\u0022key\u0022:\u0022path\u0022, \u0022type\u0022:\u0022like\u0022, \u0022filterValue\u0022: \u0022\/path\/to\/element\u0022},{\u0022key\u0022:\u0022type\u0022, \u0022type\u0022:\u0022equals\u0022, \u0022filterValue\u0022: \u0022asset\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022date\u0022, \u0022direction\u0022:\u0022DESC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated recycle bin items with total count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/RecycleBin"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/recycle-bin\/delete":{"delete":{"tags":["Recycle Bin"],"summary":"Delete items from the recycle bin","description":"Delete items from the recycle bin based on the given \u003Cstrong\u003E{items}\u003C\/strong\u003E array. \u003Cbr\u003E \nThe \u003Cstrong\u003E{items}\u003C\/strong\u003E array must contain IDs of existing recycle bin items. \u003Cbr\u003E \nIf multiple items are being deleted, the operation is executed asynchronously.\n","operationId":"recycle_bin_delete_items","requestBody":{"content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully deleted recycle bin item"},"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E to delete recycle bin items","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/recycle-bin\/flush":{"delete":{"tags":["Recycle Bin"],"summary":"Flush the recycle bin","description":"Flush the recycle bin. \u003Cbr\u003E This will delete all items in the recycle bin.\n","operationId":"recycle_bin_flush","responses":{"200":{"description":"Successfully flushed recycle bin"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/recycle-bin\/restore":{"post":{"tags":["Recycle Bin"],"summary":"Restore items from the recycle bin","description":"Restores items from the recycle bin based on the given \u003Cstrong\u003E{items}\u003C\/strong\u003E array. \u003Cbr\u003E \nThe \u003Cstrong\u003E{items}\u003C\/strong\u003E array must contain IDs of existing recycle bin items. \u003Cbr\u003E \nIf multiple items are being restored, the operation is executed asynchronously.\n","operationId":"recycle_bin_restore_items","requestBody":{"content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"type":"integer"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully restored recycle bin item"},"201":{"description":"Successfully created \u003Cstrong\u003EjobRun\u003C\/strong\u003E to restore recycle bin items","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role\/clone\/{id}":{"post":{"tags":["Role Management"],"summary":"Clone a specific Role.","operationId":"role_clone_by_id","parameters":[{"name":"id","in":"path","description":"Id of the role","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Cloned Role"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the cloned Role.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role\/folder":{"post":{"tags":["Role Management"],"summary":"Create a new role folder.","operationId":"role_folder_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["parentId","name"],"properties":{"parentId":{"type":["integer","null"],"minimum":1},"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the new created Folder","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role":{"post":{"tags":["Role Management"],"summary":"Create a new role.","operationId":"role_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["parentId","name"],"properties":{"parentId":{"type":["integer","null"],"minimum":1},"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the new created Role.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role\/folder\/{id}":{"delete":{"tags":["Role Management"],"summary":"Delete a specific folder with all sub roles.","operationId":"role_folder_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the folder","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role\/{id}":{"get":{"tags":["Role Management"],"summary":"Get all available user roles.","operationId":"role_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the role","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of available user roles.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedRole"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Role Management"],"summary":"Update role by id.","operationId":"role_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the Role","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateRole"}}}},"responses":{"200":{"description":"Updated data.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedRole"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Role Management"],"summary":"Delete a specific role.","operationId":"role_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the role","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/roles":{"get":{"tags":["Role Management"],"summary":"Get all available roles.","description":"Get all available roles with basic information","operationId":"role_get_collection","responses":{"200":{"description":"List of available roles.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleRole"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/roles\/with-permission":{"get":{"tags":["Role Management"],"summary":"Get all roles with a specific permission","description":"Get all roles with the given permission \u003Cstrong\u003E{permission}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{permission}\u003C\/strong\u003E must be an existing user permission.\n","operationId":"role_list_with_permission","parameters":[{"name":"permission","in":"query","description":"List roles with this permission","required":true,"schema":{"type":"string","example":"assets"}}],"responses":{"200":{"description":"List of roles with the given permission","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleRole"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/roles\/tree":{"get":{"tags":["Role Management"],"summary":"Get collection of roles for tree view.","operationId":"role_get_tree","parameters":[{"name":"parentId","in":"query","description":"Filter roles by parent id.","required":true,"schema":{"type":"integer","minimum":0,"example":0}}],"responses":{"200":{"description":"Collection of roles including folders for the given parent id.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/TreeNode"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/roles-share-list":{"get":{"tags":["Role Management"],"summary":"Get all roles for sharing configurations","description":"Get all available roles with basic information for sharing configurations","operationId":"role_get_share_collection","responses":{"200":{"description":"List of roles for sharing","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleRole"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/role\/search":{"get":{"tags":["Role Management"],"summary":"Search for roles by query.","description":"Search for roles by query. The query can be a part of the role name or ID.","operationId":"role_search","parameters":[{"name":"searchQuery","in":"query","description":"Query to search for a role. This can be a part of role name or ID.","required":false,"schema":{"type":"string","example":"Example string"}}],"responses":{"200":{"description":"List of roles","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleRole"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/schedules\/{id}":{"delete":{"tags":["Schedule"],"summary":"Delete schedule with given id","description":"Deletes a specific schedule based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E.\n","operationId":"schedule_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the schedule","required":true,"schema":{"type":"integer","example":123}}],"responses":{"200":{"description":"Successfully deleted schedule"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/schedules\/{elementType}\/{id}":{"get":{"tags":["Schedule"],"summary":"Get schedules for an element","description":"Get all schedules for a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\n","operationId":"schedule_get_collection_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of schedules for element","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Schedule"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Schedule"],"summary":"Update schedules for an element","description":"Update schedules for a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nSee the full description of updatable fields with the schema \u003Cstrong\u003EUpdateSchedule\u003C\/strong\u003E\n","operationId":"schedule_update_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/UpdateSchedule"}}},"type":"object"}}}},"responses":{"200":{"description":"List of updated schedules","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Schedule"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Schedule"],"summary":"Create a schedule for element","description":"Create a new schedule with default values for the element with the given type \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe schedule will be created for the current user.\n","operationId":"schedule_create_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Created schedule for element","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Schedule"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/schedules\/actions\/{elementType}":{"get":{"tags":["Schedule"],"summary":"List available schedule actions for element type","description":"Get available schedule actions for the given element type \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"schedule_list_actions_for_element_type","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"List of available schedule actions","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/ScheduleAction"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/configuration\/assets":{"get":{"tags":["Search"],"summary":"Get asset search configuration","description":"Get asset configuration","operationId":"asset_get_search_configuration","responses":{"200":{"description":"Asset search configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/assets":{"post":{"tags":["Search"],"summary":"Get asset data for search","description":"Asset grid for search","operationId":"asset_get_search","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["columns"],"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/Filter"}},"type":"object"}}}},"responses":{"200":{"description":"Assets for search grid","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"required":["id","columns","isLocked","permissions"],"type":"array","items":{"properties":{"id":{"type":"integer"},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnData"}},"isLocked":{"type":"boolean"},"permissions":{"$ref":"#\/components\/schemas\/Permissions"}},"type":"object"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/configuration\/data-objects":{"get":{"tags":["Search"],"summary":"Get data object search configuration","description":"Get data object search configuration","operationId":"data_object_get_search_configuration","parameters":[{"name":"classId","in":"query","description":"Class Id of the data object","required":false,"schema":{"type":"string","example":"EV"}}],"responses":{"200":{"description":"Data object search configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DetailedConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/data-objects":{"post":{"tags":["Search"],"summary":"Get data object search results","description":"Get data object search results","operationId":"data_object_get_search","parameters":[{"name":"classId","in":"query","description":"Class Id of the data object","required":false,"schema":{"type":"string","example":"EV"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["columns"],"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/Filter"}},"type":"object"}}}},"responses":{"200":{"description":"Data object search results","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"required":["id","columns","isLocked","permissions"],"type":"array","items":{"properties":{"id":{"type":"integer"},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnData"}},"isLocked":{"type":"boolean"},"permissions":{"$ref":"#\/components\/schemas\/Permissions"}},"type":"object"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/documents":{"post":{"tags":["Search"],"summary":"Get document data for search","description":"Document grid for search","operationId":"document_get_search","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["columns"],"properties":{"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/Column"}},"filters":{"$ref":"#\/components\/schemas\/Filter"}},"type":"object"}}}},"responses":{"200":{"description":"dcocument_get_search_success_response","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"required":["id","columns","isLocked","permissions"],"type":"array","items":{"properties":{"id":{"type":"integer"},"columns":{"type":"array","items":{"$ref":"#\/components\/schemas\/ColumnData"}},"isLocked":{"type":"boolean"},"permissions":{"$ref":"#\/components\/schemas\/Permissions"}},"type":"object"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search\/preview\/{elementType}\/{id}":{"get":{"tags":["Search"],"summary":"Preview for element search result","description":"Returns search preview for elements based on the given type \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"simple_search_preview_get","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Simple search results preview for elements","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/AssetSearchPreview"},{"$ref":"#\/components\/schemas\/DataObjectSearchPreview"},{"$ref":"#\/components\/schemas\/DocumentSearchPreview"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/search":{"get":{"tags":["Search"],"summary":"Search for elements","description":"Search for elements based on the given \u003Cstrong\u003E{search term}\u003C\/strong\u003E. \u003Cbr\u003E\nElements are searched with the fulltext filter applied via Generic Data Index. \u003Cbr\u003E\n","operationId":"simple_search_get","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"searchTerm","in":"query","description":"Search term","required":false,"schema":{"type":"string","example":"Example string"}}],"responses":{"200":{"description":"Search results for elements","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleSearchResult"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/admin":{"get":{"tags":["Settings Admin"],"summary":"Get admin appearance settings","description":"Get admin appearance system settings. \u003Cbr\u003E\nIncludes branding and asset configuration options.\n","operationId":"admin_settings_get","responses":{"200":{"description":"Admin system settings data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdminSettings"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/admin\/save":{"post":{"tags":["Settings Admin"],"summary":"Update admin appearance settings","description":"Update admin appearance system settings. \u003Cbr\u003E\nAllows updating branding and asset configuration options.\n","operationId":"admin_settings_update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateAdminSettings"}}}},"responses":{"200":{"description":"Admin system settings updated successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/setting\/admin\/thumbnail":{"get":{"tags":["Settings Admin"],"summary":"Get thumbnail for images in admin settings","operationId":"setting_admin_thumbnail","responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdminSettingsThumbnailPath"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E429 - Too Many Requests","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/available-countries":{"get":{"tags":["Settings"],"summary":"Get all available countries","description":"Get all available countries in the system. \u003Cbr\u003E\nReturns a list of countries with their codes and names\n","operationId":"settings_country_collection","responses":{"200":{"description":"List of available countries","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/AvailableCountry"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings":{"get":{"tags":["Settings"],"summary":"Get system settings","description":"Get system settings from different providers. \u003Cbr\u003E\nSystem settings are public and need no login.\n","operationId":"system_settings_get","responses":{"200":{"description":"System settings data","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Settings"],"summary":"Update system settings","description":"Update system settings. \u003Cbr\u003E\nThis endpoint allows you to update various system configuration parameters including: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Egeneral\u003C\/strong\u003E: Language settings (valid languages, fallback languages, required languages, default language), domain configuration, and translation debugging\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Eobjects\u003C\/strong\u003E: Object versioning settings (days and steps to keep)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Eassets\u003C\/strong\u003E: Asset versioning settings (days and steps to keep)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Edocuments\u003C\/strong\u003E: Document versioning settings and localized error pages\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cstrong\u003ENote:\u003C\/strong\u003E Only the settings provided in the request body will be updated.\n","operationId":"settings_update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"general":{"properties":{"valid_languages":{"description":"Valid language codes (ISO 639-1)","type":"array","items":{"type":"string"},"example":["en","de","fr"]},"fallback_languages":{"description":"Language fallback mapping (e.g., {\u0022de\u0022: \u0022en\u0022, \u0022fr\u0022: \u0022en\u0022})","type":"object","example":{"de":"en","fr":"en"}},"required_languages":{"description":"Required language codes (ISO 639-1)","type":"array","items":{"type":"string"},"example":["en"]},"default_language":{"description":"Default system language","type":"string","example":"en"},"domain":{"description":"Main domain for the system","type":"string","example":""},"redirect_to_maindomain":{"description":"Redirect to main domain","type":"boolean","example":false},"debug_admin_translations":{"description":"Enable translation debugging","type":"boolean","example":false}},"type":"object"},"objects":{"properties":{"versions":{"properties":{"days":{"description":"Number of days to keep object versions","type":"integer"},"steps":{"description":"Number of version steps to keep for objects","type":"integer","example":10}},"type":"object"}},"type":"object"},"assets":{"properties":{"versions":{"properties":{"days":{"description":"Number of days to keep asset versions","type":"integer"},"steps":{"description":"Number of version steps to keep for assets","type":"integer","example":10}},"type":"object"}},"type":"object"},"documents":{"properties":{"versions":{"properties":{"days":{"description":"Number of days to keep document versions","type":"integer"},"steps":{"description":"Number of version steps to keep for documents","type":"integer","example":10}},"type":"object"},"error_pages":{"properties":{"default":{"description":"Default error page","type":"string","example":""},"localized":{"description":"Localized error page IDs (e.g., {\u0022en\u0022: \u00221\u0022, \u0022de\u0022: \u00222\u0022})","type":"object","example":{"en":"","de":""}}},"type":"object"}},"type":"object"},"email":{"properties":{"debug":{"properties":{"email_addresses":{"description":"Debug email addresses","type":"array","items":{"type":"string"},"example":["debug@example.com"]}},"type":"object"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Updated system settings"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/adapter\/image":{"get":{"tags":["Settings"],"summary":"Check image adapter","description":"Check what image adapter is used. \u003Cbr\u003E\nReturns \u003Cstrong\u003Etrue\u003C\/strong\u003E if Imagick extension is used for image processing. \u003Cbr\u003E\nReturns \u003Cstrong\u003Efalse\u003C\/strong\u003E if the GD library fallback is used, which provides lower quality image processing.\n","operationId":"settings_image_adapter_check","responses":{"200":{"description":"Image adapter availability"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/active-bundles":{"get":{"tags":["Settings"],"summary":"List all active bundles","description":"List all active and installed bundles in the system.\n","operationId":"active_bundles_get","responses":{"200":{"description":"List of active bundles","content":{"application\/json":{"schema":{"required":["bundles"],"properties":{"bundles":{"title":"Active Bundles","description":"List of active and installed bundles in the system.","type":"array","items":{"$ref":"#\/components\/schemas\/ActiveBundle"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/settings\/ping":{"get":{"tags":["Settings"],"summary":"Ping action","description":"Ping action to check if the API is reachable","operationId":"ping_action","responses":{"200":{"description":"API is reachable"},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/settings\/adapter\/video":{"get":{"tags":["Settings"],"summary":"Check video adapter validity","description":"Check if the video adapter is valid. \u003Cbr\u003E \nReturns \u003Cstrong\u003Etrue\u003C\/strong\u003E if FFmpeg is properly configured for video processing. \u003Cbr\u003E\nReturns \u003Cstrong\u003Efalse\u003C\/strong\u003E if video processing is not available due to missing PHP CLI binary or FFmpeg binary configuration.\n","operationId":"settings_video_adapter_check","responses":{"200":{"description":"Video adapter validity status"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags":{"get":{"tags":["Tags"],"summary":"Get all tags for a parent","description":"Get all tags for a \u003Cstrong\u003E{parentId}\u003C\/strong\u003E. \u003Cbr\u003E\nYou can use different query parameters to filter the tags\n","operationId":"tag_get_collection","parameters":[{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}},{"name":"elementType","in":"query","description":"Filter elements by matching element type.","required":false,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"filter","in":"query","description":"Filter for properties","required":false,"schema":{"type":"string","example":"properties"}},{"name":"parentId","in":"query","description":"Filter tags by parent id.","required":false,"schema":{"type":"integer","minimum":0,"example":1}}],"responses":{"200":{"description":"All tags for a parent filtered based on type and query parameters","content":{"application\/json":{"schema":{"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Tag"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tag":{"post":{"tags":["Tags"],"summary":"Create a new tag","description":"Create a new tag. \u003Cbr\u003E See the full description of request fields with the schema \u003Cstrong\u003ECreate Tag Parameters\u003C\/strong\u003E\n","operationId":"tag_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateTagParameters"}}}},"responses":{"200":{"description":"tag_create_success_description","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Tag"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags\/{id}":{"get":{"tags":["Tags"],"summary":"Get a tag by ID","description":"Retrieves a specific tag data based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"tag_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the tag","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved tag data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Tag"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Tags"],"summary":"Update a tag by ID","description":"Update a specific tag based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nSee the full description of updatable fields with the schema \u003Cstrong\u003EChange Tag Parameters\u003C\/strong\u003E\n","operationId":"tag_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the tag","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateTagParameters"}}}},"responses":{"200":{"description":"Successfully updated tag data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Tag"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Tags"],"summary":"Delete a specific tag","description":"Delete a specific tag based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"tag_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the tag","required":true,"schema":{"type":"integer","example":10}}],"responses":{"200":{"description":"ID of successfully deleted tag","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of deleted tag","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags\/assign\/{elementType}\/{id}\/{tagId}":{"post":{"tags":["Tags for Element"],"summary":"Assign a tag to an element","description":"Assign a specific tag based on the given \u003Cstrong\u003E{tagId}\u003C\/strong\u003E to an element based on \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"tag_assign_to_element","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"tagId","in":"path","description":"TagId of the tag","required":true,"schema":{"type":"integer","example":83}}],"responses":{"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags\/batch\/{operation}\/{elementType}\/{id}":{"post":{"tags":["Tags for Element"],"summary":"Batch assign\/replace tags for children elements","description":"Batch assign\/replace multiple tags of the given parent based on the \u003Cstrong\u003E{elementId}\u003C\/strong\u003E and \u003Cstrong\u003E{elementType}\u003C\/strong\u003E to the children. \u003Cbr\u003E\nOperation parameter \u003Cstrong\u003E{operation}\u003C\/strong\u003E must be one of the \u003Cstrong\u003Eassign\u003C\/strong or \u003Cstrong\u003Ereplace\u003C\/strong\u003E.\n","operationId":"tag_batch_operation_to_elements_by_type_and_id","parameters":[{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"operation","in":"path","description":"Execute operation based on provided type.","required":true,"schema":{"type":"string","enum":["assign","replace"],"example":"assign"}}],"responses":{"201":{"description":"Successfully created jobRun for batch tag assignment\/replacement","content":{"application\/json":{"schema":{"required":["jobRunId"],"properties":{"jobRunId":{"title":"jobRunId","description":"ID of created jobRun","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags\/{elementType}\/{id}":{"get":{"tags":["Tags for Element"],"summary":"Get tags for an element","description":"Get paginated tag collection for a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E\n","operationId":"tag_get_collection_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Paginated tags for element","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Tag"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/tags\/{elementType}\/{id}\/{tagId}":{"delete":{"tags":["Tags for Element"],"summary":"Unassign a tag from an element","description":"Unassign a specific tag based on the given \u003Cstrong\u003E{tagId}\u003C\/strong\u003E from an element based on \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"tag_unassign_from_element","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"tagId","in":"path","description":"TagId of the tag","required":true,"schema":{"type":"integer","example":83}}],"responses":{"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/image":{"get":{"tags":["Asset Thumbnails"],"summary":"Get collection of thumbnails for images","description":"Get collection of thumbnails for images. \u003Cbr\u003E\nThe thumbnails have to be defined as downloadable in order to be listed in the collection.\n","operationId":"thumbnail_image_get_collection","responses":{"200":{"description":"All downloadable image thumbnails","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Thumbnail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/image\/config":{"post":{"tags":["Asset Thumbnails"],"summary":"Create a new image thumbnail configuration","description":"Create a new image thumbnail configuration with the specified name. \u003Cbr\u003E\nThe name must be unique and not already used by an existing thumbnail configuration.\n","operationId":"thumbnail_image_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateThumbnailConfig"}}}},"responses":{"200":{"description":"Created image thumbnail configuration as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ImageThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/image\/config\/{name}":{"get":{"tags":["Asset Thumbnails"],"summary":"Get image thumbnail configuration","description":"Get a specific image thumbnail configuration by its name including settings and media transformations.\n","operationId":"thumbnail_image_get_by_name","parameters":[{"name":"name","in":"path","description":"Image thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"responses":{"200":{"description":"Image thumbnail configuration as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ImageThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Asset Thumbnails"],"summary":"Update image thumbnail configuration","description":"Update a specific image thumbnail configuration by its name with new settings and media transformations.\n","operationId":"thumbnail_image_update","parameters":[{"name":"name","in":"path","description":"Image thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateThumbnailConfig"}}}},"responses":{"200":{"description":"Updated image thumbnail configuration as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ImageThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Asset Thumbnails"],"summary":"Delete image thumbnail configuration","description":"Delete a specific image thumbnail configuration by its name.\n","operationId":"thumbnail_image_delete","parameters":[{"name":"name","in":"path","description":"Image thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"responses":{"200":{"description":"Image thumbnail configuration successfully deleted"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/image\/tree":{"get":{"tags":["Asset Thumbnails"],"summary":"Get image thumbnails tree","description":"Get image thumbnail configuration tree with thumbnails organized by groups. \u003Cbr\u003E\nThumbnails without a group are listed directly, while grouped thumbnails are organized into folder nodes.\n","operationId":"thumbnail_image_get_tree","responses":{"200":{"description":"Image thumbnail configuration tree as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/ThumbnailConfigurationData"},{"$ref":"#\/components\/schemas\/ThumbnailConfigurationFolderData"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/video":{"get":{"tags":["Asset Thumbnails"],"summary":"Get collection of thumbnails for videos","description":"Get collection of all thumbnails for videos.\n","operationId":"thumbnail_video_get_collection","responses":{"200":{"description":"All video thumbnails","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/Thumbnail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/video\/config":{"post":{"tags":["Asset Thumbnails"],"summary":"Create a new video thumbnail configuration","description":"Creates a new video thumbnail configuration with the given \u003Cstrong\u003E{name}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be unique.\n","operationId":"thumbnail_video_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateThumbnailConfig"}}}},"responses":{"200":{"description":"Successfully created video thumbnail configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/VideoThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/video\/config\/{name}":{"get":{"tags":["Asset Thumbnails"],"summary":"Get video thumbnail configuration by name","description":"Retrieves a specific video thumbnail configuration based on the given \u003Cstrong\u003E{name}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing video thumbnail configuration.\n","operationId":"thumbnail_video_get_by_name","parameters":[{"name":"name","in":"path","description":"Video thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"responses":{"200":{"description":"Successfully retrieved video thumbnail configuration details","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/VideoThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Asset Thumbnails"],"summary":"Update video thumbnail configuration by name","description":"Updates a specific video thumbnail configuration based on the given \u003Cstrong\u003E{name}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing video thumbnail configuration.\n","operationId":"thumbnail_video_update","parameters":[{"name":"name","in":"path","description":"Video thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateThumbnailConfig"}}}},"responses":{"200":{"description":"Successfully updated video thumbnail configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/VideoThumbnailConfigDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Asset Thumbnails"],"summary":"Delete video thumbnail configuration by name","description":"Deletes a specific video thumbnail configuration based on the given \u003Cstrong\u003E{name}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{name}\u003C\/strong\u003E must be a name of an existing video thumbnail configuration.\n","operationId":"thumbnail_video_delete","parameters":[{"name":"name","in":"path","description":"Video thumbnail configuration name","required":true,"schema":{"type":"string","example":"content"}}],"responses":{"200":{"description":"Successfully deleted video thumbnail configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/thumbnails\/video\/tree":{"get":{"tags":["Asset Thumbnails"],"summary":"Get video thumbnail configuration tree","description":"Retrieves a tree structure of all video thumbnail configurations. \u003Cbr\u003E\nThumbnails are grouped by their group property.\n","operationId":"thumbnail_video_get_tree","responses":{"200":{"description":"Successfully retrieved video thumbnail configuration tree","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/ThumbnailConfigurationData"},{"$ref":"#\/components\/schemas\/ThumbnailConfigurationFolderData"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/available-locales":{"get":{"tags":["Translation"],"summary":"Get all available locales in the system","description":"Get all available locales in the system","operationId":"translation_get_available_locales","responses":{"200":{"description":"List of available locales in the system","content":{"application\/json":{"schema":{"type":"array","items":{"required":["local","displayName"],"properties":{"locale":{"title":"locale","description":"Locale code.","type":"string","example":"de_de"},"displayName":{"title":"Display Name","description":"The display name of the locale.","type":"string","example":"Deutsch (Deutschland)"}},"type":"object"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/{domain}\/cleanup":{"delete":{"tags":["Translation"],"summary":"Cleanup translations for the given domain","description":"Cleanup translations for the given domain","operationId":"translation_cleanup_by_domain","parameters":[{"name":"domain","in":"path","description":"Domain of the translation, to be cleaned up","required":true,"schema":{"type":"string","example":"admin"}}],"responses":{"200":{"description":"Translation cleaned up successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/create":{"post":{"tags":["Translation"],"summary":"Create translations","description":"Add new translation entries for given translation key\n","operationId":"translation_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateTranslation"}}}},"responses":{"200":{"description":"Successfully created translations"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/csv-settings":{"post":{"tags":["Translation"],"summary":"Determine CSV dialect settings for import","description":"Determine CSV dialect settings for import from a sample string.\n","operationId":"translation_determine_csv_settings_for_import","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["sample"],"properties":{"sample":{"description":"Sample CSV content (first few lines)","type":"string","example":"name,value\\n\u0022John Doe\u0022,123\\n\u0022Jane Smith\u0022,456"}},"type":"object"}}}},"responses":{"200":{"description":"Detected CSV dialect settings","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CsvSettings"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/{key}":{"delete":{"tags":["Translation"],"summary":"Delete translations","description":"Delete translations for given translation key","operationId":"translation_delete_by_key","parameters":[{"name":"key","in":"path","description":"Delete translations by matching key","required":true,"schema":{"type":"string","example":"some_key"}},{"name":"domain","in":"query","description":"Domain of the translation, defaults to \u0022studio\u0022","required":false,"schema":{"type":"string","example":"studio"}}],"responses":{"200":{"description":"translation_delete_by_key_success_description"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/domains":{"get":{"tags":["Translation"],"summary":"Get all available translation domains","description":"Get all available translation domains","operationId":"translation_get_domains","responses":{"200":{"description":"List of available translation domains","content":{"application\/json":{"schema":{"type":"array","items":{"required":["domain","isFrontendDomain"],"properties":{"domain":{"title":"Domain","description":"The domain name.","type":"string","example":"admin"},"isFrontendDomain":{"title":"Is Frontend Domain","description":"If the domain is a frontend or admin domain.","type":"boolean","example":false}},"type":"object"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/export":{"post":{"tags":["Translation"],"summary":"Export translations for the given domain","description":"Export translations for the given domain. \u003Cbr\u003E \nYou can specify different filters in your request body. Example filters are: \u003Cbr\u003E\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003EtranslationLike\u003C\/strong\u003E: Filter by value\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Esearch\u003C\/strong\u003E: Filter by search term\u003C\/li\u003E\n \u003C\/ul\u003E\n","operationId":"translation_export_list","parameters":[{"name":"domain","in":"query","description":"Domain to filter translations by","required":false,"schema":{"type":"string","example":"studio"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022de\u0022, \u0022type\u0022:\u0022translationLike\u0022, \u0022filterValue\u0022: \u0022%car%\u0022},{\u0022type\u0022:\u0022search\u0022, \u0022filterValue\u0022: \u0022search term\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022key\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"CSV export file for the given domain","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022studio_translations.csv\u0022"}}},"content":{"text\/csv":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/{domain}\/import":{"post":{"tags":["Translation"],"summary":"Import translations from a CSV file","description":"Import translations from a CSV file for the given domain. \u003Cbr\u003E\nSee the full description of request fields with the schema \u003Cstrong\u003ECsvSettings\u003C\/strong\u003E\n","operationId":"translation_import_csv","parameters":[{"name":"domain","in":"path","description":"Domain of the translation for import","required":true,"schema":{"type":"string","example":"studio"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file","csvSettings"],"properties":{"file":{"description":"CSV import file to upload","type":"string","format":"binary"},"csvSettings":{"description":"Settings for CSV import","properties":{"delimiter":{"type":"string","example":";"},"quoteChar":{"type":"string","example":"\u0022"},"escapeChar":{"type":"string","example":"\\"},"lineTerminator":{"type":"string","example":""}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Translation delta based on imported data","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/DeltaItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/list":{"post":{"tags":["Translation"],"summary":"Get all translations for the given domain","description":"Get all paginated translations for the given domain. \u003Cbr\u003E\nYou can specify different filters in your request body. Example filters are: \u003Cbr\u003E\n \u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the pageSize\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EtranslationLike\u003C\/strong\u003E: Filter by value\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Esearch\u003C\/strong\u003E: Filter by search term\u003C\/li\u003E\n \u003C\/ul\u003E\n","operationId":"translation_get_list","parameters":[{"name":"domain","in":"query","description":"Domain to filter translations by","required":false,"schema":{"type":"string","example":"studio"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022de\u0022, \u0022type\u0022:\u0022translationLike\u0022, \u0022filterValue\u0022: \u0022%car%\u0022},{\u0022type\u0022:\u0022search\u0022, \u0022filterValue\u0022: \u0022search term\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022de\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"List of translations for the given domain including all languages","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Translations"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations":{"post":{"tags":["Translation"],"summary":"Get translations","description":"Get translations for given keys and locale","operationId":"translation_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Translation"}}}},"responses":{"200":{"description":"Key value pairs for given keys and locale","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Translation"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/translations\/{domain}":{"put":{"tags":["Translation"],"summary":"Update translations","description":"Update translations for given translation data and locale.The \u003Cstrong\u003E{key}\u003C\/strong\u003E must be an existing translation key. \u003Cbr\u003E \nSee the full description of updatable translation data fields with the schema \u003Cstrong\u003ETranslationData\u003C\/strong\u003E\n","operationId":"translation_update","parameters":[{"name":"domain","in":"path","description":"Domain of the translation, to be updated","required":true,"schema":{"type":"string","example":"studio"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/UpdateTranslation"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated translations"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/units\/collection":{"post":{"tags":["Units"],"summary":"Get quantity value unit collection","description":"Get a paginated and filterable collection of quantity value units.\n","operationId":"unit_quantity_value_units_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022:\u0022metadata.object\u0022,\u0022filterValue\u0022:1}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022id\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated collection of quantity value units","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/QuantityValueUnit"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/convert-all":{"get":{"tags":["Units"],"summary":"Convert quantity value from one unit to all other related units","description":"Convert quantity \u003Cstrong\u003E{value}\u003C\/strong\u003E from one unit to all other available units based on the given \u003Cstrong\u003E{fromUnitId}\u003C\/strong\u003E. \u003Cbr\u003E\nUnits have to have \u003Cstrong\u003E{fromUnitId}\u003C\/strong\u003E defined as base unit to be considered for conversion.\n","operationId":"unit_quantity_value_convert_all","parameters":[{"name":"fromUnitId","in":"query","description":"Id of the unit to convert from","required":true,"schema":{"type":"string","example":"Example string"}},{"name":"value","in":"query","description":"Value to convert.","required":true,"schema":{"type":"number","format":"number","example":3.14},"example":5}],"responses":{"200":{"description":"Converted quantity value","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConvertedQuantityValues"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/convert":{"get":{"tags":["Units"],"summary":"Convert quantity value from one unit to another","description":"Convert quantity \u003Cstrong\u003E{value}\u003C\/strong\u003E from one unit to another based on the given \u003Cstrong\u003E{fromUnitId}\u003C\/strong\u003E and \u003Cstrong\u003E{toUnitId}\u003C\/strong\u003E\n","operationId":"unit_quantity_value_convert","parameters":[{"name":"fromUnitId","in":"query","description":"Id of the unit to convert from","required":true,"schema":{"type":"string","example":"Example string"}},{"name":"toUnitId","in":"query","description":"Id of the unit to convert to","required":true,"schema":{"type":"string","example":"Example string"}},{"name":"value","in":"query","description":"Value to convert.","required":true,"schema":{"type":"number","format":"number","example":3.14},"example":5}],"responses":{"200":{"description":"Converted quantity value","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Converted value","example":2,"anyOf":[{"type":"number"},{"type":"integer"}]}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/units":{"post":{"tags":["Units"],"summary":"Create a new quantity value unit","description":"Create a new quantity value unit. The unit ID must be unique and not exceed 50 characters.\n","operationId":"unit_quantity_value_units_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreateUnitParameters"}}}},"responses":{"200":{"description":"Created quantity value unit","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuantityValueUnit"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/units\/{id}":{"put":{"tags":["Units"],"summary":"Update a quantity value unit","description":"Update an existing quantity value unit by its ID. \u003Cbr\u003E\nThe unit with the given ID must already exist. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"unit_quantity_value_units_update","parameters":[{"name":"id","in":"path","description":"ID of the unit to update","required":true,"schema":{"type":"string","example":"mm"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateUnitParameters"}}}},"responses":{"200":{"description":"Updated quantity value unit","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuantityValueUnit"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Units"],"summary":"Delete a quantity value unit","description":"Delete a quantity value unit by its ID.\n","operationId":"unit_quantity_value_units_delete","parameters":[{"name":"id","in":"path","description":"ID of the unit to delete","required":true,"schema":{"type":"string","example":"mm"}}],"responses":{"200":{"description":"Successfully deleted quantity value unit"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/units\/export":{"get":{"tags":["Units"],"summary":"Export quantity value units as JSON","description":"Export all quantity value unit definitions as JSON.\n","operationId":"unit_quantity_value_units_export","responses":{"200":{"description":"JSON export of quantity value units","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022quantityvalue_unit_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/units\/import":{"post":{"tags":["Units"],"summary":"Import quantity value units from JSON","description":"Import quantity value unit definitions from a JSON file. Existing units with the same ID will be skipped.\n","operationId":"unit_quantity_value_units_import","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"JSON file containing quantity value unit definitions","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported quantity value units"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/unit\/quantity-value\/unit-list":{"get":{"tags":["Units"],"summary":"List of available quantity value units","description":"List of available quantity value units\n","operationId":"unit_quantity_value_list","responses":{"200":{"description":"List of quantity value units","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/QuantityValueUnit"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/clone\/{id}":{"post":{"tags":["User Management"],"summary":"Clone a specific user.","operationId":"user_clone_by_id","parameters":[{"name":"id","in":"path","description":"Id of the user","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"name":{"type":"string","example":"Cloned User"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the cloned user.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/":{"post":{"tags":["User Management"],"summary":"Create a new user.","operationId":"user_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["parentId","name"],"properties":{"parentId":{"type":["integer","null"],"minimum":1},"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the new created User.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/folder":{"post":{"tags":["User Management"],"summary":"Create a new user folder.","operationId":"user_folder_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["parentId","name"],"properties":{"parentId":{"type":["integer","null"],"minimum":1},"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Node of the new created Folder.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TreeNode"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/current-user-information":{"get":{"tags":["User Management"],"summary":"Retrieve information\u0027s about the current logged in user.","operationId":"user_get_current_information","responses":{"200":{"description":"Current user information\u0027s.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UserInformation"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/{id}":{"get":{"tags":["User Management"],"summary":"Retrieve a specific user by ID.","operationId":"user_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the user","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Node of the requested user.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/User"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["User Management"],"summary":"Update user by id.","operationId":"user_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the User","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateUser"}}}},"responses":{"200":{"description":"Updated data.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/User"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["User Management"],"summary":"Delete a specific user.","operationId":"user_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the user","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/folder\/{id}":{"delete":{"tags":["User Management"],"summary":"Delete a specific user folder with all users in this folder.","operationId":"user_folder_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the user-folder","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/image\/{id}":{"get":{"tags":["User Management"],"summary":"Get user profile image","operationId":"user_get_image","parameters":[{"name":"id","in":"path","description":"Id of the User","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"User profile image","content":{"image\/png":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["User Management"],"summary":"Delete user image by ID","description":"Delete the image of a specific user based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing user.\n","operationId":"user_image_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the user","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted user image"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/users\/default-key-bindings":{"get":{"tags":["User Management"],"summary":"Get default key bindings","description":"Get default key bindings for user management\n","operationId":"user_default_key_bindings","responses":{"200":{"description":"List of default key bindings","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/KeyBinding"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/available-permissions":{"get":{"tags":["User Management"],"summary":"Get all available user permissions.","operationId":"user_get_available_permissions","responses":{"200":{"description":"List of available user permissions.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/UserPermission"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/users":{"get":{"tags":["User Management"],"summary":"Get all users","description":"Get all users with basic information","operationId":"user_get_collection","responses":{"200":{"description":"List of users","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/users\/with-permission":{"get":{"tags":["User Management"],"summary":"Get all users with a specific permission","description":"Get all users with the given permission \u003Cstrong\u003E{permission}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{permission}\u003C\/strong\u003E must be an existing user permission.\n","operationId":"user_list_with_permission","parameters":[{"name":"permission","in":"query","description":"List users with this permission","required":true,"schema":{"type":"string","example":"assets"}},{"name":"includeCurrentUser","in":"query","description":"Include current user in the list","required":false,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"List of users with the given permission","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/reset-password":{"post":{"tags":["User Management"],"summary":"Sending username to reset password.","operationId":"user_reset_password","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ResetPassword"}}}},"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E429 - Too Many Requests","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/search":{"get":{"tags":["User Management"],"summary":"Search for users by query.","description":"Search for users by query. The query can be a part of the username, first name, last name, email or user ID.","operationId":"pimcore_studio_api_user_search","parameters":[{"name":"searchQuery","in":"query","description":"Query to search for an user. This can be a part of username, firstname, lastname, email or ID.","required":false,"schema":{"type":"string","example":"Example string"}}],"responses":{"200":{"description":"List of users","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/token-link\/{id}":{"post":{"tags":["User Management"],"summary":"Generate login link and token for a user by ID","description":"Generate a login link with a token for a user based on the provided user \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing user.\n","operationId":"user_token_link_get","parameters":[{"name":"id","in":"path","description":"Id of the user","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TokenLink"}}}},"responses":{"200":{"description":"Token login link for the user","content":{"application\/json":{"schema":{"required":["link"],"properties":{"link":{"title":"Token link URL","description":"Token link URL including the generated token as parameter.","type":"string","example":"https:\/\/example.com\/login?token=abcdef"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/active-perspective\/{perspectiveId}":{"put":{"tags":["User Management"],"summary":"Update the active perspective for the current user.","operationId":"user_update_active_perspective","parameters":[{"name":"perspectiveId","in":"path","description":"Set active perspective by Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"responses":{"200":{"description":"Updated active perspective for the current user."},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/{id}\/password":{"put":{"tags":["User Management"],"summary":"Update password for a User by the User id.","operationId":"user_update_password_by_id","parameters":[{"name":"id","in":"path","description":"Id of the User","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["password","passwordConfirmation"],"properties":{"password":{"type":"string"},"passwordConfirmation":{"type":"string"},"oldPassword":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/update-profile":{"put":{"tags":["User Management"],"summary":"Update the current user profile","description":"Update the current user profile. \u003Cbr\u003E See the full description of updatable fields with the schema \u003Cstrong\u003EUpdateUserProfile\u003C\/strong\u003E\n","operationId":"user_update_profile","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateUserProfile"}}}},"responses":{"200":{"description":"Successfully updated user profile","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UserInformation"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/user\/upload-image\/{id}":{"post":{"tags":["User Management"],"summary":"Upload user image","operationId":"user_upload_image","parameters":[{"name":"id","in":"path","description":"Id of the User","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["userImage"],"properties":{"userImage":{"description":"User image to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Success"},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/users\/tree":{"get":{"tags":["User Management"],"summary":"Get collection of users for tree view.","operationId":"user_get_tree","parameters":[{"name":"parentId","in":"query","description":"Filter users by parent id.","required":true,"schema":{"type":"integer","minimum":0,"example":0}}],"responses":{"200":{"description":"Collection of users including folders for the given parent id.","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/TreeNode"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/users-share-list":{"get":{"tags":["User Management"],"summary":"Get all users for sharing configurations","description":"Get all users with basic information for sharing configurations","operationId":"user_get_share_collection","responses":{"200":{"description":"List of users for sharing","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/versions\/{id}\/asset\/download":{"get":{"tags":["Versions"],"summary":"Download asset version by ID","description":"Download the asset version based on the provided version \u003Cstrong\u003E{id}\u003C\/strong\u003E.\n","operationId":"version_asset_download_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Asset version binary file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/versions\/{id}\/image\/stream":{"get":{"tags":["Versions"],"summary":"Stream image version thumbnail by ID","description":"Stream the image version thumbnail based on the provided version \u003Cstrong\u003E{id}\u003C\/strong\u003E.\n","operationId":"version_image_stream_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Image thumbnail version stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"image\/*":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/versions\/{id}\/pdf\/stream":{"get":{"tags":["Versions"],"summary":"Stream PDF version by ID","description":"Stream the PDF version based on the provided version \u003Cstrong\u003E{id}\u003C\/strong\u003E.\n","operationId":"version_pdf_stream_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"PDF version stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022example.jpg\u0022"}}},"content":{"application\/pdf":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"202 - Not Completed\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/versions\/{id}":{"get":{"tags":["Versions"],"summary":"Get a specific version by ID","description":"Retrieves a specific version data based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an id of existing version.\n","operationId":"version_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved version data as JSON","content":{"application\/json":{"schema":{"type":"object","oneOf":[{"$ref":"#\/components\/schemas\/AssetVersion"},{"$ref":"#\/components\/schemas\/DataObjectVersion"},{"$ref":"#\/components\/schemas\/DocumentVersion"}]}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Versions"],"summary":"Update a version by ID","description":"Updates a version based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an id of existing version. \u003Cbr\u003E See the full description of updatable fields with the schema \u003Cstrong\u003EUpdateVersion\u003C\/strong\u003E\n","operationId":"version_update_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UpdateVersion"}}}},"responses":{"200":{"description":"Successfully updated version"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Versions"],"summary":"Publish a specific version by ID","description":"Publishes a specific version based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an id of existing version.\n","operationId":"version_publish_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"ID of the published version","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"ID of published version","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Versions"],"summary":"Delete a specific version","description":"Deletes a specific version based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an id of existing version.\n","operationId":"version_delete_by_id","parameters":[{"name":"id","in":"path","description":"Id of the version","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted version"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/versions\/{elementType}\/{id}":{"get":{"tags":["Versions"],"summary":"Get versions for an element","description":"List all the versions of the element. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"version_get_collection_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":10}}],"responses":{"200":{"description":"Paginated element Versions data as JSON with total count as header param","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Version"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Versions"],"summary":"Cleanup all versions for an element","description":"Cleans up all versions for a specific element based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E The \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an existing element of the provided \u003Cstrong\u003E{elementType}\u003C\/strong\u003E.\n","operationId":"version_cleanup_for_element_by_type_and_id","parameters":[{"name":"elementType","in":"path","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}},{"name":"id","in":"path","description":"Id of the ID of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"IDs of the removed versions","content":{"application\/json":{"schema":{"required":["ids"],"properties":{"ids":{"title":"IDs","description":"IDs of deleted versions","type":"array","items":{"type":"integer","example":420}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/website-settings\/add":{"post":{"tags":["Website Settings"],"summary":"Add a new website setting","description":"Add a new website setting with the provided name and type.\nThe following types are supported: \u003Cstrong\u003Etext\u003C\/strong\u003E, \u003Cstrong\u003Edocument\u003C\/strong\u003E, \u003Cstrong\u003Easset\u003C\/strong\u003E, \u003Cstrong\u003Eobject\u003C\/strong\u003E, \u003Cstrong\u003Ebool\u003C\/strong\u003E. \u003Cbr\u003E\n","operationId":"website_settings_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebsiteSettingsAdd"}}}},"responses":{"200":{"description":"Successfully added website setting","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebsiteSetting"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/website-settings":{"post":{"tags":["Website Settings"],"summary":"Get paginated website settings","description":"Get all paginated website settings. \u003Cbr\u003E You can specify different filters in your request body. Example filters are: \u003Cbr\u003E\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003Epage\u003C\/strong\u003E: Used for offset calculation in pagination. To be used, needs to be defined together with the page.size\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EpageSize\u003C\/strong\u003E: Used for limiting the result numbers per page. To be used, needs to be defined together with the page\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Ename\u003C\/strong\u003E: Filter by settings name\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Etype\u003C\/strong\u003E: Filter by settings type (text, document, asset, object, bool)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EcreationDate\u003C\/strong\u003E: Filter by creation date (on, from, to)\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"website_settings_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022key\u0022:\u0022creationDate\u0022, \u0022type\u0022:\u0022date\u0022, \u0022filterValue\u0022:{\u0022operator\u0022: \u0022on\u0022, \u0022value\u0022: \u002208\/20\/2024\u0022}},{\u0022key\u0022:\u0022name\u0022, \u0022type\u0022:\u0022like\u0022, \u0022filterValue\u0022: \u0022SettingsName\u0022},{\u0022key\u0022:\u0022type\u0022, \u0022type\u0022:\u0022equals\u0022, \u0022filterValue\u0022: \u0022text\u0022}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022name\u0022, \u0022direction\u0022:\u0022DESC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated website settings with total count","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/WebsiteSetting"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/website-settings\/{id}":{"put":{"tags":["Website Settings"],"summary":"Update a website setting","description":"Update a website setting with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E.\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing website setting. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall fields\u003Cstrong\u003E have to be provided.\n","operationId":"website_settings_update","parameters":[{"name":"id","in":"path","description":"Id of the website setting","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebsiteSettingsUpdate"}}}},"responses":{"200":{"description":"Successfully updated website setting","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebsiteSetting"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Website Settings"],"summary":"Delete a website setting","description":"Delete a website setting with the given \u003Cstrong\u003E{id}\u003C\/strong\u003E.\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of an existing DocType. \u003Cbr\u003E\n","operationId":"website_settings_delete","parameters":[{"name":"id","in":"path","description":"Id of the website setting","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted website setting"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/website-settings\/types":{"get":{"tags":["Website Settings"],"summary":"List all website setting types","description":"List all available website setting types.\nReturns an array of website setting types with their keys and titles.\n","operationId":"website_settings_list_types","responses":{"200":{"description":"List of all available website setting types","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/WebsiteSettingsType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/workflows\/details":{"get":{"tags":["Workflows"],"summary":"Get all workflow details of an element","description":"Get details of the element workflows based on the given \u003Cstrong\u003E{elementType}\u003C\/strong\u003E and \u003Cstrong\u003E{elementId}\u003C\/strong\u003E.\n","operationId":"workflow_get_details","parameters":[{"name":"elementId","in":"query","description":"ID of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"elementType","in":"query","description":"Filter elements by matching element type.","required":true,"schema":{"type":"string","enum":["asset","document","data-object"],"example":"data-object"}}],"responses":{"200":{"description":"Detail data of element workflows","content":{"application\/json":{"schema":{"required":["items","layoutId"],"properties":{"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/WorkflowDetails"}},"layoutId":{"title":"layoutId","type":"string"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/workflows\/action":{"post":{"tags":["Workflows"],"summary":"Submit workflow action","description":"Submit action based on the workflow name, action name and action type.","operationId":"workflow_action_submit","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SubmitAction"}}}},"responses":{"200":{"description":"Json encoded name of workflow, name and type of submitted action.","content":{"application\/json":{"schema":{"properties":{"workflowName":{"title":"workflowName","type":"string","example":"MyAwesomeWorkflow"},"actionName":{"title":"actionName","type":"string","example":"MyAwesomeAction"},"actionType":{"title":"actionType","type":"string","example":"transition"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions\/automation\/{name}\/run":{"post":{"tags":["Bundle Copilot"],"summary":"Run automation action","description":"Run automation action. Use \u003Cstrong\u003E{name}\u003C\/strong\u003E to specify the action you want to run.","operationId":"bundle_copilot_actions_automation_run","parameters":[{"name":"name","in":"path","description":"The name of the automation action configuration to run","required":true,"schema":{"type":"string","example":"CarVariantGenerator"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["context","environmentVariables"],"properties":{"context":{"description":"Context in which the action is run.","type":"string","example":"{\u0022subject\u0022:{\u0022id\u0022:81,\u0022type\u0022:\u0022object\u0022,\u0022subType\u0022:\u0022object\u0022},\u0022selectedElements\u0022:null,\u0022tags\u0022:[\u0022object\u0022,\u0022object_car\u0022]}"},"environmentVariables":{"description":"Json encoded key value pairs of environment variables to set for the action.","type":"string","example":"{\u0022Published\u0022:false,\u0022Variants\u0022:[{\u0022Color\u0022:\u0022grey\u0022,\u0022ProductionYear\u0022:1987}]}"}},"type":"object"}}}},"responses":{"200":{"description":"ID of the created job run","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCopilotJobRunId"}}}},"default":{"description":"201 - Created\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions\/interaction\/{name}\/{interactionId}\/apply":{"post":{"tags":["Bundle Copilot"],"summary":"Apply chat response to element","description":"Apply chat response to element. Use \u003Cstrong\u003E{name}\u003C\/strong\u003E to specify the action you want to run. Use \u003Cstrong\u003E{interactionId}\u003C\/strong\u003E to specify the id for the chat and its history.","operationId":"bundle_copilot_actions_interaction_chat_apply","parameters":[{"name":"name","in":"path","description":"The name of the interaction action configuration to run","required":true,"schema":{"type":"string","example":"OpenAITextGeneration"}},{"name":"interactionId","in":"path","description":"The id of the chat interaction","required":true,"schema":{"type":"integer","example":9875567}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["context","result"],"properties":{"context":{"description":"Context in which the action is run.","type":"string","example":"{\u0022subject\u0022:{\u0022id\u0022:81,\u0022type\u0022:\u0022object\u0022,\u0022subType\u0022:\u0022object\u0022},\u0022selectedElements\u0022:null,\u0022tags\u0022:[\u0022object\u0022,\u0022object_car\u0022]}"},"language":{"description":"The language of the field to be updated.","type":"string","default":"","example":"en"},"result":{"description":"The result that should be applied.","type":"string","example":"The Cobra is a masterpiece ... "}},"type":"object"}}}},"responses":{"200":{"description":"Response from the interaction action"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions\/interaction\/{name}\/{interactionId}\/initial":{"post":{"tags":["Bundle Copilot"],"summary":"Send initial chat message","description":"Send initial chat message. Use \u003Cstrong\u003E{name}\u003C\/strong\u003E to specify the action you want to run. Use \u003Cstrong\u003E{interactionId}\u003C\/strong\u003E to specify an id for the chat and its history. Reuse that ID to send subsequent prompts.","operationId":"bundle_copilot_actions_interaction_chat_initial","parameters":[{"name":"name","in":"path","description":"The name of the interaction action configuration to run","required":true,"schema":{"type":"string","example":"OpenAITextGeneration"}},{"name":"interactionId","in":"path","description":"The id of the chat interaction","required":true,"schema":{"type":"integer","example":9875567}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["context"],"properties":{"context":{"description":"Context in which the action is run.","type":"string","example":"{\u0022subject\u0022:{\u0022id\u0022:81,\u0022type\u0022:\u0022object\u0022,\u0022subType\u0022:\u0022object\u0022},\u0022selectedElements\u0022:null,\u0022tags\u0022:[\u0022object\u0022,\u0022object_car\u0022]}"}},"type":"object"}}}},"responses":{"200":{"description":"Response from the interaction action","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCopilotActionInteractionChatHistory"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions\/interaction\/{name}\/{interactionId}\/prompt":{"post":{"tags":["Bundle Copilot"],"summary":"Send chat prompt","description":"Send chat prompt. Use \u003Cstrong\u003E{name}\u003C\/strong\u003E to specify the action you want to run. Use \u003Cstrong\u003E{interactionId}\u003C\/strong\u003E to specify the id for the chat and its history.","operationId":"bundle_copilot_actions_interaction_chat_prompt","parameters":[{"name":"name","in":"path","description":"The name of the interaction action configuration to run","required":true,"schema":{"type":"string","example":"OpenAITextGeneration"}},{"name":"interactionId","in":"path","description":"The id of the chat interaction","required":true,"schema":{"type":"integer","example":9875567}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["context","prompt"],"properties":{"context":{"description":"Context in which the action is run.","type":"string","example":"{\u0022subject\u0022:{\u0022id\u0022:81,\u0022type\u0022:\u0022object\u0022,\u0022subType\u0022:\u0022object\u0022},\u0022selectedElements\u0022:null,\u0022tags\u0022:[\u0022object\u0022,\u0022object_car\u0022]}"},"prompt":{"description":"The prompt message from the user.","type":"string","example":"Please create a more compact description of the object than the one provided."}},"type":"object"}}}},"responses":{"200":{"description":"Response from the interaction action","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleCopilotActionInteractionChatHistory"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions\/interaction\/{name}\/execute":{"post":{"tags":["Bundle Copilot"],"summary":"One step interaction","description":"One step interaction. Use \u003Cstrong\u003E{name}\u003C\/strong\u003E to specify the action you want to run.","operationId":"bundle_copilot_actions_interaction_one_step","parameters":[{"name":"name","in":"path","description":"The name of the interaction action configuration to run","required":true,"schema":{"type":"string","example":"HFTranslationPrompt"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["context","result"],"properties":{"context":{"description":"Context in which the action is run.","type":"string","example":"{\u0022subject\u0022:{\u0022id\u0022:81,\u0022type\u0022:\u0022object\u0022,\u0022subType\u0022:\u0022object\u0022},\u0022selectedElements\u0022:null,\u0022tags\u0022:[\u0022object\u0022,\u0022object_car\u0022]}"},"inputContent":{"description":"The content passed to the action.","type":"string","example":"The Cobra is a masterpiece ... "}},"type":"object"}}}},"responses":{"200":{"description":"Response from one step interaction action","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCopilotActionInteractionOneStep"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/actions":{"get":{"tags":["Bundle Copilot"],"summary":"Get all automation and interaction actions","description":"Get all automation and interaction actions","operationId":"bundle_copilot_actions","responses":{"200":{"description":"List of all automation and interaction actions","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCopilotAction"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/job-run\/{id}\/cancel":{"post":{"tags":["Bundle Copilot"],"summary":"Cancel running Copilot Job Run","description":"Cancel running Copilot Job Run. Use \u003Cstrong\u003E{id}\u003C\/strong\u003E to specify the job run id you want to cancel.","operationId":"bundle_copilot_job_run_cancel","parameters":[{"name":"id","in":"path","description":"Id of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Canceled job run."},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/job-runs":{"get":{"tags":["Bundle Copilot"],"summary":"List all job runs","description":"List all job runs","operationId":"bundle_copilot_job_runs","parameters":[{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":50}},{"name":"sortOrder","in":"query","description":"Sort order (asc or desc).","required":false,"schema":{"type":"string","enum":["ASC","DESC"],"example":"ASC"}},{"name":"sortBy","in":"query","description":"Sort by field.","required":false,"schema":{"type":"string","enum":["id","ownerId","state","currentstep","currentmessage","context","creationdate","modificationdate"],"example":null}}],"responses":{"200":{"description":"List of all job runs","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCopilotJobRun"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/job-runs\/running":{"get":{"tags":["Bundle Copilot"],"summary":"List of currently running Copilot Job Runs","description":"List of currently running Copilot Job Runs","operationId":"bundle_copilot_job_runs_running","parameters":[{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":50}},{"name":"sortOrder","in":"query","description":"Sort order (asc or desc).","required":false,"schema":{"type":"string","enum":["ASC","DESC"],"example":"ASC"}},{"name":"sortBy","in":"query","description":"Sort by field.","required":false,"schema":{"type":"string","enum":["id","ownerId","state","currentstep","currentmessage","context","creationdate","modificationdate"],"example":null}}],"responses":{"200":{"description":"List of currently running Copilot Job Runs","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCopilotJobRun"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/job-run\/{id}\/progress":{"get":{"tags":["Bundle Copilot"],"summary":"Get job run progress","description":"Get job run progress. Use \u003Cstrong\u003E{id}\u003C\/strong\u003E to specify the job run id you want to get the progress for.","operationId":"bundle_copilot_job_run_progress","parameters":[{"name":"id","in":"path","description":"Id of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Job run progress","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCopilotJobRunProgress"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/copilot\/job-run\/{id}\/rerun":{"post":{"tags":["Bundle Copilot"],"summary":"Rerun existing Copilot Job Run","description":"Rerun existing Copilot Job Run. Use \u003Cstrong\u003E{id}\u003C\/strong\u003E to specify the job run id you want to rerun. \u003Cstrong\u003ENote:\u003C\/strong\u003E A new job run with a new id will be created.","operationId":"bundle_copilot_job_run_rerun","parameters":[{"name":"id","in":"path","description":"Id of the JobRun","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"The newly created job run.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleCopilotJobRun"}}}},"default":{"description":"201 - Created\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/add":{"post":{"tags":["Bundle Data Hub"],"summary":"Add Data Hub Configuration","description":"Create a new Data Hub configuration","operationId":"bundle_data_hub_config_add","parameters":[{"name":"name","in":"query","description":"The name of the configuration","required":true,"schema":{"type":"string","example":"assets"}},{"name":"type","in":"query","description":"Type of the adapter","required":true,"schema":{"type":"string","example":"graphql"}},{"name":"path","in":"query","description":"Configuration path","required":false,"schema":{"type":"string","example":""}}],"responses":{"201":{"description":"Data Hub configuration successfully created"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/clone":{"post":{"tags":["Bundle Data Hub"],"summary":"Clone Data Hub Configuration","description":"Clone an existing Data Hub configuration with a new name","operationId":"bundle_data_hub_config_clone","parameters":[{"name":"name","in":"query","description":"The name of the new configuration","required":true,"schema":{"type":"string","example":"assets_copy"}},{"name":"originalName","in":"query","description":"The name of the configuration to clone","required":true,"schema":{"type":"string","example":"assets"}}],"responses":{"201":{"description":"Data Hub configuration successfully cloned"},"default":{"description":"201 - Created\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config":{"get":{"tags":["Bundle Data Hub"],"summary":"Data Hub Config Collection","description":"Data Hub Config Collection","operationId":"bundle_data_hub_config_collection","responses":{"200":{"description":"List of all automation and interaction actions","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataHubConfiguration"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/delete\/{name}":{"delete":{"tags":["Bundle Data Hub"],"summary":"Delete Data Hub Configuration","description":"Delete a Data Hub configuration by name","operationId":"bundle_data_hub_config_delete","parameters":[{"name":"name","in":"path","description":"Name of the configuration","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Data Hub configuration successfully deleted"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/{name}\/export":{"get":{"tags":["Bundle Data Hub"],"summary":"Export Data Hub Configuration","description":"Export a Data Hub configuration as a JSON file","operationId":"bundle_data_hub_config_export","parameters":[{"name":"name","in":"path","description":"Name of the configuration","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Data Hub configuration successfully exported"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/{name}":{"get":{"tags":["Bundle Data Hub"],"summary":"Get Data Hub Configuration","description":"Get a Data Hub configuration by name","operationId":"bundle_data_hub_config_get","parameters":[{"name":"name","in":"path","description":"Name of the configuration","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Data Hub configuration details","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleDataHubConfigurationDetail"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Data Hub"],"summary":"Update Data Hub Configuration","description":"Update an existing Data Hub configuration with validation for concurrent modifications","operationId":"bundle_data_hub_config_update","parameters":[{"name":"name","in":"path","description":"Name of the configuration","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleDataHubUpdateConfiguration"}}}},"responses":{"200":{"description":"Data Hub configuration successfully updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleDataHubUpdateConfigurationResponse"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/config\/import":{"post":{"tags":["Bundle Data Hub"],"summary":"Import Data Hub Configuration","description":"Import a Data Hub configuration from a JSON file","operationId":"bundle_data_hub_config_import","requestBody":{"description":"Configuration file to import","required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"JSON configuration file","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"201":{"description":"Data Hub configuration successfully imported"},"default":{"description":"201 - Created\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/graphql\/explorer\/{clientname}":{"get":{"tags":["Bundle Data Hub"],"summary":"Get GraphQL Explorer","description":"Get the GraphQL Explorer interface for testing and exploring GraphQL endpoints","operationId":"bundle_data_hub_graphql_explorer","parameters":[{"name":"clientname","in":"path","description":"Clientname of the client","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"GraphQL Explorer HTML interface","content":{"text\/html":{"schema":{"description":"GraphQL Explorer HTML interface","type":"string","example":"\u003C!DOCTYPE html\u003E\u003Chtml lang=\u0022en\u0022\u003E\u003Cbody\u003E...\u003C\/body\u003E\u003C\/html\u003E"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/graphql\/explorer-url\/{name}":{"get":{"tags":["Bundle Data Hub"],"summary":"Get GraphQL Explorer URL","description":"Get the URL for the GraphQL Explorer interface for a specific configuration","operationId":"bundle_data_hub_graphql_explorer_url","parameters":[{"name":"name","in":"path","description":"Name of the configuration","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"GraphQL Explorer URL","content":{"application\/json":{"schema":{"required":["explorerUrl"],"properties":{"explorerUrl":{"title":"explorerUrl","description":"The GraphQL Explorer URL for the specified configuration","type":"string","example":"\/pimcore-datahub-webservices\/explorer\/my-config"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/thumbnails":{"get":{"tags":["Bundle Data Hub"],"summary":"Get Data Hub Thumbnails Collection","description":"Get a list of available image thumbnail configurations for Data Hub","operationId":"bundle_data_hub_thumbnails_collection","responses":{"200":{"description":"List of available thumbnail configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataHubThumbnail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-hub\/users":{"get":{"tags":["Bundle Data Hub"],"summary":"Get Data Hub Users Collection","description":"Get a list of users and roles that can be assigned permissions in Data Hub configurations","operationId":"bundle_data_hub_users_collection","parameters":[{"name":"type","in":"query","description":"Filter by user type (user or role)","required":false,"schema":{"type":"string","default":"user","enum":["user","role"]}}],"responses":{"200":{"description":"List of users and roles available for Data Hub permissions","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataHubPermissionUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/personalization\/target-groups":{"get":{"tags":["Bundle Personalization"],"summary":"Get target group list","description":"Get list of target groups. If the \u003Cstrong\u003E{includeDefault}\u003C\/strong\u003E parameter is true, the default target group will be included in the response.\n","operationId":"bundle_personalization_target_group_list","parameters":[{"name":"includeDefault","in":"query","description":"If true, default target group is included in the response","required":true,"schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"Target group list as JSON","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundlePersonalizationTargetGroup"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/enterprise-subscription-tools\/license\/":{"get":{"tags":["Bundle Enterprise Subscription Tools"],"summary":"Check license and get environment information","description":"Check license and get environment information","operationId":"bundle_enterprise_subscription_tools_license","responses":{"200":{"description":"License check result and environment information","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleEnterpriseSubscriptionToolsLicenseInformation"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs":{"post":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Create configuration","description":"Create a new asset metadata class definition configuration with the given name","operationId":"bundle_amdcd_config_create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AMDCDCreateConfig"}}}},"responses":{"200":{"description":"Created configuration data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AMDCDListConfig"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/{name}":{"get":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Get configuration by name","description":"Get a single asset metadata class definition configuration by its unique name","operationId":"bundle_amdcd_config_get","parameters":[{"name":"name","in":"path","description":"Unique name of the configuration","required":true,"schema":{"type":"string","example":"MyConfig"}}],"responses":{"200":{"description":"Configuration data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AMDCDListConfig"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Update configuration by name","description":"Update an existing asset metadata class definition configuration by its unique name","operationId":"bundle_amdcd_config_update","parameters":[{"name":"name","in":"path","description":"Unique name of the configuration","required":true,"schema":{"type":"string","example":"MyConfig"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AMDCDUpdateConfig"}}}},"responses":{"200":{"description":"Updated configuration data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AMDCDListConfig"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Delete configuration by name","description":"Delete an asset metadata class definition configuration by its unique name","operationId":"bundle_amdcd_config_delete","parameters":[{"name":"name","in":"path","description":"Unique name of the configuration","required":true,"schema":{"type":"string","example":"MyConfig"}}],"responses":{"200":{"description":"Configuration successfully deleted"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/{name}\/export":{"get":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Export configuration as JSON","description":"Export an asset metadata class definition configuration as a downloadable JSON file","operationId":"bundle_amdcd_config_export","parameters":[{"name":"name","in":"path","description":"Unique name of the configuration","required":true,"schema":{"type":"string","example":"MyConfig"}}],"responses":{"200":{"description":"Configuration exported as JSON file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022class_amdcd_MyConfig_export.json\u0022"}}},"content":{"application\/json":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/{name}\/import":{"post":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Import configuration from JSON","description":"Import an asset metadata class definition configuration from an uploaded JSON file","operationId":"bundle_amdcd_config_import","parameters":[{"name":"name","in":"path","description":"Unique name of the configuration","required":true,"schema":{"type":"string","example":"MyConfig"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"Import file with JSON encoded configuration definition","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Configuration successfully imported"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/list":{"get":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Get all available configs for editor","description":"Get all available configs for editor to be able to add asset metadata class definitions to the asset","operationId":"bundle_amdcd_configs_list","responses":{"200":{"description":"Successfully retrieved listing of all available configs","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/AMDCDListConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/metadata-column-config":{"get":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Get metadata column configuration","description":"Get available metadata column configuration groups for asset grid column selection","operationId":"bundle_amdcd_config_metadata_column_config","responses":{"200":{"description":"Metadata column configuration groups","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AMDCDMetadataColumnGroup"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/amdcd\/configs\/tree":{"get":{"tags":["Bundle Asset Metadata Class Definitions"],"summary":"Get all available configs for tree","description":"Get all available configs for tree based on the \u0022Bundle AMDCD SimpleConfig\u0022","operationId":"bundle_amdcd_configs_tree","responses":{"200":{"description":"Successfully retrieved config data","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/AMDCDSimpleConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/statistics-explorer\/custom-reports\/data-sources\/{dataSource}\/fields":{"get":{"tags":["Bundle Statistics Explorer"],"summary":"Get custom reports data sources fields","description":"Get custom reports data sources fields. Use {dataSource} to specify data source name.","operationId":"bundle_statistics_explorer_custom_reports_data_sources_fields","parameters":[{"name":"dataSource","in":"path","description":"The data source to retrieve the fields for","required":true,"schema":{"type":"string","example":"db_assets"}}],"responses":{"200":{"description":"Custom Reports Data Sources Fields","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFields"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/statistics-explorer\/custom-reports\/data-sources\/{dataSource}\/fields\/settings":{"post":{"tags":["Bundle Statistics Explorer"],"summary":"Get custom reports data sources fields settings","description":"Get custom reports data sources fields settings. Use {dataSource} to specify data source name.","operationId":"bundle_statistics_explorer_custom_reports_data_sources_fields_settings","parameters":[{"name":"dataSource","in":"path","description":"The data source to retrieve the fields for","required":true,"schema":{"type":"string","example":"db_assets"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["statisticsMode","aggregations","columns"],"properties":{"statisticsMode":{"description":"The statistics mode to be used.","type":"string","example":"list"},"aggregations":{"description":"The aggregations to be applied.","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFieldsSettingsArray"}},"columns":{"description":"The columns to be included in the result.","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFieldsSettingsArray"}}},"type":"object"}}}},"responses":{"200":{"description":"Custom Reports Data Sources Fields Settings","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFieldsDefinition"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/statistics-explorer\/custom-reports\/data-sources":{"get":{"tags":["Bundle Statistics Explorer"],"summary":"Get custom reports data sources","description":"Get custom reports data sources","operationId":"bundle_statistics_explorer_custom_reports_data_sources","responses":{"200":{"description":"Custom Reports Data Sources","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSource"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection":{"post":{"tags":["Bundle Portal Engine"],"summary":"Add Collection","description":"Create a new collection in Portal Engine","operationId":"bundle_portal_engine_collection_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name","portalId"],"properties":{"name":{"type":"string"},"portalId":{"type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Collection created successfully","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineCollection"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}":{"delete":{"tags":["Bundle Portal Engine"],"summary":"Delete Collection","description":"Delete a collection by its ID","operationId":"bundle_portal_engine_delete_collection","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"translation_delete_by_key_success_description"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"patch":{"tags":["Bundle Portal Engine"],"summary":"Update Collection","description":"Update an existing collection in Portal Engine","operationId":"bundle_portal_engine_collection_update","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Collection updated successfully","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineCollection"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/list":{"post":{"tags":["Bundle Portal Engine"],"summary":"List Collections","description":"List all collections available for Portal Engine","operationId":"bundle_portal_engine_collection_list","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022, \u0022filterValue\u0022: \u0022search term\u0022},{\u0022type\u0022:\u0022showAll\u0022, \u0022filterValue\u0022: true}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022portal\u0022, \u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"bundle_portal_engine_collection_success_response","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineCollection"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/list-portals":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Portals","description":"List portals available for collection management","operationId":"bundle_portal_engine_collection_list_portals","responses":{"200":{"description":"Collection of available portals","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineCollectionPortal"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/share-list":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Collection Sharing","description":"List sharing assignments for a collection","operationId":"bundle_portal_engine_collection_share_list","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"List of sharing assignments for the collection","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineCollectionShareListItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Bundle Portal Engine"],"summary":"Update Collection Sharing","description":"Update sharing assignments for a collection","operationId":"bundle_portal_engine_collection_share_list_update","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["shareListItems"],"properties":{"shareListItems":{"type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineCollectionShareListItem"}}},"type":"object"}}}},"responses":{"200":{"description":"Collection sharing updated successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/tree\/add\/{rootNodeId}":{"post":{"tags":["Bundle Portal Engine"],"summary":"Add Tree Item","description":"Add a new tree item to a collection","operationId":"bundle_portal_engine_collections_tree_add","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"rootNodeId","in":"path","description":"RootNodeId of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["elementIds"],"properties":{"elementIds":{"type":"object","example":[123,456]}},"type":"object"}}}},"responses":{"200":{"description":"Tree item added successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/tree\/delete\/{rootNodeId}":{"post":{"tags":["Bundle Portal Engine"],"summary":"Delete Tree Items","description":"Delete tree items from a collection","operationId":"bundle_portal_engine_collections_tree_delete_elements","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"rootNodeId","in":"path","description":"RootNodeId of the element","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["elementIds"],"properties":{"elementIds":{"type":"object","example":[123,456]}},"type":"object"}}}},"responses":{"200":{"description":"Tree items deleted successfully"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/tree-information":{"get":{"tags":["Bundle Portal Engine"],"summary":"Get Tree Information","description":"Retrieve tree information for Portal Engine collections","operationId":"bundle_portal_engine_collections_tree_information","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Tree information entry","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineTreeInformation"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/tree-items":{"get":{"tags":["Bundle Portal Engine"],"summary":"Get Tree Items","description":"Retrieve tree items for the requested collection","operationId":"bundle_portal_engine_collections_tree_items","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","example":1}},{"name":"pageSize","in":"query","description":"How many results to return","required":true,"schema":{"type":"integer","example":30}},{"name":"node","in":"query","description":"Node is for items to list","required":true,"schema":{"type":"integer","example":30}},{"name":"filter","in":"query","description":"When provided, the items are filtered by value.","required":false,"schema":{"type":"string","example":"some-search-term"}}],"responses":{"200":{"description":"Tree items for the requested collection","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/BundlePortalEngineDataObject"},{"$ref":"#\/components\/schemas\/BundlePortalEngineAsset"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/tree-root-nodes":{"get":{"tags":["Bundle Portal Engine"],"summary":"Get Tree Root Nodes","description":"Retrieve root nodes for the collection tree","operationId":"bundle_portal_engine_collections_tree_root_nodes","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Root nodes for the requested collection tree","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineTreeFolder"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collections\/check-user-assignment":{"get":{"tags":["Bundle Portal Engine"],"summary":"Check Admin User Assignment","description":"Check whether the current Pimcore user is assigned to a portal user for collections access","operationId":"bundle_portal_engine_collections_user_assignment_check","responses":{"200":{"description":"Assignment status for the current Pimcore user","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineAdminUserAssignment"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/collection\/{collectionId}\/user-search":{"get":{"tags":["Bundle Portal Engine"],"summary":"Search User Groups","description":"Search user groups within a collection by query","operationId":"bundle_portal_engine_collection_user_search","parameters":[{"name":"collectionId","in":"path","description":"CollectionId of the element","required":true,"schema":{"type":"integer","example":83}},{"name":"searchQuery","in":"query","description":"Term to filter user groups","required":false,"schema":{"type":"string","example":"deal"}},{"name":"excludeIds","in":"query","description":"Comma-separated list of IDs excluded from the search result","required":false,"schema":{"type":"string","example":"1,2,3"}}],"responses":{"200":{"description":"Collection of matching user groups","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineCollectionUserGroup"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/index-management":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Indices","description":"List all indices available for Portal Engine","operationId":"bundle_portal_engine_index_management_list","responses":{"200":{"description":"List of indices","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/IndexStat"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/index-management\/queue-item-count":{"get":{"tags":["Bundle Portal Engine"],"summary":"Get Indexing Queue Count","description":"Get count of items in the indexing queue","operationId":"bundle_portal_engine_index_management_queue_count","responses":{"200":{"description":"Count of items in the indexing queue","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QueueItemCount"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/index-management\/re-index":{"post":{"tags":["Bundle Portal Engine"],"summary":"Re-index Indices","description":"Re-index all indices for Portal Engine","operationId":"bundle_portal_engine_index_management_re_index","responses":{"200":{"description":"Re-index started"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/index-management\/update-index":{"post":{"tags":["Bundle Portal Engine"],"summary":"Update Index Mapping","description":"Update index mapping for Portal Engine","operationId":"bundle_portal_engine_index_management_update_index","responses":{"200":{"description":"Update index mapping started"},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/create-portal":{"post":{"tags":["Bundle Portal Engine"],"summary":"Create Portal","description":"Create a new portal using the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_create_portal","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["portalName","domain","availableLanguages"],"properties":{"portalName":{"type":"string"},"domain":{"type":"string"},"availableLanguages":{"type":"array","items":{"type":"string"},"example":["de","en"]},"logo":{"type":"string"},"loginBackgroundImage":{"type":"string"},"objectPools":{"type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineWizardObjectPool"}},"assetPools":{"type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineWizardAssetPool"}}},"type":"object"}}}},"responses":{"200":{"description":"Portal tmpStoreKey to check the status","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineWizardStartResponse"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/custom-layouts\/{classId}":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Custom Layouts for Class","description":"List available custom layouts for the given class in the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_class_custom_layouts","parameters":[{"name":"classId","in":"path","description":"Class ID","required":true,"schema":{"type":"string","example":"CAR"}}],"responses":{"200":{"description":"Collection of available custom layouts for the class","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineWizardCustomLayout"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/available-formats":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Formats","description":"List available download formats for the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_available_formats","responses":{"200":{"description":"Collection of available download formats","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineWizardFormat"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/icons":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Icons","description":"List available icons for the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_icons","responses":{"200":{"description":"Collection of available icons","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineIcon"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/available-thumbnails":{"get":{"tags":["Bundle Portal Engine"],"summary":"List Thumbnails","description":"List available thumbnails for the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_available_thumbnails","responses":{"200":{"description":"Collection of available thumbnails","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/PortalEngineWizardThumbnail"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/portal-engine\/wizard\/{tmpStoreKey}\/status":{"get":{"tags":["Bundle Portal Engine"],"summary":"Check Portal Creation Status","description":"Check the status of the portal creation process in the Portal Engine wizard","operationId":"bundle_portal_engine_wizard_status","parameters":[{"name":"tmpStoreKey","in":"path","description":"Temporary store key returned by the wizard start endpoint.","required":true,"schema":{"type":"string","example":"portal-engine_wizard_650a9242c8b1d"}}],"responses":{"200":{"description":"Status of the portal creation process","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PortalEngineWizardStatusResponse"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/cancel-generation":{"post":{"tags":["Bundle Web To Print"],"summary":"Cancel Web to Print PDF generation process","description":"Cancel an ongoing PDF generation process based on the provided web to print \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document\n","operationId":"bundle_web_to_print_cancel_generation_process","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully canceled Web to Print PDF generation process"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/check-pdf-dirty":{"get":{"tags":["Bundle Web To Print"],"summary":"Check if Web to Print document is dirty","description":"Check if the document based on the provided web to print \u003Cstrong\u003E{documentId}\u003C\/strong\u003E has unsaved changes since the last PDF generation. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document\n","operationId":"bundle_web_to_print_get_pdf_dirty","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Web to Print document dirty status","content":{"application\/json":{"schema":{"required":["isDirty"],"properties":{"isDirty":{"title":"isDirty","description":"True if document changed since the last PDF generation","type":"boolean","example":true}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/pdf-download":{"get":{"tags":["Bundle Web To Print"],"summary":"Download Web to Print generated PDF file","description":"Download the generated PDF file for a Web to Print document based on the provided web to print \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document and the PDF must have been generated successfully\n","operationId":"bundle_web_to_print_pdf_download","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Web to Print generated PDF file","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022someGeneratedDocument.pdf\u0022"}}},"content":{"application\/pdf":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/generation-process-data":{"get":{"tags":["Bundle Web To Print"],"summary":"Get Web to Print PDF generation process data","description":"Retrieve the status and details of a Web to Print PDF generation process based on the provided web to print \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document\n","operationId":"bundle_web_to_print_get_generation_process_data","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Web to Print PDF generation process data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleWebToPrintGenerateProcessData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/processing-options":{"get":{"tags":["Bundle Web To Print"],"summary":"Get Web to Print PDF generation processing options","description":"Retrieve the available PDF generation processing options for a Web to Print document based on the provided \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document\n","operationId":"bundle_web_to_print_get_processing_options","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Web to Print PDF generation processing options as JSON","content":{"application\/json":{"schema":{"required":["options"],"properties":{"options":{"title":"Processing Options","description":"Processing options used for PDF generation.","type":"array","items":{"$ref":"#\/components\/schemas\/BundleWebToPrintProcessingOption"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/start-generation":{"post":{"tags":["Bundle Web To Print"],"summary":"Start Web to Print PDF generation process","description":"Initiate the PDF generation process for a Web to Print document based on the provided \u003Cstrong\u003E{documentId}\u003C\/strong\u003E and processing options. \u003Cbr\u003E\nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document\n","operationId":"bundle_web_to_print_start_generation_process","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"author":{"type":["string","null"]},"title":{"type":["string","null"]},"printermarks":{"type":["boolean","null"]},"addOverprint":{"type":["boolean","null"]},"links":{"type":["boolean","null"]},"bookmarks":{"type":["boolean","null"]},"tags":{"type":["boolean","null"]},"javaScriptMode":{"type":["string","null"]},"viewerPreference":{"type":["string","null"]},"colorspace":{"type":["string","null"]},"encryption":{"type":["string","null"]},"loglevel":{"type":["string","null"]},"enableDebugMode":{"type":["boolean","null"]}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully started Web to Print PDF generation process"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/web-to-print\/{documentId}\/pdf-stream":{"get":{"tags":["Bundle Web To Print"],"summary":"Stream Web to Print generated PDF file","description":"Stream the generated PDF file for a Web to Print document based on the provided web to print \u003Cstrong\u003E{documentId}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{documentId}\u003C\/strong\u003E must be an ID of existing web to print document and the PDF must have been generated successfully\n","operationId":"bundle_web_to_print_pdf_stream","parameters":[{"name":"documentId","in":"path","description":"DocumentId of the web to print document","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Web to Print generated PDF file stream","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"inline; filename=\u0022someGeneratedDocument.pdf\u0022"}}},"content":{"application\/pdf":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-quality-management\/color-settings":{"get":{"tags":["Bundle Data Quality Management"],"summary":"List data quality color settings","description":"List all available color settings used for data quality score design.\n","operationId":"bundle_data_quality_management_color_settings_list","responses":{"200":{"description":"List of color settings","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataQualityManagementColorSettings"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/data-quality-management\/detail-widget\/{id}\/{locale}":{"get":{"tags":["Bundle Data Quality Management"],"summary":"Get data quality detail widget data","description":"Get detail data quality widget data for a specific data object including data quality information and rule definitions.\n","operationId":"bundle_data_quality_management_detail_widget_get","parameters":[{"name":"id","in":"path","description":"Id of the data-object","required":true,"schema":{"type":"integer","example":83}},{"name":"locale","in":"path","description":"Local used for detail translations","required":true,"schema":{"type":"string","example":"en"}}],"responses":{"200":{"description":"Detail data quality widget data","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataQualityManagementDetailWidget"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/class-definition\/common-relation-fields":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List common relation fields for a given relation","description":"Returns the common fields across all classes referenced by a relation field. \u003Cbr\u003E\nUse the \u003Cstrong\u003EclassId\u003C\/strong\u003E parameter to specify the source class and \u003Cstrong\u003ErelationField\u003C\/strong\u003E to specify the relation\n","operationId":"bundle_backend_power_tools_aet_list_common_relation_fields","parameters":[{"name":"classId","in":"query","description":"Class ID to retrieve common relation fields for","required":true,"schema":{"type":"string","example":"Car"}},{"name":"relationField","in":"query","description":"Relation field name to find common fields across related classes","required":true,"schema":{"type":"string","example":"manufacturer"}}],"responses":{"200":{"description":"List of common relation fields","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETClassDefinitionField"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/class-definition\/fields":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List class definition fields for a given class","description":"Returns the field definitions for a given class. \u003Cbr\u003E\nUse the \u003Cstrong\u003EclassId\u003C\/strong\u003E parameter to specify which class to retrieve fields for. \u003Cbr\u003E\nOptionally filter to only simple value fields using \u003Cstrong\u003EonlySimpleValueFields\u003C\/strong\u003E\n","operationId":"bundle_backend_power_tools_aet_list_class_definition_fields","parameters":[{"name":"classId","in":"query","description":"Class ID to retrieve fields for","required":true,"schema":{"type":"string","example":"Car"}},{"name":"onlySimpleValueFields","in":"query","description":"Only return simple value fields","required":false,"schema":{"type":"boolean","example":false}}],"responses":{"200":{"description":"List of class definition fields","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETClassDefinitionField"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/{configurationId}\/clone":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Clone an alternative element tree configuration","description":"Clones an existing alternative element tree configuration with a new name. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_clone_configuration","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationName"],"properties":{"configurationName":{"description":"Name for the cloned configuration","type":"string","example":"My Cloned Tree"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully cloned configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Create a new alternative element tree configuration","description":"Creates a new alternative element tree configuration with the given name\n","operationId":"bundle_backend_power_tools_aet_create_configuration","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationName"],"properties":{"configurationName":{"description":"Name of the new configuration","type":"string","example":"My Custom Tree"}},"type":"object"}}}},"responses":{"200":{"description":"ID of the newly created configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationId"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/default-perspective":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List configurations for the default perspective","description":"Returns a list of alternative element tree configurations visible in the default perspective. \u003Cbr\u003E\nUse the \u003Cstrong\u003EopenAlternativeElementTrees\u003C\/strong\u003E parameter to specify which trees are currently open\n","operationId":"bundle_backend_power_tools_aet_default_perspective_configurations","parameters":[{"name":"openAlternativeElementTrees","in":"query","description":"Comma-separated list of open alternative element tree IDs","required":false,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"responses":{"200":{"description":"List of default perspective configurations","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/{configurationId}":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get an alternative element tree configuration by ID","description":"Returns the full configuration data for a specific alternative element tree configuration. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_get_configuration","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"responses":{"200":{"description":"Configuration data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationData"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Backend Power Tools"],"summary":"Update an alternative element tree configuration","description":"Updates an existing alternative element tree configuration. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_update_configuration","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationName","data"],"properties":{"configurationName":{"description":"Name of the configuration","type":"string","example":"My Custom Tree"},"data":{"description":"JSON encoded configuration data","type":"string","example":"{\u0022general\u0022:{},\u0022dataSource\u0022:{},\u0022treeLevels\u0022:[]}"}},"type":"object"}}}},"responses":{"200":{"description":"Modification date of the updated configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationModificationDate"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Backend Power Tools"],"summary":"Delete an alternative element tree configuration","description":"Deletes an existing alternative element tree configuration. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_delete_configuration","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"responses":{"200":{"description":"Successfully deleted configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/{configurationId}\/export":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Export an alternative element tree configuration","description":"Exports an alternative element tree configuration as a JSON file download. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_export_configuration","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"responses":{"200":{"description":"Configuration exported as JSON file"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/{configurationId}\/details":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get configuration details for the tree view","description":"Returns the tree details for a specific alternative element tree configuration. \u003Cbr\u003E\nThe \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of an existing configuration\n","operationId":"bundle_backend_power_tools_aet_get_configuration_details","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}}],"responses":{"200":{"description":"Configuration tree details as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationDetails"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/import":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Import an alternative element tree configuration","description":"Imports an alternative element tree configuration from a JSON file upload. \u003Cbr\u003E\nThe file must contain a valid JSON configuration\n","operationId":"bundle_backend_power_tools_aet_import_configuration","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"JSON file with alternative element tree configuration","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"ID of the imported configuration","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationId"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configuration\/list":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List all configurations for admin settings","description":"Returns a list of all alternative element tree configurations for the admin settings panel\n","operationId":"bundle_backend_power_tools_aet_list_configuration_admin","responses":{"200":{"description":"List of configurations for admin panel","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationListItem"}}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/grid\/batch-edit-ids":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Get batch edit IDs for an alternative element tree grid","description":"Returns all element IDs matching the given filter criteria for batch editing. \u003Cbr\u003E\nUse the \u003Cstrong\u003EconfigurationId\u003C\/strong\u003E to specify which configuration to use\n","operationId":"bundle_backend_power_tools_aet_grid_batch_edit_ids","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationId","language"],"properties":{"configurationId":{"description":"Alternative Element Tree Configuration ID","type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"},"language":{"description":"Language for the listing","type":"string","example":"en"},"filter":{"description":"Filter expression","type":["string","null"],"example":null},"path":{"description":"Base path for the listing","type":["string","null"],"example":"\/"},"fields":{"description":"Fields to include in the response","type":["array","null"],"items":{"type":"string"}},"selectedItems":{"description":"Pre-selected item IDs","type":["array","null"],"items":{"type":"integer"}},"query":{"description":"Search query string","type":["string","null"],"example":null},"start":{"description":"Offset to start from","type":"integer","example":0},"limit":{"description":"Maximum number of results","type":"integer","example":50},"sort":{"description":"JSON-encoded sort configuration","type":["string","null"],"example":"[{\u0022property\u0022:\u0022id\u0022,\u0022direction\u0022:\u0022ASC\u0022}]"}},"type":"object"}}}},"responses":{"200":{"description":"Array of element IDs for batch editing","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETGridBatchEditIds"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/grid\/export-jobs":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Get export jobs for an alternative element tree grid","description":"Returns chunked export job arrays for an alternative element tree configuration. \u003Cbr\u003E\nCreates a temporary CSV file handle for the export process\n","operationId":"bundle_backend_power_tools_aet_grid_export_jobs","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationId","language"],"properties":{"configurationId":{"description":"Alternative Element Tree Configuration ID","type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"},"language":{"description":"Language for the listing","type":"string","example":"en"},"filter":{"description":"Filter expression","type":["string","null"],"example":null},"path":{"description":"Base path for the listing","type":["string","null"],"example":"\/"},"fields":{"description":"Fields to include in the response","type":["array","null"],"items":{"type":"string"}},"selectedItems":{"description":"Pre-selected item IDs","type":["array","null"],"items":{"type":"integer"}},"query":{"description":"Search query string","type":["string","null"],"example":null},"start":{"description":"Offset to start from","type":"integer","example":0},"limit":{"description":"Maximum number of results","type":"integer","example":50},"sort":{"description":"JSON-encoded sort configuration","type":["string","null"],"example":"[{\u0022property\u0022:\u0022id\u0022,\u0022direction\u0022:\u0022ASC\u0022}]"}},"type":"object"}}}},"responses":{"200":{"description":"Export jobs with file handle","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETGridExportJobs"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/grid\/listing":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Get grid listing for an alternative element tree","description":"Returns paginated grid listing data for an alternative element tree configuration. \u003Cbr\u003E\nUse the \u003Cstrong\u003EconfigurationId\u003C\/strong\u003E to specify which configuration to use\n","operationId":"bundle_backend_power_tools_aet_grid_listing","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["configurationId","language"],"properties":{"configurationId":{"description":"Alternative Element Tree Configuration ID","type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"},"language":{"description":"Language for the listing","type":"string","example":"en"},"filter":{"description":"Filter expression","type":["string","null"],"example":null},"path":{"description":"Base path for the listing","type":["string","null"],"example":"\/"},"fields":{"description":"Fields to include in the response","type":["array","null"],"items":{"type":"string"}},"selectedItems":{"description":"Pre-selected item IDs","type":["array","null"],"items":{"type":"integer"}},"query":{"description":"Search query string","type":["string","null"],"example":null},"start":{"description":"Offset to start from","type":"integer","example":0},"limit":{"description":"Maximum number of results","type":"integer","example":50},"sort":{"description":"JSON-encoded sort configuration","type":["string","null"],"example":"[{\u0022property\u0022:\u0022id\u0022,\u0022direction\u0022:\u0022ASC\u0022}]"}},"type":"object"}}}},"responses":{"200":{"description":"Grid listing data with total count","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETGridListing"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/configurations":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List all alternative element tree configurations","description":"Returns a list of all available alternative element tree configurations\n","operationId":"bundle_backend_power_tools_aet_list_configurations","responses":{"200":{"description":"List of alternative element tree configurations","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETTreeConfigurationItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/data-object-classes":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List all data object classes","description":"Returns a list of all available data object classes\n","operationId":"bundle_backend_power_tools_aet_list_data_object_classes","responses":{"200":{"description":"List of data object classes","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETDataObjectClassItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/precondition-filters":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List all precondition filters","description":"Returns a list of all available precondition filters for the alternative element tree\n","operationId":"bundle_backend_power_tools_aet_list_precondition_filters","responses":{"200":{"description":"List of precondition filters","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETPreconditionFilterItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/valid-languages":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List all valid languages","description":"Returns a list of all valid languages configured in the system\n","operationId":"bundle_backend_power_tools_aet_list_valid_languages","responses":{"200":{"description":"List of valid languages","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETValidLanguageItem"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/object-brick\/fields":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"List fields for a given object brick","description":"Returns the field definitions for a given object brick. \u003Cbr\u003E\nUse the \u003Cstrong\u003EobjectBrick\u003C\/strong\u003E parameter to specify which object brick to retrieve fields for\n","operationId":"bundle_backend_power_tools_aet_list_object_brick_fields","parameters":[{"name":"objectBrick","in":"query","description":"Object brick key to retrieve fields for","required":true,"schema":{"type":"string","example":"MyObjectBrick"}}],"responses":{"200":{"description":"List of object brick fields","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETClassDefinitionField"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/tree\/{configurationId}\/update\/{objectId}":{"patch":{"tags":["Bundle Backend Power Tools"],"summary":"Patch a data object via the alternative element tree","description":"Patching data object based on the given \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E, \u003Cstrong\u003E{objectId}\u003C\/strong\u003E and data. \u003Cbr\u003E \nPatching can be used for updating single or multiple fields. \u003Cbr\u003E\nThe \u003Cstrong\u003E{objectId}\u003C\/strong\u003E must be an ID of existing data object and the \u003Cstrong\u003E{configurationId}\u003C\/strong\u003E must be an ID of existing alternative element tree configuration.\n","operationId":"bundle_backend_power_tools_aet_patch_data_object","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"}},{"name":"objectId","in":"path","description":"ObjectId of the data-object","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"type":"object","example":["Super car","red"]}},"type":"object"}}}},"responses":{"200":{"description":"Successfully patched data object"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/tree\/{configurationId}\/calculation-status":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get the calculation status of the alternative element tree","description":"Returns true if the Alternative element tree status is being calculated\n","operationId":"bundle_backend_power_tools_aet_get_tree_calculation_status","parameters":[{"name":"configurationId","in":"path","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"}}],"responses":{"200":{"description":"bundle_backend_power_tools_aet_get_tree_calculation_status_response_description","content":{"application\/json":{"schema":{"required":["inProgress"],"properties":{"inProgress":{"title":"inProgress","description":"True if a tree calculation is currently in progress","type":"boolean","example":true}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/aet\/tree":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get all items for the alternative element tree","description":"Listing of all alternative element tree items of the configuration. \u003Cbr\u003E\nYou can use different query parameters to filter the items\n","operationId":"bundle_backend_power_tools_aet_get_tree","parameters":[{"name":"configurationId","in":"query","description":"Alternative Element Tree Configuration ID","required":true,"schema":{"type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"}},{"name":"path","in":"query","description":"Path of the current level","required":true,"schema":{"type":"string","example":"\/"}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"start","in":"query","description":"From which result to start","required":true,"schema":{"type":"integer","example":0}},{"name":"limit","in":"query","description":"How many results to return","required":true,"schema":{"type":"integer","example":30}},{"name":"level","in":"query","description":"Current tree level.","required":false,"schema":{"type":"integer","example":0}},{"name":"filter","in":"query","description":"When provided, the items are filtered by value.","required":false,"schema":{"type":"string","example":"some-search-term"}}],"responses":{"200":{"description":"Paginated items with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETDataObject"},{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETVirtualFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/add":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Add a new bookmark list","description":"Create a new bookmark list item based on the given data. \u003Cbr\u003E\nThe data must contain a valid \u003Cstrong\u003Ename\u003C\/strong\u003E\n","operationId":"bundle_backend_power_tools_bl_add","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string","example":"My bookmark list"},"sortBy":{"type":["string","null"],"example":"name"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully created bookmark list","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBookmarkList"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Get bookmark list collection","description":"Get paginated bookmark list items. \u003Cbr\u003E\nYou can use different query parameters for filtering.\n","operationId":"bundle_backend_power_tools_bl_get_collection","requestBody":{"required":true,"content":{"application\/json":{"schema":{"properties":{"filters":{"properties":{"page":{"type":"integer","example":1},"pageSize":{"type":"integer","example":50},"columnFilters":{"type":"object","example":"[{\u0022type\u0022:\u0022search\u0022, \u0022filterValue\u0022: \u0022search term\u0022},{\u0022type\u0022:\u0022showAll\u0022, \u0022filterValue\u0022: true}]"},"sortFilter":{"type":"object","example":"{\u0022key\u0022:\u0022id\u0022,\u0022direction\u0022:\u0022ASC\u0022}"}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Paginated bookmark list items with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBookmarkList"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get bookmark list by ID","description":"Retrieves a specific bookmark list data based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list.\n","operationId":"bundle_backend_power_tools_bl_get_by_id","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully retrieved bookmark list data as JSON","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBookmarkList"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Backend Power Tools"],"summary":"Delete bookmark list by ID","description":"Delete a specific bookmark list based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list.\n","operationId":"bundle_backend_power_tools_bl_delete","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Successfully deleted bookmark list"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}\/share\/recipients":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get bookmark list share recipients collection","description":"Get collection of recipients with whom the bookmark list is shared.\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing bookmark list.\n","operationId":"bundle_backend_power_tools_bl_get_share_collection","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"responses":{"200":{"description":"Collection of share recipients as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsShareRecipient"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"patch":{"tags":["Bundle Backend Power Tools"],"summary":"Patch bookmark list share recipients by ID","description":"Patch the share recipients of a specific bookmark list based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. \u003Cbr\u003E\nThe data must contain at least one of the following fields: \u003Cstrong\u003Eshares\u003C\/strong\u003E or \u003Cstrong\u003EdeletedShares\u003C\/strong\u003E.\n","operationId":"bundle_backend_power_tools_bl_patch_share_list","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["shares","deletedShares"],"properties":{"shares":{"type":"array","items":{"required":["userId","permission"],"properties":{"userId":{"description":"User ID","type":"integer","example":1},"permission":{"description":"User permission for share","type":"string","example":"edit"}},"type":"object"}},"deletedShares":{"description":"Array of user IDs whose shares are to be removed from the bookmark list.","type":"object","example":[5,7]}},"type":"object"}}}},"responses":{"200":{"description":"Successfully patched bookmark list share recipients","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsShareRecipient"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}\/share\/users":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get bookmark list shareable users collection","description":"Get collection of users with whom can be the bookmark list shared. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of existing bookmark list.\nYou can use \u003Cstrong\u003E{searchTerm}\u003C\/strong\u003E query parameter to filter users by their name.\n","operationId":"bundle_backend_power_tools_bl_get_user_collection","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}},{"name":"searchTerm","in":"query","description":"Filter results by name","required":false,"schema":{"type":"string","example":"admin"}}],"responses":{"200":{"description":"Collection of users as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsShareUser"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}\/tree\/folder":{"put":{"tags":["Bundle Backend Power Tools"],"summary":"Rename folder in bookmark list tree","description":"Rename a folder in the bookmark list tree based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. \u003Cbr\u003E\nThe data must contain a valid \u003Cstrong\u003E{folderId}\u003C\/strong\u003E of existing folder and new \u003Cstrong\u003E{folderName}\u003C\/strong\u003E\n","operationId":"bundle_backend_power_tools_bl_tree_rename_folder","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderName","folderId"],"properties":{"folderName":{"type":"string","example":"Bookmark Folder"},"folderId":{"type":"integer","example":83}},"type":"object"}}}},"responses":{"200":{"description":"Successfully renamed folder in bookmark list tree"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"post":{"tags":["Bundle Backend Power Tools"],"summary":"Add folder to bookmark list tree by ID","description":"Create a new folder in the bookmark list tree based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. \u003Cbr\u003E\nThe data must contain a valid \u003Cstrong\u003E{parentId}\u003C\/strong\u003E of existing folder or \u003Cstrong\u003E0\u003C\/strong\u003E for root level and \u003Cstrong\u003E{folderName}\u003C\/strong\u003E\n","operationId":"bundle_backend_power_tools_bl_tree_add_folder","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["folderName","parentId"],"properties":{"folderName":{"type":"string","example":"Bookmark Folder"},"parentId":{"type":"integer","example":1}},"type":"object"}}}},"responses":{"200":{"description":"Successfully created folder in bookmark list tree"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E409 - Conflict\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}\/tree\/items":{"post":{"tags":["Bundle Backend Power Tools"],"summary":"Add or update items in bookmark list tree","description":"Add or update existing items in the bookmark list tree based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. \u003Cbr\u003E\nThe data should contain the following fields: \n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003EselectedNodes\u003C\/strong\u003E: Item data which should be added to the tree\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EelementSortOrder\u003C\/strong\u003E: Sorting order which is used in manual sort mode (based on the existing tree item IDs)\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"bundle_backend_power_tools_bl_tree_add_update_items","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["selectedNodes","elementSortOrder"],"properties":{"selectedNodes":{"description":"Selected nodes to add","type":"array","items":{"required":["elementId","elementType"],"properties":{"elementId":{"description":"Element ID","type":"integer","example":123},"elementType":{"description":"Element type","type":"string","example":"object"},"bookmarkListItemId":{"description":"Bookmark list item ID","type":["integer","null"],"example":1},"parentFolderId":{"description":"Parent folder ID","type":["integer","null"],"example":5},"copy":{"description":"Whether to copy the item","type":"boolean","example":false}},"type":"object"}},"elementSortOrder":{"description":"Sort order based on IDs which should be applied for tree manual sorting","type":["string","null"],"example":"1,2,newElement,3"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully added\/updated items in bookmark list tree"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Backend Power Tools"],"summary":"Remove items from bookmark list tree","description":"Remove items from the bookmark list tree based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E\nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. \u003Cbr\u003E\nThe data must contain a valid \u003Cstrong\u003E{nodesToRemove}\u003C\/strong\u003E array with following data:\n\u003Cul\u003E\n \u003Cli\u003E\u003Cstrong\u003EelementId\u003C\/strong\u003E: Original ID of the element to remove\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003EelementType\u003C\/strong\u003E: Type of the element to remove (object, asset, document, bookmark_folder)\u003C\/li\u003E\n \u003Cli\u003E\u003Cstrong\u003Eid\u003C\/strong\u003E: bookmark list item ID of the element\u003C\/li\u003E\n\u003C\/ul\u003E\n","operationId":"bundle_backend_power_tools_bl_tree_remove_items","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["nodesToRemove"],"properties":{"nodesToRemove":{"description":"Selected nodes to remove from bookmark list","type":"array","items":{"required":["elementId","elementType","id"],"properties":{"elementId":{"description":"Element ID","type":"integer","example":123},"elementType":{"description":"Element type","type":"string","example":"object"},"id":{"description":"Bookmark list item ID","type":"integer","example":1}},"type":"object"}}},"type":"object"}}}},"responses":{"200":{"description":"Successfully removed items from bookmark list tree"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/{id}\/tree":{"get":{"tags":["Bundle Backend Power Tools"],"summary":"Get all nodes for the bookmark list tree","description":"Collection of all bookmark list tree nodes. \u003Cbr\u003E\nYou can use different query parameters to filter the items\n","operationId":"bundle_backend_power_tools_bl_get_tree","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}},{"name":"page","in":"query","description":"Page number","required":true,"schema":{"type":"integer","minimum":1,"example":1}},{"name":"pageSize","in":"query","description":"Number of items per page","required":true,"schema":{"type":"integer","minimum":1,"example":30}},{"name":"parentId","in":"query","description":"ID of the parent","required":true,"schema":{"type":"integer","example":0}},{"name":"elementType","in":"query","description":"Necessary to get data from default element trees by type.","required":false,"schema":{"type":"string","example":"asset"}},{"name":"searchTerm","in":"query","description":"Search term to filter elements.","required":false,"schema":{"type":"string","example":"search text"}}],"responses":{"200":{"description":"Paginated nodes with total count as header param as JSON","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBLTreeAsset"},{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBLTreeDataObject"},{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBLTreeDocument"},{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBLTreeFolder"},{"$ref":"#\/components\/schemas\/Document"},{"$ref":"#\/components\/schemas\/Image"},{"$ref":"#\/components\/schemas\/AssetDocument"},{"$ref":"#\/components\/schemas\/Audio"},{"$ref":"#\/components\/schemas\/Video"},{"$ref":"#\/components\/schemas\/Archive"},{"$ref":"#\/components\/schemas\/Text"},{"$ref":"#\/components\/schemas\/AssetFolder"},{"$ref":"#\/components\/schemas\/Unknown"},{"$ref":"#\/components\/schemas\/DataObject"},{"$ref":"#\/components\/schemas\/DataObjectFolder"}]}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/backend-power-tools\/bl\/update\/{id}":{"put":{"tags":["Bundle Backend Power Tools"],"summary":"Update bookmark list by ID","description":"update a specific bookmark list based on the given \u003Cstrong\u003E{id}\u003C\/strong\u003E and data. \u003Cbr\u003E \nThe \u003Cstrong\u003E{id}\u003C\/strong\u003E must be an ID of bookmark list. Please note that all fields are required for the data.\n","operationId":"bundle_backend_power_tools_bl_update","parameters":[{"name":"id","in":"path","description":"Id of the Bookmark List","required":true,"schema":{"type":"integer","example":83}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["name"],"properties":{"name":{"type":"string","example":"My bookmark list"},"sortBy":{"type":["string","null"],"example":"name"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated bookmark list","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsBookmarkList"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboard":{"post":{"tags":["Bundle Studio Dashboards"],"summary":"Create dashboard configuration","description":"Create a new dashboard configuration","operationId":"dashboards_create_dashboard_config","requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"required":["name","menuShortcutGroup","shareGlobally","rows"],"properties":{"name":{"type":["string","null"]},"menuShortcutGroup":{"type":["string","null"]},"shareGlobally":{"type":["boolean","null"]},"rows":{"title":"Rows","description":"Define the rows of the dashboard.","type":"array","items":{"required":["layout_id","widgets"],"properties":{"layout_id":{"type":["string","null"]},"widgets":{"title":"Widgets","description":"Define the widgets of the row.","type":"array","items":{"required":["id","type","position"],"properties":{"id":{"type":["string","null"]},"type":{"type":["string","null"]},"position":{"type":["integer","null"],"minimum":1}},"type":"object"}}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"ID of the newly created dashboard configuration","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"Id of the created dashboard configuration","type":"string","example":"12345678-1234-1234-1234-123456789012"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboard\/{dashboardId}":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get dashboard by ID","description":"Get a specific dashboard by ID","operationId":"dashboards_get_dashboard_by_id","parameters":[{"name":"dashboardId","in":"path","description":"Dashboard ID","required":true,"schema":{"type":"string","example":"studio_default_dashboard"}}],"responses":{"200":{"description":"Requested dashboard","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DashboardConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Studio Dashboards"],"summary":"Update dashboard configuration by ID","description":"Update a dashboard configuration by ID","operationId":"dashboards_update_dashboard_config_by_id","parameters":[{"name":"dashboardId","in":"path","description":"Update dashboard by matching dashboard Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"required":["name","menuShortcutGroup","shareGlobally","rows"],"properties":{"name":{"type":["string","null"]},"menuShortcutGroup":{"type":["string","null"]},"shareGlobally":{"type":["boolean","null"]},"rows":{"title":"Rows","description":"Define the rows of the dashboard.","type":"array","items":{"required":["layout_id","widgets"],"properties":{"layout_id":{"type":["string","null"]},"widgets":{"title":"Widgets","description":"Define the widgets of the row.","type":"array","items":{"required":["id","type","position"],"properties":{"id":{"type":["string","null"]},"type":{"type":["string","null"]},"position":{"type":["integer","null"],"minimum":1}},"type":"object"}}},"type":"object"}}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated dashboard configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Studio Dashboards"],"summary":"Delete dashboard by ID","description":"Delete a dashboard with the given \u003Cstrong\u003E{dashboardId}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{dashboardId}\u003C\/strong\u003E must be an ID of an existing dashboard.\n","operationId":"dashboards_delete_dashboard_by_id","parameters":[{"name":"dashboardId","in":"path","description":"Delete dashboard by matching dashboard Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}}],"responses":{"200":{"description":"Successfully deleted dashboard"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboard\/{dashboardId}\/export":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Export dashboard by ID","description":"Export a dashboard configuration by ID ad JSON including its widgets","operationId":"dashboards_export_dashboard_by_id","parameters":[{"name":"dashboardId","in":"path","description":"Dashboard ID","required":true,"schema":{"type":"string","example":"studio_default_dashboard"}}],"responses":{"200":{"description":"Successfully exported dashboard configuration","headers":{"Content-Disposition":{"description":"Content-Disposition header","schema":{"type":"string","example":"attachment; filename=\u0022example.jpg\u0022"}}},"content":{"application\/zip":{"schema":{"type":"string","format":"binary"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboard\/import\/{dashboardId}":{"post":{"tags":["Bundle Studio Dashboards"],"summary":"Import dashboard","description":"Import a dashboard configuration from form zipped JSON including its widgets","operationId":"dashboards_import_dashboard","parameters":[{"name":"dashboardId","in":"path","description":"Dashboard ID","required":false,"schema":{"type":"string","example":"studio_default_dashboard"}}],"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"required":["file"],"properties":{"file":{"description":"CSV import file to upload","type":"string","format":"binary"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully imported dashboard configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboards":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"List dashboards","description":"List all available dashboards","operationId":"dashboards_list_dashboards","responses":{"200":{"description":"Name and ID of all available dashboards","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/SimpleDashboard"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/dashboard\/{dashboardId}\/update-menu-shortcut":{"put":{"tags":["Bundle Studio Dashboards"],"summary":"Update dashboard menu shortcut","description":"Update the menu shortcut setting for a specific dashboard","operationId":"dashboards_dashboard_update_menu_shortcut","parameters":[{"name":"dashboardId","in":"path","description":"Dashboard ID","required":true,"schema":{"type":"string","example":"studio_default_dashboard"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["shortcut"],"properties":{"shortcut":{"type":["string","null"]}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated dashboard menu shortcut setting"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/layout-options":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get layout options","description":"Get all available layout options for a dashboard row","operationId":"dashboards_get_layout_options","responses":{"200":{"description":"All layout options successfully retrieved","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/LayoutOption"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/{widgetType}\/configuration":{"post":{"tags":["Bundle Studio Dashboards"],"summary":"Create widget configuration","description":"Create a new dashboard widget configuration with default values based on the provided \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E.\n\u003Cbr\u003E The widget type has to be registered via Symfony Configuration.\n\u003Cbr\u003E Please note that \u003Cstrong\u003E{name}\u003C\/strong\u003E, \u003Cstrong\u003E{color}\u003C\/strong\u003E and \u003Cstrong\u003E{visualization}\u003C\/strong\u003E has to be provided.\n","operationId":"dashboards_widget_create","parameters":[{"name":"widgetType","in":"path","description":"Create widget by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"name":{"type":["string","null"]},"color":{"type":["string","null"]},"visualization":{"type":["string","null"]}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully created widget configuration","content":{"application\/json":{"schema":{"required":["id"],"properties":{"id":{"title":"id","description":"Id of the created widget configuration","type":"integer","example":66}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/configurations":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget configurations","description":"Listing of all dashboard widget configurations","operationId":"dashboards_widget_get_config_collection","responses":{"200":{"description":"Successfully retrieved widget configurations","content":{"application\/json":{"schema":{"required":["totalItems","items"],"properties":{"totalItems":{"title":"totalItems","type":"integer","example":666},"items":{"title":"items","type":"array","items":{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/{widgetType}\/data\/{widgetId}":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget data by id and type","description":"Get the data for a specific widget with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration. \u003Cbr\u003E\nThe returned data depends on the implemented data resolver for the widget type.\n","operationId":"dashboards_widget_get_data_by_id","parameters":[{"name":"widgetId","in":"path","description":"Filter widgets by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Filter widgets by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"responses":{"200":{"description":"Successfully retrieved widget data","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Widget data","type":"string","example":"Some data defined by the widget resolver"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/{widgetType}\/configuration\/{widgetId}":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget configuration by id","description":"Get a dashboard widget configuration with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n","operationId":"dashboards_widget_get_config_by_id","parameters":[{"name":"widgetId","in":"path","description":"Filter widgets by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Filter widgets by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"responses":{"200":{"description":"Successfully retrieved widget configuration","content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"title":"data","description":"Data of the widget configuration","type":"string","example":"Widget configuration data"}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E403 - Forbidden\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"put":{"tags":["Bundle Studio Dashboards"],"summary":"Update widget configuration by id and type","description":"Update the widget configuration with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E \nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an id of an existing widget. The widget type has to be registered via Symfony Configuration. \u003Cbr\u003E\nPlease note that \u003Cstrong\u003Eall configuration fields\u003C\/strong\u003E have to be provided.\n","operationId":"dashboards_widget_update_config_by_id","parameters":[{"name":"widgetId","in":"path","description":"Update widget by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Update widget by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"required":["data"],"properties":{"data":{"properties":{"name":{"type":["string","null"]},"color":{"type":["string","null"]},"visualization":{"type":["string","null"]}},"type":"object"}},"type":"object"}}}},"responses":{"200":{"description":"Successfully updated widget configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}},"delete":{"tags":["Bundle Studio Dashboards"],"summary":"Delete widget configuration by id and type","description":"Delete a dashboard widget with the given \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E and \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E. \u003Cbr\u003E\nThe \u003Cstrong\u003E{widgetId}\u003C\/strong\u003E must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n","operationId":"dashboards_widget_delete","parameters":[{"name":"widgetId","in":"path","description":"Delete widget by matching widget Id","required":true,"schema":{"type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"}},{"name":"widgetType","in":"path","description":"Delete widget by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"responses":{"200":{"description":"Successfully deleted widget configuration"},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E404 - Not Found\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content\u003Cbr\u003E500 - Internal Server Error","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/{widgetType}\/configurations":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget configuration options by type","description":"Get configuration field name and all available options for a specific widget type.\n\u003Cbr\u003E The \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E must be registered via Symfony Configuration.\n","operationId":"dashboards_widget_get_configuration_options","parameters":[{"name":"widgetType","in":"path","description":"Filter options by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"responses":{"200":{"description":"Successfully retrieved widget configurations","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DashboardsWidgetConfigConfiguration"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/types":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget types","description":"Listing of all available widget types","operationId":"dashboards_widget_get_type_collection","responses":{"200":{"description":"Successfully retrieved widget types","content":{"application\/json":{"schema":{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#\/components\/schemas\/WidgetType"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}},"\/pimcore-studio\/api\/bundle\/studio-dashboards\/widgets\/{widgetType}\/visualizations":{"get":{"tags":["Bundle Studio Dashboards"],"summary":"Get widget visualizations by type","description":"Listing of all available visualizations for a specific widget type.\n\u003Cbr\u003E The \u003Cstrong\u003E{widgetType}\u003C\/strong\u003E must be registered via Symfony Configuration.\n","operationId":"dashboards_widget_get_visualization_collection","parameters":[{"name":"widgetType","in":"path","description":"Filter options by matching widget type","required":true,"schema":{"type":"string","example":"wysiwyg"}}],"responses":{"200":{"description":"Successfully retrieved widget visualizations","content":{"application\/json":{"schema":{"required":["visualizations"],"properties":{"visualizations":{"title":"Visualizations","description":"Dashboard widget visualization options.","type":"array","items":{"type":"string","example":"table"}}},"type":"object"}}}},"default":{"description":"400 - Bad Request\u003Cbr\u003E401 - Unauthorized\u003Cbr\u003E405 - Method Not Allowed\u003Cbr\u003E415 - Unsupported Media Type\u003Cbr\u003E422 - Unprocessable Content","content":{"application\/json":{"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/Error"},{"$ref":"#\/components\/schemas\/DevError"}]}}}}}}}},"components":{"schemas":{"AMDCDCreateConfig":{"title":"AMDCD Create Config","required":["name"],"properties":{"name":{"description":"Unique name of the configuration","type":"string","example":"MyConfig"}},"type":"object"},"AMDCDMetadataColumnGroup":{"title":"AMDCD Metadata Column Group","required":["nodeLabel","nodeType","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"nodeLabel":{"description":"Group label","type":"string","example":"default_metadata"},"nodeType":{"description":"Node type","type":"string","example":"image"},"children":{"description":"Column definitions","type":"array","items":{"type":"object"}}},"type":"object"},"AMDCDUpdateConfig":{"title":"AMDCD Update Config","required":["title","prefix"],"properties":{"title":{"description":"Title of the configuration","type":"string","example":"My Configuration"},"prefix":{"description":"Prefix used for metadata fields","type":"string","example":"myconfig"},"icon":{"description":"Icon class name","type":["string","null"],"example":"pimcore_icon_settings"},"configuration":{"description":"Layout definition as nested structure","type":["object","null"]}},"type":"object"},"AMDCDLayout":{"title":"AMDCD_Layout","required":["name","dataType","type","region","title","width","height","collapsible","collapsed","bodyStyle","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":["string","null"],"example":"pimcore_root"},"dataType":{"description":"Data Type","type":"string","example":"layout"},"type":{"description":"Type","type":["string","null"],"example":null},"region":{"description":"Region","type":["string","null"],"example":"center"},"title":{"description":"Title","type":["string","null"],"example":"MyLayout"},"width":{"description":"Width","type":"integer","example":0},"height":{"description":"Height","type":"integer","example":0},"collapsible":{"description":"Collapsible","type":"boolean","example":false},"collapsed":{"description":"Collapsed","type":"boolean","example":false},"bodyStyle":{"description":"Body Style","type":["string","null"],"example":"(float: left;)"},"children":{"description":"Children","type":"array","items":{"type":"object"},"example":"[{id: 1}]"}},"type":"object"},"AMDCDListConfig":{"title":"AMDCD_ListConfig","description":"List version of config","required":["name","title","prefix","iconCls","layoutDefinitions"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"Author"},"title":{"description":"title","type":["string","null"],"example":"Name of Author"},"prefix":{"description":"Prefix","type":"string","default":"","example":"amcd"},"iconCls":{"description":"Icon Class","type":["string","null"],"default":"pimcore_icon_settings","example":"pimcore_icon_settings"},"layoutDefinitions":{"oneOf":[{"$ref":"#\/components\/schemas\/AMDCDLayout","description":"layoutDefinitions"},{"type":"null"}],"description":"layoutDefinitions"}},"type":"object"},"AMDCDSimpleConfig":{"title":"AMDCD_SimpleConfig","description":"Simple version of config","required":["name","type","iconCls","expandable","leaf"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"Author"},"title":{"description":"title","type":["string","null"],"example":"Name of Author"},"type":{"description":"Type","type":"string","default":"config","example":"config"},"iconCls":{"description":"Icon Class","type":"string","default":"pimcore_icon_settings","example":"pimcore_icon_settings"},"expandable":{"description":"Is Expandable","type":"boolean","default":false,"example":false},"leaf":{"description":"Is Leaf","type":"boolean","default":true,"example":true}},"type":"object"},"ActiveBundle":{"title":"Active Bundle","required":["name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Bundle name","type":"string","example":"PimcoreStudioBackendBundle"}},"type":"object"},"AddPerspectiveConfig":{"title":"Add Perspective Config","required":["name"],"properties":{"name":{"description":"Name","type":"string","example":"Cars"}},"type":"object"},"AdminSettings":{"title":"Admin Settings","required":["branding","assets","writeable"],"properties":{"branding":{"$ref":"#\/components\/schemas\/Branding","description":"Branding configuration"},"assets":{"$ref":"#\/components\/schemas\/Assets","description":"Assets configuration"},"writeable":{"description":"Whether the settings are writeable","type":"boolean","example":true}},"type":"object"},"AdminSettingsThumbnailPath":{"title":"Admin Settings Thumbnail Path","required":["customLogoSmall","customLogo","loginScreenCustomBackgroundImage"],"properties":{"customLogoSmall":{"description":"Path to custom logo thumbnail","type":["string","null"],"example":"\/Sample%20Content\/Background%20Images\/321\/image_small.png"},"customLogo":{"description":"Path to custom logo thumbnail","type":["string","null"],"example":"\/Sample%20Content\/Background%20Images\/321\/image-thumb.png"},"loginScreenCustomBackgroundImage":{"description":"Path to custom background image","type":["string","null"],"example":"\/Sample%20Content\/Background%20Images\/317\/background.png"}},"type":"object"},"AdvancedColumnConfig":{"title":"Advanced Column Config","required":["advancedColumns"],"properties":{"advancedColumns":{"description":"advancedColumns","type":"array","items":{"required":["key","config"],"properties":{"key":{"description":"Type of the column, e.g. \u0022simpleField\u0022, \u0022relationField\u0022, \u0022staticText\u0022","type":"string","example":"simpleField"},"config":{"type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/RelationFieldConfig"},{"$ref":"#\/components\/schemas\/SimpleFieldConfig"},{"$ref":"#\/components\/schemas\/StaticTextConfig"}]},"example":{"field":"name","relation":"manufacturer"}}},"type":"object"},"example":[{"key":"simpleField","config":{"field":"name"}}]},"transformers":{"description":"List if Transformers that should be applied","type":"array","items":{"$ref":"#\/components\/schemas\/Transformer"}}},"type":"object"},"AllowedTransition":{"title":"AllowedTransition","required":["name","label","iconCls","objectLayout","unsavedChangesBehaviour","notes"],"properties":{"name":{"description":"name","type":"string","example":"start_workflow"},"label":{"description":"label","type":"string","example":"Start Workflow"},"iconCls":{"description":"iconCls","type":"string","example":"pimcore_workflow_start"},"objectLayout":{"description":"objectLayout","type":"boolean","example":false},"unsavedChangesBehaviour":{"description":"unsavedChangesBehaviour","type":"string","example":"warn"},"notes":{"description":"notes","type":"array","items":{"type":"object"},"example":{"commentEnabled":true,"commentRequired":true}}},"type":"object"},"Archive":{"title":"Archive","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"}]},"RenderAreaBlockData":{"title":"Area block render data for editmode","required":["editableDefinitions","htmlCode"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"editableDefinitions":{"description":"Dynamic array of editable definitions","type":"array","items":{"type":"object"},"example":"[{ \u0022id\u0022: \u0022editable_1\u0022, \u0022type\u0022: \u0022text\u0022, \u0022config\u0022: { \u0022label\u0022: \u0022Text\u0022, \u0022defaultValue\u0022: \u0022Default text\u0022 }, \u0022data\u0022: { \u0022text\u0022: \u0022Some text\u0022 } }]"},"htmlCode":{"description":"HTML code of the snippet","type":"string","example":"\u003Cdiv class=\u0022editable\u0022 data-key=\u0022editable_1\u0022\u003ESome text\u003C\/div\u003E"}},"type":"object"},"Asset":{"title":"Asset","required":["hasChildren","type","filename","mimeType","hasMetadata","hasWorkflowWithPermissions","fullPath","customAttributes","permissions","hasWorkflowAvailable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Element"},{"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"hasWorkflowAvailable":{"description":"Has workflow available","type":"boolean","example":false},"hasChildren":{"description":"Has children","required":["hasChildren"],"type":"boolean","example":false},"type":{"description":"Type","type":"string","example":"image"},"filename":{"description":"Filename","type":"string","example":"cool.jpg"},"mimeType":{"description":"Mimetype","type":["string","null"],"example":"image\/jpeg"},"hasMetadata":{"description":"Has metadata","type":"boolean","example":false},"hasWorkflowWithPermissions":{"description":"Workflow permissions","type":"boolean","example":false},"fullPath":{"description":"Full path","type":"string","example":"\/path\/to\/asset.jpg"},"permissions":{"$ref":"#\/components\/schemas\/AssetPermissions"}},"type":"object"}]},"AssetDocument":{"title":"Asset Document","required":["pageCount","imageThumbnailPath"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"},{"properties":{"pageCount":{"description":"Page count","type":["integer","null"],"example":2},"imageThumbnailPath":{"description":"Path to image thumbnail","type":["string","null"],"example":"\/path\/to\/document\/imagethumbnail.jpg"}},"type":"object"}]},"AssetFolder":{"title":"Asset Folder","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"}]},"AssetPermissions":{"title":"Asset Permissions","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Permissions"}]},"AssetType":{"title":"Asset Type","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"key","type":"string","example":"image"}},"type":"object"},"AssetUploadInfo":{"title":"Asset Upload Info","required":["exists","assetId"],"properties":{"exists":{"description":"True if asset exists","type":"boolean","example":true},"assetId":{"description":"Id of existing asset","type":["integer","null"],"example":83}},"type":"object"},"AssetVersion":{"title":"AssetVersion","required":["type","fileName","creationDate","fileSize","mimeType","metadata","dimensions"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"type":{"description":"asset type","type":"string","example":"image"},"fileName":{"description":"file name","type":"string","example":"myImageFile.png"},"creationDate":{"description":"creation date","type":"integer","example":1707312457},"modificationDate":{"description":"modification date","type":["integer","null"],"example":1707312457},"fileSize":{"description":"file size","type":"integer","example":41862},"mimeType":{"description":"mime type","type":"string","example":"image\/png"},"metadata":{"description":"Metadata","type":"array","items":{"$ref":"#\/components\/schemas\/CustomMetadataVersion"}},"dimensions":{"$ref":"#\/components\/schemas\/Dimensions","description":"dimensions"}},"type":"object"},"Assets":{"title":"Assets","required":["hide_edit_image","disable_tree_preview"],"properties":{"hide_edit_image":{"description":"Hide edit image button","type":"boolean","example":false},"disable_tree_preview":{"description":"Disable tree preview","type":"boolean","example":true}},"type":"object"},"Audio":{"title":"Audio","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"}]},"AuthenticationToken":{"title":"Authentication Token","description":"Token for authentication","required":["token"],"properties":{"token":{"description":"Token","type":"string","example":"abc123xyz"}},"type":"object"},"AvailableCountry":{"title":"Available Country","required":["name","code"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Country name","type":"string","example":"Austria"},"code":{"description":"Country ISO 3166-1 code","type":"string","example":"AT"}},"type":"object"},"BlocklistEntry":{"title":"Blocklist","required":["email","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"email":{"description":"email address","type":"string","example":"email@pimcore.com"},"creationDate":{"description":"creation date","type":"integer","example":1707312457},"modificationDate":{"description":"modification date","type":["integer","null"],"example":1707312457}},"type":"object"},"EmailAddressParameter":{"title":"Blocklist","required":["email"],"properties":{"email":{"description":"email address","type":"string","example":"someEmail@email-domain.com"}},"type":"object"},"Branding":{"title":"Branding","required":["backgroundShade","brandColor","loginScreenCustomBackgroundImage"],"properties":{"backgroundShade":{"description":"Background shade","type":"string","example":"#CCCCCC"},"brandColor":{"description":"Brand color","type":"string","example":"#FFCC00"},"loginScreenCustomBackgroundImage":{"oneOf":[{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Custom image for login screen"},{"type":"null"}],"description":"Custom image for login screen","type":"object"},"customLogo":{"oneOf":[{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Custom logo"},{"type":"null"}],"description":"Custom logo","type":"object"}},"type":"object"},"BulkExportAvailableItem":{"title":"Bulk Export Available Item","required":["type","name","displayName","icon"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"type":{"description":"Definition type","type":"string","example":"class"},"name":{"description":"Definition name or identifier","type":"string","example":"Car"},"displayName":{"description":"Human-readable display name","type":"string","example":"Car"},"icon":{"description":"Icon identifier","type":"string","example":"class"}},"type":"object"},"BulkExportParameters":{"title":"Bulk Export Parameters","required":["items"],"properties":{"items":{"description":"Items to export","type":"array","items":{"properties":{"type":{"description":"Type of the item","type":"string","example":"class"},"name":{"description":"Name of the item","type":"string","example":"Car"}},"type":"object"}}},"type":"object"},"BulkImportParameters":{"title":"Bulk Import Parameters","required":["items"],"properties":{"items":{"description":"Items to import from the uploaded file","type":"array","items":{"properties":{"type":{"description":"Type of the item","type":"string","example":"class"},"name":{"description":"Name of the item","type":"string","example":"Car"}},"type":"object"}}},"type":"object"},"BulkImportPrepareResponse":{"title":"Bulk Import Prepare Response","required":["fileId","items"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"fileId":{"description":"Unique file identifier for the stored import file","type":"string","example":"6792e2b43f0a7"},"items":{"description":"List of importable items found in the file","type":"array","items":{"$ref":"#\/components\/schemas\/BulkExportAvailableItem"}}},"type":"object"},"BundleApplicationLoggerLogEntry":{"title":"Bundle Application Logger Log Entry","required":["id","priority","date","pid","message","fileObject","relatedElementData","component","source"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":1},"priority":{"description":"Log priority level","type":"integer","example":2},"date":{"description":"Date","type":["string","null"],"example":"2023-10-01T12:00:00+00:00"},"pid":{"description":"PID","type":["integer","null"],"example":22},"message":{"description":"Message","type":["string","null"],"example":"Some Log Message"},"fileObject":{"description":"File object path","type":["string","null"],"example":"path\/to\/file.txt"},"relatedElementData":{"oneOf":[{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Data of related element"},{"type":"null"}],"description":"Data of related element","type":"object"},"component":{"description":"Component","type":["string","null"],"example":"SomeComponent::Class"},"source":{"description":"Source","type":["string","null"],"example":"Pimcore\\Bundle"}},"type":"object"},"BundleBackendPowerToolsAETClassDefinitionField":{"title":"Bundle Backend Power Tools AET Class Definition Field","required":["name","title","fieldType","adapterType"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Field name","type":"string","example":"color"},"title":{"description":"Field title","type":"string","example":"Color"},"fieldType":{"description":"Field type","type":"string","example":"select"},"adapterType":{"description":"Adapter type","type":"string","example":"SimpleValueAdapter"},"additionalData":{"description":"Additional data for the field","type":["object","null"]}},"type":"object"},"BundleBackendPowerToolsAETConfigurationData":{"title":"Bundle Backend Power Tools AET Configuration Data","required":["id","general","dataSource","treeLevels","isWritable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"},"general":{"description":"General configuration settings","type":"object"},"dataSource":{"description":"Data source configuration","type":"object"},"treeLevels":{"description":"Tree level definitions","type":"array","items":{"type":"object"}},"isWritable":{"description":"Whether the configuration is writable","type":"boolean","example":true}},"type":"object"},"BundleBackendPowerToolsAETConfigurationDetails":{"title":"Bundle Backend Power Tools AET Configuration Details","required":["progressIndicatorPollInterval","allowDragAndDrop","classId","className","paths"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"icon":{"description":"Icon CSS class or path","type":["string","null"],"example":"pimcore_icon_settings"},"progressIndicatorPollInterval":{"description":"Poll interval for progress indicator in ms","type":"integer","example":5000},"allowDragAndDrop":{"description":"Whether drag and drop is allowed","type":"boolean","example":false},"classId":{"description":"Class definition ID","type":"string","example":"Car"},"className":{"description":"Class name","type":"string","example":"Car"},"paths":{"description":"Path definitions for the tree","type":"array","items":{"type":"object"}}},"type":"object"},"BundleBackendPowerToolsAETConfigurationId":{"title":"Bundle Backend Power Tools AET Configuration ID","required":["id"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"}},"type":"object"},"BundleBackendPowerToolsAETConfigurationListGroup":{"title":"Bundle Backend Power Tools AET Configuration List Group","required":["id","text","expandable","leaf","allowChildren","iconCls","group","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Group identifier","type":"string","example":"group_my_group"},"text":{"description":"Display name of the group","type":"string","example":"My Group"},"expandable":{"description":"Whether the node is expandable","type":"boolean","example":true},"leaf":{"description":"Whether the node is a leaf node","type":"boolean","example":false},"allowChildren":{"description":"Whether children are allowed","type":"boolean","example":true},"iconCls":{"description":"Icon CSS class","type":"string","example":"pimcore_icon_folder"},"group":{"description":"Group name","type":"string","example":"My Group"},"children":{"description":"Child configuration items","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETConfigurationListItem"}}},"type":"object"},"BundleBackendPowerToolsAETConfigurationListItem":{"title":"Bundle Backend Power Tools AET Configuration List Item","required":["id","text","expandable","leaf","writable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"},"text":{"description":"Display name of the configuration","type":"string","example":"My Custom Tree"},"expandable":{"description":"Whether the node is expandable","type":"boolean","example":false},"leaf":{"description":"Whether the node is a leaf node","type":"boolean","example":true},"iconCls":{"description":"Icon CSS class","type":["string","null"],"example":"pimcore_icon_settings"},"icon":{"description":"Custom icon path","type":["string","null"]},"isWritable":{"description":"Whether the configuration is writable","type":"boolean","example":true}},"type":"object"},"BundleBackendPowerToolsAETConfigurationModificationDate":{"title":"Bundle Backend Power Tools AET Configuration Modification Date","required":["modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"modificationDate":{"description":"Modification date as unix timestamp","type":"integer","example":1700000000}},"type":"object"},"BundleBackendPowerToolsAETDataObject":{"title":"Bundle Backend Power Tools AET Data Object","required":["text","allowDrag","allowDrop"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"properties":{"text":{"description":"Text","type":"string","example":"orange (\/Path\/to\/element\/)"},"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true}},"type":"object"}]},"BundleBackendPowerToolsAETDataObjectClassItem":{"title":"Bundle Backend Power Tools AET Data Object Class Item","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Class ID","type":"string","example":"CAR"},"name":{"description":"Class name","type":"string","example":"Car"}},"type":"object"},"BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem":{"title":"Bundle Backend Power Tools AET Default Perspective Configuration Item","required":["id","name","position","type","expanded","hidden","sort"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"019a962e_40b9_7889_ba79_88f5871047a3"},"name":{"description":"Configuration display name","type":"string","example":"My Custom Tree"},"position":{"description":"Panel position","type":"string","example":"right"},"type":{"description":"Tree type","type":"string","example":"alternative_element_tree"},"expanded":{"description":"Whether the tree is expanded","type":"boolean","example":false},"hidden":{"description":"Whether the tree is hidden","type":"boolean","example":false},"sort":{"description":"Sort order","type":"integer","example":0}},"type":"object"},"BundleBackendPowerToolsAETGridBatchEditIds":{"title":"Bundle Backend Power Tools AET Grid Batch Edit IDs","required":["jobs"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"jobs":{"description":"Array of element IDs for batch editing","type":"array","items":{"type":"integer"}}},"type":"object"},"BundleBackendPowerToolsAETGridExportJobs":{"title":"Bundle Backend Power Tools AET Grid Export Jobs","required":["jobs","fileHandle"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"jobs":{"description":"Chunked arrays of element IDs for export","type":"array","items":{"type":"array","items":{"type":"integer"}}},"fileHandle":{"description":"File handle for the export CSV","type":"string","example":"export-65f1a2b3c4d5e6.12345678"}},"type":"object"},"BundleBackendPowerToolsAETGridListing":{"title":"Bundle Backend Power Tools AET Grid Listing","required":["total","data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"total":{"description":"Total number of items","type":"integer","example":100},"data":{"description":"Grid listing data","type":"array","items":{"type":"object"}}},"type":"object"},"BundleBackendPowerToolsAETPreconditionFilterItem":{"title":"Bundle Backend Power Tools AET Precondition Filter Item","required":["name","value"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Filter name","type":"string","example":"Tag Filter"},"value":{"description":"Filter class value","type":"string","example":"App\\PreconditionFilter\\TagFilter"}},"type":"object"},"BundleBackendPowerToolsAETTreeConfigurationItem":{"title":"Bundle Backend Power Tools AET Tree Configuration Item","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"},"name":{"description":"Configuration display name","type":"string","example":"My Custom Tree"}},"type":"object"},"BundleBackendPowerToolsAETValidLanguageItem":{"title":"Bundle Backend Power Tools AET Valid Language Item","required":["key","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Language key","type":"string","example":"en"},"name":{"description":"Language display name","type":"string","example":"English"}},"type":"object"},"BundleBackendPowerToolsAETVirtualFolder":{"title":"Bundle Backend Power Tools AET Virtual Folder","required":["id","type","key","path","icon","allowDrag","allowDrop","hasChildren","level"],"properties":{"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"string","example":"1f0a82ba_4398_61a8_a4c3_016155cfcb10"},"type":{"description":"Type","type":"string","example":"folder"},"key":{"description":"Key","type":"string","example":"City Car"},"path":{"description":"Path","type":"string","example":"\/City Car\/"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"allowDrag":{"description":"Allow drag of this element","type":"boolean","example":false},"allowDrop":{"description":"Allow drop of new element","type":"boolean","example":false},"hasChildren":{"description":"Has children","type":"boolean","example":true},"level":{"description":"Level of the folder","type":"integer","example":2}},"type":"object"},"BundleBackendPowerToolsAETWidgetConfig":{"title":"Bundle Backend Power Tools Alternative Element Tree Widget Config","required":["progressIndicatorPollInterval","label","classId","className","workspaces"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/WidgetConfig"},{"properties":{"progressIndicatorPollInterval":{"description":"Progress indicator poll interval in ms","type":"integer","example":60000},"label":{"description":"Configuration label","type":["string","null"],"example":"My custom AET"},"classId":{"description":"Configuration class ID","type":["string","null"],"example":"CAR"},"className":{"description":"Configuration class name","type":["string","null"],"example":"Car"},"workspaces":{"description":"Workspaces","type":"array","items":{"$ref":"#\/components\/schemas\/BundleBackendPowerToolsAETWidgetConfigPath"}}},"type":"object"}]},"BundleBackendPowerToolsAETWidgetConfigPath":{"title":"Bundle Backend Power Tools Alternative Element Tree Widget Config Path","required":["workspaceItem","include"],"properties":{"workspaceItem":{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Data of the workspace item"},"include":{"description":"Include workspace","type":"boolean","example":false}},"type":"object"},"BundleBackendPowerToolsBLTreeAsset":{"title":"Bundle Backend Power Tools BL Tree Asset","required":["text","itemId","originalId","uid","allowDrag","allowDrop","sortOrder"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"},{"properties":{"text":{"description":"Text","type":"string","example":"key (\/Path\/to\/element\/)"},"itemId":{"description":"Item ID in the tree","type":"integer","example":1},"originalId":{"description":"Original ID","type":"string","example":"83-object"},"uid":{"description":"UID","type":"string","example":"24-object-root"},"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true},"sortOrder":{"description":"Sort order","type":"string","example":"key (\/Path\/to\/element\/)"}},"type":"object"}]},"BundleBackendPowerToolsBLTreeDataObject":{"title":"Bundle Backend Power Tools BL Tree Data Object","required":["text","itemId","originalId","uid","allowDrag","allowDrop","sortOrder"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"properties":{"text":{"description":"Text","type":"string","example":"key (\/Path\/to\/element\/)"},"itemId":{"description":"Item ID in the tree","type":"integer","example":1},"originalId":{"description":"Original ID","type":"string","example":"83-object"},"uid":{"description":"UID","type":"string","example":"24-object-root"},"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true},"sortOrder":{"description":"Sort order","type":"string","example":"key (\/Path\/to\/element\/)"}},"type":"object"}]},"BundleBackendPowerToolsBLTreeDocument":{"title":"Bundle Backend Power Tools BL Tree Document","required":["text","itemId","originalId","uid","allowDrag","allowDrop","sortOrder"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Document"},{"properties":{"text":{"description":"Text","type":"string","example":"key (\/Path\/to\/element\/)"},"itemId":{"description":"Item ID in the tree","type":"integer","example":1},"originalId":{"description":"Original ID","type":"string","example":"83-object"},"uid":{"description":"UID","type":"string","example":"24-object-root"},"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true},"sortOrder":{"description":"Sort order","type":"string","example":"key (\/Path\/to\/element\/)"}},"type":"object"}]},"BundleBackendPowerToolsBLTreeFolder":{"title":"Bundle Backend Power Tools BL Tree Folder","required":["id","originalId","uid","type","elementType","parentId","key","icon","allowDrag","allowDrop","hasChildren","sortOrder"],"properties":{"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":83},"originalId":{"description":"Original ID","type":"string","example":"83-bookmark_folder"},"uid":{"description":"UID","type":"string","example":"24-bookmark_folder-root"},"type":{"description":"Type","type":"string","example":"folder"},"elementType":{"description":"ElementType","type":"string","example":"bookmark_folder"},"parentId":{"description":"Parent ID","type":"integer","example":0},"key":{"description":"Key","type":"string","example":"City Car"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"allowDrag":{"description":"Allow drag of this element","type":"boolean","example":false},"allowDrop":{"description":"Allow drop of new element","type":"boolean","example":false},"hasChildren":{"description":"Has children","type":"boolean","example":true},"sortOrder":{"description":"Sort order","type":"integer","example":0}},"type":"object"},"BundleBackendPowerToolsBookmarkList":{"title":"Bundle Backend Power Tools Bookmark List","required":["id","name","sortBy","owner","isOwner","itemCount","creationDate","shared","permission"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":1},"name":{"description":"Name","type":"string","example":"My bookmark list"},"sortBy":{"description":"Sort by field","type":"string","example":"name"},"owner":{"description":"Owner username","type":"string","example":"admin"},"isOwner":{"description":"Is current user the owner","type":"boolean","example":true},"itemCount":{"description":"Number of items in the list","type":"integer","example":0},"creationDate":{"description":"Creation date timestamp","type":"integer","example":1760593921},"shared":{"description":"Is shared with other users","type":"boolean","example":false},"permission":{"description":"Permission level","type":"string","example":"edit"}},"type":"object"},"BundleBackendPowerToolsShareRecipient":{"title":"Bundle Backend Power Tools Share Recipient","required":["permission","recipientName","recipientId"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"permission":{"description":"Permission","type":"string","example":"edit"},"recipientName":{"description":"Recipient name","type":"string","example":"nameOfRecipient"},"recipientId":{"description":"Recipient Id","type":"integer","example":1}},"type":"object"},"BundleBackendPowerToolsShareUser":{"title":"Bundle Backend Power Tools Share User","required":["id","name","type"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"User Id","type":"integer","example":1},"name":{"description":"User name","type":"string","example":"someAdminUser (Admin)"},"type":{"description":"Type","type":"string","example":"user"}},"type":"object"},"BundleCopilotAction":{"title":"Bundle Copilot Action","required":["title","jsAdapterName","jsConfig","icon","iconCls","context","searchTerms","category","labelClass"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"title":{"description":"Title","type":"string","example":"Car Variant Generator"},"jsAdapterName":{"description":"JS adapter name","type":"string","example":"automationActionAdapter"},"jsConfig":{"description":"JS configuration","type":"object","example":"{\u0022key\u0022:\u0022value\u0022}"},"context":{"description":"Context","type":"array","items":{"type":"string"},"example":"[\u0022object_car\u0022, \u0022object_car_selection\u0022]"},"searchTerms":{"description":"Search terms","type":"array","items":{"type":"string"},"example":"[\u0022Car Variant Generator\u0022, \u0022Automation Action\u0022]"},"category":{"description":"Category","type":"string","example":"automation_action"},"labelClass":{"description":"Label class","type":"string","example":"blue"},"icon":{"description":"Icon","type":["string","null"],"example":"\/bundles\/pimcoreadmin\/img\/flat-color-icons\/page.svg"},"iconCls":{"description":"Icon class","type":["string","null"],"example":"plugin_pimcore_automation_actions"}},"type":"object"},"BundleCopilotActionInteractionChatHistory":{"title":"Bundle Copilot Action Interaction Chat History","required":["content","role"],"properties":{"content":{"description":"Content","type":"string","example":"Generate a description for the classic ..."},"role":{"description":"Role","type":"string","example":"user"},"prompt":{"description":"Prompt","type":["string","null"],"example":""},"negativePrompt":{"description":"Negative prompt","type":["string","null"],"example":""},"imageMimeType":{"description":"Image mime type","type":["string","null"],"example":"image\/jpeg"}},"type":"object"},"BundleCopilotActionInteractionOneStep":{"title":"Bundle Copilot Action Interaction One Step","required":["result"],"properties":{"result":{"description":"Result","type":"string","example":"The Cobra is a masterpiece of engineering..."}},"type":"object"},"BundleCopilotJobRun":{"title":"Bundle Copilot Job Run","required":["id","jobName","startedAt","lastUpdated","owner","state","currentMessage","canCancel"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id","type":"integer","example":"3"},"jobName":{"description":"Job name","type":"string","example":"CarVariantGenerator"},"startedAt":{"description":"Job run started at","type":"integer","example":"1760355978"},"lastUpdated":{"description":"Job run last updated at","type":"integer","example":"1760355978"},"owner":{"description":"Job owner","type":"string","example":"admin"},"state":{"description":"Job state","type":"string","example":"finished"},"currentMessage":{"description":"Current log message","type":"string","example":"Job Run CarVariantGenerator (3) completed successfully."},"canCancel":{"description":"Job run can be cancelled","type":"boolean","example":"false"},"currentStep":{"description":"Current step nr","type":["integer","null"],"example":"1"}},"type":"object"},"BundleCopilotJobRunId":{"title":"Bundle Copilot Job Run Id","required":["id"],"properties":{"id":{"description":"Id","type":"integer","example":"3"}},"type":"object"},"BundleCopilotJobRunProgress":{"title":"Bundle Copilot Job Run Progress","required":["success","state","currentMessage","displayLogDetailLink","totalSteps","startedAt","lastUpdated","log"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"success":{"description":"Success state of job run","type":"boolean","example":"true"},"state":{"description":"Job state","type":"string","example":"finished"},"currentMessage":{"description":"Current log message","type":"string","example":"Job Run CarVariantGenerator (3) completed successfully."},"displayLogDetailLink":{"description":"Display log detail link","type":"boolean","example":"true"},"totalSteps":{"description":"Nr of total steps","type":"integer","example":"1"},"startedAt":{"description":"Job run started at","type":"integer","example":"1760355978"},"lastUpdated":{"description":"Job run last updated at","type":"integer","example":"1760355978"},"log":{"description":"Log","type":"array","items":{"type":"object","format":"string"},"example":"\n [{\u0022logMessage\u0022: \u0022Job Run CarVariantGenerator (13) started.\u0022,\u0022createdAt\u0022: \u00222024-01-01T12:00:00+00:00\u0022}]"},"currentStep":{"description":"Current step nr","type":["integer","null"],"example":"1"}},"type":"object"},"BundleCustomReportAdd":{"title":"Bundle Custom Report Add","required":["name"],"properties":{"name":{"description":"Name of the new custom report","type":"string","example":"myReport"}},"type":"object"},"BundleCustomReportClone":{"title":"Bundle Custom Report Clone","required":["newName"],"properties":{"newName":{"description":"New name the cloned custom report","type":"string","example":"myNewReport"}},"type":"object"},"BundleCustomReportUpdate":{"title":"Bundle Custom Report Update","required":["sql","dataSourceConfig","columnConfigurations","niceName","group","groupIconClass","iconClass","menuShortcut","reportClass","chartType","pieColumn","pieLabelColumn","xAxis","yAxis","sharedUserNames","sharedRoleNames","sharedGlobally"],"properties":{"sql":{"description":"Sql","type":"string","example":""},"columnConfigurations":{"description":"Configuration for columns to be displayed in report","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsColumnConfigurationUpdate"}},"niceName":{"description":"Label\/nice name of report","type":"string","example":"Attributes"},"group":{"description":"Group of the report","type":"string","example":"My Reports"},"groupIconClass":{"description":"Group icon class","type":"string","example":"pimcore_group_icon_attributes"},"iconClass":{"description":"Icon class","type":"string","example":"pimcore_icon_attributes"},"menuShortcut":{"description":"Whether the report has a shortcut in the menu","type":"boolean","example":true},"reportClass":{"description":"Report class of custom report implementation","type":"string","example":""},"chartType":{"description":"Chart type","type":"string","example":"pie"},"sharedUserNames":{"description":"Array with user names the report is shared with","type":"array","items":{"type":"string"},"example":"[\u0022admin\u0022, \u0022superuser\u0022]"},"sharedRoleNames":{"description":"Array with roles the report is shared with","type":"array","items":{"type":"string"},"example":"[\u0022role\u0022, \u0022role2\u0022]"},"sharedGlobally":{"description":"Whether the report is shared globally","type":"boolean","example":false},"dataSourceConfig":{"description":"Configuration for data source. Content of array depends on selected adapter\/data source","type":"array","items":{"type":"object"},"example":[{"sql":"carClass","from":"object_localized_CAR_en","where":"objectType = \u0027actual-car\u0027","groupby":"carClass","orderby":"","orderbydir":null,"type":"sql"}]},"pieColumn":{"description":"Data column for pie chart","type":["string","null"],"example":"count(*)"},"pieLabelColumn":{"description":"Label of data column for pie chart","type":["string","null"],"example":"attributesAvailable"},"xAxis":{"description":"X axis column names","type":["string","null"],"example":"attributesAvailable"},"yAxis":{"description":"Y axis column information","type":["array","null"],"items":{"type":"string"},"example":"[\u0022attributesAvailable\u0022, \u0022count(*)\u0022]"}},"type":"object"},"BundleCustomReportsChartData":{"title":"Bundle Custom Reports Chart Data","required":["data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"data":{"description":"Chart data depending on the adapter in the report configuration.","type":"object"}},"type":"object"},"BundleCustomReportsColumnConfiguration":{"title":"Bundle Custom Reports Column Configuration","required":["disableOrderBy","disableFilterable","disableDropdownFilterable","disableLabel"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/BundleCustomReportsColumnConfigurationUpdate"},{"properties":{"name":{"description":"Name","type":"string","example":"attributesAvailable"},"display":{"description":"Display column","type":"boolean","example":true},"export":{"description":"Whether the column should be included in exports","type":"boolean","example":true},"order":{"description":"Order","type":"boolean","example":true},"label":{"description":"Label\/display name of column","type":"string","example":"Attributes"},"action":{"description":"Action of the column","type":"string","example":"openObject"},"id":{"description":"Id","type":"string","example":"401-3"},"width":{"description":"Width of the column","type":["integer","null"],"example":200},"displayType":{"description":"Display type of the column","type":["string","null"],"example":"text"},"filterType":{"description":"Type of the filter","type":["string","null"],"example":"numeric"},"filterDrilldown":{"description":"Drilldown filter","type":["string","null"],"example":"only_filter"},"disableOrderBy":{"description":"Disable order by","type":"boolean","example":false},"disableFilterable":{"description":"Disable filterable","type":"boolean","example":false},"disableDropdownFilterable":{"description":"Disable dropdown filterable","type":"boolean","example":false},"disableLabel":{"description":"Disable label","type":"boolean","example":false}},"type":"object"}]},"BundleCustomReportsColumnConfigurationUpdate":{"title":"Bundle Custom Reports Column Configuration Update Data","required":["name","display","export","order","label","action","id","width","displayType","filterType","filterDrilldown"],"properties":{"name":{"description":"Name","type":"string","example":"attributesAvailable"},"display":{"description":"Display column","type":"boolean","example":true},"export":{"description":"Whether the column should be included in exports","type":"boolean","example":true},"order":{"description":"Order","type":"boolean","example":true},"label":{"description":"Label\/display name of column","type":"string","example":"Attributes"},"action":{"description":"Action of the column","type":"string","example":"openObject"},"id":{"description":"Id","type":"string","example":"401-3"},"width":{"description":"Width of the column","type":["integer","null"],"example":200},"displayType":{"description":"Display type of the column","type":["string","null"],"example":"text"},"filterType":{"description":"Type of the filter","type":["string","null"],"example":"numeric"},"filterDrilldown":{"description":"Drilldown filter","type":["string","null"],"example":"only_filter"}},"type":"object"},"BundleCustomReportsColumnInformation":{"title":"Bundle Custom Reports Column Information","required":["name","disableOrderBy","disableFilterable","disableDropdownFilterable","disableLabel"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"attributesAvailable"},"disableOrderBy":{"description":"Disable order by","type":"boolean","example":false},"disableFilterable":{"description":"Disable filterable","type":"boolean","example":false},"disableDropdownFilterable":{"description":"Disable dropdown filterable","type":"boolean","example":false},"disableLabel":{"description":"Disable label","type":"boolean","example":false}},"type":"object"},"BundleCustomReportsConfigurationTreeNode":{"title":"Bundle Custom Reports Configuration Tree Node","required":["id","text","cls","writeable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"Quality_Attributes"},"text":{"description":"text","type":"string","example":"Quality_Attributes"},"cls":{"description":"css class","type":"string","example":"pimcore_treenode_disabled"},"writeable":{"description":"writeable","type":"boolean","example":true}},"type":"object"},"BundleCustomReportsDataSourceConfig":{"title":"Bundle Custom Reports Data Source Config","required":["configuration"],"properties":{"configuration":{"description":"Configuration for data source. Content of array depends on selected adapter\/data source","type":"object","example":{"sql":"carClass","from":"object_localized_CAR_en","where":"objectType = \u0027actual-car\u0027","groupby":"carClass","orderby":"","orderbydir":null,"type":"sql"}}},"type":"object"},"BundleCustomReportsDetails":{"title":"Bundle Custom Reports Details","required":["name","sql","dataSourceConfig","columnConfigurations","niceName","group","groupIconClass","iconClass","menuShortcut","reportClass","chartType","pieColumn","pieLabelColumn","xAxis","yAxis","modificationDate","creationDate","sharedUserNames","sharedRoleNames","sharedGlobally","writeable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"Quality_Attributes"},"sql":{"description":"Sql","type":"string","example":""},"columnConfigurations":{"description":"Configuration for columns to be displayed in report","type":"array","items":{"$ref":"#\/components\/schemas\/BundleCustomReportsColumnConfiguration"}},"niceName":{"description":"Label\/nice name of report","type":"string","example":"Attributes"},"group":{"description":"Group of the report","type":"string","example":"My Reports"},"groupIconClass":{"description":"Group icon class","type":"string","example":"pimcore_group_icon_attributes"},"iconClass":{"description":"Icon class","type":"string","example":"pimcore_icon_attributes"},"menuShortcut":{"description":"Whether the report has a shortcut in the menu","type":"boolean","example":true},"reportClass":{"description":"Report class of custom report implementation","type":"string","example":""},"chartType":{"description":"Chart type","type":"string","example":"pie"},"modificationDate":{"description":"Modification date time stamp","type":"integer","example":1736762668},"creationDate":{"description":"Creation date time stamp","type":"integer","example":1567409307},"sharedUserNames":{"description":"Array with user names the report is shared with","type":"array","items":{"type":"string"},"example":"[\u0022admin\u0022, \u0022superuser\u0022]"},"sharedRoleNames":{"description":"Array with roles the report is shared with","type":"array","items":{"type":"string"},"example":"[\u0022role\u0022, \u0022role2\u0022]"},"sharedGlobally":{"description":"Whether the report is shared globally","type":"boolean","example":false},"writeable":{"description":"Whether the report is writeable","type":"boolean","example":true},"dataSourceConfig":{"description":"Configuration for data source. Content of array depends on selected adapter\/data source","type":["object","null"],"example":[]},"pieColumn":{"description":"Data column for pie chart","type":["string","null"],"example":"count(*)"},"pieLabelColumn":{"description":"Label of data column for pie chart","type":["string","null"],"example":"attributesAvailable"},"xAxis":{"description":"X axis column names","type":["string","null"],"example":"attributesAvailable"},"yAxis":{"description":"Y axis column information","type":["array","null"],"items":{"type":"string"},"example":"[\u0022attributesAvailable\u0022, \u0022count(*)\u0022]"}},"type":"object"},"BundleCustomReportsDrillDownOption":{"title":"Bundle Custom Reports Drill Down Option","description":"Drill down option data for custom reports","required":["name","value"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"name","example":"Full-Size","anyOf":[{"type":"string"},{"type":"integer"},{"type":"float"}]},"value":{"description":"value","example":"Full-Size","anyOf":[{"type":"string"},{"type":"integer"},{"type":"float"},{"type":"null"}]}},"type":"object"},"BundleCustomReportsSaveWidgetConfig":{"title":"Bundle Custom Reports Save Widget Config","required":["customReportName"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/CreateWidgetConfig"},{"properties":{"customReportName":{"description":"Report Configuration Name","type":"string","example":"Quality_Attributes"},"showLegend":{"description":"Show Legend","type":"boolean","example":true}},"type":"object"}]},"BundleCustomReportsTreeNode":{"title":"Bundle Custom Reports Tree Node","required":["name","niceName","iconClass","group","groupIconClass","menuShortcut","reportClass","hasDataSourceConfig"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"report name","type":"string","example":"Quality_Attributes"},"niceName":{"description":"nice name","type":"string","example":"Attributes"},"iconClass":{"description":"icon class","type":"string","example":"pimcore_icon_attributes"},"group":{"description":"group","type":"string","example":"Quality"},"groupIconClass":{"description":"group icon class","type":"string","example":"pimcore_group_icon_attributes"},"menuShortcut":{"description":"menu shortcut","type":"boolean","example":true},"reportClass":{"description":"report class","type":"string","example":""},"hasDataSourceConfig":{"description":"Whether the report has a data source configuration.","type":"boolean","example":false}},"type":"object"},"BundleCustomReportsWidgetConfig":{"title":"Bundle Custom Reports Widget Config","required":["color","customReportName","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"},{"properties":{"color":{"description":"Color","type":"string","example":"#FF5733"},"customReportName":{"description":"Report Configuration Name","type":"string","example":"Quality_Attributes"},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true},"showLegend":{"description":"Show Legend","type":"boolean","example":true}},"type":"object"}]},"BundleDataHubConfiguration":{"title":"Bundle Data Hub Configuration","required":["id","text","type","iconCls","expandable","leaf","adapter","writable","permissions","studioColumnConfig"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"string","example":"assets"},"text":{"description":"Text","type":"string","example":"assets"},"type":{"description":"Type","type":"string","example":"config"},"iconCls":{"description":"iconCls","type":"string","example":"plugin_pimcore_datahub_icon_graphql"},"expandable":{"description":"Expandable","type":"boolean","example":"false"},"leaf":{"description":"Leaf","type":"boolean","example":"true"},"permissions":{"description":"Permissions","type":["object","null"],"example":"{\u0022delete\u0022: true, \u0022update\u0022: true}"},"allowChildren":{"description":"Allow children","type":"boolean","example":"false"},"group":{"description":"Group","type":["string","null"],"example":"General Folder"},"children":{"description":"Children","type":["array","null"],"items":{"$ref":"#\/components\/schemas\/BundleDataHubConfiguration"}},"adapter":{"description":"Adapter","type":["string","null"],"example":"graphql"},"writable":{"description":"Writable","type":"boolean","example":"true"},"studioColumnConfig":{"description":"Has Studio Column Configuration","type":"boolean","example":"false"}},"type":"object"},"BundleDataHubConfigurationDetail":{"title":"Bundle Data Hub Configuration Detail","required":["name","configuration","userPermissions","supportedGraphQLQueryDataTypes","supportedGraphQLMutationDataTypes","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Configuration name","type":"string","example":"assets"},"configuration":{"description":"Configuration data","type":"object"},"userPermissions":{"description":"User permissions","type":"object","example":{"update":true,"delete":true}},"supportedGraphQLQueryDataTypes":{"description":"Supported GraphQL query data types","type":"array","items":{"type":"string"}},"supportedGraphQLMutationDataTypes":{"description":"Supported GraphQL mutation data types","type":"array","items":{"type":"string"}},"modificationDate":{"description":"Modification date timestamp","type":"integer","example":1705075200}},"type":"object"},"BundleDataHubPermissionUser":{"title":"Bundle Data Hub Permission User","required":["id","text","elementType"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"User or Role ID","type":"integer","example":42},"text":{"description":"User or Role name","type":"string","example":"admin"},"elementType":{"description":"Element type","type":"string","example":"user"}},"type":"object"},"BundleDataHubThumbnail":{"title":"Bundle Data Hub Thumbnail","required":["id","text"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Thumbnail ID","type":"string","example":"content"},"text":{"description":"Thumbnail name","type":"string","example":"content"}},"type":"object"},"BundleDataHubUpdateConfiguration":{"title":"Bundle Data Hub Update Configuration","required":["data","modificationDate"],"properties":{"data":{"description":"JSON-encoded configuration containing general, schema, security, workspaces, and permissions","type":"string","example":"{\u0022general\u0022:{\u0022active\u0022:true,\u0022type\u0022:\u0022GraphQL\u0022,\u0022name\u0022:\u0022assets\u0022,\u0022description\u0022:\u0022\u0022,\u0022group\u0022:\u0022GQL\u0022},\u0022schema\u0022:{\u0022queryEntities\u0022:[],\u0022mutationEntities\u0022:[],\u0022specialEntities\u0022:[]},\u0022security\u0022:{\u0022method\u0022:\u0022datahub_apikey\u0022,\u0022apikey\u0022:\u0022your-key\u0022,\u0022skipPermissionCheck\u0022:false,\u0022disableIntrospection\u0022:false},\u0022workspaces\u0022:{\u0022asset\u0022:[],\u0022document\u0022:[],\u0022object\u0022:[]},\u0022permissions\u0022:{\u0022user\u0022:[],\u0022role\u0022:[]}}"},"modificationDate":{"description":"Client-side modification date timestamp for conflict detection","type":"integer","example":1768215191}},"type":"object"},"BundleDataHubUpdateConfigurationResponse":{"title":"Bundle Data Hub Update Configuration Response","required":["modificationDate"],"properties":{"modificationDate":{"description":"New modification date timestamp","type":"integer","example":1705075200}},"type":"object"},"BundleDataQualityManagementColorSettings":{"title":"Bundle Data Quality Management Color Settings","required":["mark","fontColor","backgroundColor"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"mark":{"description":"Mark","type":"string","example":"A"},"fontColor":{"description":"Hex code of the font color","type":"string","example":"#104400"},"backgroundColor":{"description":"Hex code of the background color","type":"string","example":"#DAECB8"}},"type":"object"},"BundleDataQualityManagementDetailWidget":{"title":"Bundle Data Quality Management Detail Widget","required":["name","title","mark","score","rules","lastUpdated"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Data quality field name","type":"string","example":"textsAvailable"},"title":{"description":"Data quality field title","type":"string","example":"Texts Available"},"mark":{"description":"Mark for the data quality field","type":["string","null"],"example":"C"},"score":{"description":"Score for the data quality field","type":["number","null"],"format":"float","example":"0.66"},"rules":{"description":"Array of rule details","type":"array","items":{"$ref":"#\/components\/schemas\/BundleDataQualityManagementRule"}},"lastUpdated":{"description":"Last updated timestamp","type":["integer","null"],"example":1752670892}},"type":"object"},"BundleDataQualityManagementRule":{"title":"Bundle Data Quality Management Rule Data","required":["title","suggestion","valid"],"properties":{"title":{"description":"Title of the rule","type":"string","example":"Completeness"},"suggestion":{"description":"Suggestion","type":"string","example":"Fill in some required fields"},"valid":{"description":"Is rule valid","type":"boolean","example":true}},"type":"object"},"BundleEnterpriseSubscriptionToolsLicenseInformation":{"title":"Bundle Enterprise Subscription Tools License Information","required":["success","instanceId","legacyInstanceId","environment","instanceCode"],"properties":{"success":{"description":"Whether license check was successful or not","type":"boolean","example":"true"},"instanceId":{"description":"Instance Id","type":"string","example":"4q7D8Gce"},"legacyInstanceId":{"description":"Legacy Instance Id","type":"string","example":"a79ba4252e2e"},"environment":{"description":"Environment","type":"string","example":"dev"},"instanceCode":{"description":"Instance Code","type":"string","example":"ZTNiMGM0NDI5OGZjMWMxN"}},"type":"object"},"BundlePersonalizationTargetGroup":{"title":"Bundle Personalization Target Group","required":["id","active","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id","type":"integer","example":83},"active":{"description":"Is group active","type":"boolean","example":true},"name":{"description":"Name of the group","type":"string","example":"regular-customer"}},"type":"object"},"BundlePortalEngineAsset":{"title":"Bundle Portal Engine Asset","required":["allowDrag","allowDrop","collectionId"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"},{"properties":{"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true},"collectionId":{"description":"Collection ID","type":"number","example":5}},"type":"object"}]},"BundlePortalEngineDataObject":{"title":"Bundle Portal Engine Data Object","required":["allowDrag","allowDrop","collectionId"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"properties":{"allowDrag":{"description":"Allow drag","type":"boolean","example":true},"allowDrop":{"description":"Allow drop","type":"boolean","example":true},"collectionId":{"description":"Collection ID","type":"number","example":5}},"type":"object"}]},"BundleSeoRedirect":{"title":"Bundle Seo Redirect","required":["id","type","source","sourceSite","passThroughParameters","target","targetSite","statusCode","priority","regex","active","expiry","creationDate","modificationDate","userOwner","userModification"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":["integer","null"],"example":1},"type":{"description":"Type of redirect","type":"string","example":"auto_create"},"source":{"description":"Source URL","type":["string","null"],"example":"\/old-path"},"sourceSite":{"description":"ID of the source site","type":["integer","null"],"example":1},"passThroughParameters":{"description":"Whether to pass through parameters","type":"boolean","example":true},"target":{"description":"Target URL","type":["string","null"],"example":"\/new-path"},"targetSite":{"description":"ID of the target site","type":["integer","null"],"example":1},"statusCode":{"description":"Status code","type":"integer","example":301},"priority":{"description":"Priority","type":"integer","example":8},"regex":{"description":"Whether the redirect uses regex","type":["boolean","null"],"example":true},"active":{"description":"Whether the redirect is active","type":"boolean","example":true},"expiry":{"description":"Expiry date in timestamp format","type":["integer","null"],"example":1712345678},"creationDate":{"description":"Creation date in timestamp format","type":["integer","null"],"example":1712345678},"modificationDate":{"description":"Modification date in timestamp format","type":["integer","null"],"example":1712345678},"userOwner":{"description":"ID of the user who owns the redirect","type":["integer","null"],"example":1},"userModification":{"description":"ID of the user who last modified the redirect","type":["integer","null"],"example":1}},"type":"object"},"BundleSeoRedirectAdd":{"title":"Bundle Seo Redirect Add","required":["type","source","target"],"properties":{"type":{"description":"Type of redirect","type":"string","example":"entire_uri"},"source":{"description":"Source URL","type":["string","null"],"example":"\/old-path"},"target":{"description":"Target URL","type":["string","null"],"example":"\/new-path"}},"type":"object"},"BundleSeoRedirectStatus":{"title":"Bundle Seo Redirect Status","required":["code","label"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"code":{"description":"Status code","type":"integer","example":301},"label":{"description":"Status label","type":"string","example":"Moved Permanently"}},"type":"object"},"BundleSeoRedirectUpdate":{"title":"Bundle Seo Redirect Update","required":["type","sourceSite","source","targetSite","target","statusCode","priority","regex","active","passThroughParameters","expiry"],"properties":{"type":{"description":"Type of redirect","type":"string","example":"entire_uri"},"sourceSite":{"description":"ID of the source site","type":["integer","null"],"example":1},"source":{"description":"Source URL","type":["string","null"],"example":"\/old-path"},"targetSite":{"description":"ID of the target site","type":["integer","null"],"example":1},"target":{"description":"Target URL","type":["string","null"],"example":"\/new-path"},"statusCode":{"description":"Status code","type":"integer","example":301},"priority":{"description":"Priority","type":"integer","example":8},"regex":{"description":"Whether the redirect uses regex","type":"boolean","example":false},"active":{"description":"Whether the redirect is active","type":"boolean","example":true},"passThroughParameters":{"description":"Whether to pass through parameters","type":"boolean","example":false},"expiry":{"description":"Expiry date in timestamp format","type":["integer","null"],"example":1712345678}},"type":"object"},"BundleSeoRedirectImportStats":{"title":"Bundle Seo Redirects Import Statistics","required":["total","imported","created","updated","errored","errors"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"total":{"description":"Number of total redirects","type":"integer","example":20},"imported":{"description":"Number of imported redirects","type":"integer","example":15},"created":{"description":"Number of created redirects","type":"integer","example":10},"updated":{"description":"Number of updated redirects","type":"integer","example":5},"errored":{"description":"Number of errored redirects","type":"integer","example":2},"errors":{"description":"List of errors where index is the index of import line","type":"array","items":{"type":"object","example":{"3":"Invalid source URL","5":"Target URL already exists"}}}},"type":"object"},"BundleSeoRobotsTxtConfig":{"title":"Bundle Seo Robots Txt Config","required":["data","onFileSystem"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"data":{"description":"Robots.txt configuration per site","type":"array","items":{"$ref":"#\/components\/schemas\/BundleSeoRobotsTxtSiteConfig"}},"onFileSystem":{"description":"Whether a physical robots.txt file exists on the filesystem","type":"boolean","example":false}},"type":"object"},"BundleSeoRobotsTxtSiteConfig":{"title":"Bundle Seo Robots Txt Site Config","required":["siteId","content"],"properties":{"siteId":{"description":"Site ID (0 for default site)","type":"integer","example":0},"content":{"description":"Robots.txt content for this site","type":"string","example":""}},"type":"object"},"BundleSeoRobotsTxtUpdate":{"title":"Bundle Seo Robots Txt Update","required":["data"],"properties":{"data":{"description":"Robots.txt configuration per site","type":"array","items":{"$ref":"#\/components\/schemas\/BundleSeoRobotsTxtSiteConfig"}}},"type":"object"},"BundleStatisticsExplorerDataSource":{"title":"Bundle Statistics Explorer Data Source","required":["value","label","type"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"value":{"description":"Value","type":"string","example":"db_assets"},"label":{"description":"Label","type":"string","example":"[DB] Assets"},"type":{"description":"Type","type":"string","example":"MYSQL"}},"type":"object"},"BundleStatisticsExplorerDataSourceFields":{"title":"Bundle Statistics Explorer Data Source Fields","required":["data","operators"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"data":{"description":"data","type":"array","items":{"type":"object"},"example":"[{\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}, {\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}]"},"operators":{"description":"operators","type":"array","items":{"type":"object"},"example":"[{\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}, {\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}]"}},"type":"object"},"BundleStatisticsExplorerDataSourceFieldsDefinition":{"title":"Bundle Statistics Explorer Data Source Fields Definition","required":["label","name","typeGroup","fields"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"label":{"description":"label","type":"string","example":"creationDate"},"name":{"description":"name","type":"string","example":"creationDate"},"typeGroup":{"description":"typeGroup","type":"string","example":"numeric"},"fields":{"description":"fields","type":"array","items":{"type":"object"},"example":"[{\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}, {\u0022key1\u0022:\u0022value1\u0022, \u0022key2\u0022: \u0022value2\u0022}]"}},"type":"object"},"BundleStatisticsExplorerDataSourceFieldsSettings":{"title":"Bundle Statistics Explorer Data Source Fields Settings","required":["statisticsMode","aggregations","columns"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"statisticsMode":{"description":"statisticsMode","type":"string","enum":["list","statistic"],"example":"list"},"aggregations":{"description":"aggregations","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFieldsSettingsArray"}},"columns":{"description":"columns","type":"array","items":{"$ref":"#\/components\/schemas\/BundleStatisticsExplorerDataSourceFieldsSettingsArray"}}},"type":"object"},"BundleStatisticsExplorerDataSourceFieldsSettingsArray":{"title":"Bundle Statistics Explorer Data Source Fields Settings Array","required":["id","label","typeGroup","value"],"properties":{"id":{"description":"id","type":"string","example":"extModel2097-7"},"label":{"description":"label","type":"string","example":"creationDate"},"typeGroup":{"description":"typeGroup","type":"string","example":"numeric"},"value":{"description":"value","type":"string","example":"creationDate"}},"type":"object"},"BundleWebToPrintGenerateProcessData":{"title":"Bundle Web To Print Generate Process Data","required":["active","downloadAvailable","date","message","statusUpdate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"active":{"description":"Whether a PDF generation process is currently active","type":"boolean","example":true},"downloadAvailable":{"description":"Whether the generated PDF is available for download","type":"boolean","example":false},"statusUpdate":{"description":"Status update information","type":["array","null"],"items":{"type":"string"},"example":["Processing page 1 of 5","Rendering images"]},"date":{"description":"Last generation date","type":["string","null"],"example":"2025-11-05 14:30"},"message":{"description":"Last generation message","type":["string","null"],"example":"PDF generation completed successfully"}},"type":"object"},"BundleWebToPrintProcessingOption":{"title":"Bundle Web To Print Processing Option","required":["name","label","type","value","values"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Option name","type":"string","example":"dpi"},"label":{"description":"Option label","type":"string","example":"dpi"},"type":{"description":"Option type","type":"string","example":"select"},"value":{"description":"Option value","example":"Some value","oneOf":[{"type":"boolean"},{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"},{"type":"null"}]},"values":{"description":"Available option values","type":["array","null"],"items":{"oneOf":[{"type":"boolean"},{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"}]},"example":[72,150,300,600]}},"type":"object"},"CsvSettings":{"title":"CSV Settings","required":["delimiter","quoteChar","escapeChar","lineTerminator"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"delimiter":{"description":"Field delimiter character","type":"string","example":";"},"quoteChar":{"description":"Quote character for fields","type":"string","example":"\u0022"},"escapeChar":{"description":"Escape character","type":"string","example":"\\"},"lineTerminator":{"description":"Line terminator character","type":"string","example":""}},"type":"object"},"ChangeMainDocument":{"title":"Change Main Document","required":["mainDocumentPath"],"properties":{"mainDocumentPath":{"description":"Main document path","type":["string","null"],"example":"\/path\/to\/main\/document"}},"type":"object"},"UpdateTagParameters":{"title":"Change Tag Parameters","description":"Parameters for changing a tag","properties":{"parentId":{"description":"Parent id","type":["integer","null"],"example":0},"name":{"description":"Tag name","type":["string","null"],"example":"tag 1"}},"type":"object"},"CheckPrettyUrl":{"title":"Check Pretty URL","required":["prettyUrl"],"properties":{"prettyUrl":{"description":"Pretty URL to check","type":"string","example":"\/my-pretty-url"}},"type":"object"},"ClassDefinitionIdentifierData":{"title":"Class Definition Identifier Data","required":["suggestedId","existingIds"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"suggestedId":{"description":"Suggested unique ID for the new class definition","type":"string","example":"AP"},"existingIds":{"description":"Array of existing class definition IDs","type":"array","items":{"type":"string"},"example":["AP","CP","MP"]}},"type":"object"},"ClassDefinitionList":{"title":"Class Definition List Item","required":["id","name","title","icon","group"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of class definition","type":"string","example":"AP"},"name":{"description":"Name of class definition","type":"string","example":"AccessoryPart"},"title":{"description":"Title","type":"string","example":"Accessory Part"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group","type":["string","null"],"example":"system"}},"type":"object"},"ClassDefinitionObjectBrickData":{"title":"Class Definition Object Brick Data","required":["key","fieldName"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of the object brick","type":"string","example":"SaleInformation"},"fieldName":{"description":"Name of class definition field","type":"string","example":"saleInformation"}},"type":"object"},"ClassDefinitionTreeNodeFolder":{"title":"Class Definition Tree Node Folder","required":["children"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/ClassDefinitionList"},{"properties":{"children":{"description":"Child nodes","type":"array","items":{"$ref":"#\/components\/schemas\/ClassDefinitionTreeNode"}}},"type":"object"}]},"ClassDefinitionTreeNode":{"title":"Class Definition Tree Node Item","required":["enableGridLocking","hasBrickField"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/ClassDefinitionList"},{"properties":{"enableGridLocking":{"description":"Enable grid locking","type":"boolean","example":false},"hasBrickField":{"description":"Has brick field","type":"boolean","example":false}},"type":"object"}]},"AvailableVisibleField":{"title":"Class definition Visible Field","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Field key","type":"string","example":"id"}},"type":"object"},"ClassDefinitionFolderItem":{"title":"Class in data object folder","required":["id","name","inheritance"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of class","type":"string","example":"NE"},"name":{"description":"Name of class","type":"string","example":"News"},"inheritance":{"description":"Inheritance allowed","type":"boolean","example":"true"}},"type":"object"},"ClassLayoutCompact":{"title":"Class layout data in compact format to be used for e.g. listing in workspaces","required":["id","name","type"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of layout","type":"string","example":"CAR_0"},"name":{"description":"Name","type":"string","example":"Car"},"type":{"description":"Whether it is the default layout","type":"string","example":"main"}},"type":"object"},"ClassDefinition":{"title":"ClassDefinition","required":["id","name","title","description","creationDate","modificationDate","userOwner","parentClass","implementsInterfaces","listingParentClass","useTraits","listingUseTraits","encryption","allowInherit","allowVariants","showVariants","icon","group","showAppLoggerTab","linkGeneratorReference","previewGeneratorReference","compositeIndices","showFieldLookup","propertyVisibility","enableGridLocking","blockedVarsForExport","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of class definition","type":"string","example":"AP"},"name":{"description":"Name of class definition","type":"string","example":"AccessoryPart"},"title":{"description":"Title","type":"string","example":"Accessory Part"},"description":{"description":"Description","type":"string","example":"This class represents an accessory part"},"creationDate":{"description":"Creation date timestamp","type":["integer","null"],"example":1700000000},"modificationDate":{"description":"Modification date timestamp","type":["integer","null"],"example":1700000000},"userOwner":{"description":"User id of owner","type":"integer","example":1},"parentClass":{"description":"Namespace of parent class","type":"string","example":"App\\Model\\DataObject\\AccessoryPart"},"implementsInterfaces":{"description":"Interface implementations","type":"string","example":"App\\Model\\DataObject\\Interface"},"listingParentClass":{"description":"List of parent class","type":"string","example":"App\\Model\\DataObject\\Listing"},"useTraits":{"description":"Traits usage","type":"string","example":"App\\Model\\DataObject\\Trait"},"listingUseTraits":{"description":"Traits usage listing","type":"string","example":"App\\Model\\DataObject\\ListingTrait"},"encryption":{"description":"Whether encryption is ued","type":"boolean","example":true},"allowInherit":{"description":"Whether inheritance is allowed","type":"boolean","example":true},"allowVariants":{"description":"Whether variants are allowed","type":"boolean","example":true},"showVariants":{"description":"Whether variants are visible in the tree","type":"boolean","example":true},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"showAppLoggerTab":{"description":"Show application logger tab","type":"boolean","example":true},"linkGeneratorReference":{"description":"Namespace of link generator","type":"string","example":"App\\Model\\DataObject\\LinkGenerator"},"previewGeneratorReference":{"description":"Namespace of preview generator","type":"string","example":"App\\Model\\DataObject\\PreviewGenerator"},"compositeIndices":{"description":"Composite indices","type":"object","example":[]},"showFieldLookup":{"description":"Show field lookup","type":"boolean","example":true},"propertyVisibility":{"description":"Visibility of properties for grid, search, ...","type":"object","example":[]},"enableGridLocking":{"description":"Whether grid locking is enabled","type":"boolean","example":true},"blockedVarsForExport":{"description":"Blocked variables for export","type":"array","items":{"type":"string"},"example":[]},"isWriteable":{"description":"Whether the class definition can be written to","type":"boolean","example":true},"group":{"description":"Group","type":["string","null"],"example":"system"}},"type":"object"},"Collection":{"title":"Classification Store Collection","required":["id","name","description","groups"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"value"},"description":{"description":"Description","type":"string","example":"value"},"groups":{"description":"List of Group IDs in collection","type":"object"}},"type":"object"},"KeyLayout":{"title":"Classification Store Collection","required":["id","name","description","definition"],"properties":{"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"value"},"description":{"description":"Description","type":"string","example":"value"},"definition":{"description":"Layout Definition","type":"object"}},"type":"object"},"ClassificationStoreStoreConfig":{"title":"Classification Store Configuration","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"value"}},"type":"object"},"ClassificationStoreConfigurationCollectionCreate":{"title":"Classification Store Configuration Collection Create","required":["name","storeId"],"properties":{"name":{"description":"Name of the collection","type":"string","example":"My Collection"},"storeId":{"description":"ID of the store this collection belongs to","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationCollectionDetail":{"title":"Classification Store Configuration Collection Detail","required":["id","name","storeId","description","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the collection","type":"integer","example":1},"name":{"description":"Name of the collection","type":"string","example":"My Collection"},"storeId":{"description":"ID of the store this collection belongs to","type":"integer","example":1},"description":{"description":"Description of the collection","type":["string","null"],"example":"Collection description"},"creationDate":{"description":"Creation date as Unix timestamp","type":["integer","null"],"example":1734567890},"modificationDate":{"description":"Modification date as Unix timestamp","type":["integer","null"],"example":1734567890}},"type":"object"},"ClassificationStoreConfigurationCollectionRelationCreate":{"title":"Classification Store Configuration Collection Relation Create","required":["colId","groupId","sorter"],"properties":{"colId":{"description":"ID of the collection","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1},"sorter":{"description":"Sort order of the relation","type":"integer","example":0}},"type":"object"},"ClassificationStoreConfigurationCollectionRelationDelete":{"title":"Classification Store Configuration Collection Relation Delete","required":["colId","groupId"],"properties":{"colId":{"description":"ID of the collection","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationCollectionRelationDetail":{"title":"Classification Store Configuration Collection Relation Detail","required":["id","colId","groupId","sorter","groupName","groupDescription"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the relation","type":"string","example":"1-1"},"colId":{"description":"ID of the collection","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1},"sorter":{"description":"Sort order of the relation","type":"integer","example":0},"groupName":{"description":"Name of the group","type":["string","null"],"example":"My Group"},"groupDescription":{"description":"Description of the group","type":["string","null"],"example":"Group description"}},"type":"object"},"ClassificationStoreConfigurationCollectionUpdate":{"title":"Classification Store Configuration Collection Update","required":["name","description"],"properties":{"name":{"description":"Name of the collection","type":"string","example":"My Collection"},"description":{"description":"Description of the collection","type":["string","null"],"example":"Collection description"}},"type":"object"},"ClassificationStoreConfigurationGetPageResponse":{"title":"Classification Store Configuration Get Page Response","required":["page"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"page":{"description":"Page number where the item is located","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationGroupCreate":{"title":"Classification Store Configuration Group Create","required":["name","storeId"],"properties":{"name":{"description":"Name of the group","type":"string","example":"My Group"},"storeId":{"description":"ID of the store this group belongs to","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationGroupDetail":{"title":"Classification Store Configuration Group Detail","required":["id","name","storeId","description","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the group","type":"integer","example":1},"name":{"description":"Name of the group","type":"string","example":"My Group"},"storeId":{"description":"ID of the store this group belongs to","type":"integer","example":1},"description":{"description":"Description of the group","type":["string","null"],"example":"Group description"},"creationDate":{"description":"Creation date as Unix timestamp","type":["integer","null"],"example":1734567890},"modificationDate":{"description":"Modification date as Unix timestamp","type":["integer","null"],"example":1734567890}},"type":"object"},"ClassificationStoreConfigurationGroupUpdate":{"title":"Classification Store Configuration Group Update","required":["name","description"],"properties":{"name":{"description":"Name of the group","type":"string","example":"My Group"},"description":{"description":"Description of the group","type":["string","null"],"example":"Group description"}},"type":"object"},"ClassificationStoreConfigurationKeyCreate":{"title":"Classification Store Configuration Key Create","required":["name","storeId"],"properties":{"name":{"description":"Name of the key","type":"string","example":"My Key"},"storeId":{"description":"ID of the store this key belongs to","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationKeyDetail":{"title":"Classification Store Configuration Key Detail","required":["id","name","storeId","type","enabled","description","definition","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the key","type":"integer","example":1},"name":{"description":"Name of the key","type":"string","example":"My Key"},"storeId":{"description":"ID of the store this key belongs to","type":"integer","example":1},"type":{"description":"Data type of the key","type":"string","example":"input"},"enabled":{"description":"Whether the key is enabled","type":"boolean","example":true},"description":{"description":"Description of the key","type":["string","null"],"example":"Key description"},"definition":{"description":"Definition of the key","type":["object","null"]},"creationDate":{"description":"Creation date as Unix timestamp","type":["integer","null"],"example":1734567890},"modificationDate":{"description":"Modification date as Unix timestamp","type":["integer","null"],"example":1734567890}},"type":"object"},"ClassificationStoreConfigurationKeyGroupRelationCreate":{"title":"Classification Store Configuration Key Group Relation Create","required":["keyId","groupId","sorter","mandatory"],"properties":{"keyId":{"description":"ID of the key","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1},"sorter":{"description":"Sort order of the relation","type":"integer","example":0},"mandatory":{"description":"Whether the key is mandatory in this group","type":"boolean","example":false}},"type":"object"},"ClassificationStoreConfigurationKeyGroupRelationDelete":{"title":"Classification Store Configuration Key Group Relation Delete","required":["keyId","groupId"],"properties":{"keyId":{"description":"ID of the key","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1}},"type":"object"},"ClassificationStoreConfigurationKeyGroupRelationDetail":{"title":"Classification Store Configuration Key Group Relation Detail","required":["keyId","groupId","sorter","mandatory","keyName","keyDescription","groupName"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"keyId":{"description":"ID of the key","type":"integer","example":1},"groupId":{"description":"ID of the group","type":"integer","example":1},"sorter":{"description":"Sort order of the relation","type":"integer","example":0},"mandatory":{"description":"Whether the key is mandatory in this group","type":"boolean","example":false},"keyName":{"description":"Name of the key","type":["string","null"],"example":"My Key"},"keyDescription":{"description":"Description of the key","type":["string","null"],"example":"Key description"},"groupName":{"description":"Name of the group","type":["string","null"],"example":"My Group"}},"type":"object"},"ClassificationStoreConfigurationKeyUpdate":{"title":"Classification Store Configuration Key Update","required":["name","title","description","type","definition"],"properties":{"name":{"description":"Name of the key","type":"string","example":"My Key"},"title":{"description":"Title of the key","type":["string","null"],"example":"My Key Title"},"description":{"description":"Description of the key","type":["string","null"],"example":"Key description"},"type":{"description":"Data type of the key (e.g. input, textarea, select)","type":["string","null"],"example":"input"},"definition":{"description":"Values for object brick definition metadata","type":["object","null"],"example":{"name":"weight","datatype":"data","fieldtype":"quantityValue","title":"Weight","tooltip":"","mandatory":false,"index":false,"noteditable":false,"invisible":false,"visibleGridView":false,"visibleSearch":false,"style":"","width":"","unitWidth":"","defaultValue":null,"defaultUnit":null,"defaultValueGenerator":"","validUnits":["kg"],"autoConvert":false,"decimalSize":null,"decimalPrecision":null,"integer":false,"unsigned":false,"minValue":null,"maxValue":null,"displayfield-1596-inputEl":"The width of this component."}}},"type":"object"},"ClassificationStoreConfigurationStoreCreate":{"title":"Classification Store Configuration Store Create","required":["name"],"properties":{"name":{"description":"Name of the store","type":"string","example":"My Store"}},"type":"object"},"ClassificationStoreConfigurationStoreDetail":{"title":"Classification Store Configuration Store Detail","required":["id","name","description"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the store","type":"integer","example":1},"name":{"description":"Name of the store","type":"string","example":"My Store"},"description":{"description":"Description of the store","type":["string","null"],"example":"Store description"}},"type":"object"},"ClassificationStoreConfigurationStoreTreeNode":{"title":"Classification Store Configuration Store Tree Node","required":["id","name","description"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the store","type":"integer","example":1},"name":{"description":"Name of the store","type":"string","example":"My Store"},"description":{"description":"Description of the store","type":["string","null"],"example":"Store description"}},"type":"object"},"ClassificationStoreConfigurationStoreUpdate":{"title":"Classification Store Configuration Store Update","required":["name","description"],"properties":{"name":{"description":"Name of the store","type":"string","example":"My Store"},"description":{"description":"Description of the store","type":["string","null"],"example":"Store description"}},"type":"object"},"Group":{"title":"Classification Store Group","required":["id","name","description"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"value"},"description":{"description":"Description","type":["string","null"],"example":"value"}},"type":"object"},"CollectionLayout":{"title":"Classification Store Group Layout","required":["groups"],"properties":{"groups":{"description":"Groups","type":"array","items":{"$ref":"#\/components\/schemas\/GroupLayout"}}},"type":"object"},"GroupLayout":{"title":"Classification Store Group Layout","required":["id","name","description","keys"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"value"},"description":{"description":"Description","type":["string","null"],"example":"value"},"keys":{"description":"Description","type":"array","items":{"$ref":"#\/components\/schemas\/KeyLayout"}}},"type":"object"},"KeyGroupRelation":{"title":"Classification Store KeyGroupRelation","required":["keyId","groupId","keyName","groupName","keyDescription","groupDescription"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"keyId":{"description":"Key ID","type":"integer","example":42},"groupId":{"description":"Group ID","type":"integer","example":42},"keyName":{"description":"Key Name","type":"string","example":"value"},"groupName":{"description":"Group Name","type":"string","example":"value"},"keyDescription":{"description":"Key Description","type":["string","null"],"example":"value"},"groupDescription":{"description":"Key Description","type":["string","null"],"example":"value"}},"type":"object"},"ColumnSchema":{"title":"Column","required":["key","locale","group"],"properties":{"key":{"description":"Key of the Column","type":"string","example":"id"},"locale":{"description":"Locale of the Column","type":["string","null"],"example":"de"},"group":{"description":"Define the group structure","type":"object","example":["system"]}},"type":"object"},"ConfigLayoutDefinition":{"title":"Config Layout Definition","required":["name","type","region","title","width","height","collapsible","collapsed","bodyStyle","datatype","children","locked","fieldtype","layout","border","icon","labelWidth","labelAlign"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":["string","null"],"example":null},"type":{"description":"Type","type":["string","null"],"example":null},"region":{"description":"Region","type":["string","null"],"example":null},"title":{"description":"Title","type":["string","null"],"example":null},"width":{"description":"Width","type":"integer","example":0},"height":{"description":"Height","type":"integer","example":0},"collapsible":{"description":"Collapsible","type":"boolean","example":false},"collapsed":{"description":"Collapsed","type":"boolean","example":false},"bodyStyle":{"description":"Body Style","type":["string","null"],"example":null},"datatype":{"description":"Data Type","type":"string","example":"layout"},"children":{"description":"Children","type":"array","items":{"type":"object"},"example":[]},"locked":{"description":"Locked","type":"boolean","example":false},"fieldtype":{"description":"Field Type","type":"string","example":"panel"},"layout":{"description":"Layout","type":["string","null"],"example":null},"border":{"description":"Border","type":"boolean","example":false},"icon":{"description":"Icon","type":["string","null"],"example":null},"labelWidth":{"description":"Label Width","type":"integer","example":100},"labelAlign":{"description":"Label Align","type":"string","example":"left"}},"type":"object"},"ConvertedQuantityValue":{"title":"Converted quantity values","required":["unitAbbreviation","unitLongName","convertedValue"],"properties":{"unitAbbreviation":{"description":"Unit Abbreviation","type":"string","example":"m"},"unitLongName":{"description":"Unit Long Name","type":"string","example":"Meter"},"convertedValue":{"description":"Converted Values","type":"number","format":"float","example":160}},"type":"object"},"ConvertedQuantityValues":{"title":"Converted quantity values","required":["originalValue","fromUnitId","convertedValues"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"originalValue":{"description":"Original Value","example":5,"anyOf":[{"type":"float"},{"type":"integer"}]},"fromUnitId":{"description":"From Unit Id","type":"string","example":"m"},"convertedValues":{"description":"Converted Values","type":"array","items":{"$ref":"#\/components\/schemas\/ConvertedQuantityValue"}}},"type":"object"},"SaveElementTreeWidgetConfig":{"title":"Create Element Tree Widget Config","required":["id","name","icon","contextPermissions","elementType","rootFolder","showRoot","classes","pql","pageSize"],"properties":{"id":{"description":"Widget ID","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name","type":"string","example":"Cars"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"contextPermissions":{"description":"Context Permissions","type":"object","example":{"add":true,"addFolder":true,"changeChildrenSortBy":true,"copy":true,"cut":true,"delete":true,"lock":true,"lockAndPropagate":true,"paste":true,"publish":true,"refresh":true,"rename":true,"searchAndMove":true,"unlock":true,"unlockAndPropagate":true,"unpublish":true}},"elementType":{"description":"Element Type","type":"string","example":"data-object"},"rootFolder":{"description":"Root Folder","type":"string","example":"\/Product Data\/Cars"},"showRoot":{"description":"Show Root","type":"boolean","example":false},"classes":{"description":"Classes","type":"object","example":["CAR"]},"pql":{"description":"PQL","type":["string","null"],"example":null},"pageSize":{"description":"Page size","type":["integer","null"],"example":20}},"type":"object"},"CreateNotificationsWidgetConfig":{"title":"Create Notifications Widget Config","required":["page","pageSize","dateFilterValue","dateFilterOperator","senderFilter","typeFilter","onlyUnread"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/CreateWidgetConfig"},{"properties":{"page":{"description":"Page","type":"integer","example":1},"pageSize":{"description":"Page Size","type":"integer","example":1},"dateFilterValue":{"description":"Date Filter Value","type":["string","null"],"example":"08\/20\/2024"},"dateFilterOperator":{"description":"Date Filter Operator","type":["string","null"],"example":"on"},"senderFilter":{"description":"Sender Filter","type":["integer","null"],"example":20},"typeFilter":{"description":"Type Filter","type":["string","null"],"example":"info"},"onlyUnread":{"description":"Filter Only Unread Notifications","type":"boolean","example":false}},"type":"object"}]},"SavePerspectiveConfig":{"title":"Create Perspective Config","required":["icon","contextPermissions","widgetsLeft","widgetsRight","widgetsBottom","expandedLeft","expandedRight"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/AddPerspectiveConfig"},{"properties":{"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"contextPermissions":{"description":"Context Permissions","type":"object"},"widgetsLeft":{"description":"Widgets Left","type":"object","example":{"widget_id":"widget_type"}},"widgetsRight":{"description":"Widgets Right","type":"object","example":{"widget_id":"widget_type"}},"widgetsBottom":{"description":"Widgets Bottom","type":"object","example":{"widget_id":"widget_type"}},"expandedLeft":{"description":"Left Expanded Widget","type":["string","null"],"example":"widget_id"},"expandedRight":{"description":"Right Expanded Widget","type":["string","null"],"example":"widget_id"}},"type":"object"}]},"CreatePredefinedMetadata":{"title":"Create Predefined Metadata","required":["name","type","description","targetSubType","data","config","language","group"],"properties":{"name":{"description":"Name","type":"string","example":"New Definition"},"type":{"description":"Type","type":"string","example":"input"},"description":{"description":"Description","type":["string","null"],"example":"A predefined metadata"},"targetSubType":{"description":"Target sub type","type":["string","null"],"example":"image"},"data":{"description":"Data","type":["mixed","null"],"example":"data"},"config":{"description":"Config","type":["string","null"],"example":"config"},"language":{"description":"Language","type":["string","null"],"example":"en"},"group":{"description":"Group","type":["string","null"],"example":"group"}},"type":"object"},"CreateRecentlyModifiedWidgetConfig":{"title":"Create Recently Modified Widget Config","required":["elementType"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/CreateWidgetConfig"},{"properties":{"elementType":{"description":"Element Type","type":"string","example":"asset"}},"type":"object"}]},"CreateTagParameters":{"title":"Create Tag Parameters","description":"Parameters for creating a new tag","properties":{"parentId":{"description":"Parent id","type":"integer","example":0},"name":{"description":"Tag name","type":"string","example":"tag 1"}},"type":"object"},"CreateThumbnailConfig":{"title":"Create Thumbnail Config","required":["name"],"properties":{"name":{"description":"Thumbnail configuration name","type":"string","example":"my-thumbnail"}},"type":"object"},"CreateUnitParameters":{"title":"Create Unit Parameters","required":["id"],"properties":{"id":{"description":"Unique unit ID","type":"string","example":"mm"},"abbreviation":{"description":"Abbreviation","type":["string","null"],"example":"mm"},"longname":{"description":"Long name","type":["string","null"],"example":"Millimeter"},"group":{"description":"Group","type":["string","null"],"example":"Length"},"baseunit":{"description":"Base unit ID","type":["string","null"],"example":"m"},"factor":{"description":"Conversion factor","type":["number","null"],"example":0.001},"conversionOffset":{"description":"Conversion offset","type":["number","null"],"example":null},"converter":{"description":"Converter service class","type":["string","null"],"example":null},"reference":{"description":"Reference","type":["string","null"],"example":null}},"type":"object"},"CreateWidgetConfig":{"title":"Create Widget Config","required":["id","name","icon","color","visualization"],"properties":{"id":{"description":"Widget ID","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name","type":"string","example":"My Widget"},"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},{"type":"null"}],"description":"Icon"},"color":{"description":"Color","type":"string","example":"#FF5733"},"visualization":{"description":"Visualization","type":["string","null"],"example":"table"}},"type":"object"},"CreateWysiwygWidgetConfig":{"title":"Create Wysiwyg Widget Config","required":["wysiwyg"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/CreateWidgetConfig"},{"properties":{"wysiwyg":{"description":"Wysiwyg Content","type":["string","null"],"example":"\u003Cp\u003EHello World\u003C\/p\u003E"}},"type":"object"}]},"CreateNote":{"title":"CreateNote","required":["title","description","type"],"properties":{"title":{"description":"title","type":"string","example":"Title of note"},"description":{"description":"description","type":"string","example":"Description of note"},"type":{"description":"type","type":"string","example":"Type of note"}},"type":"object"},"Credentials":{"title":"Credentials","description":"Credentials for authentication","required":["username","password"],"properties":{"username":{"description":"Username","type":"string","example":"shaquille.oatmeal"},"password":{"description":"Password","type":"string","example":"*****"}},"type":"object"},"CustomLayoutIdentifierData":{"title":"Custom Layout Identifier Data","required":["suggestedId","existingIds","existingNames"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"suggestedId":{"description":"Suggested unique ID for custom layout","type":"string","example":"custom_layout_1"},"existingIds":{"description":"Array of existing custom layout IDs","type":"array","items":{"type":"string"},"example":["custom_layout_1","custom_layout_2","custom_layout_3"]},"existingNames":{"description":"Array of existing custom layout names","type":"array","items":{"type":"string"},"example":["Custom Layout 1","Custom Layout 2","Custom Layout 3"]}},"type":"object"},"CustomLayout":{"title":"Custom layouts","required":["id","name","description","creationDate","modificationDate","userOwner","classId","default","layoutDefinition"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of custom layout","type":"string","example":"custom_layout_1"},"name":{"description":"Name","type":"string","example":"Custom Layout 1"},"description":{"description":"Description","type":"string","example":"This is a custom layout"},"creationDate":{"description":"Creation date timestamp","type":"integer","example":1633036800},"modificationDate":{"description":"Modification date timestamp","type":"integer","example":1633036800},"userOwner":{"description":"User id of owner","type":"integer","example":1},"classId":{"description":"Class id","type":"string","example":"Product"},"default":{"description":"Whether it is the default layout","type":"boolean","example":false},"layoutDefinition":{"oneOf":[{"$ref":"#\/components\/schemas\/Layout","description":"Layout definitions"},{"type":"null"}],"description":"Layout definitions","type":"object"}},"type":"object"},"CustomLayoutCompact":{"title":"Custom layouts in compact format to be used for e.g. listings","required":["id","name","default"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of custom layout","type":"string","example":"custom_layout_1"},"name":{"description":"Name","type":"string","example":"Custom Layout 1"},"default":{"description":"Whether it is the default layout","type":"boolean","example":false}},"type":"object"},"CustomAttributes":{"title":"CustomAttributes","description":"Custom attributes used mainly for the tree","required":["icon","tooltip","additionalIcons","key","additionalCssClasses"],"properties":{"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Custom Icon"},{"type":"null"}],"description":"Custom Icon"},"tooltip":{"description":"Custom Tooltip","type":["string","null"],"example":"\u003Cb\u003EMy Tooltip\u003C\/b\u003E"},"additionalIcons":{"description":"AdditionalIcons","type":"array","items":{"type":"string","example":"some_other_icon"}},"key":{"description":"Custom Key\/Filename","type":["string","null"],"example":"my_custom_key"},"additionalCssClasses":{"description":"Additional Css Classes","type":"array","items":{"type":"string","example":"my_custom_class"}}},"type":"object"},"CustomMetadata":{"title":"CustomMetadata","required":["name","language","type","data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"custom_metadata"},"language":{"description":"Language","type":"string","example":"en"},"type":{"description":"Type","type":"string","example":"input"},"data":{"description":"Data","type":["mixed","null"],"example":"data"}},"type":"object"},"CustomMetadataVersion":{"title":"CustomMetadataVersion","required":["name","type","data"],"properties":{"name":{"description":"Name","type":"string","example":"custom_metadata"},"language":{"description":"Language","type":["string","null"],"example":"en"},"type":{"description":"Type","type":"string","example":"input"},"data":{"description":"Data","type":["string","null"],"example":"data"}},"type":"object"},"CustomSettings":{"title":"CustomSettings","properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"fixedCustomSettings":{"oneOf":[{"$ref":"#\/components\/schemas\/FixedCustomSettings","description":"fixed custom settings"},{"type":"null"}],"description":"fixed custom settings","example":"{ embeddedMetadata: { FileSize: 360 KiB }, checksum: b3685e8348e7ac4d30d0268f7e58902a }"},"dynamicCustomSettings":{"description":"dynamic custom settings - can be any key-value pair","type":"array","items":{"type":"object"},"example":"[{ imageWidth: 1280 }, { imageHeight: 720 }]"}},"type":"object"},"DashboardConfiguration":{"title":"Dashboard Configuration","required":["id","name","rows","ownerId","ownerUsername","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Unique identifier for the dashboard","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name of the dashboard","type":"string","example":"My Dashboard"},"ownerId":{"description":"ID of the owner of the dashboard","type":"integer","example":1},"ownerUsername":{"description":"Username of the owner of the dashboard","type":"string","example":"john_doe"},"rows":{"description":"Number of rows in the dashboard","type":"array","items":{"$ref":"#\/components\/schemas\/LayoutOption"}},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true},"shareGlobally":{"description":"If Dashboard is shared globally","type":"boolean","example":true},"sharedUserNames":{"description":"List of names the Dashboard is shared with","type":"array","items":{"type":"string"},"example":["jane_doe","max_mustermann"]},"sharedRoleNames":{"description":"List of roles the Dashboard is shared with","type":"array","items":{"type":"string"},"example":["jane_doe","max_mustermann"]},"menuShortcutGroup":{"description":"Name of the group in the Menu","type":["string","null"],"example":"My Dashboard"}},"type":"object"},"DashboardsWidgetConfig":{"title":"Dashboards Widget Config","required":["id","name","widgetType","icon","visualization"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Widget ID","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name","type":"string","example":"Cars"},"widgetType":{"description":"Widget Type","type":"string","example":"wysiwyg"},"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},{"type":"null"}],"description":"Icon"},"visualization":{"description":"Visualization","type":["string","null"],"example":"table"}},"type":"object"},"DashboardsWidgetConfigConfiguration":{"title":"Dashboards Widget Config Configuration","required":["name","options"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name of the configuration","type":["string","null"],"example":"elementType"},"options":{"description":"Configuration options","type":"object","example":["asset"]}},"type":"object"},"DashboardsWidgetType":{"title":"Dashboards Widget Type","required":["id"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"last_changes"}},"type":"object"},"CloneParameters":{"title":"Data Object Clone Parameters","required":["recursive","updateReferences"],"properties":{"recursive":{"description":"Recursive","type":"boolean","example":false},"updateReferences":{"description":"Update References","type":"boolean","example":false}},"type":"object"},"DataObjectFolder":{"title":"Data Object Folder","required":["hasWorkflowAvailable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"properties":{"hasWorkflowAvailable":{"description":"Has workflow available","type":"boolean","example":false}},"type":"object"}]},"DataObjectPermissions":{"title":"Data Object Permissions","required":["save","unpublish","localizedEdit","localizedView"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Permissions"},{"properties":{"save":{"description":"Save","type":"boolean","example":true},"unpublish":{"description":"Unpublish","type":"boolean","example":true},"localizedEdit":{"description":"Localized Edit","type":["string","null"],"example":"default"},"localizedView":{"description":"Localized View","type":["string","null"],"example":"default"}},"type":"object"}]},"PreviewParameter":{"title":"Data Object Preview Parameters","required":["id"],"properties":{"id":{"description":"ID","type":"integer","example":83},"site":{"description":"Site","type":"integer","default":0,"example":1}},"type":"object"},"DataObjectDetail":{"title":"Data object with detail data","required":["objectData","inheritanceData","draftData","allowInheritance","showVariants","hasPreview","hasWorkflowAvailable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DataObject"},{"properties":{"showVariants":{"description":"Show variants","type":"boolean","example":false},"allowInheritance":{"description":"Inheritance allowed","type":"boolean","example":false},"hasPreview":{"description":"Has preview","type":"boolean","example":false},"hasWorkflowAvailable":{"description":"Has workflow available","type":"boolean","example":false},"objectData":{"description":"Detail object data","type":"object","example":{"fieldKey":"field value"}},"inheritanceData":{"description":"Inheritance object data","type":"object","example":{"fieldKey":[]}},"draftData":{"oneOf":[{"$ref":"#\/components\/schemas\/DataObjectDraftData"},{"type":"null"}]}},"type":"object"}]},"DataObject":{"title":"DataObject","required":["key","className","type","published","hasChildren","hasWorkflowWithPermissions","fullPath","customAttributes","permissions","index","childrenSortBy","childrenSortOrder","allowVariants"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Element"},{"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"key":{"description":"Key","type":"string","example":"Giulietta"},"className":{"description":"Class name","type":"string","example":"car"},"type":{"description":"Type","type":"string","example":"image"},"published":{"description":"Published","type":"boolean","example":false},"hasChildren":{"description":"Has children","type":"boolean","example":false},"hasWorkflowWithPermissions":{"description":"Workflow permissions","type":"boolean","example":false},"fullPath":{"description":"Full path","type":"string","example":"\/path\/to\/dataObject"},"permissions":{"$ref":"#\/components\/schemas\/DataObjectPermissions"},"index":{"description":"Custom index","type":"integer","example":0},"childrenSortBy":{"description":"Sort mode of children","type":"string","example":"index"},"childrenSortOrder":{"description":"Sort order of children","type":"string","example":"asc"},"allowVariants":{"description":"Allow variants","type":["boolean","null"],"example":false}},"type":"object"}]},"DataObjectAddParameters":{"title":"DataObjectAdd","required":["key","classId","type"],"properties":{"key":{"description":"Key","type":"string","example":"my_new_data_object"},"classId":{"description":"Class Id","type":"string","example":"data_object_class_id"},"type":{"description":"Type","type":"string","enum":["object","variant"],"example":"object"}},"type":"object"},"DataObjectDraftData":{"title":"DataObjectDraftData","required":["id","modificationDate","isAutoSave"],"properties":{"id":{"description":"ID","type":"integer","example":83},"modificationDate":{"description":"Modification date","type":"integer","example":1634025600},"isAutoSave":{"description":"Is auto save","type":"boolean","example":false}},"type":"object"},"DataObjectVersion":{"title":"DataObjectVersion","required":["allowInheritance","showVariants","hasPreview","hasWorkflowAvailable","key","type","hasChildren","fullPath","index","allowVariants","className","published","objectData"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Element"},{"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"showVariants":{"description":"Show variants","type":"boolean","example":false},"allowInheritance":{"description":"Inheritance allowed","type":"boolean","example":false},"hasPreview":{"description":"Has preview","type":"boolean","example":false},"hasWorkflowAvailable":{"description":"Has workflow available","type":"boolean","example":false},"key":{"description":"Key","type":"string","example":"Giulietta"},"type":{"description":"Type","type":"string","example":"image"},"hasChildren":{"description":"Has children","type":"boolean","example":false},"fullPath":{"description":"Full path","type":"string","example":"\/path\/to\/dataObject"},"index":{"description":"Custom index","type":"integer","example":0},"className":{"description":"Class name","type":["string","null"],"example":"car"},"published":{"description":"Published","type":["boolean","null"],"example":false},"objectData":{"description":"Detail object data","type":"object","example":{"fieldKey":"field value"}},"allowVariants":{"description":"Allow variants","type":["boolean","null"],"example":false},"properties":{"description":"Properties","type":"array","items":{"$ref":"#\/components\/schemas\/ElementProperty"}}},"type":"object"}]},"ElementProperty":{"title":"DataProperty","required":["key","data","type","inheritable","inherited"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"key","type":"string","example":"key_of_the_property"},"data":{"description":"data","type":["mixed","null"],"example":"123"},"type":{"description":"type","type":"string","example":"document"},"inheritable":{"description":"inheritable","type":"boolean","example":false},"inherited":{"description":"inherited","type":"boolean","example":false},"config":{"description":"config","type":["string","null"],"example":"comma,separated,values"},"predefinedName":{"description":"predefinedName","type":["string","null"],"example":"name of the predefined property"},"description":{"description":"description","type":["string","null"],"example":"Description of the predefined property"}},"type":"object"},"DeleteInfo":{"title":"DeleteInfo","required":["hasDependencies","canUseRecycleBin"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"hasDependencies":{"description":"hasDependencies","type":"boolean","example":true},"canUseRecycleBin":{"description":"canUseRecycleBin","type":"boolean","example":true}},"type":"object"},"DeltaItem":{"title":"Delta Item","description":"Translation delta item after merge","required":["key","deltaValues"],"properties":{"key":{"description":"Key of the translation","type":"string","example":"car"},"deltaValues":{"description":"List of translation deltas for the given key","type":"array","items":{"$ref":"#\/components\/schemas\/TranslationDeltaValues"}}},"type":"object"},"Dependency":{"title":"Dependency","required":["id","path","type","subType","published"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"integer","example":1020},"path":{"description":"path","type":"string","example":"text"},"type":{"description":"type","type":"string","example":"asset"},"subType":{"description":"subType","type":"string","example":"image"},"published":{"description":"published","type":"boolean","example":"true"}},"type":"object"},"UserDependency":{"title":"Dependency to an Object","description":"Dependency to an Object","required":["id","path","subtype"],"properties":{"id":{"description":"ID of the object","type":"integer","example":42},"path":{"description":"Path to the object","type":"string","example":"\/path\/to\/object"},"subtype":{"description":"Subtype of the object","type":"string","example":"Car"}},"type":"object"},"DetailedRole":{"title":"Detailed User Role","description":"Contains all information about a role","required":["id","name","classes","parentId","permissions","docTypes","websiteTranslationLanguagesEdit","websiteTranslationLanguagesView","assetWorkspaces","dataObjectWorkspaces","documentWorkspaces","perspectives"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the User","type":"integer","example":"1"},"name":{"description":"Name of Folder or Role","type":["string","null"],"example":"admin"},"classes":{"description":"Classes the user is allows to see","type":"object","example":["CAR"]},"parentId":{"description":"Parent ID","type":["integer","null"],"example":2},"permissions":{"description":"List of permissions for the user","type":"object","example":["objects","documents"]},"docTypes":{"description":"List of document types for the role","type":"object","example":["1","2"]},"websiteTranslationLanguagesEdit":{"type":"object","example":["de","en"]},"websiteTranslationLanguagesView":{"type":"object","example":["de"]},"assetWorkspaces":{"description":"Asset Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"dataObjectWorkspaces":{"description":"Data Object Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"documentWorkspaces":{"description":"Document Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"perspectives":{"description":"Allowed studio perspectives","type":"array","items":{"$ref":"#\/components\/schemas\/PerspectiveConfig"}}},"type":"object"},"DevError":{"title":"DevError","description":"Error with details for developers","required":["message","details"],"properties":{"message":{"description":"Message","type":"string","example":"I got a bad feeling about this"},"details":{"description":"Details","type":"string","example":"Search your feelings. (Stack trace)"}},"type":"object"},"DocType":{"title":"DocType","required":["id","name","type","group","controller","template","priority","creationDate","modificationDate","staticGeneratorEnabled","writeable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"string","example":"1"},"name":{"description":"Name","type":"string","example":"Default Page"},"type":{"description":"Type","type":"string","example":"page"},"group":{"description":"Group","type":["string","null"],"example":"Default"},"controller":{"description":"Controller","type":["string","null"],"example":"App\\Controller\\DefaultController::indexAction"},"template":{"description":"Template","type":["string","null"],"example":"@App\/Resources\/views\/default.html.twig"},"priority":{"description":"Priority","type":"integer","example":0},"creationDate":{"description":"Creation date","type":["integer","null"],"example":null},"modificationDate":{"description":"Modification date","type":["integer","null"],"example":null},"staticGeneratorEnabled":{"description":"Static generator enabled","type":"boolean","example":false},"writeable":{"description":"Is writeable","type":"boolean","example":false}},"type":"object"},"DocTypeType":{"title":"DocType Type","required":["name","validTable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"page"},"validTable":{"description":"Valid table","type":"string","example":"page"},"childrenSupported":{"description":"Children supported","type":"boolean","example":false},"directRoute":{"description":"Direct route","type":"boolean","example":false},"predefinedDocumentTypes":{"description":"Predefined document types","type":"boolean","example":false},"translatable":{"description":"Translatable","type":"boolean","example":false},"translatableInheritance":{"description":"Translatable Inheritance","type":"boolean","example":false},"onlyPrintableChildren":{"description":"Only printable children","type":"boolean","example":false}},"type":"object"},"DocTypeAddParameters":{"title":"DocTypeAdd","required":["name","type"],"properties":{"name":{"description":"Name","type":"string","example":"New Document Type"},"type":{"description":"Type","type":"string","example":"page"}},"type":"object"},"DocTypeUpdateParameters":{"title":"DocTypeUpdate","required":["name","type","group","controller","template","priority","staticGeneratorEnabled"],"properties":{"name":{"description":"Name","type":"string","example":"My docType"},"type":{"description":"Type","type":"string","example":"page"},"group":{"description":"Group","type":["string","null"],"example":"Default"},"controller":{"description":"Controller","type":["string","null"],"example":"App\\Controller\\DefaultController::indexAction"},"template":{"description":"Template","type":["string","null"],"example":"@App\/Resources\/views\/default.html.twig"},"priority":{"description":"Priority","type":"integer","example":0},"staticGeneratorEnabled":{"description":"Static generator enabled","type":"boolean","example":false}},"type":"object"},"Document":{"title":"Document","required":["fullPath","published","type","key","index","hasChildren","hasWorkflowWithPermissions","permissions","isSite","navigationExclude"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Element"},{"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"fullPath":{"description":"Full path","type":"string","example":"\/path\/to\/document"},"published":{"description":"Published","type":"boolean","example":false},"type":{"description":"Type","type":"string","example":"link"},"key":{"description":"Key","type":"string","example":"page.html"},"index":{"description":"Custom index","type":"integer","example":0},"hasChildren":{"description":"Has children","type":"boolean","example":false},"hasWorkflowWithPermissions":{"description":"Workflow permissions","type":"boolean","example":false},"permissions":{"$ref":"#\/components\/schemas\/DocumentPermissions"},"isSite":{"description":"Is document a site","type":"boolean","example":false},"navigationExclude":{"description":"Exclude document from navigation","type":"boolean","example":false}},"type":"object"}]},"DocumentCloneParameters":{"title":"Document Clone Parameters","required":["language","enableInheritance","recursive","updateReferences"],"properties":{"language":{"description":"Language for the new translation","type":["string","null"],"example":"en"},"enableInheritance":{"description":"Enable Inheritance","type":"boolean","example":false},"recursive":{"description":"Recursive","type":"boolean","example":false},"updateReferences":{"description":"Update References","type":"boolean","example":false}},"type":"object"},"DocumentController":{"title":"Document Controller","required":["name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"App\\Controller\\ContentController::indexAction"}},"type":"object"},"DocumentDetail":{"title":"Document Detail Data","required":["editableData","missingRequiredEditable","settingsData","draftData","hasWorkflowAvailable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Document"},{"properties":{"editableData":{"description":"Document Editable Data","type":"object","example":{"editable":"value"}},"missingRequiredEditable":{"description":"Is missing required editable","type":"boolean","example":false},"settingsData":{"description":"Document Settings Data","type":"object","example":{"title":"Some Title","description":"Some Description","prettyUrl":"pretty\/url","controller":"App\\Controller\\PageController","template":"@app\/template.html.twig","contentMainDocumentId":123,"contentMainDocumentPath":"\/path\/to\/main\/document","supportsContentMain":false,"missingRequiredEditable":false,"staticGeneratorEnabled":false,"staticGeneratorLifetime":123456,"staticLastGenerated":1700000000,"url":"https:\/\/example.com\/"}},"draftData":{"$ref":"#\/components\/schemas\/PageSnippetDraftData"},"hasWorkflowAvailable":{"description":"Has workflow available","type":"boolean","example":false}},"type":"object"}]},"DocumentPermissions":{"title":"Document Permissions","required":["save","unpublish"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Permissions"},{"properties":{"save":{"description":"Save","type":"boolean","example":true},"unpublish":{"description":"Unpublish","type":"boolean","example":true}},"type":"object"}]},"DocumentTemplate":{"title":"Document Template","required":["path"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"path":{"description":"Path","type":"string","example":"@App\/Resources\/views\/default.html.twig"}},"type":"object"},"DocumentTranslationLink":{"title":"Document Translation Link","required":["language","documentId"],"properties":{"language":{"description":"Language","type":"string","example":"en"},"documentId":{"description":"Document Id","type":"integer","example":83}},"type":"object"},"DocumentTranslationLinks":{"title":"Document Translation Links","required":["language"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"language":{"description":"Language","type":"string","example":"en"},"translationLinks":{"description":"Translation links","type":"array","items":{"$ref":"#\/components\/schemas\/DocumentTranslationLink"}}},"type":"object"},"DocumentTranslationParent":{"title":"Document Translation Parent","required":["id","fullPath"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Document Id","type":"integer","example":83},"fullPath":{"description":"Document full path","type":"string","example":"\/path\/to\/document"}},"type":"object"},"DocumentType":{"title":"Document Type","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"key","type":"string","example":"page"}},"type":"object"},"DocumentAddParameters":{"title":"DocumentAdd","required":["key","type","title","navigationName","docTypeId","template","translationsSourceId","language","inheritanceSourceId"],"properties":{"key":{"description":"Key","type":"string","example":"my_new_document"},"type":{"description":"Type","type":"string","example":"page"},"title":{"description":"Title","type":["string","null"],"example":"Some page title"},"navigationName":{"description":"Navigation name","type":["string","null"],"example":"Some navigation name"},"docTypeId":{"description":"Document type ID","type":["string","null"],"example":"page"},"template":{"description":"Document template","type":["string","null"],"example":"default"},"translationsSourceId":{"description":"Id of the base document for new translation","type":["integer","null"],"example":33},"language":{"description":"Document language when adding a translation","type":["string","null"],"example":"en"},"inheritanceSourceId":{"description":"Id of the base document for content","type":["integer","null"],"example":33}},"type":"object"},"DocumentVersion":{"title":"DocumentVersion","required":["modificationDate","path","published"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"modificationDate":{"description":"modification date","type":"integer","example":1712823182},"path":{"description":"path","type":"string","example":"\/path\/to\/object"},"published":{"description":"published","type":"boolean","example":true}},"type":"object"},"Element":{"title":"Element","required":["id","parentId","path","icon","userOwner","userModification","locked","isLocked","creationDate","modificationDate","elementType"],"properties":{"id":{"description":"ID","type":"integer","example":83},"parentId":{"description":"ID of parent","type":"integer","example":1},"path":{"description":"path","type":"string","example":"\/path\/to\/element"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"userOwner":{"description":"ID of owner","type":"integer","example":1},"userModification":{"description":"User that modified the element","type":["integer","null"],"example":1},"locked":{"description":"Locked","type":["string","null"],"example":"locked"},"isLocked":{"description":"Is locked","type":"boolean","example":false},"creationDate":{"description":"Creation date","type":["integer","null"],"example":221846400},"modificationDate":{"description":"Modification date","type":["integer","null"],"example":327417600},"elementType":{"description":"elementType","type":"string","example":"asset"}},"type":"object"},"LocationData":{"title":"Element Location Data","required":["widgetId","treeLevelData"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"widgetId":{"description":"Widget Id","type":"string","example":"d061699e_da42_4075_b504_c2c93c687819"},"treeLevelData":{"description":"Tree level data","type":"array","items":{"$ref":"#\/components\/schemas\/TreeLevelData"}}},"type":"object"},"ElementPath":{"title":"Element Path","required":["elementPath"],"properties":{"elementPath":{"description":"Element Path","type":"string","example":"path\/to\/element"}},"type":"object"},"ElementTreeWidgetConfig":{"title":"Element Tree Widget","required":["contextPermissions","elementType","rootFolder","showRoot","classes","pql","pageSize","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/WidgetConfig"},{"properties":{"contextPermissions":{"description":"Context Permissions","type":"object","example":{"add":true,"addFolder":true,"changeChildrenSortBy":true,"copy":true,"cut":true,"delete":true,"lock":true,"lockAndPropagate":true,"paste":true,"publish":true,"refresh":true,"rename":true,"searchAndMove":true,"unlock":true,"unlockAndPropagate":true,"unpublish":true}},"elementType":{"description":"Element Type","type":"string","example":"data-object"},"rootFolder":{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Data of root folder element"},"showRoot":{"description":"Show Root","type":"boolean","example":false},"classes":{"description":"Classes","type":"object","example":["CAR"]},"pql":{"description":"PQL","type":["string","null"],"example":null},"pageSize":{"description":"Page size","type":["integer","null"],"example":20},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true}},"type":"object"}]},"ElementUsage":{"title":"Element Usage","required":["data","hasHidden"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"data":{"description":"Data","type":"array","items":{"$ref":"#\/components\/schemas\/ElementUsageItem"}},"hasHidden":{"description":"hasHidden","type":"boolean","example":"false"},"totalCount":{"description":"totalCount","type":"integer","example":"40"}},"type":"object"},"ElementUsageBaseItem":{"title":"Element Usage Base Item","required":["id","type"],"properties":{"id":{"description":"ID","type":"integer","example":83},"type":{"description":"type","type":"string","enum":["data-object","object","asset","document"],"example":"data-object"}},"type":"object"},"ElementUsageItem":{"title":"Element Usage Item","required":["id","type","path"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/ElementUsageBaseItem"},{"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":9},"type":{"description":"type","type":"string","example":"object"},"path":{"description":"path","type":"string","example":"\/Product Data\/Cars\/jaguar\/E-Type"}},"type":"object"}]},"ElementIcon":{"title":"ElementIcon","required":["type","value"],"properties":{"type":{"description":"Icon type","type":"string","enum":["name","path"],"example":"path"},"value":{"description":"Icon value","type":"string","example":"\/path\/to\/icon"}},"type":"object"},"EmailSettingsData":{"title":"Email Settings Data","required":["subject","from","replyTo","to","cc","bcc"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SnippetSettingsData"},{"properties":{"subject":{"description":"Subject","type":"string","example":"Some subject"},"from":{"description":"From","type":"string","example":"some-sender@email"},"replyTo":{"description":"Reply to","type":"string","example":"some-reply@email"},"to":{"description":"To","type":"string","example":"some-receiver@email"},"cc":{"description":"CC","type":"string","example":"some-copy@email"},"bcc":{"description":"BCC","type":"string","example":"some-hidden-copy@email"}},"type":"object"}]},"EmailDocumentParameters":{"title":"EmailDocumentParameters","required":["key","value"],"properties":{"key":{"description":"parameter key","type":"string","example":"some_parameter_key"},"value":{"description":"parameter value","type":"mixed","example":"some_parameter_value","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"},{"type":"null"}]}},"type":"object"},"EmailLogEntry":{"title":"EmailLog","required":["id","sentDate","hasHtmlLog","hasTextLog","hasError","from","to","subject"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"integer","example":23},"sentDate":{"description":"sent date","type":"integer","example":1707312457},"hasHtmlLog":{"description":"HTML log exists","type":"boolean","example":true},"hasTextLog":{"description":"Text log exists","type":"boolean","example":true},"hasError":{"description":"Error occurred","type":"boolean","example":true},"from":{"description":"from","type":["string","null"],"example":"from@pimcore.com"},"to":{"description":"to","type":["string","null"],"example":"to@pimcore.com"},"subject":{"description":"subject","type":["string","null"],"example":"E-Mail subject"}},"type":"object"},"EmailLogEntryDetail":{"title":"EmailLogDetail","required":["bcc","cc","error"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/EmailLogEntry"},{"properties":{"bcc":{"description":"bcc","type":["string","null"],"example":"email@pimcore.com"},"cc":{"description":"cc","type":["string","null"],"example":"email@pimcore.com"},"error":{"description":"error","type":["string","null"],"example":"Some error occurred"}},"type":"object"}]},"ObjectParameter":{"title":"EmailLogObjectParameterData","required":["id","type","class","path"],"properties":{"id":{"description":"id","type":"integer","example":1020},"elementType":{"description":"elementType","type":"string","example":"object"},"type":{"description":"type","type":"string","example":"object"},"class":{"description":"class","type":"string","example":"AppBundle\\Model\\MyObject"},"path":{"description":"path","type":"string","example":"\/path\/to\/object"}},"type":"object"},"EmailLogEntryParameter":{"title":"EmailLogParameters","required":["name","value","objectData"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"name","type":"string","example":"myParameter"},"value":{"description":"value","type":["string","null"],"example":"Some value"},"objectData":{"oneOf":[{"$ref":"#\/components\/schemas\/ObjectParameter","description":"data for object parameters"},{"type":"null"}],"description":"data for object parameters"}},"type":"object"},"Error":{"title":"Error","description":"Bad credentials or missing token, bad request, method not allowed, etc.","required":["message"],"properties":{"message":{"description":"Message","type":"string","example":"I am an error message"}},"type":"object"},"ExportAllFilter":{"title":"Export All Filter","description":"Contains all data that is needed to get all the data for the column.","required":["columnFilters","sortFilter"],"properties":{"columnFilters":{"description":"Column Filter","type":"object","example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022: \u0022metadata.object\u0022,\u0022filterValue\u0022: 1, \u0022locale\u0022:\u0022de\u0022}]"},"sortFilter":{"description":"Sort Filter","type":"object","example":"{\u0022key\u0022:\u0022id\u0022,\u0022direction\u0022: \u0022ASC\u0022}"}},"type":"object"},"FieldCollectionConfig":{"title":"Field Collection Configuration","required":["key","title"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"MyFieldCollection"},"title":{"description":"Title","type":"string","example":"My Field Collection"}},"type":"object"},"FieldCollectionDetail":{"title":"Field Collection Detail","required":["key","title","group","parentClass","implementsInterfaces","blockedVarsForExport","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"MyFieldCollection"},"title":{"description":"Title","type":["string","null"],"example":"My Field Collection"},"group":{"description":"Group","type":["string","null"],"example":"system"},"parentClass":{"description":"Namespace of parent class","type":["string","null"],"example":"App\\Model\\DataObject\\FieldCollection"},"implementsInterfaces":{"description":"Interface implementations","type":["string","null"],"example":"App\\Model\\DataObject\\Interface"},"blockedVarsForExport":{"description":"Blocked variables for export","type":"array","items":{"type":"string"},"example":[]},"isWriteable":{"description":"Whether the field collection definition can be written to","type":"boolean","example":true}},"type":"object"},"FieldCollectionLayoutDefinition":{"title":"Field Collection Layout Definition","required":["key","title","width","height","collapsible","collapsed","datatype","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of Field Collection","type":"string","example":"my_field_collection"},"datatype":{"description":"Data Type","type":"string","example":"layout"},"group":{"description":"Group","type":["string","null"],"example":"Group Name"},"name":{"description":"Name","type":["string","null"],"example":"Layout"},"type":{"description":"Type","type":["string","null"],"example":"object"},"region":{"description":"Region","type":["string","null"],"example":"main"},"title":{"description":"Title","type":["string","null"],"example":"My Field Collection"},"width":{"description":"Width","type":"integer","example":0},"height":{"description":"Height","type":"integer","example":0},"collapsible":{"description":"Collapsible","type":"boolean","example":false},"collapsed":{"description":"collapsed","type":"boolean","example":false},"children":{"description":"Children","type":"object","example":[]}},"type":"object"},"FieldCollectionTreeNodeFolder":{"title":"Field Collection Tree Node Folder","required":["key","name","icon","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of folder with group_ prefix","type":"string","example":"group_News"},"name":{"description":"Group name","type":"string","example":"News"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group","type":"string","example":"News"},"children":{"description":"Child nodes","type":"array","items":{"$ref":"#\/components\/schemas\/FieldCollectionTreeNode"}}},"type":"object"},"FieldCollectionTreeNode":{"title":"Field Collection Tree Node Item","required":["key","name","icon","group"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of field collection","type":"string","example":"myCollection"},"name":{"description":"Name","type":"string","example":"My Collection"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group name","type":["string","null"],"example":"News"}},"type":"object"},"FieldCollectionUsageData":{"title":"Field Collection Usage Data","required":["class","field"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"class":{"description":"Name of the class using the field collection","type":"string","example":"Car"},"field":{"description":"Name of the field in the class","type":"string","example":"myFieldCollection"}},"type":"object"},"FieldByType":{"title":"Field key by type","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Field key","type":"string","example":"car"}},"type":"object"},"FixedCustomSettings":{"title":"FixedCustomSettings","required":["embeddedMetadata","embeddedMetadataExtracted"],"properties":{"embeddedMetadata":{"description":"embedded meta data of the asset - array of any key-value pairs","type":"array","items":{"type":"object"},"example":"{ FileSize: \u0022265 KiB\u0022, MIMEType: \u0022image\/jpeg\u0022 }"},"embeddedMetadataExtracted":{"description":"flag to indicate if the embedded meta data has been extracted from the asset","type":"boolean","example":true}},"type":"object"},"FocalPoint":{"title":"FocalPoint","required":["x","y"],"properties":{"x":{"description":"x Coordinate of FocalPoint","type":"integer","example":50},"y":{"description":"y Coordinate of FocalPoint","type":"integer","example":50}},"type":"object"},"FolderData":{"title":"Folder Data","description":"Folder Data Scheme for API","required":["folderName"],"properties":{"folderName":{"description":"Folder Name","type":"string","example":"Awesome stuff inside"}},"type":"object"},"PortalEngineWizardFormat":{"title":"Format for Wizard","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Identifier of the format configuration","type":"string","example":"portal_default"},"name":{"description":"Display name of the format configuration","type":"string","example":"Portal Default"}},"type":"object"},"GdprDataProvider":{"title":"GDPR Data Provider","description":"GDPR Data Extractor search source(e.g., \u0022Data Objects\u0022, \u0022Pimcore user\u0022).","required":["key","label"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Unique key of the provider","type":"string","example":"data_objects"},"label":{"description":"Label of the provider","type":"string","example":"Data Objects"}},"type":"object"},"GdprDataRow":{"title":"GDPR Data Row","description":"GDPR Data Row","required":["data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"data":{"description":"Data row values","type":"object"}},"type":"object"},"SearchTerms":{"title":"GDPR Search Terms","description":"Object containing the values to search for. All fields are optional.","properties":{"id":{"description":"The ID to search for.","type":["integer","null"],"example":3},"firstname":{"description":"The first name to search for.","type":["string","null"],"example":"John"},"lastname":{"description":"The last name to search for.","type":["string","null"],"example":"Doe"},"email":{"description":"The email address to search for.","type":["string","null"],"example":"john.doe@example.com"}},"type":"object"},"GlobalAction":{"title":"GlobalAction","required":["name","label","iconCls","objectLayout","notes"],"properties":{"name":{"description":"name","type":"string","example":"start_workflow"},"label":{"description":"label","type":"string","example":"Start Workflow"},"iconCls":{"description":"iconCls","type":"string","example":"pimcore_workflow_start"},"objectLayout":{"description":"objectLayout","type":"boolean","example":false},"notes":{"description":"notes","type":"array","items":{"type":"object"},"example":{"commentEnabled":true,"commentRequired":true}}},"type":"object"},"Column":{"title":"Grid Column Request","description":"Contains all data that is needed to get all the data for the column.","required":["type"],"properties":{"key":{"description":"Key","type":"string","example":"id"},"locale":{"description":"Locale","type":["string","null"],"example":"en"},"type":{"description":"Type","type":"string","example":"system.id"},"group":{"description":"Group","type":["array","null"],"items":{"type":"string"},"example":["system"]},"config":{"description":"Config","type":"array","items":{"anyOf":[{"type":"string"},{"$ref":"#\/components\/schemas\/AdvancedColumnConfig"}]},"example":{"key":"value"}}},"type":"object"},"Filter":{"title":"Grid Filter","description":"Contains all data that is needed to get all the data for the column.","required":["page","pageSize","includeDescendants"],"properties":{"page":{"description":"Page","type":"integer","example":1},"pageSize":{"description":"Page Size","type":"integer","example":50},"includeDescendants":{"description":"Include Descendant Items","type":"boolean","example":false},"columnFilters":{"description":"Column Filter","type":"object","example":"[{\u0022key\u0022:\u0022name\u0022,\u0022type\u0022: \u0022metadata.object\u0022,\u0022filterValue\u0022: 1, \u0022locale\u0022:\u0022de\u0022}]"},"sortFilter":{"description":"Sort Filter","type":"object","example":"{\u0022key\u0022:\u0022id\u0022,\u0022direction\u0022: \u0022ASC\u0022, \u0022locale\u0022: \u0022en\u0022}"}},"type":"object"},"ColumnConfiguration":{"title":"GridColumnConfiguration","description":"Contains all data to configure a grid column","required":["key","group","sortable","editable","localizable","type","config"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"id"},"group":{"description":"Define the group structure","type":"object","example":["system","id"]},"sortable":{"description":"Sortable","type":"boolean","example":true},"editable":{"description":"Editable","type":"boolean","example":false},"exportable":{"description":"Exportable","type":"boolean","example":false},"filterable":{"description":"Filterable","type":"boolean","example":false},"localizable":{"description":"Localizable","type":"boolean","example":false},"locale":{"description":"Locale","type":["string","null"],"example":"en"},"type":{"description":"Type","type":"string","example":"integer"},"frontendType":{"description":"Frontend Type","type":"string","example":"integer"},"config":{"description":"Config","type":"object","example":{"key":"value"}}},"type":"object"},"ColumnData":{"title":"GridColumnData","properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"id"},"locale":{"description":"Locale","type":["string","null"],"example":"en"},"value":{"description":"Value","type":["mixed","null"],"example":73},"fieldType":{"description":"Field Type of the column","type":["string","null"],"example":"input"},"inheritance":{"description":"inheritance","type":["object","null"],"example":{"objectId":42,"inInherited":true}}},"type":"object"},"Configuration":{"title":"GridConfiguration","description":"Contains all data to configure a grid column","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":42},"name":{"description":"Name","type":"string","example":"My Configuration"},"description":{"description":"Description","type":["string","null"],"example":"My Configuration Description"}},"type":"object"},"DetailedConfiguration":{"title":"GridDetailedConfiguration","description":"Contains all data to configure a grid column","required":["name","shareGlobal","saveFilter","setAsFavorite","sharedUsers","sharedRoles","columns","filter","pageSize"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"My Configuration"},"description":{"description":"Description","type":["string","null"],"example":"My Configuration Description"},"shareGlobal":{"description":"shareGlobal","type":"boolean","example":false},"saveFilter":{"description":"saveFilter","type":"boolean","example":false},"setAsFavorite":{"description":"setAsFavorite","type":"boolean","example":false},"sharedUsers":{"description":"sharedUsers","type":"object","example":[42,1337]},"sharedRoles":{"description":"sharedRoles","type":"object","example":[42,1337]},"columns":{"description":"columns","type":"array","items":{"anyOf":[{"$ref":"#\/components\/schemas\/ColumnSchema"},{"$ref":"#\/components\/schemas\/Column"}]}},"filter":{"description":"filter","type":"array","items":{"$ref":"#\/components\/schemas\/Filter"}},"pageSize":{"description":"Page Size","type":"integer","example":42},"modificationDate":{"description":"Modification Date","type":["integer","null"],"example":1634025600},"creationDate":{"description":"Creation Date","type":["integer","null"],"example":1634025600},"ownerId":{"description":"ID of the owner","type":["integer","null"],"example":42},"id":{"description":"ID of the configuration","type":["integer","null"],"example":42}},"type":"object"},"HardlinkSettingsData":{"title":"Hardlink settings data","required":["sourceId","propertiesFromSource","childrenFromSource"],"properties":{"sourceId":{"description":"Source ID","type":["integer","null"],"example":83},"propertiesFromSource":{"description":"Properties from source","type":"boolean","example":true},"childrenFromSource":{"description":"Children from source","type":"boolean","example":false},"sourcePath":{"description":"Source path","type":["string","null"],"example":"\/path\/to\/source"}},"type":"object"},"Image":{"title":"Image","required":["width","height","imageThumbnailPath"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"},{"properties":{"width":{"description":"width","type":"integer","example":666},"height":{"description":"height","type":"integer","example":333},"imageThumbnailPath":{"description":"path to thumbnail","type":"string","example":"\/path\/to\/element\/hulk-smash.jpg"}},"type":"object"}]},"ImageThumbnailConfigDetail":{"title":"Image Thumbnail Config Detail","required":["settings","writeable","medias"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"settings":{"$ref":"#\/components\/schemas\/ImageThumbnailSettings","description":"Thumbnail settings"},"writeable":{"description":"Is configuration writeable","type":"boolean","example":true},"medias":{"description":"Media query configurations with transformation items","type":"object","example":{"default":[{"method":"cover","arguments":{"width":1920,"height":600,"positioning":"center","forceResize":true}}]}}},"type":"object"},"ImageThumbnailSettings":{"title":"Image Thumbnail Settings","required":["name","description","group","format","quality","highResolution","preserveColor","forceProcessICCProfiles","preserveMetaData","rasterizeSVG","useCropBox","downloadable","modificationDate","creationDate","filenameSuffix","preserveAnimation"],"properties":{"name":{"description":"Thumbnail name","type":"string","example":"portalCarousel"},"description":{"description":"Thumbnail description","type":["string","null"],"example":""},"group":{"description":"Thumbnail group","type":["string","null"],"example":"Areas"},"format":{"description":"Output format","type":"string","example":"SOURCE"},"quality":{"description":"Quality setting","type":"integer","example":85},"highResolution":{"description":"High resolution factor","type":["number","null"],"example":0},"preserveColor":{"description":"Preserve color profile","type":"boolean","example":false},"forceProcessICCProfiles":{"description":"Force process ICC profiles","type":"boolean","example":false},"preserveMetaData":{"description":"Preserve meta data","type":"boolean","example":false},"rasterizeSVG":{"description":"Rasterize SVG","type":"boolean","example":false},"useCropBox":{"description":"Use crop box","type":"boolean","example":false},"downloadable":{"description":"Is downloadable","type":"boolean","example":true},"modificationDate":{"description":"Modification date timestamp","type":["integer","null"],"example":1755073298},"creationDate":{"description":"Creation date timestamp","type":["integer","null"],"example":1565355190},"filenameSuffix":{"description":"Filename suffix","type":["string","null"],"example":null},"preserveAnimation":{"description":"Preserve animation","type":"boolean","example":false}},"type":"object"},"ImageData":{"title":"ImageData","properties":{"focalPoint":{"$ref":"#\/components\/schemas\/FocalPoint","description":"focalPoint"}},"type":"object"},"IndexStat":{"title":"Index Statistic","required":["name","items","size"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"pimcore_root"},"items":{"description":"Number of items in index","type":"integer","example":100},"size":{"description":"Size","type":"number","format":"float","example":123.45}},"type":"object"},"InvalidCredentials":{"title":"Invalid Credentials","description":"Invalid credentials after login attempt","required":["error"],"properties":{"error":{"description":"Error","type":"string","example":"Invalid credentials"}},"type":"object"},"JsonExport":{"title":"JSON Export","required":["json","fileName"],"properties":{"json":{"description":"JSON encoded export data","type":"string","example":"{\u0022key\u0022:\u0022value\u0022}"},"fileName":{"description":"Suggested file name for download","type":"string","example":"export.json"}},"type":"object"},"JobRun":{"title":"JobRun","required":["id","ownerId","state","executionContext","totalElements","currentMessage","jobRunChildId","currentStep","totalSteps","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":1},"ownerId":{"description":"Owner ID","type":["integer","null"],"example":123},"state":{"description":"State","type":"string","example":"running"},"executionContext":{"description":"Execution context","type":"string","example":"studio_stop_on_error"},"totalElements":{"description":"Total elements","type":"integer","example":0},"currentMessage":{"description":"Current Message og the last Event","type":"string","example":"Message"},"jobRunChildId":{"description":"Id of the child Job run","type":["integer","null"],"example":55},"currentStep":{"description":"Current Step of a running Job","type":["integer","null"],"example":0},"totalSteps":{"description":"Number of total Steps of a running Job","type":["integer","null"],"example":0},"creationDate":{"description":"Creation date","type":["integer","null"],"example":null},"modificationDate":{"description":"Modification date","type":["integer","null"],"example":null}},"type":"object"},"KeyBinding":{"title":"Key Binding for a User","description":"Key Binding for a User","required":["key","action","ctrl","alt","shift"],"properties":{"key":{"description":"ASCII Code for a key on the Keyboard","type":"integer","example":"83"},"action":{"description":"The action the key binding should execute","type":"string","example":"save"},"ctrl":{"description":"If CTRL key should be pressed","type":"boolean","example":"true"},"alt":{"description":"If ALT key should be pressed","type":"boolean","example":"true"},"shift":{"description":"If SHIFT key should be pressed","type":"boolean","example":"true"}},"type":"object"},"LastChangesEntry":{"title":"Last Changes Entry Data","required":["date","dateText","assets","dataObjects","documents"],"properties":{"date":{"description":"Modification Date","type":"integer","example":327417600},"dateText":{"description":"Modification Date Text","type":"string","example":"2025-07-24T12:00:00+00:00"},"assets":{"description":"Number of assets objects changed","type":"integer","example":0},"dataObjects":{"description":"Number of data objects changed","type":"integer","example":0},"documents":{"description":"Number of documents objects changed","type":"integer","example":0}},"type":"object"},"LastChangesWidgetConfig":{"title":"Last Changes Widget Config","required":["color","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"},{"properties":{"color":{"description":"Widget Color","type":"string","example":"#FF5733"},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true},"showAssets":{"description":"Show Assets","type":"boolean","example":true},"showDataObjects":{"description":"Show Data Objects","type":"boolean","example":true},"showDocuments":{"description":"Show Documents","type":"boolean","example":true}},"type":"object"}]},"Layout":{"title":"Layout","required":["name","datatype","fieldtype","type","layout","region","title","width","height","collapsible","collapsed","bodyStyle","locked","children","icon","labelAlign","labelWidth","border"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name","type":"string","example":"pimcore_root"},"datatype":{"description":"Data Type","type":"string","example":"layout"},"fieldtype":{"description":"Field Type","type":"string","example":"panel"},"type":{"description":"Type","type":["string","null"],"example":null},"layout":{"description":"Layout","type":["string","null"],"example":null},"region":{"description":"Region","type":["string","null"],"example":"center"},"title":{"description":"Title","type":["string","null"],"example":"MyLayout"},"width":{"description":"Width","type":"integer","example":0},"height":{"description":"Height","type":"integer","example":0},"collapsible":{"description":"Collapsible","type":"boolean","example":false},"collapsed":{"description":"Collapsed","type":"boolean","example":false},"bodyStyle":{"description":"Body Style","type":["string","null"],"example":"(float: left;)"},"locked":{"description":"Locked","type":"boolean","example":false},"children":{"description":"Children","type":"array","items":{"type":"object"},"example":"[{id: 1}]"},"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},{"type":"null"}],"description":"Icon"},"labelAlign":{"description":"Label Align","type":"string","example":"left"},"labelWidth":{"description":"Label Width","type":"integer","example":100},"border":{"description":"Border","type":"boolean","example":false}},"type":"object"},"LayoutOption":{"title":"Layout Option","required":["layoutId","rows","columns","items"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"layoutId":{"description":"Unique identifier for the layout","type":"string","example":"dashboard-layout-1"},"rows":{"description":"Number of rows in the layout","type":"integer","example":4},"columns":{"description":"Number of columns in the layout","type":"integer","example":3},"items":{"description":"Array of layout items","type":"array","items":{"$ref":"#\/components\/schemas\/LayoutItem"}}},"type":"object"},"LayoutItem":{"title":"Layout item","required":["id","colSpan","rowSpan","colStart","rowStart","widget"],"properties":{"id":{"description":"Unique identifier for the layout item","type":"integer","example":1},"colSpan":{"description":"Number of columns the item spans","type":"integer","example":2},"rowSpan":{"description":"Number of rows the item spans","type":"integer","example":1},"colStart":{"description":"Column index where the item starts","type":"integer","example":0},"rowStart":{"description":"Row index where the item starts","type":"integer","example":0},"widget":{"oneOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig","description":"Widget for this position"},{"type":"null"}],"description":"Widget for this position"}},"type":"object"},"LinkSettingsData":{"title":"Link Settings Data","required":["internal","internalType","direct","linkType","href","rawHref"],"properties":{"internal":{"description":"Internal ID","type":["integer","null"],"example":83},"internalType":{"description":"Internal type","type":["string","null"],"example":"asset"},"direct":{"description":"Direct","type":"string","example":"\/path\/to\/asset"},"linkType":{"description":"Link type","type":"string","example":"direct"},"href":{"description":"Href","type":"string","example":"\/path\/to\/asset"},"rawHref":{"description":"Raw Href","type":"string","example":"\/some\/raw\/href"}},"type":"object"},"Note":{"title":"Note","required":["id","type","cId","cType","cPath","date","title","description","locked","data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"integer","example":666},"type":{"description":"type","type":"string","example":"Type of note"},"cId":{"description":"Id of element","type":"integer","example":667},"cType":{"description":"Type of element","type":"string","example":"asset"},"cPath":{"description":"Path of element","type":"string","example":"\/path\/to\/element"},"date":{"description":"Creation date of note","type":"integer","example":1634025600},"title":{"description":"title","type":"string","example":"Title of note"},"description":{"description":"description","type":"string","example":"This is a description"},"locked":{"description":"Locked","type":"boolean","example":false},"data":{"description":"Data of note","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]},"example":"Can be pretty much anything"},"userId":{"description":"User ID","type":["integer","null"],"example":1},"userName":{"description":"Username","type":["string","null"],"example":"shaquille.oatmeal"}},"type":"object"},"NoteType":{"title":"NoteType","required":["id"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"info"}},"type":"object"},"NoteTypeCollection":{"title":"NoteTypeCollection","required":["items"],"properties":{"items":{"description":"items","type":"array","items":{"$ref":"#\/components\/schemas\/NoteType"}}},"type":"object"},"Notification":{"title":"Notification","required":["message","payload","attachmentType","attachmentId","attachmentFullPath"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/NotificationListItem"},{"properties":{"message":{"description":"message","type":["string","null"],"example":"Notification message"},"payload":{"description":"payload","type":["string","null"],"example":"{\u0022key\u0022: \u0022value\u0022}"},"attachmentType":{"description":"linked attachment type","type":["string","null"],"example":"object"},"attachmentId":{"description":"linked attachment ID","type":["integer","null"],"example":3669},"attachmentFullPath":{"description":"linked attachment fullPath","type":["string","null"],"example":"\/path\/to\/attachment.jpg"}},"type":"object"}]},"NotificationMinimal":{"title":"Notification Minimal Data","required":["id","type","title","read","creationDate","recipient","sender"],"properties":{"id":{"description":"id","type":"integer","example":23},"type":{"description":"type","type":"string","example":"info"},"title":{"description":"title","type":"string","example":"Notification title"},"read":{"description":"read","type":"boolean","example":false},"creationDate":{"description":"creation date","type":"integer","example":1707312457},"recipient":{"description":"recipient ID","type":"integet","example":1},"sender":{"description":"sender","type":["string","null"],"example":"Pimcore Admin"}},"type":"object"},"NotificationListItem":{"title":"NotificationListItem","required":["id","type","title","read","hasAttachment","creationDate","sender"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"integer","example":23},"type":{"description":"type","type":"string","example":"info"},"title":{"description":"title","type":"string","example":"Notification title"},"read":{"description":"read","type":"boolean","example":false},"hasAttachment":{"description":"has attachment","type":"boolean","example":true},"creationDate":{"description":"creation date","type":"integer","example":1707312457},"sender":{"description":"sender","type":["string","null"],"example":"Pimcore Admin"}},"type":"object"},"NotificationsWidgetConfig":{"title":"Notifications Widget Config","required":["color","page","pageSize","dateFilterValue","dateFilterOperator","senderFilter","typeFilter","onlyUnread","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"},{"properties":{"color":{"description":"Widget Color","type":"string","example":"#FF5733"},"page":{"description":"Page","type":"integer","example":1},"pageSize":{"description":"Page Size","type":"integer","example":1},"dateFilterValue":{"description":"Date Filter Value","type":["string","null"],"example":"08\/20\/2024"},"dateFilterOperator":{"description":"Date Filter Operator","type":["string","null"],"example":"on"},"senderFilter":{"description":"Sender Filter","type":["integer","null"],"example":20},"typeFilter":{"description":"Type Filter","type":["string","null"],"example":"info"},"onlyUnread":{"description":"Filter Only Unread Notifications","type":"boolean","example":false},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true}},"type":"object"}]},"ObjectBrickConfig":{"title":"Object Brick Configuration","required":["key","title"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"MyObjectBrick"},"title":{"description":"Title","type":"string","example":"My Object Brick"}},"type":"object"},"ObjectBrickDetail":{"title":"Object Brick Detail","required":["key","title","group","parentClass","implementsInterfaces","blockedVarsForExport","isWriteable","classDefinitions"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"MyObjectBrick"},"title":{"description":"Title","type":["string","null"],"example":"My Object Brick"},"group":{"description":"Group","type":["string","null"],"example":"system"},"parentClass":{"description":"Namespace of parent class","type":["string","null"],"example":"App\\Model\\DataObject\\ObjectBrick"},"implementsInterfaces":{"description":"Interface implementations","type":["string","null"],"example":"App\\Model\\DataObject\\Interface"},"blockedVarsForExport":{"description":"Blocked variables for export","type":"array","items":{"type":"string"},"example":[]},"isWriteable":{"description":"Whether the object brick definition can be written to","type":"boolean","example":true},"classDefinitions":{"description":"Class definitions assigned to this object brick","type":"array","items":{"properties":{"classname":{"description":"Name of the class","type":"string","example":"Product"},"fieldname":{"description":"Name of the field","type":"string","example":"myBrickField"}},"type":"object"},"example":[{"classname":"fieldTest","fieldname":"myBrickField"}]}},"type":"object"},"ObjectBrickLayoutDefinition":{"title":"Object Brick Layout Definition","required":["key","title","width","height","collapsible","collapsed","datatype","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of Object Brick","type":"string","example":"my_object_brick"},"datatype":{"description":"Data Type","type":"string","example":"layout"},"name":{"description":"Name","type":["string","null"],"example":"Layout"},"type":{"description":"Type","type":["string","null"],"example":"object"},"region":{"description":"Region","type":["string","null"],"example":"main"},"title":{"description":"Title","type":["string","null"],"example":"My Object Brick"},"width":{"description":"Width","type":"integer","example":0},"height":{"description":"Height","type":"integer","example":0},"collapsible":{"description":"Collapsible","type":"boolean","example":false},"collapsed":{"description":"collapsed","type":"boolean","example":false},"children":{"description":"Children","type":"object","example":[]}},"type":"object"},"ObjectBrickTreeNodeFolder":{"title":"Object Brick Tree Node Folder","required":["key","name","icon","group","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of folder with group_ prefix","type":"string","example":"group_Parts"},"name":{"description":"Group name","type":"string","example":"Parts"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group","type":"string","example":"Parts"},"children":{"description":"Child nodes","type":"array","items":{"$ref":"#\/components\/schemas\/ObjectBrickTreeNode"}}},"type":"object"},"ObjectBrickTreeNode":{"title":"Object Brick Tree Node Item","required":["key","name","icon","group"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of object brick","type":"string","example":"myBrick"},"name":{"description":"Name","type":"string","example":"My Brick"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group name","type":["string","null"],"example":"News"}},"type":"object"},"ObjectBrickUsageData":{"title":"Object Brick Usage Data","required":["class","field"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"class":{"description":"Name of the class using the object brick","type":"string","example":"Product"},"field":{"description":"Name of the field in the class","type":"string","example":"myBrickField"}},"type":"object"},"PageSettingsData":{"title":"Page Settings Data","required":["title","description","prettyUrl"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SnippetSettingsData"},{"properties":{"title":{"description":"Title","type":["string","null"],"example":"Link Title"},"description":{"description":"Description","type":["string","null"],"example":"Link Description"},"prettyUrl":{"description":"Pretty Url","type":["string","null"],"example":"pretty\/url"}},"type":"object"}]},"SnippetSettingsData":{"title":"Page Settings Data","required":["controller","template","contentMainDocumentId","contentMainDocumentPath","supportsContentMain","staticGeneratorEnabled","staticGeneratorLifetime","staticLastGenerated","url"],"properties":{"controller":{"description":"Controller","type":["string","null"],"example":"App\\Controller\\PageController"},"template":{"description":"Template","type":["string","null"],"example":"@app\/template.html.twig"},"contentMainDocumentId":{"description":"Main document ID","type":["integer","null"],"example":1},"contentMainDocumentPath":{"description":"Main document path","type":["string","null"],"example":"\/path\/to\/main\/document"},"supportsContentMain":{"description":"Supports main content","type":"boolean","example":false},"staticGeneratorEnabled":{"description":"Is static generator enabled","type":"boolean","example":false},"staticGeneratorLifetime":{"description":"Lifetime of static generator","type":["integer","null"],"example":123456},"staticLastGenerated":{"description":"Timestamp of last generated data","type":["integer","null"],"example":1700000000},"url":{"description":"Document Url","type":["string","null"],"example":"https:\/\/example.com\/"}},"type":"object"},"PageSnippet":{"title":"PageSnippet","required":["title","description"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/Document"},{"properties":{"title":{"description":"Title of the Page Snippet","type":["string","null"],"example":"Title"},"description":{"description":"Description of the Page Snippet","type":["string","null"],"example":"Description"}},"type":"object"}]},"PageSnippetDraftData":{"title":"PageSnippetDraftData","required":["id","modificationDate","isAutoSave"],"properties":{"id":{"description":"ID","type":"integer","example":83},"modificationDate":{"description":"Modification date","type":"integer","example":1634025600},"isAutoSave":{"description":"Is auto save","type":"boolean","example":false}},"type":"object"},"PatchCustomMetadata":{"title":"PatchCustomMetadata","required":["name","language","type","data"],"properties":{"name":{"description":"Name","type":"string","example":"custom_metadata"},"language":{"description":"Language","type":["string","null"],"example":"en"},"type":{"description":"Type","type":"string","example":"input"},"data":{"description":"Data","type":["string","null"],"example":"data"}},"type":"object"},"PatchError":{"title":"PatchError","description":"Response for PATCH requests with errors","properties":{"id":{"description":"ID","type":"integer","example":83},"message":{"description":"Message","type":"string","example":"I am an error message"}},"type":"object"},"Permissions":{"title":"Permissions","required":["list","view","publish","delete","rename","create","settings","versions","properties"],"properties":{"list":{"description":"List","type":"boolean","example":true},"view":{"description":"View","type":"boolean","example":true},"publish":{"description":"Publish","type":"boolean","example":true},"delete":{"description":"Delete","type":"boolean","example":true},"rename":{"description":"Rename","type":"boolean","example":true},"create":{"description":"Create","type":"boolean","example":true},"settings":{"description":"Settings","type":"boolean","example":true},"versions":{"description":"Versions","type":"boolean","example":true},"properties":{"description":"Properties","type":"boolean","example":true}},"type":"object"},"PerspectiveConfig":{"title":"Perspective Config","required":["id","name","icon","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Perspective ID","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name","type":"string","example":"Cars"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true}},"type":"object"},"PerspectiveConfigDetail":{"title":"Perspective Config Detail","required":["contextPermissions","widgetsLeft","widgetsRight","widgetsBottom","expandedLeft","expandedRight"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/PerspectiveConfig"},{"properties":{"contextPermissions":{"description":"Context Permissions","type":"object","example":{"permission_group":{"permission1":true,"permission2":false}}},"widgetsLeft":{"description":"Widgets Left","type":"array","items":{"$ref":"#\/components\/schemas\/ElementTreeWidgetConfig"}},"widgetsRight":{"description":"Widgets Right","type":"array","items":{"$ref":"#\/components\/schemas\/ElementTreeWidgetConfig"}},"widgetsBottom":{"description":"Widgets Bottom","type":"array","items":{"$ref":"#\/components\/schemas\/ElementTreeWidgetConfig"}},"expandedLeft":{"description":"Left Expanded Widget","type":["string","null"],"example":"widget_id"},"expandedRight":{"description":"Right Expanded Widget","type":["string","null"],"example":"widget_id"}},"type":"object"}]},"PortalEngineWizardThumbnail":{"title":"Portal Engin Wizard Thumbnail","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Identifier of the thumbnail configuration","type":"string","example":"portal_thumbnail"},"name":{"description":"Display name of the thumbnail configuration","type":"string","example":"Portal Thumbnail"}},"type":"object"},"PortalEngineAdminUserAssignment":{"title":"Portal Engine Admin User Assignment","required":["canSeeMenu","canAddNewCollection"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"canSeeMenu":{"description":"Determines whether the collections menu is visible for the user","type":"boolean","example":true},"canAddNewCollection":{"description":"Determines whether the user may create new collections","type":"boolean","example":true}},"type":"object"},"PortalEngineCollection":{"title":"Portal Engine Collection","required":["id","name","userEmail","itemCount","creationDate","currentSiteId","editable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Unique identifier of the collection.","type":"integer","example":42},"name":{"description":"Human readable name of the collection.","type":"string","example":"My Favorites"},"userEmail":{"description":"Email address of the collection owner.","type":"string","example":"user@example.com"},"itemCount":{"description":"Number of items contained in the collection.","type":"integer","example":12},"creationDate":{"description":"Unix timestamp representing the creation time of the collection.","type":"integer","example":1704067200},"currentSiteId":{"description":"Name of the portal site the collection belongs to.","type":"string","example":"Dealer Portal"},"editable":{"description":"Indicates whether the collection can be edited by the current user.","type":"boolean","example":true}},"type":"object"},"PortalEngineCollectionShareListItem":{"title":"Portal Engine Collection Share List Item","required":["id","userName","permission"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"User Id with whom the collection is shared","type":"integer","example":101},"userName":{"description":"User Name with whom the collection is shared","type":"string","example":"admin"},"permission":{"description":"Permission assigned to the share (read|edit)","type":"string","example":"read"}},"type":"object"},"PortalEngineCollectionUserGroup":{"title":"Portal Engine Collection User Group","required":["id","name","isGroup"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Identifier of the user group","type":"integer","example":42},"name":{"description":"Display name of the user group","type":"string","example":"Dealer Managers"},"isGroup":{"description":"Flag indicating the entry represents a group","type":"boolean","example":true}},"type":"object"},"PortalEngineTreeFolder":{"title":"Portal Engine Tree Folder","required":["id","className","key","path","icon","elementType","allowDrag","allowDrop"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Data Pool ID","type":"string","example":1},"key":{"description":"Key","type":"string","example":"City Car"},"path":{"description":"Path","type":"string","example":"\/City Car\/"},"className":{"description":"Class Name","type":"string","example":"Car"},"elementType":{"description":"Type of the elements in the Folder","type":"string","example":"asset"},"type":{"description":"Type of the Folder","type":"string","example":"folder"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"allowDrag":{"description":"Allow drag of this element","type":"boolean","example":false},"allowDrop":{"description":"Allow drop of new element","type":"boolean","example":false}},"type":"object"},"PortalEngineTreeInformation":{"title":"Portal Engine Tree Information","required":["name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"name":{"description":"Name of the tree","type":"string","example":"Collections"}},"type":"object"},"PortalEngineWizardAssetPool":{"title":"Portal Engine Wizard Asset Pool","required":["dataPoolName"],"properties":{"dataPoolName":{"description":"Unique identifier for the wizard asset pool.","type":"string","example":"Images"},"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},{"type":"null"}],"description":"Icon"},"enableFolderNavigation":{"description":"Whether folder navigation is enabled for this pool.","type":"boolean","example":false},"enableTagNavigation":{"description":"Whether tag-based navigation is enabled for this pool.","type":"boolean","example":false},"availableDownloadThumbnails":{"description":"Configured download thumbnails for this pool.","type":"array","items":{"type":"string"},"example":["custom"]},"directDownloadShortcuts":{"description":"Available direct download shortcuts.","type":"array","items":{"type":"string"},"example":["cart"]},"availableDownloadFormats":{"description":"Download formats that can be used for exporting assets.","type":"array","items":{"type":"string"},"example":["Pimcore\\Bundle\\PortalEngineBundle\\Service\\DataPool\\DownloadFormat\\ZipDownloadFormat"]},"visibleLanguages":{"description":"Languages visible in the asset pool.","type":"array","items":{"type":"string"},"example":["de","en"]},"editableLanguages":{"description":"Languages that can be edited within the asset pool.","type":"array","items":{"type":"string"},"example":["de","en"]}},"type":"object"},"PortalEngineWizardCustomLayout":{"title":"Portal Engine Wizard Custom Layout","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Identifier of the custom layout","type":"string","example":"CP"},"name":{"description":"Display name of the custom layout","type":"string","example":"Product Detail (ID: CP)"}},"type":"object"},"PortalEngineIcon":{"title":"Portal Engine Wizard Icon","required":["name","file"],"properties":{"name":{"description":"Name","type":"string","example":"crow"},"file":{"description":"File","type":"string","example":"\u003Csvg\u003E...\u003C\/svg\u003E"}},"type":"object"},"PortalEngineWizardObjectPool":{"title":"Portal Engine Wizard Object Pool","required":["dataPoolName","classDefinition","detailPageLayout"],"properties":{"dataPoolName":{"description":"Unique identifier for the wizard object pool.","type":"string","example":"Products"},"classDefinition":{"description":"Class definition key backing the object pool.","type":"string","example":"Product"},"detailPageLayout":{"description":"Custom layout identifier used for the detail page.","type":"string","example":"ProductDetailLayout"},"icon":{"oneOf":[{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},{"type":"null"}],"description":"Icon"},"enableFolderNavigation":{"description":"Whether folder navigation is enabled for this pool.","type":"boolean","example":false},"enableTagNavigation":{"description":"Whether tag-based navigation is enabled for this pool.","type":"boolean","example":false},"availableDownloadThumbnails":{"description":"Configured download thumbnails for this pool.","type":"array","items":{"type":"string"},"example":["custom"]},"availableDownloadFormats":{"description":"Download formats that can be used for exporting data objects.","type":"array","items":{"type":"string"},"example":["Pimcore\\Bundle\\PortalEngineBundle\\Service\\DataPool\\DownloadFormat\\JsonDownloadFormat"]},"visibleLanguages":{"description":"Languages visible in the object pool.","type":"array","items":{"type":"string"},"example":["de","en"]}},"type":"object"},"PortalEngineWizardStartResponse":{"title":"Portal Engine Wizard Start Response","required":["tmpStoreKey"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"tmpStoreKey":{"description":"Temporary storage key generated for the running wizard.","type":"string","example":"portal-engine_wizard_650a9242c8b1d"}},"type":"object"},"PortalEngineWizardStatusResponse":{"title":"Portal Engine Wizard Status Response","required":["isWizardFinished","isWizardSuccess"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"isWizardFinished":{"description":"Whether the wizard has finished processing.","type":"boolean","example":true},"isWizardSuccess":{"description":"Whether the wizard run finished successfully.","type":"boolean","example":true},"portalDocumentId":{"description":"ID of the created portal document when available.","type":["integer","null"],"example":1234},"statusMessage":{"description":"Latest status message returned by the wizard run.","type":["string","null"],"example":"Portal created"}},"type":"object"},"PortalEngineCollectionPortal":{"title":"Portal entry for collection selection","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Identifier of the portal site","type":"integer","example":123},"name":{"description":"Display name of the portal","type":"string","example":"Dealer Portal"}},"type":"object"},"PredefinedMetadata":{"title":"PredefinedMetadata","required":["id","name","type","creationDate","modificationDate","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id","type":"string","example":"1"},"name":{"description":"Name","type":"string","example":"custom_metadata"},"description":{"description":"Description","type":["string","null"],"example":"A predefined metadata"},"type":{"description":"Type","type":"string","example":"input"},"targetSubType":{"description":"Target sub type","type":["string","null"],"example":"input"},"data":{"description":"Data","type":["mixed","null"],"example":"data"},"config":{"description":"Config","type":["string","null"],"example":"config"},"language":{"description":"Language","type":["string","null"],"example":"en"},"group":{"description":"Group","type":["string","null"],"example":"group"},"creationDate":{"description":"Creation Date","type":"integer","example":1634025600},"modificationDate":{"description":"Modfication Date","type":"integer","example":1634025600},"isWriteable":{"description":"Writable","type":"boolean","example":false}},"type":"object"},"PredefinedProperty":{"title":"PredefinedProperty","required":["id","name","key","type","ctype","inheritable","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"alpha-numerical-value"},"name":{"description":"name","type":"string","example":"Mister Proper"},"description":{"description":"description","type":["string","null"],"example":"Detailed description of the property"},"key":{"description":"key","type":"string","example":"Key for referencing"},"type":{"description":"type","type":"string","example":"text"},"data":{"description":"data","type":["string","null"],"example":"test"},"config":{"description":"config","type":["string","null"],"example":"comma,separated,values"},"ctype":{"description":"ctype","type":"string","example":"document"},"inheritable":{"description":"inheritable","type":"boolean","example":false},"creationDate":{"description":"Creation date","type":"integer","example":221846400},"modificationDate":{"description":"Modification date","type":"integer","example":327417600}},"type":"object"},"QuantityValueUnit":{"title":"QuantityValueUnit","required":["id","abbreviation","group","longName","baseUnit","reference","factor","conversionOffset","converter"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":["string","null"],"example":"mm"},"abbreviation":{"description":"Abbreviation","type":["string","null"],"example":"mm"},"group":{"description":"Group","type":["string","null"],"example":null},"longName":{"description":"Long Name","type":["string","null"],"example":"Millimeter"},"baseUnit":{"description":"Base Unit","type":["string","null"],"example":"m"},"reference":{"description":"Reference","type":["string","null"],"example":null},"factor":{"description":"Factor","type":["number","null"],"format":"float","example":null},"conversionOffset":{"description":"Conversion Offset","type":["number","null"],"format":"float","example":null},"converter":{"description":"Converter","type":["string","null"],"example":null}},"type":"object"},"QueueItemCount":{"title":"Queue Item Count","required":["count"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"count":{"description":"Items in queue","type":"integer","example":42}},"type":"object"},"RecentlyModifiedElement":{"title":"Recently Modified Element Data","required":["id","type","subtype","fullPath","modificationDate","isPublished"],"properties":{"id":{"description":"Element ID","type":"integer","example":123},"type":{"description":"Type of the element","type":"string","example":"asset"},"subtype":{"description":"Subtype of the element","type":"string","example":"Image"},"fullPath":{"description":"Full path of the element","type":"string","example":"\/path\/to\/element"},"modificationDate":{"description":"Modification Date","type":"integer","example":327417600},"isPublished":{"description":"Is the element published","type":["boolean","null"],"example":true}},"type":"object"},"RecentlyModifiedWidgetConfig":{"title":"Recently Modified Elements Widget Config","required":["color","elementType","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"},{"properties":{"color":{"description":"Widget Color","type":"string","example":"#FF5733"},"elementType":{"description":"Element Type","type":"string","example":"asset"},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true}},"type":"object"}]},"Recipient":{"title":"Recipient","required":["id","recipientName"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the Recipient","type":"integer","example":1},"recipientName":{"description":"User name or Group Name of the Recipient","type":"string","example":"Max Mustermann"}},"type":"object"},"RecycleBin":{"title":"Recycle Bin","required":["id","amount","date","deletedBy","path","subtype","type"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":1},"amount":{"description":"Amount","type":"integer","example":1},"date":{"description":"Date","type":"integer","example":1617267600},"deletedBy":{"description":"Deleted By","type":"string","example":"admin"},"path":{"description":"Path","type":"string","example":"\/path\/to\/element"},"subtype":{"description":"Subtype","type":"string","example":"folder"},"type":{"description":"Type","type":"string","example":"asset"}},"type":"object"},"RelatedElementData":{"title":"RelatedElementData","required":["id","type","subtype","fullPath","isPublished"],"properties":{"id":{"description":"ID","type":"integer","example":83},"type":{"description":"Type of the element","type":"string","example":"object"},"subtype":{"description":"Subtype of the element","type":"string","example":"Product"},"fullPath":{"description":"Full path of the element","type":"string","example":"\/path\/to\/element"},"isPublished":{"description":"Is the element published","type":["boolean","null"],"example":true}},"type":"object"},"RelationFieldConfig":{"title":"Relation Field Config","required":["relation","field"],"properties":{"relation":{"description":"Relation Getter","type":"string","example":"manufacturer"},"field":{"description":"Field getter","type":"string","example":"name"}},"type":"object"},"ResetPassword":{"title":"ResetPassword","description":"Reset password parameters","required":["username","resetPasswordUrl"],"properties":{"username":{"description":"Username","type":"string","example":"shaquille.oatmeal"},"resetPasswordUrl":{"description":"Reset password URL","type":"string","example":"https:\/\/example.com\/reset-password"}},"type":"object"},"Progress":{"title":"SSEHandlerProgress","required":["progress","currentStep","totalSteps","jobStepName","jobName","jobRunId","user"],"properties":{"progress":{"description":"progress","type":"integer","example":69},"currentStep":{"description":"currentStep","type":"integer","example":1},"totalSteps":{"description":"totalSteps","type":"integer","example":3},"jobStepName":{"description":"jobStepName","type":"string","example":"Job Step Name"},"jobName":{"description":"jobName","type":"string","example":"Job Name"},"jobRunId":{"description":"jobRunId","type":"integer","example":73},"user":{"description":"user","type":"integer","example":2}},"type":"object"},"Finished":{"title":"SSEJobRunFinished","required":["jobRunId","jobRunName","ownerId","status","messages","notifyAll"],"properties":{"jobRunId":{"description":"jobRunId","type":"integer","example":73},"jobRunName":{"description":"jobRunName","type":"string","example":"my-job-name"},"ownerId":{"description":"ownerId","type":"integer","example":13},"status":{"description":"status","type":"string","example":"finished"},"messages":{"description":"messages","type":"array","items":{"type":"string"},"example":["Something went wrong"]},"notifyAll":{"description":"notifyAll","type":"boolean","example":false}},"type":"object"},"SaveLastChangesWidgetConfig":{"title":"Save Last Changes Widget Config","required":["showAssets","showDataObjects","showDocuments"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/CreateWidgetConfig"},{"properties":{"showAssets":{"description":"Show Assets","type":"boolean","example":true},"showDataObjects":{"description":"Show Data Objects","type":"boolean","example":true},"showDocuments":{"description":"Show Documents","type":"boolean","example":true}},"type":"object"}]},"Schedule":{"title":"Schedule","required":["id","ctype","date","active","userId","username"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"integer","example":666},"ctype":{"description":"ctype","type":"string","example":"Type of element"},"date":{"description":"Date of schedule","type":"integer","example":1634025600},"action":{"description":"Action","type":["string","null"],"enum":["publish-version","publish","unpublish","delete"],"example":"publish-version"},"version":{"description":"Version ID","type":["integer","null"],"example":987},"active":{"description":"Active","type":"boolean","example":true},"userId":{"description":"User ID","type":"integer","example":999},"username":{"description":"Username","type":"string","example":"shaquille.oatmeal"}},"type":"object"},"ScheduleAction":{"title":"Schedule Action","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Action key","type":"string","example":"publish-version"}},"type":"object"},"CreateClassDefinition":{"title":"Schema used to create class definitions","required":["name","uid"],"properties":{"name":{"description":"Name","type":"string","example":"My Class Definition"},"uid":{"description":"Class definition unique ID","type":"string","example":"my_class_definition_uid"}},"type":"object"},"CustomLayoutNew":{"title":"Schema used to create custom layouts","required":["name","classId"],"properties":{"name":{"description":"Name","type":"string","example":"My Custom Layout"},"classId":{"description":"Data object class id","type":"integer","example":"CAR"}},"type":"object"},"CreateFieldCollection":{"title":"Schema used to create field collection definitions","required":["key"],"properties":{"key":{"description":"Key of the field collection","type":"string","example":"MyFieldCollection"}},"type":"object"},"CreateObjectBrick":{"title":"Schema used to create object brick definitions","required":["key"],"properties":{"key":{"description":"Key of the object brick","type":"string","example":"MyObjectBrick"}},"type":"object"},"CreateSelectOption":{"title":"Schema used to create select option configurations","required":["id"],"properties":{"id":{"description":"ID of the select options configuration","type":"string","example":"EventStatus"}},"type":"object"},"ClassDefinitionUpdate":{"title":"Schema used to update class definition configuration","required":["configuration","values"],"properties":{"configuration":{"description":"Layout configuration for fields (Panel, Input, ..)","type":"object","example":{"children":[{"name":"Layout","datatype":"layout","fieldtype":"panel","type":null,"region":null,"title":"","width":"","height":"","collapsible":false,"collapsed":false,"bodyStyle":"","locked":false,"layout":null,"border":false,"icon":"","labelWidth":100,"labelAlign":"left","invalidFieldError":null,"children":[]}]}},"values":{"description":"Values for class definition object itself","type":"object","example":{"name":"MyClass","title":"My class title","description":"Description of my class","parentClass":"","implementsInterfaces":"","listingParentClass":"","useTraits":"","listingUseTraits":"","encryption":false,"encryptedTables":[],"allowInherit":true,"allowVariants":false,"showVariants":false,"icon":"","group":"","showAppLoggerTab":false,"linkGeneratorReference":"","previewGeneratorReference":"","compositeIndices":[],"showFieldLookup":false,"propertyVisibility":{"grid":{"id":true,"key":false,"path":true,"published":true,"modificationDate":true,"creationDate":true},"search":{"id":true,"key":false,"path":true,"published":true,"modificationDate":true,"creationDate":true}},"enableGridLocking":false,"propertyVisibility.grid.id":true,"propertyVisibility.search.id":true,"propertyVisibility.grid.key":false,"propertyVisibility.search.key":false,"propertyVisibility.grid.path":true,"propertyVisibility.search.path":true,"propertyVisibility.grid.published":true,"propertyVisibility.search.published":true,"propertyVisibility.grid.modificationDate":true,"propertyVisibility.search.modificationDate":true,"propertyVisibility.grid.creationDate":true,"propertyVisibility.search.creationDate":true}}},"type":"object"},"CustomLayoutUpdate":{"title":"Schema used to update custom layouts","required":["configuration","values"],"properties":{"configuration":{"description":"Layout configuration for fields (Panel, Input, ..)","type":"object"},"values":{"description":"Values for custom layout object itself","type":"object"}},"type":"object"},"FieldCollectionUpdate":{"title":"Schema used to update field collection definition","required":["configuration","values"],"properties":{"configuration":{"description":"Layout configuration for fields (Panel, Input, ..)","type":"object","example":{"children":[{"name":"Layout","datatype":"layout","fieldtype":"panel","type":null,"region":"","title":"Pattern","width":"","height":"","collapsible":false,"collapsed":false,"bodyStyle":"","locked":false,"layout":"","border":false,"icon":null,"labelWidth":100,"labelAlign":"left","invalidFieldError":null,"children":[{"name":"count","datatype":"data","fieldtype":"numeric","title":"Token Count","tooltip":"","mandatory":false,"noteditable":false,"index":false,"locked":false,"style":"","permissions":null,"relationType":false,"invisible":false,"visibleGridView":false,"visibleSearch":false,"defaultValue":null,"integer":true,"unsigned":true,"minValue":1,"maxValue":null,"unique":false,"decimalSize":null,"decimalPrecision":null,"width":400,"defaultValueGenerator":"","invalidFieldError":null,"children":null}]}]}},"values":{"description":"Values for field collection definition metadata","type":"object","example":{"parentClass":"\\App\\Bundle\\Model\\MyCustomParentType","implementsInterfaces":"","title":"","group":"Voucher","blockedVarsForExport":[]}}},"type":"object"},"ObjectBrickUpdate":{"title":"Schema used to update object brick definition","required":["configuration","values"],"properties":{"configuration":{"description":"Layout configuration for fields (Panel, Input, ..)","type":"object","example":{"children":[{"name":"Layout","datatype":"layout","fieldtype":"panel","type":null,"region":"","title":"Pattern","width":"","height":"","collapsible":false,"collapsed":false,"bodyStyle":"","locked":false,"layout":"","border":false,"icon":null,"labelWidth":100,"labelAlign":"left","invalidFieldError":null,"children":[{"name":"count","datatype":"data","fieldtype":"numeric","title":"Token Count","tooltip":"","mandatory":false,"noteditable":false,"index":false,"locked":false,"style":"","permissions":null,"relationType":false,"invisible":false,"visibleGridView":false,"visibleSearch":false,"defaultValue":null,"integer":true,"unsigned":true,"minValue":1,"maxValue":null,"unique":false,"decimalSize":null,"decimalPrecision":null,"width":400,"defaultValueGenerator":"","invalidFieldError":null,"children":null}]}]}},"values":{"description":"Values for object brick definition metadata","type":"object","example":{"parentClass":"\\App\\Bundle\\Model\\MyCustomParentType","implementsInterfaces":"","title":"","group":"Voucher","classDefinitions":[{"classname":"Product","fieldname":"myBrickField"}],"blockedVarsForExport":[]}}},"type":"object"},"UpdateSelectOption":{"title":"Schema used to update select option configurations","required":["group","adminOnly","useTraits","implementsInterfaces","selectOptions"],"properties":{"group":{"description":"Group name","type":["string","null"],"example":"system"},"adminOnly":{"description":"Whether this configuration is restricted to admin","type":"boolean","example":false},"useTraits":{"description":"PHP traits to use","type":"string","example":""},"implementsInterfaces":{"description":"PHP interfaces to implement","type":"string","example":""},"selectOptions":{"description":"Select option entries","type":["array","null"],"items":{"$ref":"#\/components\/schemas\/SelectOptionData"}}},"type":"object"},"FormatedPath":{"title":"Select Option","required":["objectReference","formatedPath"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"objectReference":{"description":"Object Reference","example":"object_11","oneOf":[{"type":"string"},{"type":"integer"}]},"formatedPath":{"description":"Formated Path","example":"nice\/path","oneOf":[{"type":"string"},{"type":"integer"}]}},"type":"object"},"SelectOption":{"title":"Select Option","required":["key","value"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"key"},"value":{"description":"Value","type":"string","example":"value"}},"type":"object"},"SelectOptionData":{"title":"Select Option Data","required":["value","label","name"],"properties":{"value":{"description":"Value of the select option","type":"string","example":"active"},"label":{"description":"Display label of the select option","type":"string","example":"Active"},"name":{"description":"Enum case name of the select option","type":"string","example":"Active"}},"type":"object"},"SelectOptionDetail":{"title":"Select Option Detail","required":["id","group","adminOnly","useTraits","implementsInterfaces","selectOptions","enumName","isWriteable"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the select options configuration","type":"string","example":"EventStatus"},"group":{"description":"Group name","type":["string","null"],"example":"system"},"adminOnly":{"description":"Whether this configuration is restricted to admin","type":"boolean","example":false},"useTraits":{"description":"PHP traits to use","type":"string","example":""},"implementsInterfaces":{"description":"PHP interfaces to implement","type":"string","example":""},"selectOptions":{"description":"Select option entries","type":"array","items":{"$ref":"#\/components\/schemas\/SelectOptionData"}},"enumName":{"description":"Fully qualified enum name","type":"string","example":"Pimcore\\Model\\DataObject\\SelectOptions\\EventStatus"},"isWriteable":{"description":"Whether the configuration is writeable","type":"boolean","example":true}},"type":"object"},"SelectOptionTreeFolder":{"title":"Select Option Tree Folder","required":["id","name","icon","group","children"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of select option","type":"string","example":"EventStatus"},"name":{"description":"Text of select option","type":"string","example":"EventStatus"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group","type":["string","null"],"example":"system"},"children":{"description":"Child nodes","type":"array","items":{"$ref":"#\/components\/schemas\/SelectOptionTree"}}},"type":"object"},"SelectOptionTree":{"title":"Select Option Tree Item","required":["id","name","icon","group","adminOnly"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id of select option","type":"string","example":"EventStatus"},"name":{"description":"Text of select option","type":"string","example":"EventStatus"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"},"group":{"description":"Group","type":["string","null"],"example":"system"},"adminOnly":{"description":"Only for admin user","type":"boolean","example":false}},"type":"object"},"SelectOptionUsageItem":{"title":"Select Option Usage Item","required":["class","field"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"class":{"description":"Name of the class using the select options","type":"string","example":"Car"},"field":{"description":"Name of the field using the select options","type":"string","example":"status"}},"type":"object"},"SendEmailParameters":{"title":"SendEmailParameters","required":["from","to","subject","contentType"],"properties":{"from":{"description":"from email address(es)","type":"string","example":"from@sender.com"},"to":{"description":"to email address(es)","type":"string","example":"to@receiver.com"},"subject":{"description":"email subject","type":"string","example":"My email subject"},"contentType":{"description":"email content type","type":"string","enum":["document","html","text"],"example":"text"},"content":{"description":"email content","type":["string","null"],"example":"My email message"},"documentPath":{"description":"path to the email document","type":["string","null"],"example":"\/path\/to\/document"},"documentParameters":{"description":"email document parameters","type":"array","items":{"$ref":"#\/components\/schemas\/EmailDocumentParameters"}},"attachmentId":{"description":"id of the asset attachment","type":["integer","null"],"example":83}},"type":"object"},"SendNotificationParameters":{"title":"SendEmailParameters","required":["recipientId","title","message"],"properties":{"recipientId":{"description":"recipient ID","type":"integer","example":"33"},"title":{"description":"title","type":"string","example":"New notification"},"message":{"description":"message","type":"string","example":"My notification message"},"attachmentType":{"description":"type of the attachment","type":["string","null"],"enum":["asset","document","object"],"example":null},"attachmentId":{"description":"ID of the attachment","type":["integer","null"],"example":83}},"type":"object"},"SettingsConfigurationData":{"title":"Settings Configuration Data","required":["id","name","icon"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Configuration ID","type":"string","example":"my-config"},"name":{"description":"Configuration name","type":"string","example":"My Configuration"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Configuration icon"}},"type":"object"},"SimpleDashboard":{"title":"Simple Dashboard","required":["id","name","owner"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Unique identifier for the dashboard","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name of the dashboard","type":"string","example":"My Dashboard"},"owner":{"description":"ID of the owner of the dashboard","type":"integer","example":1},"menuShortcutGroup":{"description":"Name of the group in the Menu","type":["string","null"],"example":"My Dashboard"}},"type":"object"},"SimpleFieldConfig":{"title":"Simple Field Config","required":["field"],"properties":{"field":{"description":"Field getter","type":"string","example":"name"}},"type":"object"},"PhpCodeTransformer":{"title":"Simple PHP Code Transformer","description":"A PHP code transformer service with basic information","required":["key","label"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Unique key of the transformer","type":"string","example":"t_key"},"label":{"description":"Label of the transformer","type":"string","example":"Transformer"}},"type":"object"},"SimpleUser":{"title":"Simple User","description":"A user with the most imported information.","required":["id","username"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the User","type":"integer","example":"1"},"username":{"description":"Name of the User","type":"string","example":"userName"}},"type":"object"},"SimpleRole":{"title":"Simple User Role","description":"A user role which is a combination of permissions and settings.","required":["id","name"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the Role","type":"integer","example":"1"},"name":{"description":"Name of the Role","type":"string","example":"role"}},"type":"object"},"AssetSearchPreview":{"title":"SimpleSearchAssetDetail","required":["mimeType","thumbnail"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SimpleSearchPreview"},{"properties":{"mimeType":{"description":"Mimetype","type":["string","null"],"example":"image\/jpeg"},"thumbnail":{"description":"Thumbnail path","type":["string","null"],"example":"path\/to\/thumbnail"}},"type":"object"}]},"DataObjectSearchPreview":{"title":"SimpleSearchDataObjectDetail","required":["class","objectData"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SimpleSearchPreview"},{"properties":{"class":{"description":"Class name and Id","type":["string","null"],"example":"Car [CAR]"},"objectData":{"description":"Detail object data","type":"object","example":{"fieldKey":"field value"}}},"type":"object"}]},"SimpleSearchPreview":{"title":"SimpleSearchDetail","required":["id","elementType","type","userOwner","userOwnerName","userModification","userModificationName","creationDate","modificationDate"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Id","type":"integer","example":"74"},"elementType":{"description":"elementType","type":"string","example":"asset"},"type":{"description":"Type","type":"string","example":"image"},"userOwner":{"description":"Id of owner","type":["integer","null"],"example":1},"userOwnerName":{"description":"Name of owner","type":["string","null"],"example":"admin"},"userModification":{"description":"Id of the user that modified the element","type":["integer","null"],"example":1},"userModificationName":{"description":"Name of the user that modified the element","type":["integer","null"],"example":"admin"},"creationDate":{"description":"Creation date","type":["integer","null"],"example":221846400},"modificationDate":{"description":"Modification date","type":["integer","null"],"example":327417600}},"type":"object"},"DocumentSearchPreview":{"title":"SimpleSearchDocumentDetail","required":["language","documentData"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SimpleSearchPreview"},{"properties":{"language":{"description":"Document Language","type":["string","null"],"example":"English"},"documentData":{"oneOf":[{"$ref":"#\/components\/schemas\/PageSearchPreview","description":"Page document data"},{"type":"null"}],"description":"Page document data"}},"type":"object"}]},"PageSearchPreview":{"title":"SimpleSearchPageDetail","required":["title","description","name","hasPreviewImage"],"properties":{"title":{"description":"Title","type":["string","null"],"example":"Page"},"description":{"description":"Description","type":["string","null"],"example":"This is some page"},"name":{"description":"Navigation name","type":["string","null"],"example":"Awesome Page"},"hasPreviewImage":{"description":"Has Preview image","type":"boolean","example":false}},"type":"object"},"SimpleSearchResult":{"title":"SimpleSearchResult","required":["id","elementType","type","path","icon"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"customAttributes":{"$ref":"#\/components\/schemas\/CustomAttributes","description":"Custom attributes for the tree"},"id":{"description":"id","type":"integer","example":"74"},"elementType":{"description":"elementType","type":"string","example":"asset"},"type":{"description":"type","type":"string","example":"image"},"path":{"description":"path","type":"string","example":"\/path\/to\/asset"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"icon"}},"type":"object"},"Site":{"title":"Site","required":["id","domains","domain","rootId","rootPath"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":0},"domains":{"description":"Domains","type":"array","items":{"type":"string"},"example":["other_domain"]},"domain":{"description":"Domain","type":"string","example":"main_site"},"rootId":{"description":"ID of the root","type":["integer","null"],"example":1},"rootPath":{"description":"Root path","type":["string","null"],"example":"\/"}},"type":"object"},"SiteDetailData":{"title":"Site Detail Data","required":["id","creationDate","modificationDate","mainDomain","domains","errorDocument","localizedErrorDocuments","redirectToMainDomain"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":0},"creationDate":{"description":"Creation Date","type":["integer","null"],"example":1712345678},"modificationDate":{"description":"Modification Date","type":["integer","null"],"example":1712345678},"mainDomain":{"description":"Main domain","type":"string","example":"main_site"},"domains":{"description":"Domains","type":"array","items":{"type":"string"},"example":["other_domain"]},"errorDocument":{"oneOf":[{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Data of error document"},{"type":"null"}],"description":"Data of error document","type":"object"},"localizedErrorDocuments":{"description":"Localized error documents mapped by locale","type":"object","example":{"en":{"id":123,"type":"document","subtype":"page","fullPath":"en\/error-page","isPublished":true}},"additionalProperties":{"$ref":"#\/components\/schemas\/RelatedElementData","description":"Error document data for locale"}},"redirectToMainDomain":{"description":"Redirect to main domain","type":"boolean","example":false}},"type":"object"},"StaticTextConfig":{"title":"Static Text Config","required":["text"],"properties":{"text":{"description":"Static Text","type":"string","example":"My Text"}},"type":"object"},"SubmitAction":{"title":"SubmitAction","description":"Schema for submission of workflow action","required":["actionType","elementId","elementType","workflowId","transitionId","workflowOptions"],"properties":{"actionType":{"description":"type of the action","type":"string","example":"transition"},"elementId":{"description":"Id of the element","type":"integer","example":50},"elementType":{"description":"Type of the element","type":"string","example":"data-object"},"workflowId":{"description":"Id of the workflow","type":"string","example":"my_first_workflow"},"transitionId":{"description":"Id of the transition","type":"string","example":"start_workflow"},"workflowOptions":{"description":"workflowOptions","type":["object","null"],"example":"{\u0022notes\u0022: \u0022Some note I want to write\u0022}"}},"type":"object"},"Subtype":{"title":"Subtype","required":["elementId","elementType","elementSubtype"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"elementId":{"description":"Element Id","type":"integer","example":14},"elementType":{"description":"Element Type","type":"string","example":"asset"},"elementSubtype":{"description":"Element Subtype","type":"string","example":"image"}},"type":"object"},"Tag":{"title":"Tag","required":["id","parentId","text","path","hasChildren","iconName"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"tag ID","type":"integer","example":2},"parentId":{"description":"parent tag ID","type":"integer","example":0},"text":{"description":"tag text","type":"string","example":"Tag 1"},"path":{"description":"path","type":"string","example":"\/test"},"hasChildren":{"description":"has children","type":"boolean","example":false},"iconName":{"description":"IconName","type":"string","example":"pimcore_icon_pdf"},"children":{"description":"children","type":"array","items":{"$ref":"#\/components\/schemas\/Tag"}}},"type":"object"},"Text":{"title":"Text","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"}]},"TextLayoutPreview":{"title":"Text Layout Preview Data","required":["className","path","renderingData","renderingClass","html"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"className":{"description":"Name of class definition","type":"string","example":"Car"},"path":{"description":"Path of the data object for preview","type":["string","null"],"example":"\/cars\/my-car"},"renderingData":{"description":"Data for preview","type":["string","null"],"example":"{\u0022field1\u0022:\u0022value1\u0022,\u0022field2\u0022:\u0022value2\u0022}"},"renderingClass":{"description":"Rendering class for preview","type":["string","null"],"example":"App\\DataObject\\Car"},"html":{"description":"HTML preview of the layout","type":["string","null"],"example":"\u003Cdiv\u003E...\u003C\/div\u003E"}},"type":"object"},"Thumbnail":{"title":"Thumbnail","required":["id","text"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"pimcore_system_treepreview"},"text":{"description":"text","type":"string","example":"original"}},"type":"object"},"ThumbnailConfigurationData":{"title":"Thumbnail Configuration Data","required":["writeable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SettingsConfigurationData"},{"properties":{"writeable":{"description":"Is configuration writeable","type":"boolean","example":true}},"type":"object"}]},"ThumbnailConfigurationFolderData":{"title":"Thumbnail Configuration Folder Data","required":["children"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/SettingsConfigurationData"},{"properties":{"children":{"description":"Child nodes","type":"array","items":{"$ref":"#\/components\/schemas\/ThumbnailConfigurationData"}}},"type":"object"}]},"ThumbnailCollection":{"title":"ThumbnailCollection","required":["items"],"properties":{"items":{"description":"items","type":"array","items":{"$ref":"#\/components\/schemas\/Thumbnail"}}},"type":"object"},"TokenLink":{"title":"TokenLink","description":"Token link parameters","required":["tokenLoginUrl"],"properties":{"tokenLoginUrl":{"description":"Token login URL","type":"string","example":"https:\/\/example.com\/login"}},"type":"object"},"Transformer":{"title":"Transformer","required":["key"],"properties":{"key":{"description":"Key of the Transformer","type":"string","example":"uppercase"},"config":{"description":"Configuration for the transformer","type":"object"}},"type":"object"},"Translation":{"title":"Translation","description":"Translation Scheme for API","required":["locale","keys"],"properties":{"locale":{"description":"Locale","type":"string","example":"en"},"keys":{"description":"Keys for Translation - Fallback will be applied to all Keys automatically","type":"array","items":{"type":"string","example":"not_your_typical_key"}},"useFallback":{"description":"Apply Fallback Language. Used only if no keys are defined","type":"boolean","example":true}},"type":"object"},"CreateTranslation":{"title":"Translation Create","description":"Translation Create Scheme for API","required":["translationData"],"properties":{"errorOnDuplicate":{"description":"Throw an error on duplicate key","type":"boolean","example":false},"translationData":{"description":"Translation Data","type":"array","items":{"$ref":"#\/components\/schemas\/CreateTranslationData"}}},"type":"object"},"TranslationData":{"title":"Translation Data","description":"Translation Data Scheme for API","required":["locale","translation"],"properties":{"locale":{"description":"Locale","type":"string","example":"en"},"translation":{"description":"Translation","type":"string","example":"some_translated_string"}},"type":"object"},"CreateTranslationData":{"title":"Translation Data for create","description":"Translation Data Scheme for create endpoint of the API","required":["key","type"],"properties":{"key":{"description":"Key","type":"string","example":"my_translation_key"},"type":{"description":"Type","type":"string","example":"simple"},"domain":{"description":"Domain","type":"string","example":"studio"}},"type":"object"},"UpdateTranslation":{"title":"Translation Update","description":"Translation Update Scheme for API","required":["key","type","translationData"],"properties":{"key":{"description":"Key of the translation","type":"string","example":"car"},"type":{"description":"Type of the translation","type":["string","null"],"example":"simple"},"translationData":{"description":"Translation Data","type":"array","items":{"$ref":"#\/components\/schemas\/TranslationData"}}},"type":"object"},"TranslationDeltaValues":{"title":"Translation delta values","description":"Translation delta values","required":["locale","currentTranslation","importTranslation"],"properties":{"locale":{"description":"Locale","type":"string","example":"en"},"currentTranslation":{"description":"Current translation","type":"string","example":"some translation"},"importTranslation":{"description":"Imported translation","type":"string","example":"some translation updated"}},"type":"object"},"Translations":{"title":"Translations","description":"Translations including all languages and keys","required":["key","translations","type"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of the translation","type":"string","example":"car"},"translations":{"description":"List of translations for the given key","type":"array","items":{"type":"object","example":{"en":"Car","de":"Auto","fr":"Voiture"}}},"type":{"description":"Type simple or custom","type":"string","example":"simple"}},"type":"object"},"TreeLevelData":{"title":"Tree Level Data","required":["level","elementId","pageNumber"],"properties":{"parentId":{"description":"Parent ID","type":"integer","example":1},"elementId":{"description":"Element ID","type":"integer","example":66},"pageNumber":{"description":"Page Number","type":"integer","example":1}},"type":"object"},"TreeNode":{"title":"Tree Node","description":"One node in the a tree","required":["id","name","type","hasChildren"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Unique Identifier","type":"integer","example":"1"},"name":{"description":"Name of the tree node","type":"string","example":"admin"},"type":{"description":"Is ether folder or a specific item in the folder","type":"string","example":"user"},"hasChildren":{"description":"If a folder has sub items","type":"boolean","example":true}},"type":"object"},"TwoFactorAuth":{"title":"Two Factor Authentication Data","description":"Two Factor Authentication Data for a User","required":["required","enabled","type","active"],"properties":{"required":{"description":"Required","type":"boolean","example":true},"enabled":{"description":"Enabled","type":"boolean","example":true},"type":{"description":"Type","type":"string","example":"totp"},"active":{"description":"Active","type":"boolean","example":true}},"type":"object"},"ConvertParameters":{"title":"Unit Convert Parameters","required":["fromUnitId","toUnitId","value"],"properties":{"fromUnitId":{"description":"From Unit Id","type":"string","example":"m"},"toUnitId":{"description":"To Unit Id","type":"string","example":"mm"},"value":{"description":"Value","example":5,"anyOf":[{"type":"float"},{"type":"integer"}]}},"type":"object"},"Unknown":{"title":"Unknown","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"}]},"UnreadCount":{"title":"Unread Count","required":["unreadNotificationsCount"],"properties":{"unreadNotificationsCount":{"description":"Count of unread notifications","type":"integer","example":1}},"type":"object"},"UpdateAdminSettings":{"title":"Update Admin Settings","required":["branding","assets"],"properties":{"branding":{"$ref":"#\/components\/schemas\/Branding","description":"Branding configuration"},"assets":{"$ref":"#\/components\/schemas\/Assets","description":"Assets configuration"}},"type":"object"},"UpdatePredefinedMetadata":{"title":"Update Predefined Metadata","required":["name","description","type","targetSubType","data","config","language","group"],"properties":{"name":{"description":"Name","type":"string","example":"custom_metadata"},"description":{"description":"Description","type":["string","null"],"example":"A predefined metadata"},"type":{"description":"Type","type":"string","example":"input"},"targetSubType":{"description":"Target sub type","type":["string","null"],"example":"image"},"data":{"description":"Data","type":["mixed","null"],"example":"data"},"config":{"description":"Config","type":["string","null"],"example":"config"},"language":{"description":"Language","type":["string","null"],"example":"en"},"group":{"description":"Group","type":["string","null"],"example":"group"}},"type":"object"},"UpdateSite":{"title":"Update Site","required":["mainDomain","domains","errorDocument","localizedErrorDocuments","redirectToMainDomain"],"properties":{"mainDomain":{"description":"Main domain","type":"string","example":"main_site"},"domains":{"description":"Domains","type":"array","items":{"type":"string"},"example":["other_domain"]},"errorDocument":{"description":"Error document","type":"string","example":"path\/to\/error\/document"},"localizedErrorDocuments":{"description":"Localized error documents","type":"object","example":{"en":"path\/to\/en\/error\/document","de":"path\/to\/de\/error\/document"}},"redirectToMainDomain":{"description":"Redirect to main domain","type":"boolean","example":false}},"type":"object"},"UpdateThumbnailConfig":{"title":"Update Thumbnail Config","required":["settings","medias","mediaOrder"],"properties":{"settings":{"description":"Thumbnail settings configuration","type":"object","example":{"description":"My thumbnail description","group":"Areas","format":"SOURCE","quality":95,"highResolution":0,"preserveColor":false,"forceProcessICCProfiles":false,"preserveMetaData":false,"rasterizeSVG":false,"preserveAnimation":false,"downloadable":false}},"medias":{"description":"Media configurations with transformation items","type":"object","example":{"default":[{"method":"scaleByWidth","arguments":{"width":1140,"forceResize":false}}]}},"mediaOrder":{"description":"Media configurations order","type":"object","example":{"default":0,"(max-width: 940px)":1}}},"type":"object"},"UpdateUnitParameters":{"title":"Update Unit Parameters","properties":{"abbreviation":{"description":"Abbreviation","type":["string","null"],"example":"mm"},"longname":{"description":"Long name","type":["string","null"],"example":"Millimeter"},"group":{"description":"Group","type":["string","null"],"example":"Length"},"baseunit":{"description":"Base unit ID","type":["string","null"],"example":"m"},"factor":{"description":"Conversion factor","type":["number","null"],"example":0.001},"conversionOffset":{"description":"Conversion offset","type":["number","null"],"example":null},"converter":{"description":"Converter service class","type":["string","null"],"example":null},"reference":{"description":"Reference","type":["string","null"],"example":null}},"type":"object"},"UpdateRole":{"title":"Update User Role","description":"Contains all information about a role that can be updated.","required":["name","classes","parentId","permissions","docTypes","websiteTranslationLanguagesEdit","websiteTranslationLanguagesView","assetWorkspaces","dataObjectWorkspaces","documentWorkspaces","perspectives"],"properties":{"name":{"description":"Name of Folder or Role","type":["string","null"],"example":"admin"},"classes":{"description":"Classes the user is allows to see","type":"object","example":["CAR"]},"parentId":{"description":"Parent ID","type":["integer","null"],"example":2},"permissions":{"description":"List of permissions for the user","type":"object","example":["objects","documents"]},"docTypes":{"description":"List of document types for the role","type":"object","example":["1","2"]},"websiteTranslationLanguagesEdit":{"type":"object","example":["de","en"]},"websiteTranslationLanguagesView":{"type":"object","example":["de"]},"assetWorkspaces":{"description":"Asset Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"dataObjectWorkspaces":{"description":"Data Object Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"documentWorkspaces":{"description":"Document Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"perspectives":{"description":"Allowed studio perspectives","type":"object","example":["studio_default_perspective","some_otherPerspective_Id"]}},"type":"object"},"UpdateCustomMetadata":{"title":"UpdateCustomMetadata","required":["name","language","type","data"],"properties":{"name":{"description":"Name","type":"string","example":"custom_metadata"},"language":{"description":"Language","type":"string","example":"en"},"type":{"description":"Type","type":"string","example":"input"},"data":{"description":"Data","type":["mixed","null"],"example":"data"}},"type":"object"},"UpdateCustomSettings":{"title":"UpdateCustomSettings","required":["key","value"],"properties":{"key":{"description":"Key","type":"string","example":"my_custom_setting_key"},"value":{"description":"Value","type":["mixed","null"],"example":"data"}},"type":"object"},"UpdateElementProperty":{"title":"UpdateDataProperty","required":["key","data","type","inheritable"],"properties":{"key":{"description":"key","type":"string","example":"Mister Proper"},"data":{"description":"data","type":["mixed","null"],"example":"123"},"type":{"description":"type","type":"string","example":"document"},"inheritable":{"description":"inheritable","type":"boolean","example":false}},"type":"object"},"UpdatePredefinedProperty":{"title":"UpdatePredefinedProperty","required":["name","key","type","ctype","inheritable"],"properties":{"name":{"description":"name","type":"string","example":"Mister Proper"},"description":{"description":"description","type":["string","null"],"example":"Detailed description of the property"},"key":{"description":"key","type":"string","example":"Key for referencing"},"type":{"description":"type","type":"string","example":"text"},"data":{"description":"data","type":["string","null"],"example":"test"},"config":{"description":"config","type":["string","null"],"example":"comma,separated,values"},"ctype":{"description":"ctype","type":"string","example":"document"},"inheritable":{"description":"inheritable","type":"boolean","example":false}},"type":"object"},"UpdateSchedule":{"title":"UpdateSchedule","required":["id","date","active"],"properties":{"id":{"description":"Id of schedule, if null a new one will be created","type":["integer","null"],"example":666},"date":{"description":"Date of schedule","type":"integer","example":1634025600},"action":{"description":"Action","type":["string","null"],"enum":["publish-version","publish","unpublish","delete"],"example":"publish-version"},"version":{"description":"Version ID","type":["integer","null"],"example":987},"active":{"description":"Active","type":"boolean","example":true}},"type":"object"},"UpdateVersion":{"title":"UpdateVersion","properties":{"public":{"description":"Public","type":["boolean","null"],"example":null},"note":{"description":"Note","type":["string","null"],"example":null}},"type":"object"},"UpdateUser":{"title":"User","description":"User Schema to update a User.","required":["email","firstname","lastname","admin","active","classes","docTypes","closeWarning","allowDirtyClose","contentLanguages","keyBindings","language","memorizeTabs","parentId","permissions","roles","twoFactorAuthenticationRequired","websiteTranslationLanguagesEdit","websiteTranslationLanguagesView","welcomeScreen","assetWorkspaces","dataObjectWorkspaces","documentWorkspaces","perspectives"],"properties":{"email":{"description":"Email of the User","type":["string","null"],"example":""},"firstname":{"description":"Firstname of the User","type":["string","null"],"example":""},"lastname":{"description":"Lastname of the User","type":["string","null"],"example":""},"admin":{"description":"If User is admin","type":"boolean","example":false},"active":{"description":"If User is active","type":"boolean","example":true},"classes":{"description":"Classes the user is allows to see","type":"object","example":["CAR"]},"docTypes":{"description":"Allowed Document types to create","type":"object","example":["3","5"]},"closeWarning":{"description":"Show Close Warning","type":"boolean","example":true},"allowDirtyClose":{"description":"Allow Dirty Close","type":"boolean","example":true},"contentLanguages":{"description":"List of available content Language already sorted.","type":"object","example":["de","en"]},"keyBindings":{"description":"Key Bindings","type":"array","items":{"$ref":"#\/components\/schemas\/KeyBinding"}},"language":{"description":"Language of the User","type":"string","example":"de"},"dateTimeLocale":{"description":"Date Time Locale for the User","type":"string","example":""},"memorizeTabs":{"description":"Memorize Tabs","type":"boolean","example":true},"parentId":{"description":"Parent ID","type":"integer","example":2},"permissions":{"description":"List of permissions for the user","type":"object","example":["objects","documents"]},"roles":{"description":"ID List of roles the user is assigned","type":"object","example":[12,14]},"twoFactorAuthenticationRequired":{"description":"Two Factor Authentication Enabled","type":"boolean","example":false},"websiteTranslationLanguagesEdit":{"description":"Website Translation Languages Edit","type":"object","example":["de","en"]},"websiteTranslationLanguagesView":{"description":"Website Translation Languages View","type":"object","example":["de"]},"welcomeScreen":{"description":"Show welcome Screen","type":"boolean","example":true},"assetWorkspaces":{"description":"Asset Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"dataObjectWorkspaces":{"description":"Data Object Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"documentWorkspaces":{"description":"Document Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"perspectives":{"description":"Allowed studio perspectives","type":"object","example":["studio_default_perspective","some_otherPerspective_Id"]}},"type":"object"},"User":{"title":"User","description":"Contains all information about a user","required":["id","name","email","firstname","lastname","active","admin","classes","docTypes","closeWarning","allowDirtyClose","contentLanguages","hasImage","keyBindings","language","memorizeTabs","parentId","permissions","roles","twoFactorAuthentication","websiteTranslationLanguagesEdit","websiteTranslationLanguagesView","welcomeScreen","assetWorkspaces","dataObjectWorkspaces","documentWorkspaces","objectDependencies","perspectives"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID of the User","type":"integer","example":"1"},"name":{"description":"Name of Folder or User","type":["string","null"],"example":"admin"},"email":{"description":"Email of the User","type":["string","null"],"example":""},"firstname":{"description":"Firstname of the User","type":["string","null"],"example":""},"lastname":{"description":"Lastname of the User","type":["string","null"],"example":""},"active":{"description":"If a User is active","type":"boolean","example":true},"admin":{"description":"If User is admin","type":"boolean","example":false},"classes":{"description":"Classes the user is allows to see","type":"object","example":["CAR"]},"docTypes":{"description":"Allowed doc types to create","type":"array","items":{"type":"string"}},"closeWarning":{"description":"Show close warning","type":"boolean","example":true},"allowDirtyClose":{"description":"Allow Dirty Close","type":"boolean","example":true},"contentLanguages":{"description":"List of available content Language already sorted.","type":"object","example":["de","en"]},"hasImage":{"description":"If User has an Image","type":"boolean","example":true},"keyBindings":{"description":"Key Bindings","type":"array","items":{"$ref":"#\/components\/schemas\/KeyBinding"}},"language":{"description":"Language of the User","type":"string","example":"de"},"dateTimeLocale":{"description":"Locale for dateTime","type":["string","null"],"example":""},"lastLogin":{"description":"Timestamp of the last login","type":["integer","null"],"example":"1718757677"},"memorizeTabs":{"description":"Memorize Tabs","type":"boolean","example":true},"parentId":{"description":"Parent ID","type":["integer","null"],"example":2},"permissions":{"description":"List of permissions for the user","type":"object","example":["objects","documents"]},"roles":{"description":"ID List of roles the user is assigned","type":"object","example":[12,14]},"twoFactorAuthentication":{"$ref":"#\/components\/schemas\/TwoFactorAuth","description":"Two Factor Authentication"},"websiteTranslationLanguagesEdit":{"description":"Website Translation Languages Edit","type":"object","example":["de","en"]},"websiteTranslationLanguagesView":{"description":"Website Translation Languages View","type":"object","example":["de"]},"welcomeScreen":{"description":"Show Welcome Screen","type":"boolean","example":true},"assetWorkspaces":{"description":"Asset Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserWorkspace"}},"dataObjectWorkspaces":{"description":"Data Object Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserDataObjectWorkspace"}},"documentWorkspaces":{"description":"Document Workspace","type":"array","items":{"$ref":"#\/components\/schemas\/UserDocumentWorkspace"}},"objectDependencies":{"$ref":"#\/components\/schemas\/ObjectDependencies","description":"Object Dependencies"},"perspectives":{"description":"Allowed studio perspectives","type":"array","items":{"$ref":"#\/components\/schemas\/PerspectiveConfig"}}},"type":"object"},"UserDataObjectWorkspace":{"title":"User Document Workspace","required":["save","unpublish"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/UserWorkspace"},{"properties":{"save":{"description":"Save","type":"boolean","example":true},"unpublish":{"description":"Unpublish","type":"boolean","example":true},"localizedEdit":{"description":"Localized Edit","type":["string","null"],"example":"default"},"localizedView":{"description":"Localized View","type":["string","null"],"example":"default"},"layouts":{"description":"Layouts","type":["string","null"],"example":"CAR"}},"type":"object"}]},"UserDocumentWorkspace":{"title":"User Document Workspace","required":["save","unpublish"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/UserWorkspace"},{"properties":{"save":{"description":"Save","type":"boolean","example":true},"unpublish":{"description":"Unpublish","type":"boolean","example":true}},"type":"object"}]},"UserInformation":{"title":"User Information","description":"Information about the user","required":["id","username","email","firstname","lastname","permissions","isAdmin","classes","docTypes","language","dateTimeLocale","welcomeScreen","memorizeTabs","allowDirtyClose","hasImage","contentLanguages","keyBindings","twoFactorAuthentication","activePerspective","perspectives","allowedLanguagesForEditingWebsiteTranslations","allowedLanguagesForViewingWebsiteTranslations"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"User ID","type":"integer","example":1},"username":{"description":"Username","type":"string","example":"admin"},"email":{"description":"Email","type":["string","null"],"example":""},"firstname":{"description":"Firstname","type":["string","null"],"example":""},"lastname":{"description":"Lastname","type":["string","null"],"example":""},"permissions":{"description":"Permissions","type":"array","items":{"type":"string","example":"clear_cache"}},"isAdmin":{"description":"If user is an admin user","type":"boolean","example":false},"classes":{"description":"Allowed classes to create","type":"array","items":{"type":"string"}},"docTypes":{"description":"Allowed doc types to create","type":"array","items":{"type":"string"}},"language":{"description":"User Language","type":"string","example":"en"},"dateTimeLocale":{"description":"Locale for dateTime","type":["string","null"],"example":""},"welcomeScreen":{"description":"Welcome Screen","type":"boolean","example":true},"memorizeTabs":{"description":"Memorize Tabs","type":"boolean","example":true},"allowDirtyClose":{"description":"Allow Dirty Close","type":"boolean","example":true},"hasImage":{"description":"Has Image","type":"boolean","example":true},"contentLanguages":{"description":"List of available content Language already sorted.","type":"object","example":["de","en"]},"allowedLanguagesForEditingWebsiteTranslations":{"description":"List of valid website Languages to edit.","type":"array","items":{"type":"string"},"example":["de","en"]},"allowedLanguagesForViewingWebsiteTranslations":{"description":"List of valid website Languages to view.","type":"array","items":{"type":"string"},"example":["de","en"]},"keyBindings":{"description":"Key Bindings","type":"array","items":{"$ref":"#\/components\/schemas\/KeyBinding"}},"twoFactorAuthentication":{"$ref":"#\/components\/schemas\/TwoFactorAuth","description":"Two Factor Authentication"},"activePerspective":{"description":"Active studio perspective ID","type":["string","null"],"example":"studio_default_perspective"},"perspectives":{"description":"Allowed studio perspectives","type":"array","items":{"$ref":"#\/components\/schemas\/PerspectiveConfig"}}},"type":"object"},"ObjectDependencies":{"title":"User Object Dependencies","description":"User Object Dependencies","required":["hasHidden","dependencies"],"properties":{"dependencies":{"description":"Dependencies to objects","type":"array","items":{"$ref":"#\/components\/schemas\/UserDependency"}},"hasHidden":{"description":"If is has hidden dependencies","type":"boolean","example":true}},"type":"object"},"UserPermission":{"title":"User Permission","description":"A permission for a user or role","required":["key","category"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key of the Permission","type":"string","example":"objects"},"category":{"description":"Category of the Permission","type":"string","example":"Datahub"}},"type":"object"},"UpdateUserProfile":{"title":"User Profile","description":"Schema to update a current User Profile.","required":["firstname","lastname","email","language","dateTimeLocale","welcomeScreen","memorizeTabs","contentLanguages","keyBindings"],"properties":{"firstname":{"description":"Firstname of the User","type":["string","null"],"example":""},"lastname":{"description":"Lastname of the User","type":["string","null"],"example":""},"email":{"description":"Email of the User","type":["string","null"],"example":""},"language":{"description":"Language of the User","type":"string","example":"de"},"dateTimeLocale":{"description":"Date Time Locale for the User","type":"string","example":""},"welcomeScreen":{"description":"Show Welcome Screen","type":"boolean","example":true},"memorizeTabs":{"description":"Memorize Tabs","type":"boolean","example":true},"contentLanguages":{"description":"List of available content Language already sorted.","type":"object","example":["de","en"]},"keyBindings":{"description":"Key Bindings","type":"array","items":{"$ref":"#\/components\/schemas\/KeyBinding"}}},"type":"object"},"UserWorkspace":{"title":"User Workspace","description":"Workspace of a user","required":["cid","cpath","list","view","publish","delete","rename","create","settings","versions","properties"],"properties":{"cid":{"description":"ID of the element","type":"integer","example":"1"},"cpath":{"description":"Path of the element","type":"string","example":"\/path\/to\/element"},"list":{"description":"List Permission","type":"boolean","example":true},"view":{"description":"View Permission","type":"boolean","example":true},"publish":{"description":"Publish Permission","type":"boolean","example":true},"delete":{"description":"Delete Permission","type":"boolean","example":true},"rename":{"description":"Rename Permission","type":"boolean","example":true},"create":{"description":"Create Permission","type":"boolean","example":true},"settings":{"description":"Settings Permission","type":"boolean","example":true},"versions":{"description":"Versions Permission","type":"boolean","example":true},"properties":{"description":"Properties Permission","type":"boolean","example":true}},"type":"object"},"Version":{"title":"Version","required":["id","cid","ctype","note","date","public","published","versionCount","autosave","user"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"version ID","type":"integer","example":2},"cid":{"description":"element ID","type":"integer","example":10},"ctype":{"description":"element type","type":"string","example":"object"},"note":{"description":"note","type":"string","example":"some note"},"date":{"description":"date","type":"integer","example":1712823182},"public":{"description":"public","type":"boolean","example":false},"published":{"description":"published","type":"boolean","example":false},"versionCount":{"description":"version count","type":"integer","example":10},"autosave":{"description":"autosave","type":"boolean","example":false},"user":{"$ref":"#\/components\/schemas\/VersionUser","description":"user"},"scheduled":{"description":"scheduled","type":["integer","null"],"example":null}},"type":"object"},"Dimensions":{"title":"VersionDimensions","properties":{"width":{"description":"width","type":["integer","null"],"example":1920},"height":{"description":"height","type":["integer","null"],"example":1080}},"type":"object"},"VersionUser":{"title":"VersionUser","properties":{"id":{"description":"ID","type":["integer","null"],"example":2},"name":{"description":"name","type":["string","null"],"example":"John Doe"}},"type":"object"},"Video":{"title":"Video","type":"object","allOf":[{"$ref":"#\/components\/schemas\/Asset"},{"properties":{"duration":{"description":"Duration","type":["number","null"],"format":"float","example":43560.5},"width":{"description":"Width","type":["integer","null"],"example":1920},"height":{"description":"Height","type":["integer","null"],"example":1080},"imageThumbnailPath":{"description":"Path to Image Thumbnail","type":["string","null"],"example":"\/path\/to\/video\/imagethumbnail.jpg"}},"type":"object"}]},"VideoThumbnailConfigDetail":{"title":"Video Thumbnail Config Detail","required":["settings","writeable","medias"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"settings":{"$ref":"#\/components\/schemas\/VideoThumbnailSettings","description":"Thumbnail settings"},"writeable":{"description":"Is configuration writeable","type":"boolean","example":true},"medias":{"description":"Media query configurations with transformation items","type":"object","example":{"default":[{"method":"scaleByHeight","arguments":{"height":300}}],"500K":[{"method":"scaleByHeight","arguments":{"height":500}}]}}},"type":"object"},"VideoThumbnailSettings":{"title":"Video Thumbnail Settings","required":["name","description","group","videoBitrate","audioBitrate","modificationDate","creationDate","filenameSuffix"],"properties":{"name":{"description":"Thumbnail name","type":"string","example":"content"},"description":{"description":"Thumbnail description","type":["string","null"],"example":"thumbnail for content videos"},"group":{"description":"Thumbnail group","type":["string","null"],"example":""},"videoBitrate":{"description":"Video bitrate in kbps","type":["integer","null"],"example":450},"audioBitrate":{"description":"Audio bitrate in kbps","type":["integer","null"],"example":128},"modificationDate":{"description":"Modification date timestamp","type":["integer","null"],"example":1769430880},"creationDate":{"description":"Creation date timestamp","type":["integer","null"],"example":1565353556},"filenameSuffix":{"description":"Filename suffix","type":["string","null"],"example":null}},"type":"object"},"VideoType":{"title":"Video Type","required":["key"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"key","type":"string","example":"image"}},"type":"object"},"WebsiteSetting":{"title":"Website Setting","required":["id","name","type","data"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"ID","type":"integer","example":1},"name":{"description":"Name","type":"string","example":"site_title"},"language":{"description":"Language","type":"string","example":"en"},"type":{"description":"Type","type":["string","null"],"example":"text"},"data":{"description":"Data","example":"Some text data","anyOf":[{"type":"string"},{"type":"boolean"},{"$ref":"#\/components\/schemas\/WebsiteSettingsObjectData"},{"type":"null"}]},"siteId":{"description":"Site ID","type":["integer","null"],"example":1},"creationDate":{"description":"Creation date","type":["integer","null"],"example":null},"modificationDate":{"description":"Modification date","type":["integer","null"],"example":null}},"type":"object"},"WebsiteSettingsAdd":{"title":"Website Settings Add","required":["name","type"],"properties":{"name":{"description":"Name","type":"string","example":"New Custom Setting"},"type":{"description":"Type","type":"string","example":"document"}},"type":"object"},"WebsiteSettingsObjectData":{"title":"Website Settings Object Data","required":["id","fullPath"],"properties":{"id":{"description":"element id","type":"integer","example":1020},"fullPath":{"description":"element fullPath","type":"string","example":"\/path\/to\/object"}},"type":"object"},"WebsiteSettingsType":{"title":"Website Settings Type","required":["key","title"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"key":{"description":"Key","type":"string","example":"boolean"},"title":{"description":"Title","type":"string","example":"Checkbox"}},"type":"object"},"WebsiteSettingsUpdate":{"title":"Website Settings Update","required":["name","language","data","siteId"],"properties":{"name":{"description":"Name","type":"string","example":"Updated Setting Title"},"language":{"description":"Language","type":"string","example":"en"},"data":{"description":"Data","example":"{\u0022id\u0022: 136,\u0022fullPath\u0022: \u0022\/de\u0022}","anyOf":[{"type":"string"},{"type":"boolean"},{"$ref":"#\/components\/schemas\/WebsiteSettingsObjectData"},{"type":"null"}]},"siteId":{"description":"Site ID","type":["integer","null"],"example":1}},"type":"object"},"WidgetConfig":{"title":"Widget Config","required":["id","name","widgetType","icon","onlyWrapper"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"Widget ID","type":"string","example":"5026c239_eb75_499a_8576_841bca283350"},"name":{"description":"Name","type":"string","example":"Cars"},"widgetType":{"description":"Widget Type","type":"string","example":"element_trees"},"icon":{"$ref":"#\/components\/schemas\/ElementIcon","description":"Icon"},"onlyWrapper":{"description":"If widget is only wrapper of another configuration","type":"boolean","example":false}},"type":"object"},"WidgetType":{"title":"WidgetType","required":["id"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"id":{"description":"id","type":"string","example":"info"}},"type":"object"},"WorkflowDetails":{"title":"WorkflowDetails","required":["workflowName","workflowLabel","workflowStatus","graph","workflowLayoutId","allowedTransitions","globalActions"],"properties":{"additionalAttributes":{"description":"AdditionalAttributes","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}},"workflowName":{"description":"workflowName","type":"string","example":"simple_asset"},"workflowLabel":{"description":"workflowLabel","type":"string","example":"Sample Asset Workflow"},"workflowStatus":{"description":"workflowStatus","type":"array","items":{"$ref":"#\/components\/schemas\/WorkflowStatus"}},"graph":{"description":"graph","type":"string","example":"\u003Csvg\u003E...\u003C\/svg\u003E"},"workflowLayoutId":{"description":"workflowLayoutId","type":["string","null"],"example":"someWorkflowLayoutId"},"allowedTransitions":{"description":"allowedTransitions","type":"array","items":{"$ref":"#\/components\/schemas\/AllowedTransition"}},"globalActions":{"description":"globalActions","type":"array","items":{"$ref":"#\/components\/schemas\/GlobalAction"}}},"type":"object"},"WorkflowStatus":{"title":"WorkflowStatus","required":["color","colorInverted","title","label","layoutId","visibleInDetail"],"properties":{"color":{"description":"color","type":"string","example":"#3572b0"},"colorInverted":{"description":"colorInverted","type":"boolean","example":false},"title":{"description":"borderColor","type":"string","example":"#ffa500"},"label":{"description":"label","type":"string","example":"Edit Images"},"layoutId":{"description":"layoutId","type":["string","null"],"example":"someStatusLayoutId"},"visibleInDetail":{"description":"visibleInDetail","type":"boolean","example":true}},"type":"object"},"WysiwygWidgetConfig":{"title":"Wysiwyg Widget Config","required":["color","wysiwyg","isWriteable"],"type":"object","allOf":[{"$ref":"#\/components\/schemas\/DashboardsWidgetConfig"},{"properties":{"color":{"description":"Widget Color","type":"string","example":"#FF5733"},"wysiwyg":{"description":"Wysiwyg Content","type":["string","null"],"example":"\u003Cp\u003EHello World\u003C\/p\u003E"},"isWriteable":{"description":"Is Writeable","type":"boolean","example":true}},"type":"object"}]}}},"tags":[{"name":"Assets","description":"Asset operations to get\/update\/create\/delete assets"},{"name":"Asset Grid","description":"Asset Grid operations"},{"name":"Asset Thumbnails","description":"List thumbnails for assets like videos and images"},{"name":"Authorization","description":"Session-based login via username and password or logout and invalidate the session"},{"name":"Class Definition","description":"Class definition operations"},{"name":"Classification Store","description":"Classification store operations"},{"name":"Data Objects","description":"DataObject operations to get\/update\/create\/delete data objects"},{"name":"Data Object Grid","description":"DataObject Grid operations"},{"name":"Dependencies","description":"Get dependencies for a single element"},{"name":"Documents","description":"Document operations to get\/update\/create\/delete documents"},{"name":"Elements","description":"Get element properties for a single element based on its type and provided parameters"},{"name":"Execution Engine","description":"Execution engine operations related to job runs"},{"name":"E-Mails","description":"E-mail operations to get\/update\/create\/delete\/test emails and E-mail blocklist"},{"name":"Export","description":"Export"},{"name":"GDPR Data Extractor","description":"All operations related to GDPR data search and export."},{"name":"Mercure","description":"Retrieve JWT token for Mercure hub as cookie"},{"name":"Metadata","description":"Metadata operations to get\/update\/create\/delete metadata"},{"name":"Notes","description":"Note operations to list\/delete notes"},{"name":"Notifications","description":"Notification operations to get\/delete\/send notifications"},{"name":"Perspectives","description":"Operations to get\/update\/create\/delete properties and widgets"},{"name":"Properties","description":"Property operations to get\/update\/create\/delete properties"},{"name":"Recycle Bin","description":"Recycle bin operations to list\/restore\/flush deleted elements"},{"name":"Role Management","description":"Role Management operations"},{"name":"Schedule","description":"Get schedules for an element"},{"name":"Search","description":"Operations to get search configuration, search elements and get search result previews"},{"name":"Settings","description":"Get System Settings"},{"name":"Tags","description":"Tag operations to get\/list\/create\/update\/delete tags"},{"name":"Tags for Element","description":"Tag operations to get tags for an element"},{"name":"Translation","description":"Get translations either for a single key or multiple keys"},{"name":"Units","description":"Units operations like convert and get all units"},{"name":"User Management","description":"User Management operations"},{"name":"Versions","description":"Versions operations to get\/list\/publish\/delete and cleanup versions"},{"name":"Website Settings","description":"Website settings operations to list\/update\/create\/delete website settings"},{"name":"Workflows","description":"Workflows operations to get element workflow details"},{"name":"Settings Admin","description":"Settings Admin"},{"name":"Bundle Application Logger","description":"Application logger operations to list\/get log entries"},{"name":"Bundle Asset Metadata Class Definitions","description":"Get\/update\/delete configs and metadata"},{"name":"Bundle Backend Power Tools","description":"Operations related to the Backend Power Tools Bundle"},{"name":"Bundle Copilot","description":"Operations related to the Copilot Bundle"},{"name":"Bundle Custom Reports","description":"Custom reports bundle operations to e.g. list reports and their configurations"},{"name":"Bundle Data Hub","description":"Operations related to Data Hub Bundle"},{"name":"Bundle Data Quality Management","description":"Operations related to the Data Quality Management Bundle"},{"name":"Bundle Enterprise Subscription Tools","description":"Enterprise Subscription Tools"},{"name":"Bundle Personalization","description":"Operations related to the Personalization Bundle"},{"name":"Bundle Portal Engine","description":"Portal Engine Bundle"},{"name":"Bundle Seo","description":"Seo bundle related operations (e.g. add\/remove\/list redirects)"},{"name":"Bundle Statistics Explorer","description":"Operations related to Statistics Explorer Bundle"},{"name":"Bundle Studio Dashboards","description":"Operations related to the Studio Dashboards Bundle"},{"name":"Bundle Web To Print","description":"Operations related to the Web to Print Bundle"}]}
\ No newline at end of file
+{
+ "openapi": "3.1.0",
+ "info": {
+ "title": "Studio Backend API",
+ "description": "API for Studio generated by OpenApi Generator via zircote/swagger-php",
+ "license": {
+ "name": "Pimcore Open Core License (POCL)",
+ "url": "https://github.com/pimcore/pimcore/blob/12.x/LICENSE.md"
+ },
+ "version": "2025.4"
+ },
+ "servers": [
+ {
+ "url": "/",
+ "description": "Pimcore Studio Backend API"
+ }
+ ],
+ "paths": {
+ "/pimcore-studio/api/assets/types": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get all asset types",
+ "description": "Retrieves all available asset types in the system.\n",
+ "operationId": "asset_get_types",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved all available asset types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AssetType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/batch-delete": {
+ "delete": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Batch delete assets by IDs",
+ "description": "Batch delete assets based on the given {ids} . The {ids} must be a list of IDs of existing assets. \nDeletion is done asynchronously and the jobRun ID is returned in the response\n",
+ "operationId": "asset_batch_delete",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for batch delete",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/clone/{parentId}": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Clone a specific asset",
+ "description": "Clones a specific asset with the given {id} . The {parentId} must be a folder\n",
+ "operationId": "asset_clone",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully copied asset"
+ },
+ "201": {
+ "description": "Successfully copied parent asset and created jobRun for copying child assets",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/custom-settings": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get custom settings of an asset by ID",
+ "description": "Retrieves custom settings based on the given {id} . The {id} must be an ID of existing asset\n",
+ "operationId": "asset_custom_settings_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved custom settings as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "$ref": "#/components/schemas/CustomSettings"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/text": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get asset data in text UTF8 representation by ID",
+ "description": "Retrieves the text data in UTF8 representation of the asset based on the given {id} . The {id} must be an ID of existing asset.\n",
+ "operationId": "asset_get_text_data_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved UTF8 encoded text data of asset",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "UTF 8 encoded text data",
+ "type": "string",
+ "example": "Test content"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/download/custom": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download custom document image by ID and configuration",
+ "description": "Download the custom document image based on the provided {id} and configuration parameters. \nThe {id} must be an ID of existing asset document\n",
+ "operationId": "asset_document_download_custom",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "mimeType",
+ "in": "query",
+ "description": "Mime type of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "JPEG",
+ "PNG"
+ ],
+ "example": "JPEG"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page of the document",
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "resizeMode",
+ "in": "query",
+ "description": "Resize mode of downloaded image.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "resize",
+ "scaleByWidth",
+ "scaleByHeight"
+ ],
+ "example": "scaleByWidth"
+ }
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "quality",
+ "in": "query",
+ "description": "Quality of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 80
+ }
+ },
+ {
+ "name": "dpi",
+ "in": "query",
+ "description": "Dpi of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 300
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom document image binary file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/jpeg": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "image/png": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/stream/custom": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream custom document image by ID and configuration",
+ "description": "Stream the custom document image based on the provided {id} and configuration parameters. \nThe {id} must be an ID of existing asset document\n",
+ "operationId": "asset_document_stream_custom",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "mimeType",
+ "in": "query",
+ "description": "Mime type of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "JPEG",
+ "PNG"
+ ],
+ "example": "JPEG"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page of the document",
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "resizeMode",
+ "in": "query",
+ "description": "Resize mode of downloaded image.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "resize",
+ "scaleByWidth",
+ "scaleByHeight"
+ ],
+ "example": "scaleByWidth"
+ }
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "quality",
+ "in": "query",
+ "description": "Quality of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 80
+ }
+ },
+ {
+ "name": "dpi",
+ "in": "query",
+ "description": "Dpi of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 300
+ }
+ },
+ {
+ "name": "cropPercent",
+ "in": "query",
+ "description": "",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cropWidth",
+ "in": "query",
+ "description": "CropWidth of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropHeight",
+ "in": "query",
+ "description": "CropHeight of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropTop",
+ "in": "query",
+ "description": "CropTop of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropLeft",
+ "in": "query",
+ "description": "CropLeft of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom document image stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/jpeg": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "image/png": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/stream/dynamic": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream document image by ID and dynamic configuration",
+ "description": "Stream the custom image based on the provided {id} and dynamic config data. \nThe {id} must be an ID of existing asset document\n",
+ "operationId": "asset_document_stream_dynamic",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "config",
+ "in": "query",
+ "description": "A JSON encoded thumbnail configuration.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "{\"alt\": \"\",\"cropPercent\": false,\"cropWidth\": 0,\"cropHeight\": 0,\"cropTop\": 0,\"cropLeft\": 0,\"thumbnail\": {\"width\": 200,\"height\": 200,\"interlace\": true,\"quality\": 90}}"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Document image stream based on dynamic thumbnail configuration",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/stream/pdf-preview": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream asset document PDF preview by ID",
+ "description": "Stream asset document PDF preview based on the provided {id} . The {id} must be an ID of existing asset document\n",
+ "operationId": "asset_document_stream_preview",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Asset PDF preview stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "202 - Not Completed 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/download/thumbnail/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download document image by ID and thumbnail name",
+ "description": "Download the asset document based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset document \nList of downloadable thumbnail names can be obtained via the thumbnail image collection endpoint\n",
+ "operationId": "asset_document_download_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page of the document",
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Document image binary file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/document/stream/thumbnail/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream document image by ID and thumbnail name",
+ "description": "Stream the asset document based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset document\n",
+ "operationId": "asset_document_stream_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page of the document",
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ },
+ {
+ "name": "cropPercent",
+ "in": "query",
+ "description": "",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cropWidth",
+ "in": "query",
+ "description": "CropWidth of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropHeight",
+ "in": "query",
+ "description": "CropHeight of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropTop",
+ "in": "query",
+ "description": "CropTop of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropLeft",
+ "in": "query",
+ "description": "CropLeft of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stream of document image",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/download/zip/{jobRunId}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download ZIP archive for assets",
+ "description": "Download the ZIP archive with assets based on the given {jobRunId} returned in the response of the create zip endpoint\n",
+ "operationId": "asset_download_zip",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ZIP archive as attachment",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/zip": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Delete asset ZIP file based on jobRunId",
+ "description": "Delete the ZIP file with given {jobRunId} returned in the response of the create zip endpoint\n",
+ "operationId": "asset_delete_zip",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/download": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download asset by ID",
+ "description": "Download the original asset stream based on the provided {id} \n",
+ "operationId": "asset_download_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Original asset binary file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/export/zip/asset": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Creating ZIP file for assets",
+ "description": "Creating a ZIP file for assets based on the provided asset IDs in {assets} parameter. \nDownload has to be triggered separately via the zip download route with the {jobRunId} returned in the response\n",
+ "operationId": "asset_export_zip_asset",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "assets": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for zip export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 413 - Max File Size Exceeded 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/export/zip/folder": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Creating ZIP file assets based on folder",
+ "description": "Creating a ZIP file for assets based on the provided folder IDs in {folders} parameter. \nFilter assets from folder based on the grid filter schema. \nDownload has to be triggered separately via the zip download route with the {jobRunId} returned in the response\n",
+ "operationId": "asset_export_zip_folder",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "folders": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 83
+ ]
+ },
+ "filters": {
+ "$ref": "#/components/schemas/ExportAllFilter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for zip export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 413 - Max File Size Exceeded 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get asset by ID",
+ "description": "Retrieves a specific asset data based on the given {id} . The {id} must be an ID of existing asset.\n",
+ "operationId": "asset_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved one of asset type data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Image"
+ },
+ {
+ "$ref": "#/components/schemas/AssetDocument"
+ },
+ {
+ "$ref": "#/components/schemas/Audio"
+ },
+ {
+ "$ref": "#/components/schemas/Video"
+ },
+ {
+ "$ref": "#/components/schemas/Archive"
+ },
+ {
+ "$ref": "#/components/schemas/Text"
+ },
+ {
+ "$ref": "#/components/schemas/AssetFolder"
+ },
+ {
+ "$ref": "#/components/schemas/Unknown"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Update an asset by ID",
+ "description": "Update needs to have the complete data present. You can create/update/delete list entries like metadata, custom settings and properties. E.g. if you want to remove an entry from metadata simply do not include this entry in the update. If you want to update only a single field, use the PATCH method.\n",
+ "operationId": "asset_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "data": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "metadata": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/UpdateCustomMetadata"
+ }
+ },
+ "customSettings": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/UpdateCustomSettings"
+ }
+ },
+ "properties": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/UpdateElementProperty"
+ }
+ },
+ "image": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ImageData"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "One of asset types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Image"
+ },
+ {
+ "$ref": "#/components/schemas/AssetDocument"
+ },
+ {
+ "$ref": "#/components/schemas/Audio"
+ },
+ {
+ "$ref": "#/components/schemas/Video"
+ },
+ {
+ "$ref": "#/components/schemas/Archive"
+ },
+ {
+ "$ref": "#/components/schemas/Text"
+ },
+ {
+ "$ref": "#/components/schemas/AssetFolder"
+ },
+ {
+ "$ref": "#/components/schemas/Unknown"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/{configurationId}/delete": {
+ "delete": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Delete grid configuration for a specific folder and given configuration ID",
+ "description": "Delete grid configuration for a specific folder and given configuration ID {configurationId} \n",
+ "operationId": "asset_delete_grid_configuration_by_configurationId",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/available-columns": {
+ "get": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Get available grid column configurations",
+ "description": "Get all available grid columns for assets\n",
+ "operationId": "asset_get_available_grid_columns",
+ "responses": {
+ "200": {
+ "description": "All available grid column configurations for assets",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnConfiguration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/{folderId}": {
+ "get": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Get asset grid configuration for a specific folder",
+ "description": "Get asset saved grid configuration by {folderId} if a configuration-id is set, otherwise get the default configuration will be returned.\n",
+ "operationId": "asset_get_grid_configuration_by_folderId",
+ "parameters": [
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "configurationId",
+ "in": "query",
+ "description": "Configuration ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Asset grid configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configurations": {
+ "get": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Get all saved grid configurations for assets of the given folder",
+ "description": "Get all saved grid configurations for assets of the given folder for the current user and shared configurations for this user\n",
+ "operationId": "asset_get_saved_grid_configurations",
+ "responses": {
+ "200": {
+ "description": "List of saved grid configurations for the given folder",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Configuration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/remove-favorite/{configurationId}/{folderId}": {
+ "delete": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Remove asset grid configuration as favorite for a specific folder",
+ "description": "Remove asset grid configuration as favorite for the current user for a specific folder\n",
+ "operationId": "asset_remove_grid_configuration_as_favorite",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the folderId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Asset grid configuration removed as favorite successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/save": {
+ "post": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Save asset grid configuration for a specific folder\n",
+ "description": "Save asset grid configuration for a specific folder\n",
+ "operationId": "asset_save_grid_configuration",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId",
+ "pageSize",
+ "name",
+ "description",
+ "columns"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "shareGlobal": {
+ "type": "boolean",
+ "example": true
+ },
+ "setAsFavorite": {
+ "type": "boolean",
+ "example": true
+ },
+ "saveFilter": {
+ "type": "boolean",
+ "example": true
+ },
+ "sharedUsers": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "sharedRoles": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSchema"
+ }
+ },
+ "filter": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Filter"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Asset grid configuration saved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Configuration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/set-as-favorite/{configurationId}/{folderId}": {
+ "post": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Set asset grid configuration as favorite for a specific folder",
+ "description": "Set asset grid configuration as favorite for the current user for a specific folder\n",
+ "operationId": "asset_set_grid_configuration_as_favorite",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the folderId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Asset grid configuration set as favorite successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid/configuration/update/{configurationId}": {
+ "put": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Update asset grid configuration for a specific folder",
+ "description": "Update asset grid configuration for a specific folder and given configuration ID {configurationId} \n",
+ "operationId": "asset_update_grid_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId",
+ "pageSize",
+ "name",
+ "description",
+ "columns"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "shareGlobal": {
+ "type": "boolean",
+ "example": true
+ },
+ "setAsFavorite": {
+ "type": "boolean",
+ "example": true
+ },
+ "saveFilter": {
+ "type": "boolean",
+ "example": true
+ },
+ "sharedUsers": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "sharedRoles": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSchema"
+ }
+ },
+ "filter": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Filter"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Asset grid configuration updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/grid": {
+ "post": {
+ "tags": [
+ "Asset Grid"
+ ],
+ "summary": "Get asset data for grid",
+ "description": "Retrieve assets data for grid. \nYou can use different query parameters to filter the asset data: \n
\nfolderId : ID of parent folder \ncolumns : To see the full description of request fields see the schema Grid Column Request \nfilters : To see the full description of request fields see the schema Grid Filter \n \n",
+ "operationId": "asset_get_grid",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Asset grid data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "required": [
+ "id",
+ "columns",
+ "isLocked",
+ "permissions"
+ ],
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/download/custom": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download custom image by ID and configuration",
+ "description": "Download the custom image based on the provided {id} and configuration parameters. \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_download_custom",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "mimeType",
+ "in": "query",
+ "description": "Mime type of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "JPEG",
+ "PNG"
+ ],
+ "example": "JPEG"
+ }
+ },
+ {
+ "name": "resizeMode",
+ "in": "query",
+ "description": "Resize mode of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "resize",
+ "scaleByWidth",
+ "scaleByHeight"
+ ],
+ "example": "scaleByWidth"
+ }
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "quality",
+ "in": "query",
+ "description": "Quality of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 80
+ }
+ },
+ {
+ "name": "dpi",
+ "in": "query",
+ "description": "Dpi of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 300
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom image binary file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/jpeg": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "image/png": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/stream/custom": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream custom image thumbnail by ID and configuration",
+ "description": "Stream image asset thumbnail based on the provided {id} and configuration parameters. \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_stream_custom",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "mimeType",
+ "in": "query",
+ "description": "Mime type of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "JPEG",
+ "PNG"
+ ],
+ "example": "PNG"
+ }
+ },
+ {
+ "name": "resizeMode",
+ "in": "query",
+ "description": "Resize mode of downloaded image.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "scaleByHeight",
+ "scaleByWidth",
+ "resize",
+ "none"
+ ],
+ "example": "none"
+ }
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 140
+ }
+ },
+ {
+ "name": "quality",
+ "in": "query",
+ "description": "Quality of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 85
+ }
+ },
+ {
+ "name": "dpi",
+ "in": "query",
+ "description": "Dpi of downloaded image",
+ "schema": {
+ "type": "integer",
+ "example": 72
+ }
+ },
+ {
+ "name": "contain",
+ "in": "query",
+ "description": "Contain",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "frame",
+ "in": "query",
+ "description": "Frame",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cover",
+ "in": "query",
+ "description": "Cover",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "forceResize",
+ "in": "query",
+ "description": "Force resize",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cropPercent",
+ "in": "query",
+ "description": "",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cropWidth",
+ "in": "query",
+ "description": "CropWidth of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropHeight",
+ "in": "query",
+ "description": "CropHeight of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropTop",
+ "in": "query",
+ "description": "CropTop of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropLeft",
+ "in": "query",
+ "description": "CropLeft of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image asset stream based on custom thumbnail configuration",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/stream/dynamic": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream image thumbnail by ID and dynamic configuration",
+ "description": "Stream image asset thumbnail based on the provided {id} and dynamic config data. \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_stream_dynamic",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "config",
+ "in": "query",
+ "description": "A JSON encoded thumbnail configuration.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "{\"alt\": \"\",\"cropPercent\": false,\"cropWidth\": 0,\"cropHeight\": 0,\"cropTop\": 0,\"cropLeft\": 0,\"thumbnail\": {\"width\": 200,\"height\": 200,\"interlace\": true,\"quality\": 90}}"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image asset stream based on dynamic thumbnail configuration",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/download/format/{format}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download image asset by ID and format",
+ "description": "Download image asset by ID and format. The {id} must be an ID of existing asset image. List of available formats can be obtained via the thumbnail image collection endpoint",
+ "operationId": "asset_image_download_by_format",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "format",
+ "in": "path",
+ "description": "Find asset by matching format type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "office",
+ "print",
+ "web"
+ ],
+ "example": "web"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image asset binary file based on format",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/jpeg": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/stream/preview": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream image asset preview by ID",
+ "description": "Stream image asset preview based on the provided {id} . \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_stream_preview",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image preview stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/stream": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream original image asset by ID",
+ "description": "Stream original image asset based on the provided {id} . \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_stream",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stream of an original image asset",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/download/thumbnail/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download image asset by ID and thumbnail name",
+ "description": "Download the image asset based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset image \nList of downloadable thumbnail names can be obtained via the thumbnail image collection endpoint\n",
+ "operationId": "asset_image_download_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image asset binary file based on thumbnail name",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/image/stream/thumbnail/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream image asset by ID and thumbnail name",
+ "description": "Stream the image asset based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset image\n",
+ "operationId": "asset_image_stream_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the image",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ },
+ {
+ "name": "cropPercent",
+ "in": "query",
+ "description": "",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "cropWidth",
+ "in": "query",
+ "description": "CropWidth of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropHeight",
+ "in": "query",
+ "description": "CropHeight of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropTop",
+ "in": "query",
+ "description": "CropTop of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "cropLeft",
+ "in": "query",
+ "description": "CropLeft of image thumbnail",
+ "schema": {
+ "type": "number",
+ "format": "float",
+ "example": 0
+ }
+ },
+ {
+ "name": "mimeType",
+ "in": "query",
+ "description": "Mime type of steamed image.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "JPEG",
+ "PNG",
+ "source",
+ "original",
+ "print"
+ ],
+ "example": "JPEG"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stream of image asset based on thumbnail name",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets": {
+ "patch": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Patch assets by ID",
+ "description": "Patching assets based on the given ID and data. Patching can be used for updating single or multiple fields. If single element is being patched, operation is executed synchronously. Multiple elements are patched asynchronously.\n",
+ "operationId": "asset_patch_by_id",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "Asset ID",
+ "type": "integer",
+ "example": 83
+ },
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "metadata": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/PatchCustomMetadata"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully patched asset"
+ },
+ "201": {
+ "description": "Successfully created jobRun for patching multiple assets",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/folder/{id}": {
+ "patch": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Patch all assets based on folder ID and filters",
+ "description": "Patching assets based on the given folder ID and data. Patching on folder will be done asynchronously. \nYou can also use filters and sorting. Filter assets from folder based on the grid filter schema\n",
+ "operationId": "asset_patch_folder_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "metadata": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/PatchCustomMetadata"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "filters": {
+ "$ref": "#/components/schemas/ExportAllFilter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for patching multiple assets",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/thumbnail/clear": {
+ "delete": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Clear image thumbnail by ID",
+ "description": "Clear the image thumbnail based on the provided {id} . \nThe {id} must be an ID of an existing asset image, video or pdf\n",
+ "operationId": "asset_clear_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/tree": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get all asset data for the tree",
+ "description": "Listing of all assets and asset folders in the system. \nReturns only data which are relevant for the tree \nYou can use different query parameters to filter the assets and it is possible to exclude folders from the result completely\n",
+ "operationId": "asset_get_tree",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter assets by parent id.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "idSearchTerm",
+ "in": "query",
+ "description": "Filter assets/data-objects by matching ids. As a wildcard * can be used",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": 83
+ }
+ },
+ {
+ "name": "pqlQuery",
+ "in": "query",
+ "description": "Pql query filter",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "id = 69"
+ }
+ },
+ {
+ "name": "excludeFolders",
+ "in": "query",
+ "description": "Filter folders from result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Filter by path.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "/path/to/folder"
+ }
+ },
+ {
+ "name": "pathIncludeParent",
+ "in": "query",
+ "description": "Include the parent item in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "pathIncludeDescendants",
+ "in": "query",
+ "description": "Include all descendants in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "asset_get_tree_success_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Image"
+ },
+ {
+ "$ref": "#/components/schemas/AssetDocument"
+ },
+ {
+ "$ref": "#/components/schemas/Audio"
+ },
+ {
+ "$ref": "#/components/schemas/Video"
+ },
+ {
+ "$ref": "#/components/schemas/Archive"
+ },
+ {
+ "$ref": "#/components/schemas/Text"
+ },
+ {
+ "$ref": "#/components/schemas/AssetFolder"
+ },
+ {
+ "$ref": "#/components/schemas/Unknown"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/add/{parentId}": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Add a new asset",
+ "description": "Add a new asset based on the binary {file} to the given {parentId} . \nThe {parentId} must be an ID of existing folder.\n",
+ "operationId": "asset_add",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "File to upload",
+ "type": "string",
+ "format": "binary"
+ },
+ "assetType": {
+ "description": "Type of the asset to create",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of successfully uploaded new asset",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of created asset",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/exists/{parentId}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get information if asset already exists",
+ "description": "Get information if asset already exists based on the given {parentId} and {fileName} query parameter.\n",
+ "operationId": "asset_upload_info",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "fileName",
+ "in": "query",
+ "description": "Name of the file to upload",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "file.jpg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns true and existing asset ID, if asset with the same name and in the same path already exists, false otherwise",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetUploadInfo"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/replace": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Replace existing asset binary",
+ "description": "Replace the existing asset binary based on the given {id} with the provided {file} binary. \nThe new asset binary mime type must be the same as the existing asset binary mime type.\n",
+ "operationId": "asset_replace",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "File to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "File name of the successfully replaced asset",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "new file name of the asset",
+ "type": "string",
+ "example": "image.jpg"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/add-zip/{parentId}": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Add new assets via ZIP archive",
+ "description": "Upload a ZIP archive with assets to the given {parentId} . The {parentId} must be an ID of existing folder.\nZip archive is extracted and assets are uploaded on the background. The jobRun ID is returned in the response\n",
+ "operationId": "asset_upload_zip",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "zipFile"
+ ],
+ "properties": {
+ "zipFile": {
+ "description": "Zip file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun ID to upload multiple assets",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/video/stream/image-thumbnail": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream video image thumbnail by ID and configuration",
+ "description": "Stream the video image thumbnail based on the provided {id} and configuration parameters. \nThe {id} must be an ID of existing asset video \n",
+ "operationId": "asset_video_image_thumbnail_stream",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the video",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of the video image thumbnail",
+ "schema": {
+ "type": "integer",
+ "example": 265
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of the video image thumbnail",
+ "schema": {
+ "type": "integer",
+ "example": 265
+ }
+ },
+ {
+ "name": "aspectRatio",
+ "in": "query",
+ "description": "Aspect ratio of the video image thumbnail",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "frame",
+ "in": "query",
+ "description": "Frame of the video image thumbnail",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "async",
+ "in": "query",
+ "description": "Generate the asset asynchronously",
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Video image thumbnail stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/video/download/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Download video asset by ID and thumbnail name",
+ "description": "Download the video asset based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset video \nList of thumbnail names can be obtained via the thumbnail video collection endpoint\n",
+ "operationId": "asset_video_download_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the video",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Video binary file based on thumbnail name",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "video/mp4": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/video/stream/{thumbnailName}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Stream video asset by ID and thumbnail name",
+ "description": "Stream the video asset based on the provided {id} and {thumbnailName} . \nThe {id} must be an ID of existing asset video \nList of thumbnail names can be obtained via the thumbnail video collection endpoint\n",
+ "operationId": "asset_video_stream_by_thumbnail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the video",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "thumbnailName",
+ "in": "path",
+ "description": "Find asset by matching thumbnail name.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore-system-treepreview"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Video stream based on thumbnail name",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "video/mp4": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/video/types": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "summary": "Get all video types",
+ "description": "Retrieves all available video types in the system.\n",
+ "operationId": "asset_get_video_types",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved all available video types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VideoType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/login": {
+ "post": {
+ "tags": [
+ "Authorization"
+ ],
+ "summary": "Session-based login with user credentials.",
+ "description": "Logs in a user with the provided credentials and returns the user information.",
+ "operationId": "login",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Credentials"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Login successful."
+ },
+ "401": {
+ "description": "Invalid credentials Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidCredentials"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/logout": {
+ "post": {
+ "tags": [
+ "Authorization"
+ ],
+ "summary": "Logout and invalidate current session for active user.",
+ "description": "Logout and invalidate current session for active user.",
+ "operationId": "logout",
+ "responses": {
+ "200": {
+ "description": "Logout successful."
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/login/token": {
+ "post": {
+ "tags": [
+ "Authorization"
+ ],
+ "summary": "Session-based login with user token.",
+ "description": "Logs in a user based on the provided token and returns the user information.\n",
+ "operationId": "login_token",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AuthenticationToken"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Login successful."
+ },
+ "401": {
+ "description": "Invalid credentials Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidCredentials"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/application-logger/list": {
+ "post": {
+ "tags": [
+ "Bundle Application Logger"
+ ],
+ "summary": "Get all log entries",
+ "description": "Get all paginated log entries. \nYou can specify different filters in your request body. Available filters are: \n\n \n like and equals : Filter by key and value. Allowed keys:\n \n priority \n component \n relatedobject \n message \n pid \n \n \n dateFrom and dateTo : Filter by date (from, to) \n page : Used for offset calculation in pagination. To be used, needs to be defined together with the pageSize \n pageSize : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n \n",
+ "operationId": "bundle_application_logger_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"dateFrom\",\"type\":\"date\",\"filterValue\":{\"operator\": \"from\", \"value\": \"2025-06-25T10:00:00+02:00\"}},{\"key\":\"dateTo\",\"type\":\"date\",\"filterValue\":{\"operator\": \"to\", \"value\": \"2025-06-30T24:00:00+02:00\"}},{\"key\":\"priority\", \"type\":\"equals\", \"filterValue\": 2},{\"key\":\"pid\", \"type\":\"like\", \"filterValue\": 44}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"id\", \"direction\":\"DESC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated log entries with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleApplicationLoggerLogEntry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/application-logger/components": {
+ "get": {
+ "tags": [
+ "Bundle Application Logger"
+ ],
+ "summary": "List application logger components",
+ "description": "List all available components used for filtering for the application logger.\n",
+ "operationId": "bundle_application_logger_list_components",
+ "responses": {
+ "200": {
+ "description": "List of available components",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "title": "Components",
+ "description": "Log components used in the ApplicationLogger.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "application"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/application-logger/priorities": {
+ "get": {
+ "tags": [
+ "Bundle Application Logger"
+ ],
+ "summary": "List application logger priorities",
+ "description": "List all available priorities for the application logger.\n",
+ "operationId": "bundle_application_logger_list_priorities",
+ "responses": {
+ "200": {
+ "description": "List of available priorities",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "priorities"
+ ],
+ "properties": {
+ "priorities": {
+ "title": "Log priority levels",
+ "description": "Log priority levels used in the ApplicationLogger.",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/drill-down-options": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Get all drill down options for a specific report by name and field",
+ "description": "Get all drill down options for a specific report by name and field. \nThe {name} must be a name of an existing report and {field} must be a field of the report.\nIt is possible to use the filters to further narrow down the options.\n",
+ "operationId": "custom_reports_list_drill_down_options",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name",
+ "field"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "filters": {
+ "properties": {
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"property\": \"count(*)\", \"type\":\"numeric\",\"operator\":\"lt\",\"value\":\"15\"}]"
+ },
+ "drillDownFilters": {
+ "type": "object",
+ "example": "{\"field\":\"value\",\"anotherField\":\"anotherValue\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of drill down options for the report",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsDrillDownOption"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/chart": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Get chart data for a specific report",
+ "description": "Get paginated chart data for a specific report by name. Parameters are: \n\n name (required) : Name of existing custom report \n filters : Array of filters to filter the data \n \n columnFilters : Allow filtering based on the columns and their values \n drillDownFilters : Filter based on pre-defined drill down filters \n \n sortBy : Column name to sort the data by \n sortOrder : Sort order (ASC/DESC) \n page : Offset, can be used in combination with pageSize \n pageSize : Limit returned data \n fields : Array of fields to be included in the data. If not provided, all fields will be included \n \n",
+ "operationId": "custom_reports_chart",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "filters": {
+ "properties": {
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"property\": \"count(*)\", \"type\":\"numeric\",\"operator\":\"lt\",\"value\":\"15\"}]"
+ },
+ "drillDownFilters": {
+ "type": "object",
+ "example": "{\"field\":\"value\",\"anotherField\":\"anotherValue\"}"
+ }
+ },
+ "type": "object"
+ },
+ "sortBy": {
+ "description": "Sort by field.",
+ "type": "string",
+ "example": "id"
+ },
+ "sortOrder": {
+ "description": "Sort order (ASC or DESC).",
+ "type": "string",
+ "example": "DESC"
+ },
+ "page": {
+ "description": "Page of the report data",
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ },
+ "pageSize": {
+ "description": "Page size of the report data",
+ "type": "integer",
+ "minimum": 1,
+ "example": "50"
+ },
+ "fields": {
+ "description": "Fields to be included in the chart data. If not provided, all fields will be included.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "field1"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Chart data as JSON. The actual data depends on the selected adapter in the report configuration.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsChartData"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/config/add": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Add a new custom reports configuration",
+ "description": "Add a new custom reports configuration with the provided name.\n",
+ "operationId": "custom_reports_config_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportAdd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully added custom report configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportsDetails"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/config/clone/{name}": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Clone an existing custom reports configuration",
+ "description": "Clone an existing custom reports configuration with the provided new name by existing report name {reportName} . \nThe {reportName} must be a name of an existing custom report. \nThe {name} of the new report must be a unique valid name.\n",
+ "operationId": "custom_reports_config_clone",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the report to clone",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "myOriginalReport"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportClone"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully cloned custom report configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportsDetails"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/column-config/{name}": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Get all available column configurations for custom report",
+ "description": "Get all available column configurations for custom report by {name} and {configuration} . \nThe {name} must be a name of an existing custom report and {configuration} must be a valid data source configuration of that report.\n",
+ "operationId": "custom_reports_column_config_list",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the report",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Quality_Attributes"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportsDataSourceConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of column configurations for the custom report",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsColumnInformation"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/config/{name}": {
+ "put": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Update an existing custom reports configuration",
+ "description": "Update an existing custom reports configuration with the provided name and parameters. \nThe {name} must be a name of an existing custom report. \nPlease note that all fields have to be provided.\n",
+ "operationId": "custom_reports_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the report",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Quality_Attributes"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated custom report configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportsDetails"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Delete a custom reports configuration",
+ "description": "Delete a custom reports configuration with the given {name} . \nThe {name} must be a name of an existing custom report.\n",
+ "operationId": "custom_reports_config_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the custom report to delete",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Quality_Attributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted custom report configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/report/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Get detailed configuration for a specific report by name",
+ "operationId": "custom_reports_report",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the report",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Quality_Attributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Report data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCustomReportsDetails"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/tree/config": {
+ "get": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "All reports for the current user to display in configuration tree.",
+ "description": "Get all reports for the current user to display in configuration tree.",
+ "operationId": "custom_reports_config_get_tree",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get all reports for the current user to display in configuration tree.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsConfigurationTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/export/csv": {
+ "post": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "Export report data as CSV",
+ "description": "Creating the CSV export file for custom reports. Parameters are: \n\n name (required) : Name of custom report \n filters : Array of filters to filter the data \n \n columnFilters : Allow filtering based on the columns and their values \n drillDownFilters : Filter based on pre-defined drill down filters \n \n sortBy : Column name to sort the data by \n sortOrder : Sort order (ASC/DESC) \n page : Offset, can be used in combination with pageSize \n pageSize : Limit returned data \n includeHeaders : Include headers in the export \n delimiter : Delimiter can be set to anything, but the default is a semicolon /li>\n \nDownload has to be triggered separately via the csv download route with the {jobRunId} returned in the response\n",
+ "operationId": "custom_report_export_csv",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "filters": {
+ "properties": {
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"property\": \"count(*)\", \"type\":\"numeric\",\"operator\":\"lt\",\"value\":\"15\"}]"
+ },
+ "drillDownFilters": {
+ "type": "object",
+ "example": "{\"field\":\"value\",\"anotherField\":\"anotherValue\"}"
+ }
+ },
+ "type": "object"
+ },
+ "sortBy": {
+ "description": "Sort by field.",
+ "type": "string",
+ "example": "id"
+ },
+ "sortOrder": {
+ "description": "Sort order (ASC or DESC).",
+ "type": "string",
+ "example": "DESC"
+ },
+ "page": {
+ "description": "Page of the report data",
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ },
+ "pageSize": {
+ "description": "Page size of the report data",
+ "type": "integer",
+ "minimum": 1,
+ "example": "50"
+ },
+ "includeHeaders": {
+ "type": "boolean",
+ "example": false
+ },
+ "delimiter": {
+ "type": "string",
+ "example": ";"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for csv export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/custom-reports/tree": {
+ "get": {
+ "tags": [
+ "Bundle Custom Reports"
+ ],
+ "summary": "All reports for the current user to display in tree.",
+ "description": "Get all reports for the current user to display in tree.",
+ "operationId": "custom_reports_get_tree",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get all reports for the current user to display in tree.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/add": {
+ "post": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Add a new redirect",
+ "description": "Add a new redirect entry. See the full description of request fields with the schema BundleSeoRedirectAdd \n",
+ "operationId": "bundle_seo_redirect_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRedirectAdd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "New redirect data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRedirect"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/cleanup": {
+ "delete": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Cleanup expired redirects",
+ "description": "Cleanup all expired redirects. This will delete all redirects which are expired based on the expiry field.\n",
+ "operationId": "bundle_seo_redirect_cleanup",
+ "responses": {
+ "200": {
+ "description": "Successfully cleaned up expired redirects"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects": {
+ "post": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Get all redirects",
+ "description": "Get all paginated redirects entries. You can specify different filters in your request body. Example filters are: \n\n page : Used for offset calculation in pagination. To be used, needs to be defined together with the page.size \n pageSize : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n url : Filter by redirect source URL \n type : Filter by redirect type (entire_uri, path_query, path, auto_create) \n date : Filter for example by expiry (on, from, to) \n \n",
+ "operationId": "bundle_seo_redirects_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\", \"filterValue\": \"https://www.some-site/old-url\"},{\"key\":\"source\", \"type\":\"url\", \"filterValue\": \"https://www.some-example\"},{\"key\":\"source\", \"type\":\"like\", \"filterValue\": \"en/news\"},{\"key\":\"target\", \"type\":\"equals\", \"filterValue\": \"en/news/new\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"priority\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated redirects with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleSeoRedirect"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/{id}": {
+ "put": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Update a redirect by ID",
+ "description": "Update the redirect with the given {id} . The {id} must be an ID of existing redirect. \nSee the full description of updatable fields with the schema BundleSeoRedirectUpdate \nPlease note that all fields have to be provided.\n",
+ "operationId": "bundle_seo_redirect_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the redirect",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRedirectUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated redirect",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRedirect"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Delete a redirect by ID",
+ "description": "Delete the redirect with the given {id} . The {id} must be an ID of existing redirect.\n",
+ "operationId": "bundle_seo_redirect_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the redirect",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted redirect"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/export": {
+ "get": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Export all redirects as CSV",
+ "description": "Export all redirects as CSV file.\n",
+ "operationId": "bundle_seo_redirects_export",
+ "responses": {
+ "200": {
+ "description": "CSV file with redirects as attachment",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"redirects.csv\""
+ }
+ }
+ },
+ "content": {
+ "text/csv": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/import": {
+ "post": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Import redirects from CSV",
+ "description": "Import all redirects using a previously exported a CSV file.\n",
+ "operationId": "bundle_seo_redirects_import",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "CSV import file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Import statistics data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRedirectImportStats"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/priorities": {
+ "get": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "List redirect priorities",
+ "description": "List all available priorities for the redirects. Priority 1 is the lowest, 10 highest and 99 is to overwrite all other redirects.\n",
+ "operationId": "bundle_seo_redirect_list_priorities",
+ "responses": {
+ "200": {
+ "description": "List of available redirect priorities",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "priorities"
+ ],
+ "properties": {
+ "priorities": {
+ "title": "Redirect priority",
+ "description": "Redirect priority used in the PimcoreSeoBundle.",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/statuses": {
+ "get": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "List redirect statuses",
+ "description": "List all available statuses for the redirects.\n",
+ "operationId": "bundle_seo_redirect_list_statuses",
+ "responses": {
+ "200": {
+ "description": "List of available redirect statuses",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "statuses"
+ ],
+ "properties": {
+ "statuses": {
+ "title": "Redirect statuses",
+ "description": "List of redirect statuses used in the PimcoreSeoBundle.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleSeoRedirectStatus"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/redirects/types": {
+ "get": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "List redirect types",
+ "description": "List all available types for the redirects.\n",
+ "operationId": "bundle_seo_redirect_list_types",
+ "responses": {
+ "200": {
+ "description": "List of available redirect types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "types"
+ ],
+ "properties": {
+ "types": {
+ "title": "Redirect types",
+ "description": "List of redirect types used in the PimcoreSeoBundle.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "path"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/seo/robots-txt": {
+ "get": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Get robots.txt configuration",
+ "description": "Get the robots.txt configuration for all sites, including whether a physical robots.txt file exists on the filesystem.\n",
+ "operationId": "bundle_seo_robots_txt_get",
+ "responses": {
+ "200": {
+ "description": "Robots.txt configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRobotsTxtConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Seo"
+ ],
+ "summary": "Update robots.txt configuration",
+ "description": "Update the robots.txt configuration for all sites. Saves the provided site-keyed robots.txt content to the settings store.\n",
+ "operationId": "bundle_seo_robots_txt_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRobotsTxtUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated robots.txt configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleSeoRobotsTxtConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/available-visible-fields": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get available visible fields for classes",
+ "description": "Get available visible fields for the specified data object classes. \nReturns system columns and common fields across all provided class names. \nThe {classNames} must be a comma separated list of existing data object class names.\n",
+ "operationId": "class_get_available_visible_fields",
+ "parameters": [
+ {
+ "name": "classNames",
+ "in": "query",
+ "description": "Comma-separated list of class names",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Car,Manufacturer,News"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved available visible fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AvailableVisibleField"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/bulk-export/available": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get available items for bulk export",
+ "description": "Get all available definitions (field collections, classes, custom layouts, object bricks) that can be exported, filtered by user permissions.\n",
+ "operationId": "class_bulk_export_available",
+ "responses": {
+ "200": {
+ "description": "List of available exportable items",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BulkExportAvailableItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/bulk-export": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Bulk export class definitions",
+ "description": "Export multiple definitions (field collections, classes, custom layouts, object bricks) as a single JSON file. \nItems are grouped by type in the exported file.\n",
+ "operationId": "class_bulk_export",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkExportParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Bulk export JSON file download",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"bulk_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/bulk-import/{fileId}": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Bulk import class definitions asynchronously",
+ "description": "Import selected definitions asynchronously from a previously prepared bulk import file identified by {fileId} . \nThe {fileId} must be obtained from the prepare import endpoint. \nItems are imported in dependency order (field collections, classes, custom layouts, object bricks). \nImport is processed asynchronously via the execution engine. The response contains a {jobRunId} to track progress.\n",
+ "operationId": "class_bulk_import",
+ "parameters": [
+ {
+ "name": "fileId",
+ "in": "path",
+ "description": "File identifier returned by the prepare import endpoint",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "6792e2b43f0a7"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkImportParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for bulk import",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete a prepared bulk import file",
+ "description": "Delete a previously prepared bulk import file identified by {fileId} . \nThe {fileId} must be obtained from the prepare import endpoint. \nReturns 404 if the file does not exist or has already been cleaned up.\n",
+ "operationId": "class_bulk_import_delete_file",
+ "parameters": [
+ {
+ "name": "fileId",
+ "in": "path",
+ "description": "File identifier returned by the prepare import endpoint",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "6792e2b43f0a7"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted bulk import file"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/bulk-import/prepare": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Prepare a bulk import from an uploaded file",
+ "description": "Upload a bulk export JSON file to analyze its contents and prepare for import. \nReturns a file identifier and a list of importable items found in the file. \nUse the returned {fileId} with the bulk import endpoint to perform the actual import.\n",
+ "operationId": "class_bulk_import_prepare",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Bulk export JSON file to analyze",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "File identifier and list of importable items",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkImportPrepareResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/collection": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definitions collection",
+ "description": "Get collection of all class definitions",
+ "operationId": "class_definition_collection",
+ "responses": {
+ "200": {
+ "description": "List of class definitions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionList"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/collection/creatable": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get collection of all class definitions that can be created.",
+ "description": "Get collection of all class definitions that can be created.",
+ "operationId": "class_definition_collection_creatable",
+ "responses": {
+ "200": {
+ "description": "List of class definitions that can be created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionList"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/collection": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get custom layout collection for data object class",
+ "description": "Get custom layout collection for the given data object class.",
+ "operationId": "class_custom_layout_collection",
+ "parameters": [
+ {
+ "name": "classIds",
+ "in": "query",
+ "description": "Comma-separated list of class Ids",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "CAR,MA,CA"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of custom layouts for the given data object class in a simple and compact format for listings.\n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomLayoutCompact"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/all-layouts": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get all available class layouts",
+ "description": "Get all available layouts for classes.\n",
+ "operationId": "class_all_layout_collection",
+ "responses": {
+ "200": {
+ "description": "List of all available class layouts",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassLayoutCompact"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/{customLayoutId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get custom layout by given id",
+ "description": "Get custom layout by given id",
+ "operationId": "class_custom_layout_get",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom layout data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update custom layout by given ID",
+ "description": "Update custom layout by the given {customLayoutId} and parameters. \nThe {customLayoutId} must be an ID of an existing custom layout. \nPlease note that all fields have to be provided.\n",
+ "operationId": "class_custom_layout_update",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayoutUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Custom layout updated",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Create custom layout",
+ "description": "Create custom layout",
+ "operationId": "class_custom_layout_create",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayoutNew"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Custom layout created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete custom layout by given id",
+ "description": "Delete custom layout by given id",
+ "operationId": "class_custom_layout_delete",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom layout deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/editor/collection/{objectId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get custom layout collection for the data object",
+ "description": "Get custom layout collection based on the {objectId} and current user permissions. \nThe {objectId} must be an ID of an existing object.\n",
+ "operationId": "class_custom_layout_editor_collection",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "description": "ObjectId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of custom layouts for the given data object ID",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomLayoutCompact"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/export/{customLayoutId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Export custom layout by given id as JSON",
+ "description": "Export custom layout by given id as JSON",
+ "operationId": "class_custom_layout_export",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom layout data as JSON",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"custom_definition_CarToDo_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/identifier-data/{classDefinitionId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get identifier data for new custom layout",
+ "description": "Get identifier data for new custom layout. \nResults consist of suggested unique ID, existing layout IDs and existing layout names for provided {classDefinitionId} . \nThe {classDefinitionId} must be an ID of an existing class definition.\n",
+ "operationId": "class_custom_layout_get_identifier_data",
+ "parameters": [
+ {
+ "name": "classDefinitionId",
+ "in": "path",
+ "description": "Class definition unique identifier for custom layouts",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Identifier data for new custom layout as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayoutIdentifierData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/custom-layout/import/{customLayoutId}": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Import custom layout",
+ "description": "Import custom layout using a previously exported JSON.",
+ "operationId": "class_custom_layout_import",
+ "parameters": [
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported custom layout configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}/bricks": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get object bricks usage data for the class definition",
+ "description": "Get usage data of object bricks for the given class definition ID {id} \nThe {id} must be an ID of an existing class definition.\n",
+ "operationId": "class_definition_get_bricks_usages",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object bricks usage data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionObjectBrickData"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/create": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Create a new class definition configuration",
+ "description": "Create a new class definition configuration with the given {name} and unique ID {uid} \nThe {uid} must be unique and not already exist.\n",
+ "operationId": "class_definition_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateClassDefinition"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created class definition configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definition data by ID",
+ "description": "Get class definition data by ID",
+ "operationId": "class_definition_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Class definition data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update class definition configuration by given ID",
+ "description": "Update an existing class definition configuration with the given {id} and parameters. \nThe {id} must be an ID of an existing class definition. \nPlease note that all fields have to be provided.\n",
+ "operationId": "class_definition_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinitionUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated class definition configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete a class definition configuration",
+ "description": "Delete a class definition configuration with the given {id} . \nThe {id} must be an ID of an existing class definition.\n",
+ "operationId": "class_definition_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted class definition configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}/export": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Export a class definition configuration as JSON",
+ "description": "Export a class definition configuration as JSON for the given {id} . \nThe {id} must be an ID of an existing class definition.\n",
+ "operationId": "class_definition_export",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Exported class definition configuration as JSON",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"class_Car_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/identifier-data": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get identifier data for new class",
+ "description": "Get identifier data for new class. Results consist of suggested unique ID and existing class IDs.\n",
+ "operationId": "class_definition_get_identifier_data",
+ "responses": {
+ "200": {
+ "description": "Suggested unique ID and existing class IDs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinitionIdentifierData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}/import": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Import a class definition configuration from JSON file",
+ "description": "Import a class definition configuration from a previously exported JSON file for the given class definition {id} . \nThe {id} must be an ID of an existing class definition.\n",
+ "operationId": "class_definition_import",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file with JSON encoded class definition configuration",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported class definition configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}/layout": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get layout definitions for the class definition",
+ "description": "Get layout definition for the given class definition ID {id} \n",
+ "operationId": "class_definition_get_layout_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Layout definition data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Layout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/detail/{id}/selected-visible-fields": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get selected visible fields for a class relation field",
+ "description": "Get selected visible fields for the specified data object class and relation field. \nThe {classId} must be an ID of existing data object class. \nThe {relationField} must be the name of an existing relation field in the specified class.\n",
+ "operationId": "class_get_selected_visible_fields",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ },
+ {
+ "name": "relationField",
+ "in": "query",
+ "description": "Relation field name for which the selected fields should be retrieved as dot notation.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "myRelationField"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved selected visible fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnConfiguration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/text-layout/preview": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get text layout preview for the class definition",
+ "description": "Get text layout preview for the given class definition based on the provided request data. \nThe {className} must be a name of an existing class definition.\n",
+ "operationId": "class_definition_get_text_layout_preview",
+ "parameters": [
+ {
+ "name": "className",
+ "in": "query",
+ "description": "Class definition name where layout is defined",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Path to optional object to render the layout with",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "/cars/my-car"
+ }
+ },
+ {
+ "name": "renderingData",
+ "in": "query",
+ "description": "Optional dynamic data to be used for rendering the layout",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Some HTML data
"
+ }
+ },
+ {
+ "name": "renderingClass",
+ "in": "query",
+ "description": "Optional rendering class to be used for rendering the layout",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "My\\Custom\\Class"
+ }
+ },
+ {
+ "name": "html",
+ "in": "query",
+ "description": "Optional static HTML to be used for rendering the layout",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Some HTML data
"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Text layout preview as HTML",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"text-layout-preview.html\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/configuration-view/tree": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definition tree data",
+ "description": "Get class definition tree for all classes. Results can be grouped based on the {withGroup} parameter.\n",
+ "operationId": "class_definition_get_tree",
+ "parameters": [
+ {
+ "name": "withGroup",
+ "in": "query",
+ "description": "Whether to group the results.",
+ "required": true,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Class definition data for the tree view",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ClassDefinitionTreeNode"
+ },
+ {
+ "$ref": "#/components/schemas/ClassDefinitionTreeNodeFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/collection": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get all field collection configurations",
+ "description": "Get all available field collection configurations in the system\n",
+ "operationId": "class_field_collection_collection",
+ "responses": {
+ "200": {
+ "description": "List of field collection configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FieldCollectionConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Create a new field collection definition",
+ "description": "Create a new empty field collection definition with the given {key} . \nThe {key} must be unique and not already exist (case-insensitive). \n",
+ "operationId": "class_field_collection_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateFieldCollection"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created field collection definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FieldCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{key}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get field collection by key",
+ "description": "Retrieves a specific field collection definition based on the given {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_get_by_key",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Field collection detail data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FieldCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update field collection definition by given key",
+ "description": "Update an existing field collection definition with the given {key} and parameters. \nThe {key} must be the key of an existing field collection definition. \nThe {values} and {configuration} fields are required.\n",
+ "operationId": "class_field_collection_update",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FieldCollectionUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated field collection definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FieldCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete a field collection definition",
+ "description": "Delete a field collection definition with the given {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_delete",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted field collection definition"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{key}/export": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Export a field collection definition as JSON",
+ "description": "Export a field collection definition as JSON for the given {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_export",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Exported field collection definition as JSON",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"fieldcollection_MyFieldCollection_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{key}/import": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Import a field collection definition from JSON file",
+ "description": "Import a field collection definition from a previously exported JSON file for the given field collection {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_import",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file with JSON encoded field collection definition",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported field collection definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FieldCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{objectId}/object/layout": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get all layouts from the field collection for an given object",
+ "description": "Get all layouts from the field collection for an given object\n",
+ "operationId": "class_field_collection_object_layout",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "description": "ObjectId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of layouts",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FieldCollectionLayoutDefinition"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{key}/layout": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get field collection layout definition by key",
+ "description": "Retrieves the layout definition for a specific field collection based on the given {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_get_layout_by_key",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Field collection layout definition data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConfigLayoutDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/tree": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get field collection tree",
+ "description": "Get the field collection tree with grouped folders. \nOptionally filter by allowed types using a comma-separated list via the {allowedTypes} query parameter.\n",
+ "operationId": "class_field_collection_get_tree",
+ "parameters": [
+ {
+ "name": "allowedTypes",
+ "in": "query",
+ "description": "Comma-separated list of allowed field collection types to filter by.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "NewsCars,NewsText"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Field collection tree with nodes and folders",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/FieldCollectionTreeNode"
+ },
+ {
+ "$ref": "#/components/schemas/FieldCollectionTreeNodeFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/field-collection/{key}/usages": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get field collection usage data",
+ "description": "Get usage data showing which classes and fields use the field collection with the given {key} . \nThe {key} must be the key of an existing field collection definition.\n",
+ "operationId": "class_field_collection_get_usages",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Field collection unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Field collection usage data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FieldCollectionUsageData"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/fields-by-type": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definition fields by type",
+ "description": "Get class definition fields filtered by one or more field types. \nThe {classId} must be an ID of an existing data object class. \nThe {type} must be a comma-separated list of field types, e.g. manyToOneRelation,objectbricks .\n",
+ "operationId": "class_get_fields_by_type",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "The class ID to retrieve fields for.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Comma-separated list of field types to filter by.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "manyToOneRelation,objectbricks"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved class definition fields for the requested types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FieldByType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/folder/{folderId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get list of all data object classes in a folder",
+ "description": "Get list of all data object classes in a folder",
+ "operationId": "class_definition_folder_collection",
+ "parameters": [
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all data object classes in a folder",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionFolderItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/definition/{dataObjectClass}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definition for data object class",
+ "description": "Get class definition for the given data object class",
+ "operationId": "class_definition_get",
+ "parameters": [
+ {
+ "name": "dataObjectClass",
+ "in": "path",
+ "description": "Data object class",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Class definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/classes": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get class definitions with ObjectBricks fields",
+ "description": "Get a collection of class definitions that have at least one ObjectBricks field definition.\n",
+ "operationId": "class_object_brick_classes",
+ "responses": {
+ "200": {
+ "description": "Collection of class definitions with ObjectBricks fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionList"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/collection": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get all object brick definitions",
+ "description": "Get a collection of all available object brick definitions.\n",
+ "operationId": "class_object_brick_collection",
+ "responses": {
+ "200": {
+ "description": "Collection of object brick definitions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ObjectBrickConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Create a new object brick definition",
+ "description": "Create a new object brick definition with the provided {key} . \nThe {key} must be unique and not already exist.\n",
+ "operationId": "class_object_brick_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateObjectBrick"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created object brick definition detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ObjectBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get object brick custom layout",
+ "description": "Get a custom layout for a specific object brick by brick key and custom layout ID.\n",
+ "operationId": "class_object_brick_custom_layout_get",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "SaleInformation"
+ }
+ },
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of the base custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object brick custom layout data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update object brick custom layout",
+ "description": "Update a custom layout for a specific object brick. If the brick layout does not exist yet, it will be\nauto-created from the base custom layout and then updated with the provided data.\n",
+ "operationId": "class_object_brick_custom_layout_update",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "SaleInformation"
+ }
+ },
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of the base custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayoutUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated object brick custom layout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete object brick custom layout",
+ "description": "Delete a custom layout for a specific object brick by brick key and custom layout ID.\n",
+ "operationId": "class_object_brick_custom_layout_delete",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "SaleInformation"
+ }
+ },
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of the base custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object brick custom layout deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}/export": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Export object brick custom layout as JSON",
+ "description": "Export a custom layout for a specific object brick as JSON file download.\n",
+ "operationId": "class_object_brick_custom_layout_export",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "SaleInformation"
+ }
+ },
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of the base custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object brick custom layout data as JSON",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"custom_definition_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}/import": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Import object brick custom layout from JSON",
+ "description": "Import a custom layout for a specific object brick from a previously exported JSON file.\n",
+ "operationId": "class_object_brick_custom_layout_import",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "SaleInformation"
+ }
+ },
+ {
+ "name": "customLayoutId",
+ "in": "path",
+ "description": "Id of the base custom layout",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarTodo"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported object brick custom layout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get object brick definition by key",
+ "description": "Get a single object brick definition by its unique {key} . \nThe {key} must be the key of an existing object brick definition.\n",
+ "operationId": "class_object_brick_get_by_key",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object brick definition detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ObjectBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update an object brick definition by key",
+ "description": "Update an existing object brick definition by its unique {key} . \nThe {key} must be the key of an existing object brick definition.\n",
+ "operationId": "class_object_brick_update",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ObjectBrickUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated object brick definition detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ObjectBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete an object brick definition by key",
+ "description": "Delete an existing object brick definition by its unique {key} . \nThe {key} must be the key of an existing object brick definition.\n",
+ "operationId": "class_object_brick_delete",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted object brick definition"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/export": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Export an object brick definition as JSON",
+ "description": "Export an existing object brick definition as JSON by its unique {key} . \nThe {key} must be the key of an existing object brick definition.\n",
+ "operationId": "class_object_brick_export",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "JSON export of the object brick definition",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"objectbrick_MyObjectBrick_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/import": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Import an object brick definition from JSON",
+ "description": "Import an object brick definition from a JSON file for the object brick with the given {key} . \nThe {key} must be the key of an existing object brick definition.\n",
+ "operationId": "class_object_brick_import",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file with JSON encoded object brick definition",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Imported object brick definition detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ObjectBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{objectId}/object/layout": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get all layouts from the object bricks for an given object",
+ "description": "Get all layouts from the object bricks for an given object\n",
+ "operationId": "class_object_brick_object_layout",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "description": "ObjectId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of layouts",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ObjectBrickLayoutDefinition"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/layout": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get object brick layout definition by key",
+ "description": "Get the layout definition for the object brick with the given {key} .\n",
+ "operationId": "class_object_brick_get_layout_by_key",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Object brick layout definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConfigLayoutDefinition"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/tree": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get object brick tree",
+ "description": "Get the object brick tree with grouped folders.\n",
+ "operationId": "class_object_brick_get_tree",
+ "responses": {
+ "200": {
+ "description": "Object brick tree with nodes and folders",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ObjectBrickTreeNode"
+ },
+ {
+ "$ref": "#/components/schemas/ObjectBrickTreeNodeFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/object-brick/{key}/usages": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get usages of an object brick definition",
+ "description": "Get the usages of an object brick definition by its unique {key} . \nReturns all classes and fields that reference this object brick.\n",
+ "operationId": "class_object_brick_get_usages",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Object brick unique key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classes and fields using the object brick",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ObjectBrickUsageData"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/select-option": {
+ "post": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Create a new select option configuration",
+ "description": "Create a new select option configuration.\nThe ID must be unique (case-insensitive). Returns the newly created configuration detail.\n",
+ "operationId": "class_select_option_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateSelectOption"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created select option configuration detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SelectOptionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/select-option/{id}": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get select option configuration by ID",
+ "description": "Get a single select option configuration by its ID.\nReturns all configuration details including select option entries, group, traits, interfaces, and the fully qualified enum name.\n",
+ "operationId": "class_select_option_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Select option configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EventStatus"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Select option configuration detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SelectOptionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Update a select option configuration",
+ "description": "Update an existing select option configuration.\nReplaces the configuration data with the provided values. Admin-only configurations require admin access.\n",
+ "operationId": "class_select_option_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Select option configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EventStatus"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateSelectOption"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated select option configuration detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SelectOptionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Delete a select option configuration",
+ "description": "Delete a select option configuration by its ID.\nFails with a conflict error if the configuration is currently in use by class definitions.\nAdmin-only configurations require admin access.\n",
+ "operationId": "class_select_option_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Select option configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EventStatus"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the select option configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/select-option/tree": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get select options tree data",
+ "description": "Get select options tree data. Results can be grouped based on the {withGroup} parameter.\n",
+ "operationId": "class_select_option_get_tree",
+ "parameters": [
+ {
+ "name": "withGroup",
+ "in": "query",
+ "description": "Whether to group the results.",
+ "required": true,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Select options data for the tree view",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SelectOptionTree"
+ },
+ {
+ "$ref": "#/components/schemas/SelectOptionTreeFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/class/select-option/{id}/usages": {
+ "get": {
+ "tags": [
+ "Class Definition"
+ ],
+ "summary": "Get usages of a select option configuration",
+ "description": "Get the list of class definitions and fields that use a specific select option configuration.\n",
+ "operationId": "class_select_option_get_usages",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Select option configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EventStatus"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classes and fields using the select option configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SelectOptionUsageItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores/{storeId}/collections": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "List collection configurations",
+ "description": "Get a paginated list of classification store collection configurations.\nSupports filtering, sorting, and pagination via the collection filter parameter.\n",
+ "operationId": "classification_store_configuration_collection_collection",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "path",
+ "description": "ID of the store to list collections for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\",\"filterValue\":\"my-collection\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"name\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated list of collection configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionDetail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/collections/add": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create a collection",
+ "description": "Create a new classification store collection configuration with a name and store ID",
+ "operationId": "classification_store_configuration_collection_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created collection configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/collections/{id}": {
+ "put": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Update a collection",
+ "description": "Update an existing classification store collection configuration by ID",
+ "operationId": "classification_store_configuration_collection_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the collection configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated collection configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Delete a collection",
+ "description": "Delete a classification store collection configuration by ID.\nThis also removes all associated collection-group relations.\n",
+ "operationId": "classification_store_configuration_collection_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the collection configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted collection configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/collections/{colId}/relations": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "List collection-group relations",
+ "description": "List collection-group relations for a given collection ID.\nSupports filtering, sorting, and pagination via the collection filter parameter.\nThe colId query parameter is required.\n",
+ "operationId": "classification_store_configuration_collection_relation_collection",
+ "parameters": [
+ {
+ "name": "colId",
+ "in": "path",
+ "description": "ID of the collection to list relations for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"name\",\"type\":\"metadata.object\",\"filterValue\":1}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"groupId\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated list of collection-group relations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionRelationDetail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/collection-relations/add": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create or update a collection-group relation",
+ "description": "Create or update a collection-group relation with collection ID, group ID, and optional sorter",
+ "operationId": "classification_store_configuration_collection_relation_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionRelationCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created or updated collection-group relation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionRelationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/collection-relations": {
+ "delete": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Delete a collection-group relation",
+ "description": "Delete a collection-group relation by collection ID and group ID",
+ "operationId": "classification_store_configuration_collection_relation_delete",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationCollectionRelationDelete"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully deleted collection-group relation"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores/{storeId}/groups": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "List group configurations",
+ "description": "Get a paginated list of classification store group configurations.\nYou can specify filters, sorting and pagination in the request body.\n",
+ "operationId": "classification_store_configuration_group_collection",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "path",
+ "description": "ID of the store to list groups for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\",\"filterValue\":\"my-group\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"name\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated list of group configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGroupDetail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/groups/add": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create a new group",
+ "description": "Create a new classification store group configuration within a store",
+ "operationId": "classification_store_configuration_group_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGroupCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created group configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGroupDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/groups/{id}": {
+ "put": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Update a group",
+ "description": "Update an existing classification store group configuration by ID",
+ "operationId": "classification_store_configuration_group_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the group configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGroupUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated group configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGroupDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Delete a group",
+ "description": "Delete a classification store group configuration by ID",
+ "operationId": "classification_store_configuration_group_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the group configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted group configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores/{storeId}/keys": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "List key configurations",
+ "description": "Get a paginated list of classification store key configurations.\nSupports filtering, sorting, and pagination via the collection request body.\n",
+ "operationId": "classification_store_configuration_key_collection",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "path",
+ "description": "ID of the store to list keys for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\",\"filterValue\":\"my-key\"},{\"type\":\"equals\",\"key\": \"type\", \"filterValue\":\"quantityValue\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"name\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated list of key configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyDetail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/keys/add": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create a new key",
+ "description": "Create a new classification store key configuration within a store",
+ "operationId": "classification_store_configuration_key_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created key configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/keys/{id}": {
+ "put": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Update a key",
+ "description": "Update an existing classification store key configuration by ID",
+ "operationId": "classification_store_configuration_key_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the key configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated key configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Disable a key (soft-delete)",
+ "description": "Soft-delete a classification store key configuration by ID.\nThe key is not permanently removed but disabled (enabled is set to false).\n",
+ "operationId": "classification_store_configuration_key_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the key configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disabled key configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/groups/{groupId}/key-relations": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "List key-group relations",
+ "description": "List key-group relations for a given group ID.\nSupports filtering, sorting, and pagination via the collection filter parameter.\nThe groupId query parameter is required. Returns key details with layout definition.\n",
+ "operationId": "classification_store_configuration_key_group_relation_collection",
+ "parameters": [
+ {
+ "name": "groupId",
+ "in": "path",
+ "description": "ID of the group to list key relations for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"name\",\"type\":\"metadata.object\",\"filterValue\":1}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"keyId\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated list of key-group relations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyGroupRelationDetail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/key-group-relations/add": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create or update a key-group relation",
+ "description": "Create or update a key-group relation with key ID, group ID, optional sorter and mandatory flag",
+ "operationId": "classification_store_configuration_key_group_relation_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyGroupRelationCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created or updated key-group relation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyGroupRelationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/key-group-relations": {
+ "delete": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Delete a key-group relation",
+ "description": "Delete a key-group relation by key ID and group ID",
+ "operationId": "classification_store_configuration_key_group_relation_delete",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationKeyGroupRelationDelete"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully deleted key-group relation"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores": {
+ "post": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Create a new store",
+ "description": "Create a new classification store configuration",
+ "operationId": "classification_store_configuration_store_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationStoreCreate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created store configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationStoreDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores/tree": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get store tree",
+ "description": "Get all classification store configurations as a flat tree list",
+ "operationId": "classification_store_configuration_store_tree",
+ "responses": {
+ "200": {
+ "description": "List of store tree nodes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationStoreTreeNode"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/stores/{id}": {
+ "put": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Update a store",
+ "description": "Update an existing classification store configuration by ID",
+ "operationId": "classification_store_configuration_store_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the store configuration",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationStoreUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated store configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationStoreDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/configuration/get-page": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get page number for a specific item",
+ "description": "Calculate the page number where a specific item (key or group) is located within a paginated listing.\nUseful for navigating directly to the page containing a specific item.\n",
+ "operationId": "classification_store_configuration_get_page",
+ "parameters": [
+ {
+ "name": "table",
+ "in": "query",
+ "description": "Table to search in (keys or groups)",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "keys"
+ }
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "description": "ID of the item to find",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "storeId",
+ "in": "query",
+ "description": "ID of the store",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 15
+ }
+ },
+ {
+ "name": "sortKey",
+ "in": "query",
+ "description": "Column to sort by",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "name"
+ }
+ },
+ {
+ "name": "sortDir",
+ "in": "query",
+ "description": "Sort direction (ASC or DESC)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "ASC"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Page number where the item is located",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClassificationStoreConfigurationGetPageResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/collections": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get all classification store collections for given fieldName",
+ "description": "Get all classification store collections for given fieldName",
+ "operationId": "classification_store_get_collections",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "query",
+ "description": "Classification Store ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "AP"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search Term",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "search term"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classification store collections",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Collection"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/groups": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get all classification store groups for given fieldName",
+ "description": "Get all classification store groups for given fieldName",
+ "operationId": "classification_store_get_groups",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "query",
+ "description": "Classification Store ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "AP"
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search Term",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "search term"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classification store groups",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Group"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/key-group-relations": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get all classification store key group relations for given fieldName",
+ "description": "Get all classification store key group relations for given fieldName",
+ "operationId": "classification_store_get_key_group_relations",
+ "parameters": [
+ {
+ "name": "storeId",
+ "in": "query",
+ "description": "Classification Store ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "AP"
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search Term",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "search term"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classification store key group relations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyGroupRelation"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/layout-by-collection/{collectionId}": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get Layout definition for given collection",
+ "description": "Get Layout definition for given collection",
+ "operationId": "classification_store_get_layout_by_collection",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "query",
+ "description": "object ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the Collection ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Layout definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CollectionLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/layout-by-group/{groupId}": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get Layout definition for given group",
+ "description": "Get Layout definition for given group",
+ "operationId": "classification_store_get_layout_by_group",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "query",
+ "description": "object ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "groupId",
+ "in": "path",
+ "description": "GroupId of the Group ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Layout definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GroupLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/layout-by-key/{keyId}/{groupId}": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get Layout definition for given key",
+ "description": "Get Layout definition for given key",
+ "operationId": "classification_store_get_layout_by_key",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "query",
+ "description": "object ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "keyId",
+ "in": "path",
+ "description": "KeyId of the Key ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "groupId",
+ "in": "path",
+ "description": "GroupId of the Group ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "Field Name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "technicalAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Layout definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KeyLayout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/classification-store/config/collection": {
+ "get": {
+ "tags": [
+ "Classification Store"
+ ],
+ "summary": "Get all classification store configurations",
+ "description": "Get all available classification stores",
+ "operationId": "classification_store_get_config_collection",
+ "responses": {
+ "200": {
+ "description": "List of classification store configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassificationStoreStoreConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/add/{parentId}": {
+ "post": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Successfully added a new data object",
+ "description": "Add a new data object to the given {parentId} . The {parentId} must be an ID of a folder or another data object. See the full description of request fields with the schema DataObjectAdd \n",
+ "operationId": "data_object_add",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DataObjectAddParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of added data object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of created data object",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/batch-delete": {
+ "delete": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Batch delete data objects by IDs",
+ "description": "Batch delete data objects based on the given {ids} . The {ids} must be a list of IDs of existing data objects. \nDeletion is done asynchronously and the jobRun ID is returned in the response\n",
+ "operationId": "data_object_batch_delete",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for batch delete",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/{id}/clone/{parentId}": {
+ "post": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Clone a specific data object",
+ "description": "Clones a specific data object with the given {id} . The {parentId} must be a folder or another data object\n",
+ "operationId": "data_object_clone",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CloneParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully copied data object"
+ },
+ "201": {
+ "description": "Successfully copied parent data object and created jobRun for copying child objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/{id}": {
+ "get": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Get a specific data object by ID",
+ "description": "Retrieves a specific data object based on the given {id} . The {id} must be an ID of existing data object or folder.\n",
+ "operationId": "data_object_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved data object data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/DataObjectDetail"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectFolder"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Update a data object by ID",
+ "description": "You can create/update/delete list entries like properties or data object editable fields. If you want to update (add/remove) only some data of a field (e.g data of multi-relation fields), use the PATCH method.\n",
+ "operationId": "data_object_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "useDraftData": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "task": {
+ "type": "string",
+ "enum": [
+ "autoSave",
+ "publish",
+ "save",
+ "unpublish",
+ "version"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortBy": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortOrder": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "published": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "editableData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{ \"someFieldKey\": \"someValue\" }"
+ },
+ "properties": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/UpdateElementProperty"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated data object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/DataObjectDetail"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectFolder"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/grid/preview": {
+ "post": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Get a preview of an Advanced Column Grid for a given Data Object.",
+ "description": "Gives you a preview of an Advanced Column Grid for a given Data Object.",
+ "operationId": "data_object_get_grid_preview",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "objectId",
+ "column"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "integer",
+ "example": 1
+ },
+ "column": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Preview of an Advanced Column Grid for a given Data Object.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/{configurationId}": {
+ "delete": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Delete grid configuration for a given configuration ID",
+ "description": "Delete grid configuration for a given configuration ID {configurationId} \n",
+ "operationId": "data_object_delete_grid_configuration_by_configurationId",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/{folderId}/{classId}": {
+ "get": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Get data object grid configuration for a specific folder and class-id",
+ "description": "Get data object saved grid configuration by {folderId} {classId} if a configuration-id is set, otherwise get the default configuration will be returned.\n",
+ "operationId": "data_object_get_grid_configuration",
+ "parameters": [
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class Id of the data object",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ },
+ {
+ "name": "configurationId",
+ "in": "query",
+ "description": "Configuration ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Object grid configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configurations/{classId}": {
+ "get": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "List all saved grid configurations for data objects",
+ "description": "List all saved grid configurations for data objects for given class ID\n",
+ "operationId": "data_object_list_saved_grid_configurations",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class Id of the data object",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of saved grid configurations for data objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Configuration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/remove-favorite/{configurationId}/{folderId}": {
+ "delete": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Remove data object grid configuration as favorite for a specific folder",
+ "description": "Remove data object grid configuration as favorite for the current user for a specific folder\n",
+ "operationId": "data_object_remove_grid_configuration_as_favorite",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the folderId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Object grid configuration removed as favorite successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/save/{classId}": {
+ "post": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Save Data Object grid configuration for a specific folder",
+ "description": "Save Data Object grid configuration for a specific Class ID {classId} \n",
+ "operationId": "data_object_save_grid_configuration",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class Id of the data object",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId",
+ "pageSize",
+ "name",
+ "description",
+ "columns"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "shareGlobal": {
+ "type": "boolean",
+ "example": true
+ },
+ "setAsFavorite": {
+ "type": "boolean",
+ "example": true
+ },
+ "saveFilter": {
+ "type": "boolean",
+ "example": true
+ },
+ "sharedUsers": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "sharedRoles": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filter": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Filter"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Data Object grid configuration saved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Configuration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/{configurationId}/{folderId}": {
+ "post": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Set data object grid configuration as favorite for a specific folder",
+ "description": "Set data object grid configuration as favorite for the current user for a specific folder\n",
+ "operationId": "data_object_set_grid_configuration_as_favorite",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "folderId",
+ "in": "path",
+ "description": "FolderId of the folderId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Object grid configuration set as favorite successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/configuration/update/{configurationId}": {
+ "put": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Update data object grid configuration for a specific folder",
+ "description": "Update data object grid configuration for a specific folder and given configuration ID {configurationId} \n",
+ "operationId": "data_object_update_grid_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "ConfigurationId of the configurationId",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId",
+ "pageSize",
+ "name",
+ "description",
+ "columns"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "shareGlobal": {
+ "type": "boolean",
+ "example": true
+ },
+ "setAsFavorite": {
+ "type": "boolean",
+ "example": true
+ },
+ "saveFilter": {
+ "type": "boolean",
+ "example": true
+ },
+ "sharedUsers": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "sharedRoles": {
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filter": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Filter"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Data Object grid configuration updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/available-columns": {
+ "get": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Get all available grid columns for data objects",
+ "description": "Get all available grid columns for data objects\n",
+ "operationId": "data_object_get_available_grid_columns",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Identifies the class name for which the columns should be retrieved.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ },
+ {
+ "name": "folderId",
+ "in": "query",
+ "description": "folderId",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available grid columns for data objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnConfiguration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-object/grid/available-columns-for-relation": {
+ "get": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Get all available grid columns for data objects Many to many relation field",
+ "description": "Get all available grid columns for data objects Many to many relation field (defined in the visible columns)",
+ "operationId": "data_object_get_available_grid_columns_for_relation",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Identifies the class name for which the columns should be retrieved.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ },
+ {
+ "name": "relationField",
+ "in": "query",
+ "description": "relationField as dot notation, e.g. \"myBlock.mySubRelationField\"",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "myRelationField"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available grid columns for data objects Many to many relation field",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnConfiguration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/grid/{classId}": {
+ "post": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "Get data object data for grid",
+ "description": "Retrieve data objects data for grid. \nYou can use different query parameters to filter the data objects data: \n\nfolderId : ID of parent folder \ncolumns : To see the full description of request fields see the schema Grid Column Request \nfilters : To see the full description of request fields see the schema Grid Filter \n \n",
+ "operationId": "data_object_get_grid",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Identifies the class name for which the the grid should be build.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderId"
+ ],
+ "properties": {
+ "folderId": {
+ "type": "integer",
+ "example": 1
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Data object grid data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "required": [
+ "id",
+ "columns",
+ "isLocked",
+ "permissions"
+ ],
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/grid/transformers/services/phpcode": {
+ "get": {
+ "tags": [
+ "Data Object Grid"
+ ],
+ "summary": "List PHPCode transformers",
+ "description": "Returns a list of available PHPCode transformers used in grid rendering. \nThese transformers can be applied to grid columns to dynamically modify or format values using PHP logic.\n",
+ "operationId": "data_object_get_phpcode_transformers",
+ "responses": {
+ "200": {
+ "description": "List of available PHPCode transformers",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PhpCodeTransformer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/{id}/layout": {
+ "get": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Get layout of a data object by ID",
+ "description": "Retrieves the layout of a specific data object based on the given {id} . The {id} must be an ID of existing data object.\n",
+ "operationId": "data_object_get_layout_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "layoutId",
+ "in": "query",
+ "description": "ID to get specific layout",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Todo"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved data object layout data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Layout"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects": {
+ "patch": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Patch data objects by ID",
+ "description": "Patching data objects based on the given ID and data. Patching can be used for updating single or multiple fields. If single element is being patched, operation is executed synchronously. Multiple elements are patched asynchronously.\n",
+ "operationId": "data_object_patch_by_id",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "Data Object ID",
+ "type": "integer",
+ "example": 83
+ },
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "task": {
+ "type": "string",
+ "enum": [
+ "autoSave",
+ "publish",
+ "save",
+ "unpublish",
+ "version"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortBy": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortOrder": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "published": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "editableData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{ \"someFieldKey\": \"someValue\" }"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully patched data object"
+ },
+ "201": {
+ "description": "Successfully created jobRun for patching multiple data objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/folder/{id}": {
+ "patch": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Patch all data objects based on folder ID and filters",
+ "description": "Patching data objects based on the given folder ID, filters and data. Patching on folder will be done asynchronously. \nYou can also use filters and sorting. Filter data objects from folder based on the grid filter schema\n",
+ "operationId": "data_object_patch_folder_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data",
+ "classId"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortBy": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "childrenSortOrder": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "published": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "editableData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{ \"someFieldKey\": \"someValue\" }"
+ }
+ },
+ "type": "object"
+ },
+ "filters": {
+ "$ref": "#/components/schemas/ExportAllFilter"
+ },
+ "classId": {
+ "type": "string",
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for patching multiple data objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/format-path": {
+ "post": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Format the path of the data",
+ "description": "Format the path of the data given by the {targets} option.\n",
+ "operationId": "data_object_format_path",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "objectId",
+ "targets"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "integer",
+ "example": 1
+ },
+ "targets": {
+ "type": "object",
+ "example": "{\"object_10\":{\"id\":10,\"type\":\"object\",\"label\":\"/Product\n Data/Cars/jaguar/E-Type/coupé\",\"path\":\"/Product Data/Cars/jaguar/E-Type/coupé\",\n \"nicePathKey\":\"object_10\"}}"
+ },
+ "fieldName": {
+ "description": "Fieldname for the PathFormatter. Given as Dot Notation",
+ "type": "string",
+ "example": "attributes.Bodywork.numberOfDoors"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Formatted path of the objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FormatedPath"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/preview/{id}": {
+ "get": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Preview data object by ID and site",
+ "description": "Preview data object by ID and site. Data Object must be stored in the session first to be able to preview it.\n",
+ "operationId": "data_object_preview_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "site",
+ "in": "query",
+ "description": "Site ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "302": {
+ "description": "Redirect to preview URL",
+ "headers": {
+ "Location": {
+ "description": "Redirect location",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "302 - Redirect 400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/{sourceId}/replace/{targetId}": {
+ "post": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Replace content of a data object",
+ "description": "Replace the content of the data object with the given {targetId} with the content of the data object matching the {sourceId} . The {targetId} and {sourceId} must be an ID of existing data objects\n",
+ "operationId": "data_object_replace_content",
+ "parameters": [
+ {
+ "name": "sourceId",
+ "in": "path",
+ "description": "SourceId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "targetId",
+ "in": "path",
+ "description": "TargetId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully replaced content of data object"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/select-options": {
+ "post": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Get all dynamic select options for data objects",
+ "description": "Get all dynamic select options for data objects for given field\n",
+ "operationId": "data_object_get_select_options",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "objectId",
+ "fieldName",
+ "context"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "integer",
+ "example": 1
+ },
+ "fieldName": {
+ "type": "string"
+ },
+ "changedData": {
+ "type": "object",
+ "example": "{\"Input\":\"new value\"}"
+ },
+ "context": {
+ "type": "object",
+ "example": "{\"containerType\":\"object\",\"fieldname\":\"select\",\"objectId\":40,\"layoutId\":\"0\"}"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of dynamic select options",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SelectOption"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/data-objects/tree": {
+ "get": {
+ "tags": [
+ "Data Objects"
+ ],
+ "summary": "Get all data object data for the tree",
+ "description": "Listing of all data objects and data object folders in the system. \nReturns only data which are relevant for the tree \nYou can use different query parameters to filter the data objects and it is possible to exclude folders from the result completely\n",
+ "operationId": "data_object_get_tree",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter data objects by parent id.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "idSearchTerm",
+ "in": "query",
+ "description": "Filter assets/data-objects by matching ids. As a wildcard * can be used",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": 83
+ }
+ },
+ {
+ "name": "pqlQuery",
+ "in": "query",
+ "description": "Pql query filter",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "series = empty AND color=\"red\""
+ }
+ },
+ {
+ "name": "excludeFolders",
+ "in": "query",
+ "description": "Filter folders from result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Filter by path.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "/path/to/folder"
+ }
+ },
+ {
+ "name": "pathIncludeParent",
+ "in": "query",
+ "description": "Include the parent item in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "pathIncludeDescendants",
+ "in": "query",
+ "description": "Include all descendants in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "className",
+ "in": "query",
+ "description": "When provided, the search is executed on the specific data object class index.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ {
+ "name": "classIds",
+ "in": "query",
+ "description": "Filter results based on the provided class IDs.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "[\"Car\"]"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated data objects with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/dependencies/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Dependencies"
+ ],
+ "summary": "Get all dependencies for provided element.",
+ "description": "Get paginated dependencies.\n Pass dependency mode to get either all elements that depend on the provided element\n or all dependencies for the provided element.",
+ "operationId": "dependency_get_collection_by_element_type",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "dependencyMode",
+ "in": "query",
+ "description": "Dependency mode",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "required_by",
+ "requires"
+ ],
+ "example": "required_by"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated dependencies with total count as header param",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Dependency"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/add/{parentId}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Add a new document",
+ "description": "Add a new data object to the given {parentId} . The {parentId} must be an ID of a folder or another data object. See the full description of request fields with the schema DocumentAdd \n",
+ "operationId": "document_add",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentAddParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of added document",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of created document element",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}/clone/{parentId}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Clone a specific document",
+ "description": "Clones a specific document with the given {id} . The {parentId} must be a folder or another document. See the full description of request fields with the schema Document Clone Parameters \n",
+ "operationId": "document_clone",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentCloneParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully copied documents"
+ },
+ "201": {
+ "description": "Successfully copied parent document and created jobRun for copying children",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}/convert/{type}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Change document type",
+ "description": "Change the {type} of a specific document with the given {id} . \n The {id} must be an ID of existing document or folder and the {type} must be an existing Document Type type.\n",
+ "operationId": "document_convert",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "description": "Document type to convert to",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "page"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully changed document type"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/doc-types/add": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Add a new document DocType",
+ "description": "Add a new document DocType. See the full description of request fields with the schema DocTypeAdd \n",
+ "operationId": "document_doc_type_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocTypeAddParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "New DocType data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocType"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/doc-types/{id}": {
+ "put": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Update a document DocType by ID",
+ "description": "Update the DocType with the given {id} . \nThe {id} must be an ID of an existing DocType. \nPlease note that all fields have to be provided.\n",
+ "operationId": "document_doc_type_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Id of the DocType to update",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocTypeUpdateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated DocType",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocType"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Delete an existing document DocType by ID",
+ "description": "Delete the existing document DocType with the given {id} . The {id} must be an ID of an existing DocType.\n",
+ "operationId": "document_doc_type_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Id of the DocType to delete",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted document DocType"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/doc-types/types": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "List DocType types",
+ "description": "List all available types for DocType.\n",
+ "operationId": "document_doc_type_type_list",
+ "responses": {
+ "200": {
+ "description": "List of available DocType types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocTypeType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/doc-types": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "List all document DocTypes",
+ "description": "List all DocTypes. Results can be filtered based on the given {type} . The {type} must be an existing DocType type.\n",
+ "operationId": "document_doc_type_list",
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Filter results by docType type",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "page"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all DocTypes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/types": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get all available document types",
+ "description": "Retrieves all available document types in the system.\n",
+ "operationId": "document_get_types",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved all available document types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocumentType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get a specific document by ID",
+ "description": "Retrieves a specific document based on the given {id} . The {id} must be an ID of existing document or folder.\n",
+ "operationId": "document_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved document data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Update a document by ID",
+ "description": "You can create/update/delete list entries like properties, settings or editable fields.\n",
+ "operationId": "document_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "task": {
+ "type": "string",
+ "enum": [
+ "autoSave",
+ "publish",
+ "save",
+ "unpublish",
+ "version"
+ ]
+ },
+ "locked": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "published": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "editableData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{ \"someFieldKey\": \"someValue\" }"
+ },
+ "settingsData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": {
+ "title": "Some Title",
+ "description": "Some Description",
+ "prettyUrl": "pretty/url",
+ "controller": "App\\Controller\\PageController",
+ "template": "@app/template.html.twig",
+ "contentMainDocumentId": 123,
+ "contentMainDocumentPath": "/path/to/main/document",
+ "supportsContentMain": false,
+ "missingRequiredEditable": false,
+ "staticGeneratorEnabled": false,
+ "staticGeneratorLifetime": 123456,
+ "staticLastGenerated": 1700000000,
+ "url": "https://example.com/"
+ }
+ },
+ "missingRequiredEditable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "appendEditables": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "properties": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/UpdateElementProperty"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated document",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}/page/check-pretty-url": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Check if pretty URL is available and valid",
+ "description": "Check if the given {prettyUrl} is available and valid for the document with the given {id} . \n The {id} must be an ID of existing document.\n",
+ "operationId": "document_page_check_pretty_url",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CheckPrettyUrl"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Returns success if pretty URL is available and valid"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}/page/stream/preview": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Stream page document preview by ID",
+ "description": "Stream page document PDF preview based on the provided {id} . The {id} must be an ID of existing page\n",
+ "operationId": "document_page_stream_preview",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Page preview stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/jpeg": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/get-available-controllers": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "List document controllers",
+ "description": "List all available controllers for documents.\n",
+ "operationId": "document_available_controllers_list",
+ "responses": {
+ "200": {
+ "description": "document_available_controllers_list_success_response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocumentController"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/get-available-templates": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "List document templates",
+ "description": "List all available templates for documents.\n",
+ "operationId": "document_available_templates_list",
+ "responses": {
+ "200": {
+ "description": "document_available_templates_list_success_response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocumentTemplate"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{id}/page-snippet/change-main-document": {
+ "put": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Change main document of a page snippet",
+ "description": "Set the main document of a page snippet with the given {id} based on the the given {mainDocumentPath} . \nThe {id} must be an ID of existing page snippet. \nThe {mainDocumentPath} must be a valid path of an existing document or null.\n",
+ "operationId": "document_page_snippet_change_main_document",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChangeMainDocument"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully changed main document of page snippet"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/page-snippet/{id}/area-block/render": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Render area brick for editmode",
+ "description": "Generate the editmode HTML and editable definitions based on the document {id} and data provided. \nThe {id} must be an ID of existing page snippet document. \nFollowing fields are required in the request body:\n \n name : Name of the areablock \n realName : Real name of the areaBlock \n index : Index of the areablock within the document \n blockStateStack : State stack of the areaBlock \n areaBlockConfig : areaBlock config \n areaBlockData : Data of the areaBlock \n \n",
+ "operationId": "document_page_snippet_area_block_render",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name",
+ "realName",
+ "index",
+ "blockStateStack",
+ "areablockConfig",
+ "areablockData"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "realName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "blockStateStack": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[{\"blocks\": [], \"indexes\": []}]"
+ },
+ "areaBlockConfig": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[]"
+ },
+ "areaBlockData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Rendered HTML and editable definitions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RenderAreaBlockData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/renderlet/render": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Render a specific renderlet",
+ "description": "Render a specific renderlet based on the provided parameters.\n",
+ "operationId": "document_renderlet_render",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "description": "ElementId of the renderlet element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Type of the renderlet element.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "controller",
+ "in": "query",
+ "description": "Renderlet controller action",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "App/Controller\\Renderlet\\MyRenderletController::renderAction"
+ }
+ },
+ {
+ "name": "parentDocumentId",
+ "in": "query",
+ "description": "Parent document id of the renderlet",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "template",
+ "in": "query",
+ "description": "Renderlet template",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "App/Template/Renderlet/my_template.html.twig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered renderlet",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"renderlet.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/{sourceId}/replace/{targetId}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Replace content of a document",
+ "description": "Replace the content of the document with the given {targetId} with the content of the document matching the {sourceId} . The {targetId} and {sourceId} must be an ID of existing document\n",
+ "operationId": "document_replace_content",
+ "parameters": [
+ {
+ "name": "sourceId",
+ "in": "path",
+ "description": "SourceId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "targetId",
+ "in": "path",
+ "description": "TargetId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully replaced contents of the document"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/sites/list-available": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "List all available sites",
+ "description": "List all available sites\n",
+ "operationId": "documents_list_available_sites",
+ "parameters": [
+ {
+ "name": "excludeMainSite",
+ "in": "query",
+ "description": "Exclude main site from the list",
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available sites",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Site"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/site/{id}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Use document as a site or update the existing site",
+ "description": "Use document as a site or update the existing site by the given document {id} . The {id} must be an ID of existing document\n",
+ "operationId": "document_update_site",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateSite"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created/updated site"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Delete the existing site by its document ID",
+ "description": "Delete the existing site by the given document {id} . The {id} must be an ID of existing document\n",
+ "operationId": "document_delete_site",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted site"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/site/{documentId}": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get the site detail data by its document ID",
+ "description": "Get the site detail data by the given document {documentId} . \nThe {documentId} must be an ID of existing root document of the site\n",
+ "operationId": "document_get_site",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Site detail data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SiteDetailData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/translations/{id}/add/{translationId}": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Link a new translation document to the existing document",
+ "description": "Link a new translation document (by {translationId} ) to the given document with {id} . \nThe {id} and {translationId} must be an ID of existing documents.\n",
+ "operationId": "document_add_translation",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "translationId",
+ "in": "path",
+ "description": "TranslationId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully linked translation document"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/translations/{id}/delete/{translationId}": {
+ "delete": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Delete a translation document from the existing document",
+ "description": "Delete the translation document with the given {translationId} from the given document with {id} . \nThe {id} and {translationId} must be an ID of existing documents.\n",
+ "operationId": "document_delete_translation",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "translationId",
+ "in": "path",
+ "description": "TranslationId of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted translation document"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/translations/{id}": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get all existing translations of the document",
+ "description": "Get all existing translations of the document with the given {id} . The {id} must be an ID of existing document.\n",
+ "operationId": "document_get_translations",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get all existing translations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentTranslationLinks"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/translations/{id}/get-parent/{language}": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get the parent translation document data by language",
+ "description": "Get the parent translation document of the document with the given {id} by {language} . \nThe {id} must be an ID of existing document and the {language} must be a valid language code.\n",
+ "operationId": "document_get_translation_parent_by_language",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "language",
+ "in": "path",
+ "description": "Language code for the translation parent",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "en"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Parent translation document data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentTranslationParent"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/documents/tree": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "summary": "Get all document data for the tree",
+ "description": "Listing of all documents and document folders in the system. \nReturns only data which are relevant for the tree \nYou can use different query parameters to filter the assets and it is possible to exclude folders from the result completely\n",
+ "operationId": "document_get_tree",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter documents by parent id.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "idSearchTerm",
+ "in": "query",
+ "description": "Filter assets/data-objects by matching ids. As a wildcard * can be used",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": 83
+ }
+ },
+ {
+ "name": "pqlQuery",
+ "in": "query",
+ "description": "Pql query filter",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "id = 69"
+ }
+ },
+ {
+ "name": "excludeFolders",
+ "in": "query",
+ "description": "Filter folders from result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Filter by path.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "/path/to/folder"
+ }
+ },
+ {
+ "name": "pathIncludeParent",
+ "in": "query",
+ "description": "Include the parent item in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "pathIncludeDescendants",
+ "in": "query",
+ "description": "Include all descendants in the result.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated documents with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Document"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/delete/{id}": {
+ "delete": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Delete a specific element and its children",
+ "description": "Deletes a specific element based on the given {elementType} and {id} . The {id} must be an existing element of the provided {elementType} . If element is a folder, all child elements will be deleted as well. Elements are moved into the Recycle Bin before deletion.\n",
+ "operationId": "element_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted element"
+ },
+ "201": {
+ "description": "Successfully created jobRun for deleting element and its children",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/delete-info/{id}": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get delete info of the element by id and element type path parameter",
+ "description": "Get delete info for a specific element based on the given {elementType} and {id} . The {id} must be an existing ID of an element of the provided {elementType} .\n",
+ "operationId": "element_get_delete_info",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get delete info for an element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteInfo"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/folder/{parentId}": {
+ "post": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Create a new element folder",
+ "description": "Creating a new folder by {parentId} and {elementType} . The {parentId} must be an ID of an existing folder or element. \nFor additional body parameters see the schema FolderData \n",
+ "operationId": "element_folder_create",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "path",
+ "description": "ParentId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FolderData"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created folder"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/context-permissions/": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get context permissions for the element type path parameter",
+ "description": "Get the context permission list relevant for the given {elementType} .\n",
+ "operationId": "element_get_context_permissions",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Context permission list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
+ "example": {
+ "add": true,
+ "addFolder": true,
+ "changeChildrenSortBy": true,
+ "copy": true,
+ "cut": true,
+ "delete": true,
+ "lock": true,
+ "lockAndPropagate": true,
+ "paste": true,
+ "publish": true,
+ "refresh": true,
+ "rename": true,
+ "searchAndMove": true,
+ "unlock": true,
+ "unlockAndPropagate": true,
+ "unpublish": true
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/location/{id}/{perspectiveId}": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get location data of the element by id, element type and perspective id path parameter",
+ "description": "Get the location data of the element based on the given {elementType} , {id} and {perspectiveId} . \nThe {ids} must be an existing ID of an element of the provided {elementType} and existing perspective ID.\n",
+ "operationId": "element_get_tree_location",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "perspectiveId",
+ "in": "path",
+ "description": "Get perspective by matching Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Location data of the element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LocationData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/path": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get ID of the element by path query parameter and element type path parameter",
+ "description": "Get the element ID based on the given {path} and {elementType} . The {path} must be a valid path of an existing element with provided {elementType} \n",
+ "operationId": "element_get_id_by_path",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "elementPath",
+ "in": "query",
+ "description": "Filter elements by matching element path.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "path/to/element"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ID of the element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of the element",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/subtype/{id}": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get subtype of the element by id and element type path parameter",
+ "description": "Get the subtype of the element based on the given {elementType} and {id} . The {id} must be an existing ID of an element of the provided {elementType} .\n",
+ "operationId": "element_get_subtype",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Subtype of the element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Subtype"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/usage/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get usage of element",
+ "description": "Get usage of element. Use {elementType} and {id} to specify the element.",
+ "operationId": "element_get_usage",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "sortOrder",
+ "in": "query",
+ "description": "Sort order (asc or desc).",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "example": "ASC"
+ }
+ },
+ {
+ "name": "sortBy",
+ "in": "query",
+ "description": "Sort by field.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "id",
+ "path",
+ "type"
+ ],
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Where the element is referenced",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ElementUsage"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/usage/replace/{elementType}/{id}": {
+ "post": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Replace all references to an element with another element",
+ "description": "Replace all references to an element with another element using generic execution engine.\nUse {elementType} and {id} to specify the source element, targetElementType and targetId in the request body to specify the target element.\nUse elements array in the request body to specify the elements to be replaced.\nNote: If no elements are passed, all elements will be replaced.\n",
+ "operationId": "element_usage_replace",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "targetType": {
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "data-object"
+ },
+ "targetId": {
+ "type": "integer",
+ "example": "8"
+ },
+ "elements": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementUsageBaseItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Id of the created job run",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "201 - Created 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/elements/{elementType}/resolve": {
+ "get": {
+ "tags": [
+ "Elements"
+ ],
+ "summary": "Get ID of the element with given search term",
+ "description": "Get the element ID based on the given {searchTerm} . The {searchTerm} must be a valid ID or Path of an existing element. The {searchTerm} can be modified via the ElementResolveEvent .\n",
+ "operationId": "element_resolve_by_search_term",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search term to filter elements by.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "83"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ID of the element with given search term",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of the element",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/blocklist": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get paginated collection of blocklist entries",
+ "description": "Get paginated E-Mail blocklist entries. \nYou can use different query parameters to filter the E-Mail blocklist\n",
+ "operationId": "email_blocklist_get_collection",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "email",
+ "in": "query",
+ "description": "Email address to be filtered by",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "mail@mail.com"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated E-Mail blocklist entries with total count as header param",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BlocklistEntry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Add an E-mail address to the blocklist",
+ "description": "Add an E-mail address to the blocklist. The E-mail address has to be compliant with the PHP validate filter.\n",
+ "operationId": "email_blocklist_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EmailAddressParameter"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully added E-mail address to blocklist"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Delete an E-mail address from the blocklist",
+ "description": "Delete an E-mail address from the blocklist with the given {email} The E-mail address has to be present in the blocklist.\n",
+ "operationId": "email_blocklist_delete",
+ "parameters": [
+ {
+ "name": "email",
+ "in": "query",
+ "description": "Email address to be deleted from blocklist",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "mail@mail.com"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted E-mail address from blocklist"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get paginated collection of E-Mail log entries",
+ "description": "Get paginated E-Mail log entries. \nYou can use different query parameters to filter the E-Mail logs\n",
+ "operationId": "email_log_get_collection",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated E-Mail log entries with total count as header param",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/EmailLogEntry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get an E-Mail log entry by ID",
+ "description": "Get the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "E-Mail log entry data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EmailLogEntryDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Delete E-Mail log entry",
+ "description": "Delete the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted E-Mail log entry"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}/html": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get HTML content of an E-Mail log entry by ID",
+ "description": "Get the HTML content of the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_get_html",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTML content of the E-Mail log entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Email log entry HTML data.",
+ "type": "string",
+ "example": "Some email HTML content
"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}/params": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get parameters of an E-Mail log entry by ID",
+ "description": "Get the parameters of the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_get_params",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Parameters of the E-Mail log entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Email log entry parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/EmailLogEntryParameter"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}/text": {
+ "get": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Get text content of an E-Mail log entry by ID",
+ "description": "Get the text content of the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_get_text",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Text content of the E-Mail log entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Email log entry text data.",
+ "type": "string",
+ "example": "Some email text content"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}/forward": {
+ "post": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Forward and existing E-Mail log entry",
+ "description": "Forward the E-Mail log entry with the given {id} to the given {email} \n",
+ "operationId": "email_log_forward_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EmailAddressParameter"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "E-Mail was successfully forwarded"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/{id}/resend": {
+ "post": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Resend an existing E-Mail log entry",
+ "description": "Resend the E-Mail log entry with the given {id} \n",
+ "operationId": "email_log_resend_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the E-Mail",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "E-Mail was successfully resent"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/emails/test": {
+ "post": {
+ "tags": [
+ "E-Mails"
+ ],
+ "summary": "Send a test E-Mail",
+ "description": "Send a test E-Mail based on the provided query parameters. See the full description of request fields with the schema SendEmailParameters \n",
+ "operationId": "email_send_test",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SendEmailParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "E-Mail was successfully sent"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/execution-engine/abort/{jobRunId}": {
+ "post": {
+ "tags": [
+ "Execution Engine"
+ ],
+ "summary": "Abort Job Run by Id",
+ "description": "Abort Job Run",
+ "operationId": "execution_engine_abort_job_run_by_id",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/execution-engine/hide": {
+ "post": {
+ "tags": [
+ "Execution Engine"
+ ],
+ "summary": "Hide Job Runs by IDs",
+ "description": "Hide Job Runs based on the given {jobRunIds} . The {jobRunIds} must be an array of existing Job Run IDs.\n",
+ "operationId": "execution_engine_hide_job_runs",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "jobRunIds": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/execution-engine/running-jobs": {
+ "post": {
+ "tags": [
+ "Execution Engine"
+ ],
+ "summary": "List studio jobs",
+ "description": "List all studio jobs for the current user which are not hidden",
+ "operationId": "execution_engine_list_jobs",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"state\", \"filterValue\": \"running\"},{\"type\":\"id\", \"filterValue\": 5}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"id\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of studio jobs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JobRun"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/download/csv/{jobRunId}": {
+ "get": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Download CSV file for job run id",
+ "description": "Download the CSV file using the {jobRunId} returned by the create export endpoint. \nFor folder exports, you must provide the ID of the corresponding child job run. \nThe folder export first collects all elements and then creates a child job run to export them.\n",
+ "operationId": "export_download_csv",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "CSV File as attachment",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/csv": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Delete CSV export file based on jobRunId",
+ "description": "Delete the CSV file with given {jobRunId} returned in the response of the create csv endpoint\n",
+ "operationId": "export_delete_csv",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/csv": {
+ "post": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Creating CSV file for elements",
+ "description": "Creating the CSV file for elements. Parameters are: \n elements : Array of element ids \n columns : Describes the columns that should be exported. Can be obtained via the grid endpoint \n config : Delimiter and header options \n elementType : Type of element that should be exported \n \nDelimiter can be set to anything, but the default is a semicolon \nHeader options are: no_header , title and name \nDownload has to be triggered separately via the csv download route with the {jobRunId} returned in the response\n",
+ "operationId": "export_csv",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "elements": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 83
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "config": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "enum": [
+ "id",
+ "custom_report_config",
+ "custom_report_to_export",
+ "element_class_id",
+ "elements_to_export",
+ "element_type",
+ "export_format",
+ "folder_to_export",
+ "grid_export_data",
+ "grid_export_data_info",
+ "config",
+ "columns",
+ "filters",
+ "delimiter",
+ "header",
+ "no_header",
+ "title",
+ "name",
+ "\r\n",
+ "array",
+ "int",
+ "string",
+ "bool"
+ ],
+ "example": "title"
+ },
+ "delimiter": {
+ "type": "string",
+ "example": ";"
+ }
+ },
+ "type": "object"
+ },
+ "elementType": {
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "asset"
+ },
+ "classId": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for csv export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/csv/folder/{id}": {
+ "post": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Creating CSV file for elements based on folder",
+ "description": "Creating the CSV file for elements based on the folder. \nParameters are: \n columns : Describes the columns that should be exported. Can be obtained via the grid endpoint. For folders you can also use filters and sorting \n filters : Filter elements from folder based on the grid filter schema \n config : Delimiter and header options \n \nDelimiter can be set to anything, but the default is a semicolon \nHeader options are: no_header , title and name \nDownload has to be triggered separately via the csv download route with the {jobRunId} returned in the response\n",
+ "operationId": "export_csv_folder",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/ExportAllFilter"
+ },
+ "config": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "enum": [
+ "id",
+ "custom_report_config",
+ "custom_report_to_export",
+ "element_class_id",
+ "elements_to_export",
+ "element_type",
+ "export_format",
+ "folder_to_export",
+ "grid_export_data",
+ "grid_export_data_info",
+ "config",
+ "columns",
+ "filters",
+ "delimiter",
+ "header",
+ "no_header",
+ "title",
+ "name",
+ "\r\n",
+ "array",
+ "int",
+ "string",
+ "bool"
+ ],
+ "example": "title"
+ },
+ "delimiter": {
+ "type": "string",
+ "example": ";"
+ }
+ },
+ "type": "object"
+ },
+ "elementType": {
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "asset"
+ },
+ "classId": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for csv export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/download/xlsx/{jobRunId}": {
+ "get": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Download XLSX file for job run id",
+ "description": "Download the XLSX file using the {jobRunId} returned by the create export endpoint. \nFor folder exports, you must provide the ID of the corresponding child job run. \nThe folder export first collects all elements and then creates a child job run to export them.\n",
+ "operationId": "export_download_xlsx",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "XLSX File as attachment",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Delete XLSX export file based on jobRunId",
+ "description": "Delete the XLSX file with given {jobRunId} returned in the response of the create export endpoint\n",
+ "operationId": "export_delete_xlsx",
+ "parameters": [
+ {
+ "name": "jobRunId",
+ "in": "path",
+ "description": "JobRunId of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/xlsx": {
+ "post": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Creating XLSX file export for elements",
+ "description": "Creating the XLSX file for elements. Parameters are: \n elements : Array of element ids \n columns : Describes the columns that should be exported. Can be obtained via the grid endpoint \n config : Header options \n elementType : Type of element that should be exported \n \nHeader options are: no_header , title and name \nDownload has to be triggered separately via the xlsx download route with the {jobRunId} returned in the response\n",
+ "operationId": "export_xlsx",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "elements": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 83
+ ]
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "config": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "enum": [
+ "id",
+ "custom_report_config",
+ "custom_report_to_export",
+ "element_class_id",
+ "elements_to_export",
+ "element_type",
+ "export_format",
+ "folder_to_export",
+ "grid_export_data",
+ "grid_export_data_info",
+ "config",
+ "columns",
+ "filters",
+ "delimiter",
+ "header",
+ "no_header",
+ "title",
+ "name",
+ "\r\n",
+ "array",
+ "int",
+ "string",
+ "bool"
+ ],
+ "example": "title"
+ }
+ },
+ "type": "object"
+ },
+ "elementType": {
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "asset"
+ },
+ "classId": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for XLSX export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/export/xlsx/folder/{id}": {
+ "post": {
+ "tags": [
+ "Export"
+ ],
+ "summary": "Creating XLSX file for elements based on folder",
+ "description": "Creating the XLSX file for elements based on the folder. \nParameters are: \n\n columns : Describes the columns that should be exported. Can be obtained via the grid endpoint. For folders you can also use filters and sorting \n filters : Filter elements from folder based on the grid filter schema \n config : Header options \n \nHeader options are: no_header , title and name \nDownload has to be triggered separately via the xlsx download route with the {jobRunId} returned in the response\n",
+ "operationId": "export_xlsx_folder",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/ExportAllFilter"
+ },
+ "config": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "enum": [
+ "id",
+ "custom_report_config",
+ "custom_report_to_export",
+ "element_class_id",
+ "elements_to_export",
+ "element_type",
+ "export_format",
+ "folder_to_export",
+ "grid_export_data",
+ "grid_export_data_info",
+ "config",
+ "columns",
+ "filters",
+ "delimiter",
+ "header",
+ "no_header",
+ "title",
+ "name",
+ "\r\n",
+ "array",
+ "int",
+ "string",
+ "bool"
+ ],
+ "example": "title"
+ }
+ },
+ "type": "object"
+ },
+ "elementType": {
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "asset"
+ },
+ "classId": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for XLSX export",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/gdpr/export-data/{id}": {
+ "get": {
+ "tags": [
+ "GDPR Data Extractor"
+ ],
+ "summary": "Export a single GDPR data provider item",
+ "description": "Fetches the data for a single data provider item (by ID) and returns it as a downloadable JSON file.",
+ "operationId": "gdpr_export",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "providerKey",
+ "in": "query",
+ "description": "The key of the single provider to export",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "pimcore_users"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the data export as a downloadable JSON file.",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "*/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/gdpr/providers": {
+ "get": {
+ "tags": [
+ "GDPR Data Extractor"
+ ],
+ "summary": "List of available GDPR providers",
+ "description": "Returns a list of all configured GDPR providers that can be used for data compliance operations.",
+ "operationId": "gdpr_list_providers",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of GDPR providers",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GdprDataProvider"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/gdpr/search": {
+ "post": {
+ "tags": [
+ "GDPR Data Extractor"
+ ],
+ "summary": "Search for GDPR data from all the available data providers",
+ "description": "Searches for GDPR data using the provided search terms and returns a list of results grouped by each provider name.",
+ "operationId": "gdpr_search_data",
+ "parameters": [
+ {
+ "name": "provider",
+ "in": "query",
+ "description": "Define the data provider to search in.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "assets"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"firstname\", \"filterValue\": \"John\"},{\"type\":\"lastname\", \"filterValue\": \"Doe\"},{\"type\":\"email\", \"filterValue\": \"john.doe@mail.com\"},{\"type\":\"id\", \"filterValue\": 1}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"id\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of matching data from all searched providers.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GdprDataRow"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/mercure/auth": {
+ "post": {
+ "tags": [
+ "Mercure"
+ ],
+ "summary": "Retrieve JWT token for Mercure hub as cookie",
+ "description": "Retrieve JWT token for Mercure hub as cookie",
+ "operationId": "mercure_create_cookie",
+ "responses": {
+ "200": {
+ "description": "Retrieve JWT token for Mercure hub as cookie"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/metadata/asset": {
+ "get": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Get predefined metadata for assets by type",
+ "description": "Get predefined metadata entries filtered by asset type, sub-type and group.\nReturns metadata definitions applicable to a specific asset type.\n",
+ "operationId": "metadata_asset_get_collection",
+ "parameters": [
+ {
+ "name": "subType",
+ "in": "query",
+ "description": "Filter by asset sub-type (e.g. image, video).",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "image"
+ }
+ },
+ {
+ "name": "group",
+ "in": "query",
+ "description": "Filter by metadata group. Use 'default' to match entries with no group assigned.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "default"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Filtered predefined metadata entries for the specified asset type",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PredefinedMetadata"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/assets/{id}/custom-metadata": {
+ "get": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Get custom metadata of an asset by ID",
+ "description": "Retrieves custom metadata based on the given {id} . The {id} must be an ID of existing asset\n",
+ "operationId": "asset_custom_metadata_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the asset",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved custom metadata as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomMetadata"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/metadata": {
+ "post": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Get predefined metadata collection with filtering and sorting",
+ "description": "Get predefined metadata collection with optional search, column filtering, and sorting.\nSupports searchTerm for global text search across all fields,\ncolumnFilters for per-column filtering (like/equals), and\nsortFilter for sorting by any filterable column.\n",
+ "operationId": "metadata_get_collection",
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "searchTerm": {
+ "description": "Global search term applied across all fields",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "author"
+ },
+ "columnFilters": {
+ "description": "Per-column filters",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "example": "name"
+ },
+ "type": {
+ "type": "string",
+ "example": "like"
+ },
+ "filterValue": {
+ "type": "string",
+ "example": "author"
+ }
+ },
+ "type": "object"
+ },
+ "example": "[{\"key\":\"name\",\"type\":\"like\",\"filterValue\":\"author\"}]"
+ },
+ "sortFilter": {
+ "description": "Sort configuration",
+ "properties": {
+ "key": {
+ "type": "string",
+ "example": "name"
+ },
+ "direction": {
+ "type": "string",
+ "example": "ASC"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{\"key\":\"name\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Predefined metadata collection with total item count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PredefinedMetadata"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/metadata/predefined": {
+ "post": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Create a new predefined metadata entry",
+ "description": "Create a new predefined metadata entry.\nAn optional request body can be provided to set name, type, language, and other fields.\nIf no body is sent, the entry is created with default values (name: \"New Definition\", type: \"input\").\n",
+ "operationId": "metadata_predefined_create",
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreatePredefinedMetadata"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created predefined metadata entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PredefinedMetadata"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/metadata/predefined/{id}": {
+ "put": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Update predefined metadata entry by id",
+ "description": "Update the predefined metadata entry with the given {id} .\nAll provided fields will be updated on the existing entry.\n",
+ "operationId": "metadata_predefined_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the metadata",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "alpha-numerical"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdatePredefinedMetadata"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated predefined metadata entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PredefinedMetadata"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Delete predefined metadata entry by id",
+ "description": "Delete the predefined metadata entry with the given {id} .\n",
+ "operationId": "metadata_predefined_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the metadata",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "alpha-numerical"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted predefined metadata entry"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notes": {
+ "post": {
+ "tags": [
+ "Notes"
+ ],
+ "summary": "Get paginated notes",
+ "description": "Get paginated notes. \nYou can use different query parameters to filter the notes\n",
+ "operationId": "note_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "page",
+ "pageSize"
+ ],
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "sortOrder": {
+ "description": "Sort order (asc or desc).",
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "example": "ASC"
+ },
+ "sortBy": {
+ "description": "Sort by field. Only works in combination with sortOrder.",
+ "type": "string",
+ "enum": [
+ "id",
+ "type",
+ "cId",
+ "cType",
+ "cPath",
+ "date",
+ "title",
+ "description",
+ "locked"
+ ],
+ "example": "id"
+ },
+ "filter": {
+ "description": "Filter for notes",
+ "type": "string",
+ "example": ""
+ },
+ "fieldFilters": {
+ "description": "Filter for specific fields, will be json decoded to an array. e.g.\n [{\"operator\":\"like\",\"value\":\"John\",\"field\":\"name\",\"type\":\"string\"}]",
+ "type": "object",
+ "example": "[{\"operator\":\"like\",\"value\":\"consent-given\",\"field\":\"type\",\"type\":\"string\"}]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated notes with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notes/{id}": {
+ "delete": {
+ "tags": [
+ "Notes"
+ ],
+ "summary": "Delete note with given id",
+ "description": "Delete the note with the given {id} \n",
+ "operationId": "note_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "note_delete_by_id_success_description"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notes/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Notes"
+ ],
+ "summary": "Get paginated notes for an element by id",
+ "description": "Get paginated notes for a specific element by its {id} . \nYou can use different query parameters to filter the notes\n",
+ "operationId": "note_element_get_collection",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 50
+ }
+ },
+ {
+ "name": "sortBy",
+ "in": "query",
+ "description": "Sort by field. Only works in combination with sortOrder.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "id",
+ "type",
+ "cId",
+ "cType",
+ "cPath",
+ "date",
+ "title",
+ "description",
+ "locked"
+ ],
+ "example": "id"
+ }
+ },
+ {
+ "name": "sortOrder",
+ "in": "query",
+ "description": "Sort order (asc or desc).",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "example": "ASC"
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "Filter for notes",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "notes"
+ }
+ },
+ {
+ "name": "fieldFilters",
+ "in": "query",
+ "description": "Filter for specific fields, will be json decoded to an array. e.g.\n [{\"operator\":\"like\",\"value\":\"John\",\"field\":\"name\",\"type\":\"string\"}]",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "[{\"operator\":\"like\",\"value\":\"John\",\"field\":\"name\", \"type\":\"string\"}]"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated notes with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Notes"
+ ],
+ "summary": "Create a new note for element with given id",
+ "description": "Create a new note for the element with the given {id} . \nThe note will be created for the current user.\n",
+ "operationId": "note_element_create",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateNote"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created note for element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notes/type/{elementType}": {
+ "get": {
+ "tags": [
+ "Notes"
+ ],
+ "summary": "Get note types",
+ "description": "Get note types collection by {elementType} ",
+ "operationId": "note_element_get_type_collection",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Note types collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NoteType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notifications": {
+ "post": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Get paginated notifications",
+ "description": "Get all paginated notifications for current user. You can specify different filters in your request body. Available filters are: \n\n title : Filter by title string \n creationDate : Filter by creation date (on, from, to) \n page : Used for offset calculation in pagination. To be used, needs to be defined together with the page.size \n page.size : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n \n",
+ "operationId": "notification_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"creationDate\", \"type\":\"date\", \"filterValue\":{\"operator\": \"on\", \"value\": \"08/20/2024\"}},{\"key\":\"title\", \"type\":\"like\", \"filterValue\": \"notification\"},{\"key\":\"type\", \"type\":\"equals\", \"filterValue\": \"info\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"creationDate\", \"direction\":\"DESC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated notifications with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NotificationListItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Delete all user notifications",
+ "description": "Delete all notifications for the current user",
+ "operationId": "notification_delete_all",
+ "responses": {
+ "200": {
+ "description": "Successfully deleted all notifications"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notifications/{id}": {
+ "get": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Get notification by ID",
+ "description": "Get the notification with the given {id} . Current user can only get notifications, where he is the recipient.\n",
+ "operationId": "notification_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the notification",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Notification data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Notification"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Mark notification as read",
+ "description": "Mark the notification with the given {id} as read. Current user can only mark notifications as read, where he is the recipient.\n",
+ "operationId": "notification_read_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the notification",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully marked notification as read"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Delete notification with given id",
+ "description": "Delete the notification with the given {id} . Current user can only delete notifications, where he is the recipient.\n",
+ "operationId": "notification_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the notification",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted notification"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notifications/unread-count": {
+ "get": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Count of unread notifications for the current user",
+ "description": "Count of unread notifications for the current user",
+ "operationId": "notification_get_unread_count",
+ "responses": {
+ "200": {
+ "description": "Count of unread notifications for the current user",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnreadCount"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notifications/recipients": {
+ "get": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Get all notification recipients for the current user",
+ "description": "Get all notification recipients for the current user",
+ "operationId": "notification_get_recipients",
+ "responses": {
+ "200": {
+ "description": "List of notification recipients for the current user",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Recipient"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/notifications/send": {
+ "post": {
+ "tags": [
+ "Notifications"
+ ],
+ "summary": "Send a notification",
+ "description": "Send a notification to the given {recipientId} . See the full description of request fields with the schema SendNotificationParameters \n",
+ "operationId": "notification_send",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SendNotificationParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully sent notification"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/configuration": {
+ "post": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Create a new perspective",
+ "description": "Create a new perspective with default values.\n",
+ "operationId": "perspective_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AddPerspectiveConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Id of the new perspective"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/configurations": {
+ "get": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Get all perspective configurations",
+ "description": "Listing of all available perspectives",
+ "operationId": "perspective_get_config_collection",
+ "responses": {
+ "200": {
+ "description": "List of perspective configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PerspectiveConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/configuration/{perspectiveId}": {
+ "get": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Get perspective configuration by ID",
+ "description": "Get the perspective configuration with the given {perspectiveId} . \nThe {perspectiveId} must be an ID of an existing perspective.\n",
+ "operationId": "perspective_get_config_by_id",
+ "parameters": [
+ {
+ "name": "perspectiveId",
+ "in": "path",
+ "description": "Get perspective by matching Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio_default_perspective"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Perspective configuration data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PerspectiveConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Update widget configuration by id and type",
+ "description": "Update the perspective configuration with the given {perspectiveId} . \nThe {perspectiveId} must be an ID of an existing perspective. \nPlease note that all configuration fields have to be provided.\n",
+ "operationId": "perspective_update_config_by_id",
+ "parameters": [
+ {
+ "name": "perspectiveId",
+ "in": "path",
+ "description": "Update perspective by matching Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SavePerspectiveConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated perspective configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Delete perspective by given id",
+ "description": "Delete the perspective with the given {perspectiveId} . \nThe {perspectiveId} must be an ID of an existing perspective.\n",
+ "operationId": "perspective_delete",
+ "parameters": [
+ {
+ "name": "perspectiveId",
+ "in": "path",
+ "description": "Get perspective by matching Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted perspective"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/widgets/{widgetType}/configuration": {
+ "post": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Create a new widget",
+ "description": "Create a new widget with default values based on the provided {widgetType} .\n The widget type has to be registered via Symfony Configuration.\n Please note that {name} has to be provided.\n",
+ "operationId": "perspective_widget_create",
+ "parameters": [
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Create widget by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "element_tree"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Id of the new widget"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/widgets/configurations": {
+ "get": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Get all widget configurations",
+ "description": "Listing of all available widget configurations",
+ "operationId": "perspective_widget_get_config_collection",
+ "parameters": [
+ {
+ "name": "skipWrapperWidgets",
+ "in": "query",
+ "description": "Skip wrapper widget configurations",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of widget configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WidgetConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/widgets/{widgetType}/configuration/{widgetId}": {
+ "get": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Get widget configuration by id and type",
+ "description": "Get the widget configuration with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n",
+ "operationId": "perspective_widget_get_config_by_id",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Filter widgets by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter widgets by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "element_tree"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Widget configuration data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Data of the widget configuration",
+ "type": "string",
+ "example": "Test content"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Update widget configuration by id and type",
+ "description": "Update the widget configuration with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration. \nPlease note that all configuration fields have to be provided.\n",
+ "operationId": "perspective_widget_update_config_by_id",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Update widget by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Update widget by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "element_tree"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated widget configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Delete widget with given id and type",
+ "description": "Delete the widget with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n",
+ "operationId": "perspective_widget_delete",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Filter widgets by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter widgets by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "element_tree"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted widget"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/perspectives/widgets/types": {
+ "get": {
+ "tags": [
+ "Perspectives"
+ ],
+ "summary": "Get widget types",
+ "description": "Get widget types collection",
+ "operationId": "perspective_widget_get_type_collection",
+ "responses": {
+ "200": {
+ "description": "List of widget types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WidgetType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/properties": {
+ "get": {
+ "tags": [
+ "Properties"
+ ],
+ "summary": "Get all predefined properties. You can filter by type and query",
+ "description": "Listing all the predefined properties that are currently stored in the system. \nTo list specific properties for a type you can use the elementType query parameter. \nYou can also created element type specific listings for this, to show in the context of the element. \nThe filter query parameter is applied on the string properties. \nKeep in mind that the name is language specific.\n",
+ "operationId": "property_get_collection",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "query",
+ "description": "Filter elements by matching element type.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "Filter for properties",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "properties"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Predefined properties filtered based on type and query parameters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PredefinedProperty"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/property": {
+ "post": {
+ "tags": [
+ "Properties"
+ ],
+ "summary": "Creating new property with default values",
+ "description": "Creating the property with default values. \n\n Name: New Property \n Key: new_key \n Type: Text \n Element Type: Document (Ctype) \n \n",
+ "operationId": "property_create",
+ "responses": {
+ "200": {
+ "description": "Created predefined property with default values",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PredefinedProperty"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/properties/{id}": {
+ "put": {
+ "tags": [
+ "Properties"
+ ],
+ "summary": "Updating a property",
+ "description": "Updating the property with the given {id} . \nSee the full description of updatable fields with the schema UpdatePredefinedProperty \n",
+ "operationId": "property_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the property",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "alpha-numerical"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdatePredefinedProperty"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated predefined property",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PredefinedProperty"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Properties"
+ ],
+ "summary": "Delete property with given id",
+ "description": "Deleting the property with the given {id} . \nIf the property is used in any element, it will not be deleted.\n",
+ "operationId": "property_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the property",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "alpha-numerical"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted property with given id"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/properties/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Properties"
+ ],
+ "summary": "Get properties for an element based on the element type and the element id",
+ "description": "List all the saved properties of the element. \nKeep in mind that inherited properties should not be send back in an update request. \nThis will result in the loss of the inheritance. \n",
+ "operationId": "property_get_collection_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Element Properties data as json",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementProperty"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/recycle-bin/items": {
+ "post": {
+ "tags": [
+ "Recycle Bin"
+ ],
+ "summary": "Get paginated recycle bin items",
+ "description": "Get all paginated recycle bin items. You can specify different filters in your request body. Example filters are: \n\n page : Used for offset calculation in pagination. To be used, needs to be defined together with the page.size \n pageSize : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n date : Filter by deletion date (on, from, to) \n path : Filter by element path \n type : Filter by element type (asset, document, object) \n \n",
+ "operationId": "recycle_bin_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"date\", \"type\":\"date\", \"filterValue\":{\"operator\": \"on\", \"value\": \"08/20/2024\"}},{\"key\":\"path\", \"type\":\"like\", \"filterValue\": \"/path/to/element\"},{\"key\":\"type\", \"type\":\"equals\", \"filterValue\": \"asset\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"date\", \"direction\":\"DESC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated recycle bin items with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RecycleBin"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/recycle-bin/delete": {
+ "delete": {
+ "tags": [
+ "Recycle Bin"
+ ],
+ "summary": "Delete items from the recycle bin",
+ "description": "Delete items from the recycle bin based on the given {items} array. \nThe {items} array must contain IDs of existing recycle bin items. \nIf multiple items are being deleted, the operation is executed asynchronously.\n",
+ "operationId": "recycle_bin_delete_items",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully deleted recycle bin item"
+ },
+ "201": {
+ "description": "Successfully created jobRun to delete recycle bin items",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/recycle-bin/flush": {
+ "delete": {
+ "tags": [
+ "Recycle Bin"
+ ],
+ "summary": "Flush the recycle bin",
+ "description": "Flush the recycle bin. This will delete all items in the recycle bin.\n",
+ "operationId": "recycle_bin_flush",
+ "responses": {
+ "200": {
+ "description": "Successfully flushed recycle bin"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/recycle-bin/restore": {
+ "post": {
+ "tags": [
+ "Recycle Bin"
+ ],
+ "summary": "Restore items from the recycle bin",
+ "description": "Restores items from the recycle bin based on the given {items} array. \nThe {items} array must contain IDs of existing recycle bin items. \nIf multiple items are being restored, the operation is executed asynchronously.\n",
+ "operationId": "recycle_bin_restore_items",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully restored recycle bin item"
+ },
+ "201": {
+ "description": "Successfully created jobRun to restore recycle bin items",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role/clone/{id}": {
+ "post": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Clone a specific Role.",
+ "operationId": "role_clone_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the role",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "Cloned Role"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the cloned Role.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role/folder": {
+ "post": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Create a new role folder.",
+ "operationId": "role_folder_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "parentId",
+ "name"
+ ],
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the new created Folder",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role": {
+ "post": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Create a new role.",
+ "operationId": "role_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "parentId",
+ "name"
+ ],
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the new created Role.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role/folder/{id}": {
+ "delete": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Delete a specific folder with all sub roles.",
+ "operationId": "role_folder_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role/{id}": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Get all available user roles.",
+ "operationId": "role_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the role",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available user roles.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedRole"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Update role by id.",
+ "operationId": "role_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Role",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateRole"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedRole"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Delete a specific role.",
+ "operationId": "role_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the role",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/roles": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Get all available roles.",
+ "description": "Get all available roles with basic information",
+ "operationId": "role_get_collection",
+ "responses": {
+ "200": {
+ "description": "List of available roles.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleRole"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/roles/with-permission": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Get all roles with a specific permission",
+ "description": "Get all roles with the given permission {permission} . \nThe {permission} must be an existing user permission.\n",
+ "operationId": "role_list_with_permission",
+ "parameters": [
+ {
+ "name": "permission",
+ "in": "query",
+ "description": "List roles with this permission",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "assets"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of roles with the given permission",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleRole"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/roles/tree": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Get collection of roles for tree view.",
+ "operationId": "role_get_tree",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter roles by parent id.",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "example": 0
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of roles including folders for the given parent id.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/roles-share-list": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Get all roles for sharing configurations",
+ "description": "Get all available roles with basic information for sharing configurations",
+ "operationId": "role_get_share_collection",
+ "responses": {
+ "200": {
+ "description": "List of roles for sharing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleRole"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/role/search": {
+ "get": {
+ "tags": [
+ "Role Management"
+ ],
+ "summary": "Search for roles by query.",
+ "description": "Search for roles by query. The query can be a part of the role name or ID.",
+ "operationId": "role_search",
+ "parameters": [
+ {
+ "name": "searchQuery",
+ "in": "query",
+ "description": "Query to search for a role. This can be a part of role name or ID.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of roles",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleRole"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/schedules/{id}": {
+ "delete": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Delete schedule with given id",
+ "description": "Deletes a specific schedule based on the given {id} .\n",
+ "operationId": "schedule_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the schedule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 123
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted schedule"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/schedules/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Get schedules for an element",
+ "description": "Get all schedules for a specific element based on the given {elementType} and {id} . \n",
+ "operationId": "schedule_get_collection_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of schedules for element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Schedule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Update schedules for an element",
+ "description": "Update schedules for a specific element based on the given {elementType} and {id} . \nSee the full description of updatable fields with the schema UpdateSchedule \n",
+ "operationId": "schedule_update_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UpdateSchedule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of updated schedules",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Schedule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Create a schedule for element",
+ "description": "Create a new schedule with default values for the element with the given type {elementType} and {id} . \nThe schedule will be created for the current user.\n",
+ "operationId": "schedule_create_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created schedule for element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Schedule"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/schedules/actions/{elementType}": {
+ "get": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "List available schedule actions for element type",
+ "description": "Get available schedule actions for the given element type {elementType} .\n",
+ "operationId": "schedule_list_actions_for_element_type",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available schedule actions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ScheduleAction"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/configuration/assets": {
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get asset search configuration",
+ "description": "Get asset configuration",
+ "operationId": "asset_get_search_configuration",
+ "responses": {
+ "200": {
+ "description": "Asset search configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/assets": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get asset data for search",
+ "description": "Asset grid for search",
+ "operationId": "asset_get_search",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "columns"
+ ],
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Assets for search grid",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "required": [
+ "id",
+ "columns",
+ "isLocked",
+ "permissions"
+ ],
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/configuration/data-objects": {
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get data object search configuration",
+ "description": "Get data object search configuration",
+ "operationId": "data_object_get_search_configuration",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class Id of the data object",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data object search configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DetailedConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/data-objects": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get data object search results",
+ "description": "Get data object search results",
+ "operationId": "data_object_get_search",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class Id of the data object",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "EV"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "columns"
+ ],
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Data object search results",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "required": [
+ "id",
+ "columns",
+ "isLocked",
+ "permissions"
+ ],
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/documents": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get document data for search",
+ "description": "Document grid for search",
+ "operationId": "document_get_search",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "columns"
+ ],
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ }
+ },
+ "filters": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "dcocument_get_search_success_response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "required": [
+ "id",
+ "columns",
+ "isLocked",
+ "permissions"
+ ],
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnData"
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search/preview/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Preview for element search result",
+ "description": "Returns search preview for elements based on the given type {elementType} and {id} . \nThe {id} must be an ID of an existing element of the provided {elementType} .\n",
+ "operationId": "simple_search_preview_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Simple search results preview for elements",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AssetSearchPreview"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectSearchPreview"
+ },
+ {
+ "$ref": "#/components/schemas/DocumentSearchPreview"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/search": {
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Search for elements",
+ "description": "Search for elements based on the given {search term} . \nElements are searched with the fulltext filter applied via Generic Data Index. \n",
+ "operationId": "simple_search_get",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search term",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Search results for elements",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleSearchResult"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/admin": {
+ "get": {
+ "tags": [
+ "Settings Admin"
+ ],
+ "summary": "Get admin appearance settings",
+ "description": "Get admin appearance system settings. \nIncludes branding and asset configuration options.\n",
+ "operationId": "admin_settings_get",
+ "responses": {
+ "200": {
+ "description": "Admin system settings data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminSettings"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/admin/save": {
+ "post": {
+ "tags": [
+ "Settings Admin"
+ ],
+ "summary": "Update admin appearance settings",
+ "description": "Update admin appearance system settings. \nAllows updating branding and asset configuration options.\n",
+ "operationId": "admin_settings_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateAdminSettings"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Admin system settings updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/setting/admin/thumbnail": {
+ "get": {
+ "tags": [
+ "Settings Admin"
+ ],
+ "summary": "Get thumbnail for images in admin settings",
+ "operationId": "setting_admin_thumbnail",
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminSettingsThumbnailPath"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 429 - Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/available-countries": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Get all available countries",
+ "description": "Get all available countries in the system. \nReturns a list of countries with their codes and names\n",
+ "operationId": "settings_country_collection",
+ "responses": {
+ "200": {
+ "description": "List of available countries",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AvailableCountry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Get system settings",
+ "description": "Get system settings from different providers. \nSystem settings are public and need no login.\n",
+ "operationId": "system_settings_get",
+ "responses": {
+ "200": {
+ "description": "System settings data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Update system settings",
+ "description": "Update system settings. \nThis endpoint allows you to update various system configuration parameters including: \n\n general : Language settings (valid languages, fallback languages, required languages, default language), domain configuration, and translation debugging \n objects : Object versioning settings (days and steps to keep) \n assets : Asset versioning settings (days and steps to keep) \n documents : Document versioning settings and localized error pages \n \nNote: Only the settings provided in the request body will be updated.\n",
+ "operationId": "settings_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "general": {
+ "properties": {
+ "valid_languages": {
+ "description": "Valid language codes (ISO 639-1)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "en",
+ "de",
+ "fr"
+ ]
+ },
+ "fallback_languages": {
+ "description": "Language fallback mapping (e.g., {\"de\": \"en\", \"fr\": \"en\"})",
+ "type": "object",
+ "example": {
+ "de": "en",
+ "fr": "en"
+ }
+ },
+ "required_languages": {
+ "description": "Required language codes (ISO 639-1)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "en"
+ ]
+ },
+ "default_language": {
+ "description": "Default system language",
+ "type": "string",
+ "example": "en"
+ },
+ "domain": {
+ "description": "Main domain for the system",
+ "type": "string",
+ "example": ""
+ },
+ "redirect_to_maindomain": {
+ "description": "Redirect to main domain",
+ "type": "boolean",
+ "example": false
+ },
+ "debug_admin_translations": {
+ "description": "Enable translation debugging",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "objects": {
+ "properties": {
+ "versions": {
+ "properties": {
+ "days": {
+ "description": "Number of days to keep object versions",
+ "type": "integer"
+ },
+ "steps": {
+ "description": "Number of version steps to keep for objects",
+ "type": "integer",
+ "example": 10
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "assets": {
+ "properties": {
+ "versions": {
+ "properties": {
+ "days": {
+ "description": "Number of days to keep asset versions",
+ "type": "integer"
+ },
+ "steps": {
+ "description": "Number of version steps to keep for assets",
+ "type": "integer",
+ "example": 10
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "documents": {
+ "properties": {
+ "versions": {
+ "properties": {
+ "days": {
+ "description": "Number of days to keep document versions",
+ "type": "integer"
+ },
+ "steps": {
+ "description": "Number of version steps to keep for documents",
+ "type": "integer",
+ "example": 10
+ }
+ },
+ "type": "object"
+ },
+ "error_pages": {
+ "properties": {
+ "default": {
+ "description": "Default error page",
+ "type": "string",
+ "example": ""
+ },
+ "localized": {
+ "description": "Localized error page IDs (e.g., {\"en\": \"1\", \"de\": \"2\"})",
+ "type": "object",
+ "example": {
+ "en": "",
+ "de": ""
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "email": {
+ "properties": {
+ "debug": {
+ "properties": {
+ "email_addresses": {
+ "description": "Debug email addresses",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "debug@example.com"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated system settings"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/adapter/image": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Check image adapter",
+ "description": "Check what image adapter is used. \nReturns true if Imagick extension is used for image processing. \nReturns false if the GD library fallback is used, which provides lower quality image processing.\n",
+ "operationId": "settings_image_adapter_check",
+ "responses": {
+ "200": {
+ "description": "Image adapter availability"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/active-bundles": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "List all active bundles",
+ "description": "List all active and installed bundles in the system.\n",
+ "operationId": "active_bundles_get",
+ "responses": {
+ "200": {
+ "description": "List of active bundles",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "bundles"
+ ],
+ "properties": {
+ "bundles": {
+ "title": "Active Bundles",
+ "description": "List of active and installed bundles in the system.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ActiveBundle"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/settings/ping": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Ping action",
+ "description": "Ping action to check if the API is reachable",
+ "operationId": "ping_action",
+ "responses": {
+ "200": {
+ "description": "API is reachable"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/settings/adapter/video": {
+ "get": {
+ "tags": [
+ "Settings"
+ ],
+ "summary": "Check video adapter validity",
+ "description": "Check if the video adapter is valid. \nReturns true if FFmpeg is properly configured for video processing. \nReturns false if video processing is not available due to missing PHP CLI binary or FFmpeg binary configuration.\n",
+ "operationId": "settings_video_adapter_check",
+ "responses": {
+ "200": {
+ "description": "Video adapter validity status"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "summary": "Get all tags for a parent",
+ "description": "Get all tags for a {parentId} . \nYou can use different query parameters to filter the tags\n",
+ "operationId": "tag_get_collection",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "query",
+ "description": "Filter elements by matching element type.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "Filter for properties",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "properties"
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter tags by parent id.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All tags for a parent filtered based on type and query parameters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tag": {
+ "post": {
+ "tags": [
+ "Tags"
+ ],
+ "summary": "Create a new tag",
+ "description": "Create a new tag. See the full description of request fields with the schema Create Tag Parameters \n",
+ "operationId": "tag_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateTagParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "tag_create_success_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags/{id}": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "summary": "Get a tag by ID",
+ "description": "Retrieves a specific tag data based on the given {id} \n",
+ "operationId": "tag_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the tag",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved tag data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tags"
+ ],
+ "summary": "Update a tag by ID",
+ "description": "Update a specific tag based on the given {id} . \nSee the full description of updatable fields with the schema Change Tag Parameters \n",
+ "operationId": "tag_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the tag",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateTagParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated tag data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tags"
+ ],
+ "summary": "Delete a specific tag",
+ "description": "Delete a specific tag based on the given {id} \n",
+ "operationId": "tag_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the tag",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ID of successfully deleted tag",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of deleted tag",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags/assign/{elementType}/{id}/{tagId}": {
+ "post": {
+ "tags": [
+ "Tags for Element"
+ ],
+ "summary": "Assign a tag to an element",
+ "description": "Assign a specific tag based on the given {tagId} to an element based on {elementType} and {id} . \nThe {id} must be an ID of an existing element of the provided {elementType} .\n",
+ "operationId": "tag_assign_to_element",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "TagId of the tag",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags/batch/{operation}/{elementType}/{id}": {
+ "post": {
+ "tags": [
+ "Tags for Element"
+ ],
+ "summary": "Batch assign/replace tags for children elements",
+ "description": "Batch assign/replace multiple tags of the given parent based on the {elementId} and {elementType} to the children. \nOperation parameter {operation} must be one of the assign replace .\n",
+ "operationId": "tag_batch_operation_to_elements_by_type_and_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "operation",
+ "in": "path",
+ "description": "Execute operation based on provided type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "assign",
+ "replace"
+ ],
+ "example": "assign"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successfully created jobRun for batch tag assignment/replacement",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "jobRunId"
+ ],
+ "properties": {
+ "jobRunId": {
+ "title": "jobRunId",
+ "description": "ID of created jobRun",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Tags for Element"
+ ],
+ "summary": "Get tags for an element",
+ "description": "Get paginated tag collection for a specific element based on the given {elementType} and {id} \n",
+ "operationId": "tag_get_collection_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated tags for element",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/tags/{elementType}/{id}/{tagId}": {
+ "delete": {
+ "tags": [
+ "Tags for Element"
+ ],
+ "summary": "Unassign a tag from an element",
+ "description": "Unassign a specific tag based on the given {tagId} from an element based on {elementType} and {id} . \nThe {id} must be an ID of an existing element of the provided {elementType} .\n",
+ "operationId": "tag_unassign_from_element",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "TagId of the tag",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/image": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get collection of thumbnails for images",
+ "description": "Get collection of thumbnails for images. \nThe thumbnails have to be defined as downloadable in order to be listed in the collection.\n",
+ "operationId": "thumbnail_image_get_collection",
+ "responses": {
+ "200": {
+ "description": "All downloadable image thumbnails",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Thumbnail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/image/config": {
+ "post": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Create a new image thumbnail configuration",
+ "description": "Create a new image thumbnail configuration with the specified name. \nThe name must be unique and not already used by an existing thumbnail configuration.\n",
+ "operationId": "thumbnail_image_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateThumbnailConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created image thumbnail configuration as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImageThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/image/config/{name}": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get image thumbnail configuration",
+ "description": "Get a specific image thumbnail configuration by its name including settings and media transformations.\n",
+ "operationId": "thumbnail_image_get_by_name",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Image thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image thumbnail configuration as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImageThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Update image thumbnail configuration",
+ "description": "Update a specific image thumbnail configuration by its name with new settings and media transformations.\n",
+ "operationId": "thumbnail_image_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Image thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateThumbnailConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated image thumbnail configuration as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImageThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Delete image thumbnail configuration",
+ "description": "Delete a specific image thumbnail configuration by its name.\n",
+ "operationId": "thumbnail_image_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Image thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image thumbnail configuration successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/image/tree": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get image thumbnails tree",
+ "description": "Get image thumbnail configuration tree with thumbnails organized by groups. \nThumbnails without a group are listed directly, while grouped thumbnails are organized into folder nodes.\n",
+ "operationId": "thumbnail_image_get_tree",
+ "responses": {
+ "200": {
+ "description": "Image thumbnail configuration tree as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ThumbnailConfigurationData"
+ },
+ {
+ "$ref": "#/components/schemas/ThumbnailConfigurationFolderData"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/video": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get collection of thumbnails for videos",
+ "description": "Get collection of all thumbnails for videos.\n",
+ "operationId": "thumbnail_video_get_collection",
+ "responses": {
+ "200": {
+ "description": "All video thumbnails",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Thumbnail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/video/config": {
+ "post": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Create a new video thumbnail configuration",
+ "description": "Creates a new video thumbnail configuration with the given {name} . \nThe {name} must be unique.\n",
+ "operationId": "thumbnail_video_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateThumbnailConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created video thumbnail configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VideoThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/video/config/{name}": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get video thumbnail configuration by name",
+ "description": "Retrieves a specific video thumbnail configuration based on the given {name} . \nThe {name} must be a name of an existing video thumbnail configuration.\n",
+ "operationId": "thumbnail_video_get_by_name",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Video thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved video thumbnail configuration details",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VideoThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Update video thumbnail configuration by name",
+ "description": "Updates a specific video thumbnail configuration based on the given {name} . \nThe {name} must be a name of an existing video thumbnail configuration.\n",
+ "operationId": "thumbnail_video_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Video thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateThumbnailConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated video thumbnail configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VideoThumbnailConfigDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Delete video thumbnail configuration by name",
+ "description": "Deletes a specific video thumbnail configuration based on the given {name} . \nThe {name} must be a name of an existing video thumbnail configuration.\n",
+ "operationId": "thumbnail_video_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Video thumbnail configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "content"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted video thumbnail configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/thumbnails/video/tree": {
+ "get": {
+ "tags": [
+ "Asset Thumbnails"
+ ],
+ "summary": "Get video thumbnail configuration tree",
+ "description": "Retrieves a tree structure of all video thumbnail configurations. \nThumbnails are grouped by their group property.\n",
+ "operationId": "thumbnail_video_get_tree",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved video thumbnail configuration tree",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ThumbnailConfigurationData"
+ },
+ {
+ "$ref": "#/components/schemas/ThumbnailConfigurationFolderData"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/available-locales": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Get all available locales in the system",
+ "description": "Get all available locales in the system",
+ "operationId": "translation_get_available_locales",
+ "responses": {
+ "200": {
+ "description": "List of available locales in the system",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "required": [
+ "local",
+ "displayName"
+ ],
+ "properties": {
+ "locale": {
+ "title": "locale",
+ "description": "Locale code.",
+ "type": "string",
+ "example": "de_de"
+ },
+ "displayName": {
+ "title": "Display Name",
+ "description": "The display name of the locale.",
+ "type": "string",
+ "example": "Deutsch (Deutschland)"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/{domain}/cleanup": {
+ "delete": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Cleanup translations for the given domain",
+ "description": "Cleanup translations for the given domain",
+ "operationId": "translation_cleanup_by_domain",
+ "parameters": [
+ {
+ "name": "domain",
+ "in": "path",
+ "description": "Domain of the translation, to be cleaned up",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "admin"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation cleaned up successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/create": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Create translations",
+ "description": "Add new translation entries for given translation key\n",
+ "operationId": "translation_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateTranslation"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created translations"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/csv-settings": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Determine CSV dialect settings for import",
+ "description": "Determine CSV dialect settings for import from a sample string.\n",
+ "operationId": "translation_determine_csv_settings_for_import",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "sample"
+ ],
+ "properties": {
+ "sample": {
+ "description": "Sample CSV content (first few lines)",
+ "type": "string",
+ "example": "name,value\\n\"John Doe\",123\\n\"Jane Smith\",456"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Detected CSV dialect settings",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CsvSettings"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/{key}": {
+ "delete": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Delete translations",
+ "description": "Delete translations for given translation key",
+ "operationId": "translation_delete_by_key",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "Delete translations by matching key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "some_key"
+ }
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "Domain of the translation, defaults to \"studio\"",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "studio"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "translation_delete_by_key_success_description"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/domains": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Get all available translation domains",
+ "description": "Get all available translation domains",
+ "operationId": "translation_get_domains",
+ "responses": {
+ "200": {
+ "description": "List of available translation domains",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "required": [
+ "domain",
+ "isFrontendDomain"
+ ],
+ "properties": {
+ "domain": {
+ "title": "Domain",
+ "description": "The domain name.",
+ "type": "string",
+ "example": "admin"
+ },
+ "isFrontendDomain": {
+ "title": "Is Frontend Domain",
+ "description": "If the domain is a frontend or admin domain.",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/export": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Export translations for the given domain",
+ "description": "Export translations for the given domain. \nYou can specify different filters in your request body. Example filters are: \n \n translationLike : Filter by value \n search : Filter by search term \n \n",
+ "operationId": "translation_export_list",
+ "parameters": [
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "Domain to filter translations by",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "studio"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"de\", \"type\":\"translationLike\", \"filterValue\": \"%car%\"},{\"type\":\"search\", \"filterValue\": \"search term\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"key\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "CSV export file for the given domain",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"studio_translations.csv\""
+ }
+ }
+ },
+ "content": {
+ "text/csv": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/{domain}/import": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Import translations from a CSV file",
+ "description": "Import translations from a CSV file for the given domain. \nSee the full description of request fields with the schema CsvSettings \n",
+ "operationId": "translation_import_csv",
+ "parameters": [
+ {
+ "name": "domain",
+ "in": "path",
+ "description": "Domain of the translation for import",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file",
+ "csvSettings"
+ ],
+ "properties": {
+ "file": {
+ "description": "CSV import file to upload",
+ "type": "string",
+ "format": "binary"
+ },
+ "csvSettings": {
+ "description": "Settings for CSV import",
+ "properties": {
+ "delimiter": {
+ "type": "string",
+ "example": ";"
+ },
+ "quoteChar": {
+ "type": "string",
+ "example": "\""
+ },
+ "escapeChar": {
+ "type": "string",
+ "example": "\\"
+ },
+ "lineTerminator": {
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Translation delta based on imported data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeltaItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/list": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Get all translations for the given domain",
+ "description": "Get all paginated translations for the given domain. \nYou can specify different filters in your request body. Example filters are: \n \n page : Used for offset calculation in pagination. To be used, needs to be defined together with the pageSize \n pageSize : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n translationLike : Filter by value \n search : Filter by search term \n \n",
+ "operationId": "translation_get_list",
+ "parameters": [
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "Domain to filter translations by",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "studio"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"de\", \"type\":\"translationLike\", \"filterValue\": \"%car%\"},{\"type\":\"search\", \"filterValue\": \"search term\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"de\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of translations for the given domain including all languages",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Translations"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Get translations",
+ "description": "Get translations for given keys and locale",
+ "operationId": "translation_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Translation"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Key value pairs for given keys and locale",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Translation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/translations/{domain}": {
+ "put": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Update translations",
+ "description": "Update translations for given translation data and locale.The {key} must be an existing translation key. \nSee the full description of updatable translation data fields with the schema TranslationData \n",
+ "operationId": "translation_update",
+ "parameters": [
+ {
+ "name": "domain",
+ "in": "path",
+ "description": "Domain of the translation, to be updated",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UpdateTranslation"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated translations"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/units/collection": {
+ "post": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Get quantity value unit collection",
+ "description": "Get a paginated and filterable collection of quantity value units.\n",
+ "operationId": "unit_quantity_value_units_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\", \"filterValue\": \"kg\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"id\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated collection of quantity value units",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/QuantityValueUnit"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/convert-all": {
+ "get": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Convert quantity value from one unit to all other related units",
+ "description": "Convert quantity {value} from one unit to all other available units based on the given {fromUnitId} . \nUnits have to have {fromUnitId} defined as base unit to be considered for conversion.\n",
+ "operationId": "unit_quantity_value_convert_all",
+ "parameters": [
+ {
+ "name": "fromUnitId",
+ "in": "query",
+ "description": "Id of the unit to convert from",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "query",
+ "description": "Value to convert.",
+ "required": true,
+ "schema": {
+ "type": "number",
+ "format": "number",
+ "example": 3.14
+ },
+ "example": 5
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Converted quantity value",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConvertedQuantityValues"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/convert": {
+ "get": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Convert quantity value from one unit to another",
+ "description": "Convert quantity {value} from one unit to another based on the given {fromUnitId} and {toUnitId} \n",
+ "operationId": "unit_quantity_value_convert",
+ "parameters": [
+ {
+ "name": "fromUnitId",
+ "in": "query",
+ "description": "Id of the unit to convert from",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ },
+ {
+ "name": "toUnitId",
+ "in": "query",
+ "description": "Id of the unit to convert to",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "query",
+ "description": "Value to convert.",
+ "required": true,
+ "schema": {
+ "type": "number",
+ "format": "number",
+ "example": 3.14
+ },
+ "example": 5
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Converted quantity value",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Converted value",
+ "example": 2,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/units": {
+ "post": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Create a new quantity value unit",
+ "description": "Create a new quantity value unit. The unit ID must be unique and not exceed 50 characters.\n",
+ "operationId": "unit_quantity_value_units_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateUnitParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created quantity value unit",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QuantityValueUnit"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/units/{id}": {
+ "put": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Update a quantity value unit",
+ "description": "Update an existing quantity value unit by its ID. \nThe unit with the given ID must already exist. \nPlease note that all fields have to be provided.\n",
+ "operationId": "unit_quantity_value_units_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the unit to update",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "mm"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateUnitParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated quantity value unit",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QuantityValueUnit"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Delete a quantity value unit",
+ "description": "Delete a quantity value unit by its ID.\n",
+ "operationId": "unit_quantity_value_units_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the unit to delete",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "mm"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted quantity value unit"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/units/export": {
+ "get": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Export quantity value units as JSON",
+ "description": "Export all quantity value unit definitions as JSON.\n",
+ "operationId": "unit_quantity_value_units_export",
+ "responses": {
+ "200": {
+ "description": "JSON export of quantity value units",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"quantityvalue_unit_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/units/import": {
+ "post": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "Import quantity value units from JSON",
+ "description": "Import quantity value unit definitions from a JSON file. Existing units with the same ID will be skipped.\n",
+ "operationId": "unit_quantity_value_units_import",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "JSON file containing quantity value unit definitions",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported quantity value units"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/unit/quantity-value/unit-list": {
+ "get": {
+ "tags": [
+ "Units"
+ ],
+ "summary": "List of available quantity value units",
+ "description": "List of available quantity value units\n",
+ "operationId": "unit_quantity_value_list",
+ "responses": {
+ "200": {
+ "description": "List of quantity value units",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/QuantityValueUnit"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/clone/{id}": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Clone a specific user.",
+ "operationId": "user_clone_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "Cloned User"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the cloned user.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Create a new user.",
+ "operationId": "user_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "parentId",
+ "name"
+ ],
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the new created User.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/folder": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Create a new user folder.",
+ "operationId": "user_folder_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "parentId",
+ "name"
+ ],
+ "properties": {
+ "parentId": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Node of the new created Folder.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/current-user-information": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Retrieve information's about the current logged in user.",
+ "operationId": "user_get_current_information",
+ "responses": {
+ "200": {
+ "description": "Current user information's.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserInformation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/{id}": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Retrieve a specific user by ID.",
+ "operationId": "user_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Node of the requested user.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Update user by id.",
+ "operationId": "user_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the User",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateUser"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Delete a specific user.",
+ "operationId": "user_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/folder/{id}": {
+ "delete": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Delete a specific user folder with all users in this folder.",
+ "operationId": "user_folder_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user-folder",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/image/{id}": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get user profile image",
+ "operationId": "user_get_image",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the User",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User profile image",
+ "content": {
+ "image/png": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Delete user image by ID",
+ "description": "Delete the image of a specific user based on the given {id} . \nThe {id} must be an ID of existing user.\n",
+ "operationId": "user_image_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted user image"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/users/default-key-bindings": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get default key bindings",
+ "description": "Get default key bindings for user management\n",
+ "operationId": "user_default_key_bindings",
+ "responses": {
+ "200": {
+ "description": "List of default key bindings",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyBinding"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/available-permissions": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get all available user permissions.",
+ "operationId": "user_get_available_permissions",
+ "responses": {
+ "200": {
+ "description": "List of available user permissions.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserPermission"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/users": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get all users",
+ "description": "Get all users with basic information",
+ "operationId": "user_get_collection",
+ "responses": {
+ "200": {
+ "description": "List of users",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/users/with-permission": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get all users with a specific permission",
+ "description": "Get all users with the given permission {permission} . \nThe {permission} must be an existing user permission.\n",
+ "operationId": "user_list_with_permission",
+ "parameters": [
+ {
+ "name": "permission",
+ "in": "query",
+ "description": "List users with this permission",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "assets"
+ }
+ },
+ {
+ "name": "includeCurrentUser",
+ "in": "query",
+ "description": "Include current user in the list",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of users with the given permission",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/reset-password": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Sending username to reset password.",
+ "operationId": "user_reset_password",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResetPassword"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 429 - Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/search": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Search for users by query.",
+ "description": "Search for users by query. The query can be a part of the username, first name, last name, email or user ID.",
+ "operationId": "pimcore_studio_api_user_search",
+ "parameters": [
+ {
+ "name": "searchQuery",
+ "in": "query",
+ "description": "Query to search for an user. This can be a part of username, firstname, lastname, email or ID.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of users",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/token-link/{id}": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Generate login link and token for a user by ID",
+ "description": "Generate a login link with a token for a user based on the provided user {id} . \nThe {id} must be an ID of existing user.\n",
+ "operationId": "user_token_link_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the user",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TokenLink"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Token login link for the user",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "link"
+ ],
+ "properties": {
+ "link": {
+ "title": "Token link URL",
+ "description": "Token link URL including the generated token as parameter.",
+ "type": "string",
+ "example": "https://example.com/login?token=abcdef"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/active-perspective/{perspectiveId}": {
+ "put": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Update the active perspective for the current user.",
+ "operationId": "user_update_active_perspective",
+ "parameters": [
+ {
+ "name": "perspectiveId",
+ "in": "path",
+ "description": "Set active perspective by Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated active perspective for the current user."
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/{id}/password": {
+ "put": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Update password for a User by the User id.",
+ "operationId": "user_update_password_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the User",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "password",
+ "passwordConfirmation"
+ ],
+ "properties": {
+ "password": {
+ "type": "string"
+ },
+ "passwordConfirmation": {
+ "type": "string"
+ },
+ "oldPassword": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/update-profile": {
+ "put": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Update the current user profile",
+ "description": "Update the current user profile. See the full description of updatable fields with the schema UpdateUserProfile \n",
+ "operationId": "user_update_profile",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateUserProfile"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated user profile",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserInformation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/user/upload-image/{id}": {
+ "post": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Upload user image",
+ "operationId": "user_upload_image",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the User",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "userImage"
+ ],
+ "properties": {
+ "userImage": {
+ "description": "User image to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/users/tree": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get collection of users for tree view.",
+ "operationId": "user_get_tree",
+ "parameters": [
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "Filter users by parent id.",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "example": 0
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of users including folders for the given parent id.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/users-share-list": {
+ "get": {
+ "tags": [
+ "User Management"
+ ],
+ "summary": "Get all users for sharing configurations",
+ "description": "Get all users with basic information for sharing configurations",
+ "operationId": "user_get_share_collection",
+ "responses": {
+ "200": {
+ "description": "List of users for sharing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/versions/{id}/asset/download": {
+ "get": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Download asset version by ID",
+ "description": "Download the asset version based on the provided version {id} .\n",
+ "operationId": "version_asset_download_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Asset version binary file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/versions/{id}/image/stream": {
+ "get": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Stream image version thumbnail by ID",
+ "description": "Stream the image version thumbnail based on the provided version {id} .\n",
+ "operationId": "version_image_stream_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image thumbnail version stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "image/*": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/versions/{id}/pdf/stream": {
+ "get": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Stream PDF version by ID",
+ "description": "Stream the PDF version based on the provided version {id} .\n",
+ "operationId": "version_pdf_stream_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "PDF version stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "202 - Not Completed 400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/versions/{id}": {
+ "get": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Get a specific version by ID",
+ "description": "Retrieves a specific version data based on the given {id} . The {id} must be an id of existing version.\n",
+ "operationId": "version_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved version data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AssetVersion"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectVersion"
+ },
+ {
+ "$ref": "#/components/schemas/DocumentVersion"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Update a version by ID",
+ "description": "Updates a version based on the given {id} . The {id} must be an id of existing version. See the full description of updatable fields with the schema UpdateVersion \n",
+ "operationId": "version_update_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateVersion"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated version"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Publish a specific version by ID",
+ "description": "Publishes a specific version based on the given {id} . The {id} must be an id of existing version.\n",
+ "operationId": "version_publish_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ID of the published version",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "ID of published version",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Delete a specific version",
+ "description": "Deletes a specific version based on the given {id} . The {id} must be an id of existing version.\n",
+ "operationId": "version_delete_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the version",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted version"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/versions/{elementType}/{id}": {
+ "get": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Get versions for an element",
+ "description": "List all the versions of the element. The {id} must be an ID of an existing element of the provided {elementType} .\n",
+ "operationId": "version_get_collection_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated element Versions data as JSON with total count as header param",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Version"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Versions"
+ ],
+ "summary": "Cleanup all versions for an element",
+ "description": "Cleans up all versions for a specific element based on the given {elementType} and {id} . The {id} must be an existing element of the provided {elementType} .\n",
+ "operationId": "version_cleanup_for_element_by_type_and_id",
+ "parameters": [
+ {
+ "name": "elementType",
+ "in": "path",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the ID of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "IDs of the removed versions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "ids"
+ ],
+ "properties": {
+ "ids": {
+ "title": "IDs",
+ "description": "IDs of deleted versions",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "example": 420
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/website-settings/add": {
+ "post": {
+ "tags": [
+ "Website Settings"
+ ],
+ "summary": "Add a new website setting",
+ "description": "Add a new website setting with the provided name and type.\nThe following types are supported: text , document , asset , object , bool . \n",
+ "operationId": "website_settings_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebsiteSettingsAdd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully added website setting",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebsiteSetting"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/website-settings": {
+ "post": {
+ "tags": [
+ "Website Settings"
+ ],
+ "summary": "Get paginated website settings",
+ "description": "Get all paginated website settings. You can specify different filters in your request body. Example filters are: \n\n page : Used for offset calculation in pagination. To be used, needs to be defined together with the page.size \n pageSize : Used for limiting the result numbers per page. To be used, needs to be defined together with the page \n name : Filter by settings name \n type : Filter by settings type (text, document, asset, object, bool) \n creationDate : Filter by creation date (on, from, to) \n \n",
+ "operationId": "website_settings_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"key\":\"creationDate\", \"type\":\"date\", \"filterValue\":{\"operator\": \"on\", \"value\": \"08/20/2024\"}},{\"key\":\"name\", \"type\":\"like\", \"filterValue\": \"SettingsName\"},{\"key\":\"type\", \"type\":\"equals\", \"filterValue\": \"text\"}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"name\", \"direction\":\"DESC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated website settings with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WebsiteSetting"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/website-settings/{id}": {
+ "put": {
+ "tags": [
+ "Website Settings"
+ ],
+ "summary": "Update a website setting",
+ "description": "Update a website setting with the given {id} .\nThe {id} must be an ID of an existing website setting. \nPlease note that all fields have to be provided.\n",
+ "operationId": "website_settings_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the website setting",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebsiteSettingsUpdate"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated website setting",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebsiteSetting"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Website Settings"
+ ],
+ "summary": "Delete a website setting",
+ "description": "Delete a website setting with the given {id} .\nThe {id} must be an ID of an existing DocType. \n",
+ "operationId": "website_settings_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the website setting",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted website setting"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/website-settings/types": {
+ "get": {
+ "tags": [
+ "Website Settings"
+ ],
+ "summary": "List all website setting types",
+ "description": "List all available website setting types.\nReturns an array of website setting types with their keys and titles.\n",
+ "operationId": "website_settings_list_types",
+ "responses": {
+ "200": {
+ "description": "List of all available website setting types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WebsiteSettingsType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/workflows/details": {
+ "get": {
+ "tags": [
+ "Workflows"
+ ],
+ "summary": "Get all workflow details of an element",
+ "description": "Get details of the element workflows based on the given {elementType} and {elementId} .\n",
+ "operationId": "workflow_get_details",
+ "parameters": [
+ {
+ "name": "elementId",
+ "in": "query",
+ "description": "ID of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "query",
+ "description": "Filter elements by matching element type.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "asset",
+ "document",
+ "data-object"
+ ],
+ "example": "data-object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detail data of element workflows",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items",
+ "layoutId"
+ ],
+ "properties": {
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WorkflowDetails"
+ }
+ },
+ "layoutId": {
+ "title": "layoutId",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/workflows/action": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "summary": "Submit workflow action",
+ "description": "Submit action based on the workflow name, action name and action type.",
+ "operationId": "workflow_action_submit",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SubmitAction"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Json encoded name of workflow, name and type of submitted action.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "workflowName": {
+ "title": "workflowName",
+ "type": "string",
+ "example": "MyAwesomeWorkflow"
+ },
+ "actionName": {
+ "title": "actionName",
+ "type": "string",
+ "example": "MyAwesomeAction"
+ },
+ "actionType": {
+ "title": "actionType",
+ "type": "string",
+ "example": "transition"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions/automation/{name}/run": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Run automation action",
+ "description": "Run automation action. Use {name} to specify the action you want to run.",
+ "operationId": "bundle_copilot_actions_automation_run",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the automation action configuration to run",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarVariantGenerator"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "context",
+ "environmentVariables"
+ ],
+ "properties": {
+ "context": {
+ "description": "Context in which the action is run.",
+ "type": "string",
+ "example": "{\"subject\":{\"id\":81,\"type\":\"object\",\"subType\":\"object\"},\"selectedElements\":null,\"tags\":[\"object\",\"object_car\"]}"
+ },
+ "environmentVariables": {
+ "description": "Json encoded key value pairs of environment variables to set for the action.",
+ "type": "string",
+ "example": "{\"Published\":false,\"Variants\":[{\"Color\":\"grey\",\"ProductionYear\":1987}]}"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "ID of the created job run",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotJobRunId"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/apply": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Apply chat response to element",
+ "description": "Apply chat response to element. Use {name} to specify the action you want to run. Use {interactionId} to specify the id for the chat and its history.",
+ "operationId": "bundle_copilot_actions_interaction_chat_apply",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the interaction action configuration to run",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ },
+ {
+ "name": "interactionId",
+ "in": "path",
+ "description": "The id of the chat interaction",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 9875567
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "context",
+ "result"
+ ],
+ "properties": {
+ "context": {
+ "description": "Context in which the action is run.",
+ "type": "string",
+ "example": "{\"subject\":{\"id\":81,\"type\":\"object\",\"subType\":\"object\"},\"selectedElements\":null,\"tags\":[\"object\",\"object_car\"]}"
+ },
+ "language": {
+ "description": "The language of the field to be updated.",
+ "type": "string",
+ "default": "",
+ "example": "en"
+ },
+ "result": {
+ "description": "The result that should be applied.",
+ "type": "string",
+ "example": "The Cobra is a masterpiece ... "
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Response from the interaction action"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/initial": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Send initial chat message",
+ "description": "Send initial chat message. Use {name} to specify the action you want to run. Use {interactionId} to specify an id for the chat and its history. Reuse that ID to send subsequent prompts.",
+ "operationId": "bundle_copilot_actions_interaction_chat_initial",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the interaction action configuration to run",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ },
+ {
+ "name": "interactionId",
+ "in": "path",
+ "description": "The id of the chat interaction",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 9875567
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "context"
+ ],
+ "properties": {
+ "context": {
+ "description": "Context in which the action is run.",
+ "type": "string",
+ "example": "{\"subject\":{\"id\":81,\"type\":\"object\",\"subType\":\"object\"},\"selectedElements\":null,\"tags\":[\"object\",\"object_car\"]}"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Response from the interaction action",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotActionInteractionChatHistory"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/prompt": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Send chat prompt",
+ "description": "Send chat prompt. Use {name} to specify the action you want to run. Use {interactionId} to specify the id for the chat and its history.",
+ "operationId": "bundle_copilot_actions_interaction_chat_prompt",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the interaction action configuration to run",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ },
+ {
+ "name": "interactionId",
+ "in": "path",
+ "description": "The id of the chat interaction",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 9875567
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "context",
+ "prompt"
+ ],
+ "properties": {
+ "context": {
+ "description": "Context in which the action is run.",
+ "type": "string",
+ "example": "{\"subject\":{\"id\":81,\"type\":\"object\",\"subType\":\"object\"},\"selectedElements\":null,\"tags\":[\"object\",\"object_car\"]}"
+ },
+ "prompt": {
+ "description": "The prompt message from the user.",
+ "type": "string",
+ "example": "Please create a more compact description of the object than the one provided."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Response from the interaction action",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotActionInteractionChatHistory"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/execute": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "One step interaction",
+ "description": "One step interaction. Use {name} to specify the action you want to run.",
+ "operationId": "bundle_copilot_actions_interaction_one_step",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the interaction action configuration to run",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "HFTranslationPrompt"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "context",
+ "result"
+ ],
+ "properties": {
+ "context": {
+ "description": "Context in which the action is run.",
+ "type": "string",
+ "example": "{\"subject\":{\"id\":81,\"type\":\"object\",\"subType\":\"object\"},\"selectedElements\":null,\"tags\":[\"object\",\"object_car\"]}"
+ },
+ "inputContent": {
+ "description": "The content passed to the action.",
+ "type": "string",
+ "example": "The Cobra is a masterpiece ... "
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Response from one step interaction action",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotActionInteractionOneStep"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/actions": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get all automation and interaction actions",
+ "description": "Get all automation and interaction actions",
+ "operationId": "bundle_copilot_actions",
+ "responses": {
+ "200": {
+ "description": "List of all automation and interaction actions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotAction"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Create an automation action configuration",
+ "description": "Create a new automation action configuration",
+ "operationId": "bundle_copilot_configuration_automation_action_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionCreateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created automation action configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionCreated"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get an automation action configuration",
+ "description": "Get an automation action configuration by name. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_automation_action_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Automation action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyAutomationAction"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Automation action configuration details",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Update an automation action configuration",
+ "description": "Update an automation action configuration. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_automation_action_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Automation action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyAutomationAction"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionUpdateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated automation action configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Delete an automation action configuration",
+ "description": "Delete an automation action configuration. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_automation_action_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Automation action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyAutomationAction"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted automation action configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/environments": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List environment types",
+ "description": "List all available environment types for automation action configurations",
+ "operationId": "bundle_copilot_configuration_automation_action_environments_list",
+ "responses": {
+ "200": {
+ "description": "List of all available environment types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionEnvironmentType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/environments/help": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get environment variables inline help",
+ "description": "Get inline help data for all environment variables",
+ "operationId": "bundle_copilot_configuration_automation_action_environments_help",
+ "responses": {
+ "200": {
+ "description": "Inline help data for environment variables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionEnvironmentInlineHelp"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/post-interactions": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List post interaction types",
+ "description": "List all available post interaction types for automation action configurations",
+ "operationId": "bundle_copilot_configuration_automation_action_post_interactions_list",
+ "responses": {
+ "200": {
+ "description": "List of all available post interaction types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionPostInteraction"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/precondition-filters": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List precondition filters",
+ "description": "List all available precondition filters for automation action configurations",
+ "operationId": "bundle_copilot_configuration_automation_action_precondition_filters_list",
+ "responses": {
+ "200": {
+ "description": "List of all available precondition filters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionPreconditionFilter"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/step-implementations": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List step implementations",
+ "description": "List all available step implementations for automation action configurations",
+ "operationId": "bundle_copilot_configuration_automation_action_step_implementations_list",
+ "responses": {
+ "200": {
+ "description": "List of all available step implementations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionStepImplementation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/automation-action/step-implementations/help": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get step implementations inline help",
+ "description": "Get inline help data for all step implementations",
+ "operationId": "bundle_copilot_configuration_automation_action_step_implementations_help",
+ "responses": {
+ "200": {
+ "description": "Inline help data for step implementations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotAutomationActionStepImplementationInlineHelp"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/clone": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Clone a Copilot configuration",
+ "description": "Clone an existing Copilot action configuration with a new name",
+ "operationId": "bundle_copilot_configuration_clone",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotCloneParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully cloned configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/context-limitations": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List all available context limitations",
+ "description": "List all available context limitations for Copilot action configurations",
+ "operationId": "bundle_copilot_configuration_context_limitations_list",
+ "responses": {
+ "200": {
+ "description": "List of all available context limitations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotContextLimitation"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/events": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List all available events",
+ "description": "List all available workflow and core events that can be used in Copilot automation action configurations",
+ "operationId": "bundle_copilot_configuration_events_list",
+ "responses": {
+ "200": {
+ "description": "List of all available events",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotConfigurationEventDefinition"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/export/{name}": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Export a Copilot configuration",
+ "description": "Export a Copilot action configuration as a JSON file download. Use {name} to specify the configuration to export.",
+ "operationId": "bundle_copilot_configuration_export",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CarVariantGenerator"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully exported configuration as JSON file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"pimcore_copilot_example_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/import": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Import a Copilot configuration",
+ "description": "Import a Copilot action configuration from a JSON file",
+ "operationId": "bundle_copilot_configuration_import",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "JSON file containing the copilot action configuration to import",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotConfigurationImport"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/interaction-action": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Create an interaction action configuration",
+ "description": "Create a new interaction action configuration",
+ "operationId": "bundle_copilot_configuration_interaction_action_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionCreateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created interaction action configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionCreated"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/interaction-action/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get an interaction action configuration",
+ "description": "Get an interaction action configuration by name. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_interaction_action_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Interaction action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Interaction action configuration details",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Update an interaction action configuration",
+ "description": "Update an interaction action configuration. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_interaction_action_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Interaction action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionUpdateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated interaction action configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Delete an interaction action configuration",
+ "description": "Delete an interaction action configuration. Use {name} to specify the configuration name.",
+ "operationId": "bundle_copilot_configuration_interaction_action_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Interaction action configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "OpenAITextGeneration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted interaction action configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/interaction-action/types/help": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get interaction action types inline help",
+ "description": "Get inline help data for all interaction action types",
+ "operationId": "bundle_copilot_configuration_interaction_action_types_help",
+ "responses": {
+ "200": {
+ "description": "Inline help data for interaction action types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionInlineHelp"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/interaction-action/types": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List interaction action types",
+ "description": "List all available interaction action types",
+ "operationId": "bundle_copilot_configuration_interaction_action_types_list",
+ "responses": {
+ "200": {
+ "description": "List of all available interaction action types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotInteractionActionType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configurations": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List all Copilot configurations",
+ "description": "List all available automation and interaction action configurations as a grouped tree structure",
+ "operationId": "bundle_copilot_configurations_list",
+ "responses": {
+ "200": {
+ "description": "List of all Copilot configurations as tree nodes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotConfigurationTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/configuration/workflows": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List all available workflows",
+ "description": "List all available workflows that can be used in Copilot automation action configurations",
+ "operationId": "bundle_copilot_configuration_workflows_list",
+ "responses": {
+ "200": {
+ "description": "List of all available workflows",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotWorkflow"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/data-objects": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List DataObject class definitions",
+ "description": "List all available DataObject class definitions",
+ "operationId": "bundle_copilot_data_objects_list",
+ "responses": {
+ "200": {
+ "description": "List of all DataObject class definitions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotDataObjectClassDefinition"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/job-run/{id}/cancel": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Cancel running Copilot Job Run",
+ "description": "Cancel running Copilot Job Run. Use {id} to specify the job run id you want to cancel.",
+ "operationId": "bundle_copilot_job_run_cancel",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Canceled job run.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotJobRunId"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/job-runs": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List all job runs",
+ "description": "List all job runs",
+ "operationId": "bundle_copilot_job_runs",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 50
+ }
+ },
+ {
+ "name": "sortOrder",
+ "in": "query",
+ "description": "Sort order (asc or desc).",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "example": "ASC"
+ }
+ },
+ {
+ "name": "sortBy",
+ "in": "query",
+ "description": "Sort by field.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "id",
+ "ownerId",
+ "state",
+ "currentStep",
+ "currentMessage",
+ "context",
+ "creationDate",
+ "modificationDate"
+ ],
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all job runs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotJobRun"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/job-runs/running": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List of currently running Copilot Job Runs",
+ "description": "List of currently running Copilot Job Runs",
+ "operationId": "bundle_copilot_job_runs_running",
+ "parameters": [
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 50
+ }
+ },
+ {
+ "name": "sortOrder",
+ "in": "query",
+ "description": "Sort order (asc or desc).",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "example": "ASC"
+ }
+ },
+ {
+ "name": "sortBy",
+ "in": "query",
+ "description": "Sort by field.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "id",
+ "ownerId",
+ "state",
+ "currentStep",
+ "currentMessage",
+ "context",
+ "creationDate",
+ "modificationDate"
+ ],
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of currently running Copilot Job Runs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotJobRun"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/job-run/{id}/progress": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Get job run progress",
+ "description": "Get job run progress. Use {id} to specify the job run id you want to get the progress for.",
+ "operationId": "bundle_copilot_job_run_progress",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job run progress",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotJobRunProgress"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/job-run/{id}/rerun": {
+ "post": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "Rerun existing Copilot Job Run",
+ "description": "Rerun existing Copilot Job Run. Use {id} to specify the job run id you want to rerun. Note: A new job run with a new id will be created.",
+ "operationId": "bundle_copilot_job_run_rerun",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the JobRun",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The newly created job run.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCopilotJobRun"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/roles": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List roles for permissions grid",
+ "description": "List all available roles for the Copilot permissions grid",
+ "operationId": "bundle_copilot_roles_list",
+ "responses": {
+ "200": {
+ "description": "List of all roles for the permissions grid",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotPermissionGridEntry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/copilot/users": {
+ "get": {
+ "tags": [
+ "Bundle Copilot"
+ ],
+ "summary": "List users for permissions grid",
+ "description": "List all available users for the Copilot permissions grid",
+ "operationId": "bundle_copilot_users_list",
+ "responses": {
+ "200": {
+ "description": "List of all users for the permissions grid",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotPermissionGridEntry"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/add": {
+ "post": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Add Data Hub Configuration",
+ "description": "Create a new Data Hub configuration",
+ "operationId": "bundle_data_hub_config_add",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "assets"
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Type of the adapter",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "graphql"
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Configuration path",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": ""
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Data Hub configuration successfully created"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/clone": {
+ "post": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Clone Data Hub Configuration",
+ "description": "Clone an existing Data Hub configuration with a new name",
+ "operationId": "bundle_data_hub_config_clone",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The name of the new configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "assets_copy"
+ }
+ },
+ {
+ "name": "originalName",
+ "in": "query",
+ "description": "The name of the configuration to clone",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "assets"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Data Hub configuration successfully cloned"
+ },
+ "default": {
+ "description": "201 - Created 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Data Hub Config Collection",
+ "description": "Data Hub Config Collection",
+ "operationId": "bundle_data_hub_config_collection",
+ "responses": {
+ "200": {
+ "description": "List of all automation and interaction actions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubConfiguration"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/delete/{name}": {
+ "delete": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Delete Data Hub Configuration",
+ "description": "Delete a Data Hub configuration by name",
+ "operationId": "bundle_data_hub_config_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Hub configuration successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/{name}/export": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Export Data Hub Configuration",
+ "description": "Export a Data Hub configuration as a JSON file",
+ "operationId": "bundle_data_hub_config_export",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Hub configuration successfully exported"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Get Data Hub Configuration",
+ "description": "Get a Data Hub configuration by name",
+ "operationId": "bundle_data_hub_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Hub configuration details",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Update Data Hub Configuration",
+ "description": "Update an existing Data Hub configuration with validation for concurrent modifications",
+ "operationId": "bundle_data_hub_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubUpdateConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Data Hub configuration successfully updated",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubUpdateConfigurationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/config/import": {
+ "post": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Import Data Hub Configuration",
+ "description": "Import a Data Hub configuration from a JSON file",
+ "operationId": "bundle_data_hub_config_import",
+ "requestBody": {
+ "description": "Configuration file to import",
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "JSON configuration file",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Data Hub configuration successfully imported"
+ },
+ "default": {
+ "description": "201 - Created 400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/graphql/explorer/{clientname}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Get GraphQL Explorer",
+ "description": "Get the GraphQL Explorer interface for testing and exploring GraphQL endpoints",
+ "operationId": "bundle_data_hub_graphql_explorer",
+ "parameters": [
+ {
+ "name": "clientname",
+ "in": "path",
+ "description": "Clientname of the client",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "GraphQL Explorer HTML interface",
+ "content": {
+ "text/html": {
+ "schema": {
+ "description": "GraphQL Explorer HTML interface",
+ "type": "string",
+ "example": "..."
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/graphql/explorer-url/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Get GraphQL Explorer URL",
+ "description": "Get the URL for the GraphQL Explorer interface for a specific configuration",
+ "operationId": "bundle_data_hub_graphql_explorer_url",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "GraphQL Explorer URL",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "explorerUrl"
+ ],
+ "properties": {
+ "explorerUrl": {
+ "title": "explorerUrl",
+ "description": "The GraphQL Explorer URL for the specified configuration",
+ "type": "string",
+ "example": "/pimcore-datahub-webservices/explorer/my-config"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/thumbnails": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Get Data Hub Thumbnails Collection",
+ "description": "Get a list of available image thumbnail configurations for Data Hub",
+ "operationId": "bundle_data_hub_thumbnails_collection",
+ "responses": {
+ "200": {
+ "description": "List of available thumbnail configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubThumbnail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub/users": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub"
+ ],
+ "summary": "Get Data Hub Users Collection",
+ "description": "Get a list of users and roles that can be assigned permissions in Data Hub configurations",
+ "operationId": "bundle_data_hub_users_collection",
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Filter by user type (user or role)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "user",
+ "enum": [
+ "user",
+ "role"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of users and roles available for Data Hub permissions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubPermissionUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/personalization/target-groups": {
+ "get": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Get target group list",
+ "description": "Get list of target groups. If the {includeDefault} parameter is true, the default target group will be included in the response.\n",
+ "operationId": "bundle_personalization_target_group_list",
+ "parameters": [
+ {
+ "name": "includeDefault",
+ "in": "query",
+ "description": "If true, default target group is included in the response",
+ "required": true,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target group list as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetGroup"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Create a new target group",
+ "description": "Create a new target group with the specified name.\n",
+ "operationId": "bundle_personalization_target_group_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationCreateTargetingGroup"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created target group details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingGroupDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/personalization/target-groups/{id}": {
+ "get": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Get target group by ID",
+ "description": "Get detailed information about a specific target group by its ID.\n",
+ "operationId": "bundle_personalization_target_group_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the target group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed target group information as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingGroupDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Update target group",
+ "description": "Update a specific target group by its ID with the provided configuration data.\n",
+ "operationId": "bundle_personalization_target_group_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the target group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationUpdateTargetingGroup"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated target group details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingGroupDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Delete target group",
+ "description": "Delete a specific target group by its ID.\n",
+ "operationId": "bundle_personalization_target_group_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the target group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target group successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/personalization/targeting-rules": {
+ "get": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Get targeting rule list",
+ "description": "Get list of targeting rules order by priority.\n",
+ "operationId": "bundle_personalization_targeting_rule_collection",
+ "responses": {
+ "200": {
+ "description": "Targeting rule list as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Create a new targeting rule",
+ "description": "Create a new targeting rule with the specified name.\n",
+ "operationId": "bundle_personalization_targeting_rule_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationCreateTargetingRule"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created targeting rule details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/personalization/targeting-rules/{id}": {
+ "get": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Get targeting rule by ID",
+ "description": "Get detailed information about a specific targeting rule by its ID including conditions and actions.\n",
+ "operationId": "bundle_personalization_targeting_rule_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the targeting rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed targeting rule information as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Update targeting rule",
+ "description": "Update a specific targeting rule by its ID and provided configuration data.\n",
+ "operationId": "bundle_personalization_targeting_rule_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the targeting rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationUpdateTargeting"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated targeting rule details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Delete targeting rule",
+ "description": "Delete a specific targeting rule by its ID.\n",
+ "operationId": "bundle_personalization_targeting_rule_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the targeting rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Targeting rule successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/personalization/targeting-rules/priority": {
+ "put": {
+ "tags": [
+ "Bundle Personalization"
+ ],
+ "summary": "Update targeting rule priorities",
+ "description": "Update the priorities of multiple targeting rules. Rules will be reordered based on the provided priority values.\n",
+ "operationId": "bundle_personalization_targeting_rule_priority_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlePersonalizationUpdateTargetingPriority"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated targeting rule list ordered by new priorities",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/activities": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List activities",
+ "description": "Returns a paginated list of activities, optionally filtered by type and modification timestamp.",
+ "operationId": "bundle_cmf_activities_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of results per page (default 100)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Filter by activity type",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ },
+ {
+ "name": "modifiedSinceTimestamp",
+ "in": "query",
+ "description": "Filter activities modified after this Unix timestamp",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated activity list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfActivityCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create activity",
+ "description": "Creates a new activity entry in the activity store.",
+ "operationId": "bundle_cmf_activities_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateActivityParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created activity data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfActivityData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/activities/{id}": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get activity by ID",
+ "description": "Returns a single activity entry by its ID.",
+ "operationId": "bundle_cmf_activities_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the activity",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Activity data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfActivityData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update activity",
+ "description": "Updates an existing activity entry with the given data.",
+ "operationId": "bundle_cmf_activities_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the activity",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateActivityParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated activity data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfActivityData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete activity",
+ "description": "Deletes an existing activity entry by ID.",
+ "operationId": "bundle_cmf_activities_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the activity",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Activity deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/activities/{id}/view/detail": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Render activity detail view",
+ "description": "Renders the activity detail HTML view for a single activity entry.",
+ "operationId": "bundle_cmf_activities_view_detail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the activity",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "customerId",
+ "in": "query",
+ "description": "Customer ID for the back link",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered activity detail HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"detail.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/activities/view/list": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Render activity list view",
+ "description": "Renders the activity list HTML view for a customer, with optional type filtering and pagination.",
+ "operationId": "bundle_cmf_activities_view_list",
+ "parameters": [
+ {
+ "name": "customerId",
+ "in": "query",
+ "description": "Customer ID to list activities for",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Filter by activity type",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered activity list HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"list.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/automation-rules": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List automation rules",
+ "description": "Returns all action trigger automation rules, ordered by name.",
+ "operationId": "bundle_cmf_automation_rules_list",
+ "responses": {
+ "200": {
+ "description": "List of automation rules",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfAutomationRuleCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create automation rule",
+ "description": "Creates a new action trigger automation rule with the given name.",
+ "operationId": "bundle_cmf_automation_rules_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateAutomationRuleParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created automation rule",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfAutomationRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/automation-rules/{id}": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get automation rule by ID",
+ "description": "Returns a single automation rule with its trigger, condition, and action definitions.",
+ "operationId": "bundle_cmf_automation_rules_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the automation rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Automation rule detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfAutomationRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update automation rule",
+ "description": "Updates an existing automation rule with settings, triggers, conditions, and actions.",
+ "operationId": "bundle_cmf_automation_rules_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the automation rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateAutomationRuleParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated automation rule",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfAutomationRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete automation rule",
+ "description": "Deletes an existing automation rule by ID.",
+ "operationId": "bundle_cmf_automation_rules_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the automation rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Automation rule deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List customers",
+ "description": "Returns a paginated list of customers, optionally filtered by segment IDs and modification timestamp.",
+ "operationId": "bundle_cmf_customers_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of results per page",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "modificationTimestamp",
+ "in": "query",
+ "description": "Filter customers modified after this Unix timestamp",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "includeActivities",
+ "in": "query",
+ "description": "Include activity data for each customer",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "segments[]",
+ "in": "query",
+ "description": "Filter by segment IDs (can be repeated: segments[]=1&segments[]=2)",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated customer list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCustomerCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create customer",
+ "description": "Creates a new customer object using the configured customer provider.",
+ "operationId": "bundle_cmf_customers_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateCustomerParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created customer data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCustomerData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/{id}": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get customer by ID",
+ "description": "Returns a single customer by its Pimcore object ID.",
+ "operationId": "bundle_cmf_customers_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the customer",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "includeActivities",
+ "in": "query",
+ "description": "Include activity data for this customer",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Customer data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCustomerData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update customer",
+ "description": "Updates an existing customer object with the given data.",
+ "operationId": "bundle_cmf_customers_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the customer",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateCustomerParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated customer data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCustomerData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete customer",
+ "description": "Deletes an existing customer object by ID.",
+ "operationId": "bundle_cmf_customers_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the customer",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Customer deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/download-finished-export": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "bundle_cmf_customers_export_download_summary",
+ "description": "bundle_cmf_customers_export_download_description",
+ "operationId": "bundle_cmf_customers_export_download",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "query",
+ "description": "Export job ID returned by the step endpoint",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "bundle_cmf_customers_export_download_success_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/export": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "bundle_cmf_customers_export_init_summary",
+ "description": "bundle_cmf_customers_export_init_description",
+ "operationId": "bundle_cmf_customers_export_init",
+ "parameters": [
+ {
+ "name": "exporter",
+ "in": "query",
+ "description": "Exporter key (e.g. csv, xlsx)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "csv"
+ }
+ },
+ {
+ "name": "search",
+ "in": "query",
+ "description": "Search query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "segmentId",
+ "in": "query",
+ "description": "Pre-filter by segment ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "filterDefinitionId",
+ "in": "query",
+ "description": "Filter definition ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "bundle_cmf_customers_export_init_success_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/export-step": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "bundle_cmf_customers_export_step_summary",
+ "description": "bundle_cmf_customers_export_step_description",
+ "operationId": "bundle_cmf_customers_export_step",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "query",
+ "description": "Export job ID returned by the init endpoint",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "bundle_cmf_customers_export_step_success_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/{id}/view/detail": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Render customer detail view",
+ "description": "Renders the customer detail HTML view for a single customer.",
+ "operationId": "bundle_cmf_customers_view_detail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the customer",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered customer detail HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"detail.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/view/list": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Render customer list view",
+ "description": "Renders the customer list HTML view with filters, pagination, and segment grouping.",
+ "operationId": "bundle_cmf_customers_view_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "perPage",
+ "in": "query",
+ "description": "Number of results per page",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 25
+ }
+ },
+ {
+ "name": "segmentId",
+ "in": "query",
+ "description": "Pre-filter by segment ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "filterDefinitionId",
+ "in": "query",
+ "description": "Load a saved filter definition by ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "search",
+ "in": "query",
+ "description": "Search query to filter customers",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered customer list HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"list.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/deletions": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List activity deletions",
+ "description": "Returns a list of deleted activity entries, optionally filtered by type and deletion timestamp.",
+ "operationId": "bundle_cmf_deletions_list",
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Filter deletions by activity type",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "Example string"
+ }
+ },
+ {
+ "name": "deletionsSinceTimestamp",
+ "in": "query",
+ "description": "Only return deletions since this Unix timestamp",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of deleted activity entries",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfDeletionCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/duplicates/{id}/decline": {
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Decline a potential duplicate",
+ "description": "Marks a potential duplicate entry as declined, preventing it from appearing in future duplicate checks.",
+ "operationId": "bundle_cmf_duplicates_decline",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the duplicate",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Potential duplicate declined successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/duplicates/view/list": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Render duplicates list view",
+ "description": "Renders the potential customer duplicates HTML view with search and pagination.",
+ "operationId": "bundle_cmf_duplicates_view_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "declined",
+ "in": "query",
+ "description": "Show declined duplicates",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": true
+ }
+ },
+ {
+ "name": "search",
+ "in": "query",
+ "description": "Search query to filter duplicates",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered duplicates list HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"list.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/filter-definitions": {
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create a filter definition",
+ "description": "Creates a new customer view filter definition owned by the current user.",
+ "operationId": "bundle_cmf_filter_definitions_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateFilterDefinitionParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created filter definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfFilterDefinitionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/filter-definitions/{id}": {
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update a filter definition",
+ "description": "Updates an existing customer view filter definition. Requires update permission on the filter.",
+ "operationId": "bundle_cmf_filter_definitions_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the filter definition",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateFilterDefinitionParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated filter definition",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfFilterDefinitionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete a filter definition",
+ "description": "Deletes an existing customer view filter definition. Requires update permission on the filter.",
+ "operationId": "bundle_cmf_filter_definitions_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the filter definition",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Filter definition deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/filter-definitions/{id}/share": {
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Share a filter definition with users",
+ "description": "Adds the specified user IDs to the allowed users list of a filter definition. Requires share permission on the filter.",
+ "operationId": "bundle_cmf_filter_definitions_share",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the filter definition",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfShareFilterDefinitionParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated filter definition with shared users",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfFilterDefinitionDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/helper/activity-types": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List available activity types",
+ "description": "Returns all distinct activity types currently stored in the activity store.",
+ "operationId": "bundle_cmf_helper_activity_types",
+ "responses": {
+ "200": {
+ "description": "List of available activity types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfActivityTypeCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/helper/customer-fields": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List customer fields",
+ "description": "Returns a list of filterable customer class fields (Checkbox, Input, Select, Numeric, Textarea, Slider types), sorted alphabetically by title.",
+ "operationId": "bundle_cmf_helper_customer_field_list",
+ "responses": {
+ "200": {
+ "description": "List of customer fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCustomerFieldCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/helper/grouped-segments": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List segments grouped by segment group",
+ "description": "Returns all segments together with their parent segment group information.",
+ "operationId": "bundle_cmf_helper_grouped_segments",
+ "responses": {
+ "200": {
+ "description": "List of segments with group information",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfGroupedSegmentCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/helper/newsletter-filter-flags": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List possible newsletter filter flags",
+ "description": "Returns customer class fields that can be used as newsletter filter flags (Consent, NewsletterActive, NewsletterConfirmed types).",
+ "operationId": "bundle_cmf_helper_newsletter_filter_flags",
+ "responses": {
+ "200": {
+ "description": "List of possible newsletter filter flags",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfNewsletterFilterFlagCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/newsletter/enqueue-all": {
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Enqueue all customers for newsletter sync",
+ "description": "Triggers a background process that enqueues all newsletter-aware customers for synchronisation.",
+ "operationId": "bundle_cmf_newsletter_enqueue_all",
+ "responses": {
+ "200": {
+ "description": "Enqueue process triggered"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/newsletter/queue-size": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get newsletter queue size",
+ "description": "Returns the current number of items in the newsletter synchronisation queue.",
+ "operationId": "bundle_cmf_newsletter_queue_size",
+ "responses": {
+ "200": {
+ "description": "Current newsletter queue size",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfNewsletterQueueSize"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segments": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List segments",
+ "description": "Returns a paginated list of customer segments.",
+ "operationId": "bundle_cmf_segments_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of results per page (default 100)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated segment list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create segment",
+ "description": "Creates a new customer segment within a segment group.",
+ "operationId": "bundle_cmf_segments_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateSegmentParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created segment data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segments/{id}": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get segment by ID",
+ "description": "Returns a single customer segment by its Pimcore object ID.",
+ "operationId": "bundle_cmf_segments_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Segment data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update segment",
+ "description": "Updates an existing customer segment with the given data.",
+ "operationId": "bundle_cmf_segments_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateSegmentParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated segment data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete segment",
+ "description": "Deletes an existing customer segment by ID.",
+ "operationId": "bundle_cmf_segments_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Segment deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-assignments/assign": {
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Assign segments to an element",
+ "description": "Assigns the given segments to an element, optionally breaking segment inheritance.",
+ "operationId": "bundle_cmf_segment_assignments_assign",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfAssignSegmentsParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Assignment result (true on success, false on failure)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ },
+ "example": true
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-assignments/assigned": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get directly assigned segments for an element",
+ "description": "Returns all segments directly assigned to the given element.",
+ "operationId": "bundle_cmf_segment_assignments_assigned",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "description": "Element ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Element type (object, document, asset)",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of directly assigned segments",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentAssignmentCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-assignments/breaks-inheritance": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Check if an element breaks segment inheritance",
+ "description": "Returns whether the given element breaks segment inheritance from its parent elements.",
+ "operationId": "bundle_cmf_segment_assignments_breaks_inheritance",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "description": "Element ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Element type (object, document, asset)",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Breaks inheritance status",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfBreaksInheritanceResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-assignments/inheritable": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get inheritable segments for an element",
+ "description": "Returns all segments inherited from the parent of the given element, computed via the segment assignment tree.",
+ "operationId": "bundle_cmf_segment_assignments_inheritable",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "description": "Element ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Element type (object, document, asset)",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "object"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of inheritable segments",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentAssignmentCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-groups": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List segment groups",
+ "description": "Returns all customer segment groups.",
+ "operationId": "bundle_cmf_segment_groups_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of results per page (default 100)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of segment groups",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentGroupCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Create segment group",
+ "description": "Creates a new customer segment group.",
+ "operationId": "bundle_cmf_segment_groups_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfCreateSegmentGroupParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Newly created segment group data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentGroupData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/segment-groups/{id}": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get segment group by ID",
+ "description": "Returns a single customer segment group by its Pimcore object ID.",
+ "operationId": "bundle_cmf_segment_groups_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Segment group data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentGroupData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update segment group",
+ "description": "Updates an existing customer segment group with the given data.",
+ "operationId": "bundle_cmf_segment_groups_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateSegmentGroupParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated segment group data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentGroupData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Delete segment group",
+ "description": "Deletes an existing customer segment group by ID.",
+ "operationId": "bundle_cmf_segment_groups_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the segment group",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Segment group deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/customers/{id}/segments": {
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update segments of a customer",
+ "description": "Adds and/or removes segment assignments for a given customer.",
+ "operationId": "bundle_cmf_segments_of_customer_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the customer",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfUpdateSegmentsOfCustomerParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated segment assignments",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSegmentsOfCustomerUpdated"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/settings/api-keys": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Get all users with API keys",
+ "description": "Returns all active Pimcore users with their assigned CMF webservice API keys.",
+ "operationId": "bundle_cmf_settings_api_keys_get",
+ "responses": {
+ "200": {
+ "description": "List of users with API key assignments",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSettingsApiKeyUserCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "Update API key for a user",
+ "description": "Assigns or revokes a CMF webservice API key for a given Pimcore user.",
+ "operationId": "bundle_cmf_settings_api_keys_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfSettingsUpdateApiKeyParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "API key updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/cmf/term-segment-builder-definitions": {
+ "get": {
+ "tags": [
+ "Bundle CMF"
+ ],
+ "summary": "List term segment builder definitions",
+ "description": "Returns all published term segment builder definitions.",
+ "operationId": "bundle_cmf_term_segment_builder_definitions_list",
+ "responses": {
+ "200": {
+ "description": "List of term segment builder definitions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleCmfTermSegmentBuilderDefinitionCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/enterprise-subscription-tools/license/": {
+ "get": {
+ "tags": [
+ "Bundle Enterprise Subscription Tools"
+ ],
+ "summary": "Check license and get environment information",
+ "description": "Check license and get environment information",
+ "operationId": "bundle_enterprise_subscription_tools_license",
+ "responses": {
+ "200": {
+ "description": "License check result and environment information",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEnterpriseSubscriptionToolsLicenseInformation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs": {
+ "post": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Create configuration",
+ "description": "Create a new asset metadata class definition configuration with the given name",
+ "operationId": "bundle_amdcd_config_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AMDCDCreateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AMDCDListConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Get configuration by name",
+ "description": "Get a single asset metadata class definition configuration by its unique name",
+ "operationId": "bundle_amdcd_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Unique name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyConfig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AMDCDListConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Update configuration by name",
+ "description": "Update an existing asset metadata class definition configuration by its unique name",
+ "operationId": "bundle_amdcd_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Unique name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyConfig"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AMDCDUpdateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AMDCDListConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Delete configuration by name",
+ "description": "Delete an asset metadata class definition configuration by its unique name",
+ "operationId": "bundle_amdcd_config_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Unique name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyConfig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/{name}/export": {
+ "get": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Export configuration as JSON",
+ "description": "Export an asset metadata class definition configuration as a downloadable JSON file",
+ "operationId": "bundle_amdcd_config_export",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Unique name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyConfig"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration exported as JSON file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"class_amdcd_MyConfig_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/{name}/import": {
+ "post": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Import configuration from JSON",
+ "description": "Import an asset metadata class definition configuration from an uploaded JSON file",
+ "operationId": "bundle_amdcd_config_import",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Unique name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyConfig"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import file with JSON encoded configuration definition",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Configuration successfully imported"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/list": {
+ "get": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Get all available configs for editor",
+ "description": "Get all available configs for editor to be able to add asset metadata class definitions to the asset",
+ "operationId": "bundle_amdcd_configs_list",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved listing of all available configs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AMDCDListConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/metadata-column-config": {
+ "get": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Get metadata column configuration",
+ "description": "Get available metadata column configuration groups for asset grid column selection",
+ "operationId": "bundle_amdcd_config_metadata_column_config",
+ "responses": {
+ "200": {
+ "description": "Metadata column configuration groups",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AMDCDMetadataColumnGroup"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/amdcd/configs/tree": {
+ "get": {
+ "tags": [
+ "Bundle Asset Metadata Class Definitions"
+ ],
+ "summary": "Get all available configs for tree",
+ "description": "Get all available configs for tree based on the \"Bundle AMDCD SimpleConfig\"",
+ "operationId": "bundle_amdcd_configs_tree",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved config data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AMDCDSimpleConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources/{dataSource}/fields": {
+ "get": {
+ "tags": [
+ "Bundle Statistics Explorer"
+ ],
+ "summary": "Get custom reports data sources fields",
+ "description": "Get custom reports data sources fields. Use {dataSource} to specify data source name.",
+ "operationId": "bundle_statistics_explorer_custom_reports_data_sources_fields",
+ "parameters": [
+ {
+ "name": "dataSource",
+ "in": "path",
+ "description": "The data source to retrieve the fields for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "db_assets"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Custom Reports Data Sources Fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFields"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources/{dataSource}/fields/settings": {
+ "post": {
+ "tags": [
+ "Bundle Statistics Explorer"
+ ],
+ "summary": "Get custom reports data sources fields settings",
+ "description": "Get custom reports data sources fields settings. Use {dataSource} to specify data source name.",
+ "operationId": "bundle_statistics_explorer_custom_reports_data_sources_fields_settings",
+ "parameters": [
+ {
+ "name": "dataSource",
+ "in": "path",
+ "description": "The data source to retrieve the fields for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "db_assets"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "statisticsMode",
+ "aggregations",
+ "columns"
+ ],
+ "properties": {
+ "statisticsMode": {
+ "description": "The statistics mode to be used.",
+ "type": "string",
+ "example": "list"
+ },
+ "aggregations": {
+ "description": "The aggregations to be applied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray"
+ }
+ },
+ "columns": {
+ "description": "The columns to be included in the result.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Custom Reports Data Sources Fields Settings",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFieldsDefinition"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources": {
+ "get": {
+ "tags": [
+ "Bundle Statistics Explorer"
+ ],
+ "summary": "Get custom reports data sources",
+ "description": "Get custom reports data sources",
+ "operationId": "bundle_statistics_explorer_custom_reports_data_sources",
+ "responses": {
+ "200": {
+ "description": "Custom Reports Data Sources",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSource"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/direct-edit/assets/{id}/cancel": {
+ "delete": {
+ "tags": [
+ "Bundle Direct Edit"
+ ],
+ "summary": "Cancel direct edit session",
+ "description": "Cancel an active direct-edit session. Removes the edit lock and any pending version file for the given asset.",
+ "operationId": "bundle_direct_edit_cancel",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Edit session cancelled",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DirectEditStatus"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/direct-edit/assets/{id}/confirm-upload": {
+ "post": {
+ "tags": [
+ "Bundle Direct Edit"
+ ],
+ "summary": "Confirm uploaded asset version",
+ "description": "Confirm that the desktop client has uploaded a new version of the asset. Saves the uploaded file to the asset if no version conflict exists. Returns conflict information if a conflict is detected.",
+ "operationId": "bundle_direct_edit_confirm_upload",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Upload confirmed and asset saved, or conflict detected",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DirectEditStatus"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/direct-edit/assets/{id}/generate-link": {
+ "post": {
+ "tags": [
+ "Bundle Direct Edit"
+ ],
+ "summary": "Generate direct edit link",
+ "description": "Generate a pimcorefile:// desktop protocol link to open an asset in a local application for editing. Returns an existing link if the user already holds the lock with a pending upload.",
+ "operationId": "bundle_direct_edit_generate_link",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Desktop client protocol link generated",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DirectEditLink"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/direct-edit/assets/{id}/status": {
+ "get": {
+ "tags": [
+ "Bundle Direct Edit"
+ ],
+ "summary": "Get direct edit status",
+ "description": "Get the current direct-edit status for an asset. Returns whether the asset is idle, being edited, has an uploaded pending version, or is in a conflict state.",
+ "operationId": "bundle_direct_edit_get_status",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Current direct edit status",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DirectEditStatus"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/direct-edit/assets/{id}/resolve-conflict": {
+ "post": {
+ "tags": [
+ "Bundle Direct Edit"
+ ],
+ "summary": "Resolve version conflict",
+ "description": "Resolve a version conflict after a desktop client upload. Strategy \"overwrite\" replaces the current published version with the local edit. Strategy \"save-as-version\" saves the local edit as a new version and keeps the current published version active.",
+ "operationId": "bundle_direct_edit_resolve_conflict",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset ID",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResolveConflictRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Conflict resolved",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DirectEditConflictResolution"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Add Collection",
+ "description": "Create a new collection in Portal Engine",
+ "operationId": "bundle_portal_engine_collection_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name",
+ "portalId"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "portalId": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Collection created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}": {
+ "delete": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Delete Collection",
+ "description": "Delete a collection by its ID",
+ "operationId": "bundle_portal_engine_delete_collection",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "translation_delete_by_key_success_description"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Update Collection",
+ "description": "Update an existing collection in Portal Engine",
+ "operationId": "bundle_portal_engine_collection_update",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Collection updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/list": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Collections",
+ "description": "List all collections available for Portal Engine",
+ "operationId": "bundle_portal_engine_collection_list",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\", \"filterValue\": \"search term\"},{\"type\":\"showAll\", \"filterValue\": true}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"portal\", \"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "bundle_portal_engine_collection_success_response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineCollection"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/list-portals": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Portals",
+ "description": "List portals available for collection management",
+ "operationId": "bundle_portal_engine_collection_list_portals",
+ "responses": {
+ "200": {
+ "description": "Collection of available portals",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineCollectionPortal"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/share-list": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Collection Sharing",
+ "description": "List sharing assignments for a collection",
+ "operationId": "bundle_portal_engine_collection_share_list",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of sharing assignments for the collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineCollectionShareListItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Update Collection Sharing",
+ "description": "Update sharing assignments for a collection",
+ "operationId": "bundle_portal_engine_collection_share_list_update",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "shareListItems"
+ ],
+ "properties": {
+ "shareListItems": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineCollectionShareListItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Collection sharing updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree/add/{rootNodeId}": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Add Tree Item",
+ "description": "Add a new tree item to a collection",
+ "operationId": "bundle_portal_engine_collections_tree_add",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "rootNodeId",
+ "in": "path",
+ "description": "RootNodeId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "elementIds"
+ ],
+ "properties": {
+ "elementIds": {
+ "type": "object",
+ "example": [
+ 123,
+ 456
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Tree item added successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree/delete/{rootNodeId}": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Delete Tree Items",
+ "description": "Delete tree items from a collection",
+ "operationId": "bundle_portal_engine_collections_tree_delete_elements",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "rootNodeId",
+ "in": "path",
+ "description": "RootNodeId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "elementIds"
+ ],
+ "properties": {
+ "elementIds": {
+ "type": "object",
+ "example": [
+ 123,
+ 456
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Tree items deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-information": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Get Tree Information",
+ "description": "Retrieve tree information for Portal Engine collections",
+ "operationId": "bundle_portal_engine_collections_tree_information",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tree information entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineTreeInformation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-items": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Get Tree Items",
+ "description": "Retrieve tree items for the requested collection",
+ "operationId": "bundle_portal_engine_collections_tree_items",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "How many results to return",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 30
+ }
+ },
+ {
+ "name": "node",
+ "in": "query",
+ "description": "Node is for items to list",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 30
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "When provided, the items are filtered by value.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "some-search-term"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tree items for the requested collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BundlePortalEngineDataObject"
+ },
+ {
+ "$ref": "#/components/schemas/BundlePortalEngineAsset"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-root-nodes": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Get Tree Root Nodes",
+ "description": "Retrieve root nodes for the collection tree",
+ "operationId": "bundle_portal_engine_collections_tree_root_nodes",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Root nodes for the requested collection tree",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineTreeFolder"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collections/check-user-assignment": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Check Admin User Assignment",
+ "description": "Check whether the current Pimcore user is assigned to a portal user for collections access",
+ "operationId": "bundle_portal_engine_collections_user_assignment_check",
+ "responses": {
+ "200": {
+ "description": "Assignment status for the current Pimcore user",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineAdminUserAssignment"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/user-search": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Search User Groups",
+ "description": "Search user groups within a collection by query",
+ "operationId": "bundle_portal_engine_collection_user_search",
+ "parameters": [
+ {
+ "name": "collectionId",
+ "in": "path",
+ "description": "CollectionId of the element",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "searchQuery",
+ "in": "query",
+ "description": "Term to filter user groups",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "deal"
+ }
+ },
+ {
+ "name": "excludeIds",
+ "in": "query",
+ "description": "Comma-separated list of IDs excluded from the search result",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1,2,3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of matching user groups",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineCollectionUserGroup"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/index-management": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Indices",
+ "description": "List all indices available for Portal Engine",
+ "operationId": "bundle_portal_engine_index_management_list",
+ "responses": {
+ "200": {
+ "description": "List of indices",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/IndexStat"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/index-management/queue-item-count": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Get Indexing Queue Count",
+ "description": "Get count of items in the indexing queue",
+ "operationId": "bundle_portal_engine_index_management_queue_count",
+ "responses": {
+ "200": {
+ "description": "Count of items in the indexing queue",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QueueItemCount"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/index-management/re-index": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Re-index Indices",
+ "description": "Re-index all indices for Portal Engine",
+ "operationId": "bundle_portal_engine_index_management_re_index",
+ "responses": {
+ "200": {
+ "description": "Re-index started"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/index-management/update-index": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Update Index Mapping",
+ "description": "Update index mapping for Portal Engine",
+ "operationId": "bundle_portal_engine_index_management_update_index",
+ "responses": {
+ "200": {
+ "description": "Update index mapping started"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/create-portal": {
+ "post": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Create Portal",
+ "description": "Create a new portal using the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_create_portal",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "portalName",
+ "domain",
+ "availableLanguages"
+ ],
+ "properties": {
+ "portalName": {
+ "type": "string"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "availableLanguages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "logo": {
+ "type": "string"
+ },
+ "loginBackgroundImage": {
+ "type": "string"
+ },
+ "objectPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineWizardObjectPool"
+ }
+ },
+ "assetPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineWizardAssetPool"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Portal tmpStoreKey to check the status",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineWizardStartResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/custom-layouts/{classId}": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Custom Layouts for Class",
+ "description": "List available custom layouts for the given class in the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_class_custom_layouts",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of available custom layouts for the class",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineWizardCustomLayout"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/available-formats": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Formats",
+ "description": "List available download formats for the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_available_formats",
+ "responses": {
+ "200": {
+ "description": "Collection of available download formats",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineWizardFormat"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/icons": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Icons",
+ "description": "List available icons for the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_icons",
+ "responses": {
+ "200": {
+ "description": "Collection of available icons",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineIcon"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/available-thumbnails": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "List Thumbnails",
+ "description": "List available thumbnails for the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_available_thumbnails",
+ "responses": {
+ "200": {
+ "description": "Collection of available thumbnails",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PortalEngineWizardThumbnail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/portal-engine/wizard/{tmpStoreKey}/status": {
+ "get": {
+ "tags": [
+ "Bundle Portal Engine"
+ ],
+ "summary": "Check Portal Creation Status",
+ "description": "Check the status of the portal creation process in the Portal Engine wizard",
+ "operationId": "bundle_portal_engine_wizard_status",
+ "parameters": [
+ {
+ "name": "tmpStoreKey",
+ "in": "path",
+ "description": "Temporary store key returned by the wizard start endpoint.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "portal-engine_wizard_650a9242c8b1d"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Status of the portal creation process",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PortalEngineWizardStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/config": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get configuration detail",
+ "description": "Get the detail of the Translations Provider Interfaces configuration including available Providers",
+ "operationId": "bundle_translations_provider_interface_config_get",
+ "responses": {
+ "200": {
+ "description": "Configuration detail retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Update configuration",
+ "description": "Update the configuration of the Translations Provider Interfaces Bundle",
+ "operationId": "bundle_translations_provider_interface_config_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceUpdateConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Configuration updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/config/ui-settings": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get UI settings",
+ "description": "Get the UI settings of the Translations Provider Interfaces configuration",
+ "operationId": "bundle_translations_provider_interface_config_ui_settings_get",
+ "responses": {
+ "200": {
+ "description": "Configuration UI settings retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceConfigurationUiSettings"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation/get-item-count": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get number of selected items",
+ "description": "Get the number of selected items ready for translation",
+ "operationId": "bundle_translations_provider_interface_translation_item_count",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceTranslationItemCount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Fetched number of items successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceTranslationItemCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation/request": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Request translation of items",
+ "description": "Request the translation of selected items and add them to the translation queue",
+ "operationId": "bundle_translations_provider_interface_request_translation",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceTranslationRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully queued translations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TranslationsProviderInterfaceTranslationRequestResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/cancel": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Cancel a translation job",
+ "description": "Cancel a translation job that has been submitted.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_cancel",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation job cancelled successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/check-redelivery": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Check redelivery for a translation job",
+ "description": "Check and process redelivery for a translation job whose results were not received.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_check_redelivery",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Redelivery check completed successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/delete": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Delete a translation job",
+ "description": "Delete a translation job from the queue.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_delete",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation job deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/process": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Process translation results for a job",
+ "description": "Process received translation results and apply them to the target elements.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_process",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation results processed successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/receive": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Receive translation results for a job",
+ "description": "Receive translation results for a submitted job from the translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_receive",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation results received successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/reset-error": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Reset error state of a translation job",
+ "description": "Reset the error state of a translation job, allowing it to be retried.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_reset_error",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation job error state reset successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/action/{jobId}/submit": {
+ "post": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Submit a translation job",
+ "description": "Submit a translation job to the configured translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_action_submit",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation job submitted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/data/{jobId}/export": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get export data for a translation job",
+ "description": "Get the export data content for a translation job.\nReturns the raw data that was sent to the translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_data_export",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Export data content"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/data/{jobId}/result": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get result data for a translation job",
+ "description": "Get the result data content for a translation job.\nReturns the raw data received from the translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_data_result",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Result data content"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/data/{jobId}/export-xml": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get XML export data for a translation job",
+ "description": "Get the export data as XML for a translation job.\nReturns the XLIFF XML content that was sent to the translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_data_export_xml",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "XML export data content"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/data/{jobId}/result-xml": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get XML result data for a translation job",
+ "description": "Get the result data as XML for a translation job.\nReturns the XLIFF XML content received from the translation provider.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_data_result_xml",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "XML result data content"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/view/compare-result-data/{jobId}": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get compare result data view for a translation job",
+ "description": "Render the compare result data view for a translation job.\nShows a comparison between export data and result data with download links.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_view_compare_result_data",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Compare result data HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"compare_result_data.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/view/list": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get translation jobs queue list view",
+ "description": "Render the translation jobs queue list view as an HTML page.\nThis endpoint returns server-rendered HTML for use in an iframe.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_view_list",
+ "parameters": [
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "Filter indicator",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "state",
+ "in": "query",
+ "description": "Job state filter",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "all"
+ }
+ },
+ {
+ "name": "jobId",
+ "in": "query",
+ "description": "Filter by job ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "items",
+ "in": "query",
+ "description": "Filter by item IDs (comma-separated)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "creationFrom",
+ "in": "query",
+ "description": "Filter creation date from (yyyy-mm-dd)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "creationTo",
+ "in": "query",
+ "description": "Filter creation date to (yyyy-mm-dd)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "modificationFrom",
+ "in": "query",
+ "description": "Filter modification date from (yyyy-mm-dd)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "modificationTo",
+ "in": "query",
+ "description": "Filter modification date to (yyyy-mm-dd)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Filter by submission name",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "remoteId",
+ "in": "query",
+ "description": "Filter by remote ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Translation jobs queue list HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"list.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/translations-provider-interfaces/translation-jobs/view/resolve-elements": {
+ "get": {
+ "tags": [
+ "Bundle Translations Provider Interfaces"
+ ],
+ "summary": "Get resolve elements view for a translation job",
+ "description": "Render the resolve elements view for a translation job.\nShows the list of elements (objects, documents, assets) associated with a job.\n",
+ "operationId": "bundle_translations_provider_interface_translation_jobs_view_resolve_elements",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "query",
+ "description": "The translation job ID",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "itemIds",
+ "in": "query",
+ "description": "Comma-separated item IDs",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1,2,3"
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "query",
+ "description": "Element type (object, document, asset)",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "object"
+ }
+ },
+ {
+ "name": "processed",
+ "in": "query",
+ "description": "Whether to show processed items",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resolve elements HTML page",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"elements.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Get configuration",
+ "description": "Get a File Export DataHub configuration by name",
+ "operationId": "bundle_data_hub_file_export_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Update configuration",
+ "description": "Update a File Export DataHub configuration",
+ "operationId": "bundle_data_hub_file_export_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportUpdateConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Configuration updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportUpdateConfigurationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Delete configuration",
+ "description": "Delete a File Export DataHub configuration",
+ "operationId": "bundle_data_hub_file_export_config_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/exporter-services": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "List exporter services",
+ "description": "List all registered exporter services",
+ "operationId": "bundle_data_hub_file_export_exporter_services",
+ "responses": {
+ "200": {
+ "description": "List of exporter services",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportExporterService"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/exporter-types": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "List exporter types",
+ "description": "List all available exporter types",
+ "operationId": "bundle_data_hub_file_export_exporter_types",
+ "responses": {
+ "200": {
+ "description": "List of exporter types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportExporterType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/thumbnails": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "List thumbnail configurations",
+ "description": "List all available image and video thumbnail configurations",
+ "operationId": "bundle_data_hub_file_export_thumbnails",
+ "responses": {
+ "200": {
+ "description": "Thumbnail configurations retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportThumbnailCollection"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/validate-cron": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Validate cron expression",
+ "description": "Validate a cron expression",
+ "operationId": "bundle_data_hub_file_export_validate_cron",
+ "parameters": [
+ {
+ "name": "cron_expression",
+ "in": "query",
+ "description": "The cron expression to validate",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "*/5 * * * *"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cron expression validation result",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportCronValidationResult"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/export/cancel": {
+ "put": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Cancel export",
+ "description": "Cancel a running export",
+ "operationId": "bundle_data_hub_file_export_export_cancel",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configName"
+ ],
+ "properties": {
+ "configName": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-file-export"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Export cancelled successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/export/progress": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Get export progress",
+ "description": "Get the progress of a running export",
+ "operationId": "bundle_data_hub_file_export_export_progress",
+ "parameters": [
+ {
+ "name": "config_name",
+ "in": "query",
+ "description": "Configuration name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "my-file-export"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Export progress retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportExportProgress"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-file-export/export/start": {
+ "put": {
+ "tags": [
+ "Bundle Data Hub File Export"
+ ],
+ "summary": "Start export",
+ "description": "Start an export for a given configuration",
+ "operationId": "bundle_data_hub_file_export_export_start",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportStartExport"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Export started successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-simple-rest/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub Simple Rest"
+ ],
+ "summary": "Get configuration detail",
+ "description": "Get the detail of a Simple REST DataHub configuration including API URLs and user permissions",
+ "operationId": "bundle_data_hub_simple_rest_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration detail retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Data Hub Simple Rest"
+ ],
+ "summary": "Update configuration",
+ "description": "Update a Simple REST DataHub configuration",
+ "operationId": "bundle_data_hub_simple_rest_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestUpdateConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Configuration updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestUpdateConfigurationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-simple-rest/config/{name}/label-list": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub Simple Rest"
+ ],
+ "summary": "Get label list",
+ "description": "Get the list of label keys from the search index for a given configuration",
+ "operationId": "bundle_data_hub_simple_rest_config_get_label_list",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of label keys retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestLabel"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-simple-rest/queue/item-count": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub Simple Rest"
+ ],
+ "summary": "Get queue item count",
+ "description": "Get the number of items currently in the indexing queue",
+ "operationId": "bundle_data_hub_simple_rest_queue_get_item_count",
+ "responses": {
+ "200": {
+ "description": "Queue item count retrieved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestQueueItemCount"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-simple-rest/thumbnails": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub Simple Rest"
+ ],
+ "summary": "Get thumbnail collection",
+ "description": "Get the collection of available asset thumbnail configurations",
+ "operationId": "bundle_data_hub_simple_rest_thumbnails_collection",
+ "responses": {
+ "200": {
+ "description": "Collection of thumbnail configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubSimpleRestThumbnail"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-webhooks/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Hub Webhooks"
+ ],
+ "summary": "Get Webhooks configuration detail",
+ "description": "Get the detail of a Webhooks DataHub configuration by name, including enrichment data such as document types, asset types, thumbnail configurations, event types, and workflows.",
+ "operationId": "bundle_data_hub_webhooks_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved configuration detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Data Hub Webhooks"
+ ],
+ "summary": "Update Webhooks configuration",
+ "description": "Update a Webhooks DataHub configuration. Supports optimistic locking via modification date comparison.",
+ "operationId": "bundle_data_hub_webhooks_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksUpdateConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksUpdateConfigurationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-hub-webhooks/config/test-subscribers": {
+ "post": {
+ "tags": [
+ "Bundle Data Hub Webhooks"
+ ],
+ "summary": "Test subscriber URLs",
+ "description": "Test subscriber URLs by sending a POST request to each one and reporting any errors.",
+ "operationId": "bundle_data_hub_webhooks_config_test_subscribers",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksTestSubscribersParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully tested subscriber URLs",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksTestSubscribersResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/classificationstore/attributes": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Classification Store Attributes",
+ "description": "Load available classification store field definitions for a given data object class",
+ "operationId": "bundle_data_importer_classificationstore_load_attributes",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "The ID of the data object class to load classification store attributes for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Product"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of classification store attributes for the class",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterClassAttributesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/classificationstore/key-name": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Classification Store Key Name",
+ "description": "Resolve the group name and key name for a classification store key by its combined group-key ID",
+ "operationId": "bundle_data_importer_classificationstore_load_key_name",
+ "parameters": [
+ {
+ "name": "keyId",
+ "in": "query",
+ "description": "The classification store key ID in group-key format (e.g., \"1-5\")",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1-5"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resolved group name and key name, or the key ID as fallback",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterClassificationStoreKeyNameResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/classificationstore/keys": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Classification Store Keys",
+ "description": "Load paginated classification store key-group relations for a given class and field, with sorting, filtering, and search support",
+ "operationId": "bundle_data_importer_classificationstore_load_keys",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "The ID of the data object class",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Product"
+ }
+ },
+ {
+ "name": "fieldName",
+ "in": "query",
+ "description": "The classification store field name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "classificationStore"
+ }
+ },
+ {
+ "name": "transformationResultType",
+ "in": "query",
+ "description": "Filter keys by transformation result data type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "default"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "description": "JSON-encoded sort configuration",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "start",
+ "in": "query",
+ "description": "Pagination offset",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "description": "Maximum number of results",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 15
+ }
+ },
+ {
+ "name": "searchfilter",
+ "in": "query",
+ "description": "Search string to filter keys by name, group name, or description",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "JSON-encoded column filter configuration",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated list of classification store key-group relations with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterClassificationStoreKeysResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/transformation-result-type": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Calculate Transformation Result Type",
+ "description": "Calculate the expected data type of a transformation result for a single mapping configuration entry",
+ "operationId": "bundle_data_importer_config_calculate_transformation_result_type",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterCalculateTransformationResultTypeParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The evaluated transformation result data type",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterTransformationResultTypeResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/cancel-execution": {
+ "put": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Cancel Import Execution",
+ "description": "Cancel a running import execution and clean up the processing queue for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_cancel_execution",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Import execution cancelled and queue cleaned up successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/check-import-progress": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Check Import Progress",
+ "description": "Check the progress of a running batch import for a Data Importer configuration, returning status, total items, processed items, and progress percentage",
+ "operationId": "bundle_data_importer_config_check_import_progress",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Import progress status with running state and item counts",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterImportProgressResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/copy-preview": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Copy Preview Data",
+ "description": "Copy data from the configured data source into preview storage for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_copy_preview",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterCopyPreviewParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Preview data copied successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 413 - Max File Size Exceeded 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Get Data Importer Configuration",
+ "description": "Get a Data Importer configuration by name with full details including loader, interpreter, resolver, mapping, and execution settings",
+ "operationId": "bundle_data_importer_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Data Importer configuration details with column headers",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Save Data Importer Configuration",
+ "description": "Save/update a Data Importer configuration by name with full settings including loader, interpreter, resolver, mapping, and execution config",
+ "operationId": "bundle_data_importer_config_save",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterConfigurationSaveParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully saved configuration with updated details",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/has-import-file-uploaded": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Check Import File Status",
+ "description": "Check whether an import file has been uploaded for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_has_import_file_uploaded",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Import file existence status with file path and translated message",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterImportFileStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/column-headers": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Column Headers",
+ "description": "Load available column headers from preview data for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_load_column_headers",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterCopyPreviewParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Available column headers from the preview data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterColumnHeadersResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/load-preview": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Preview Data",
+ "description": "Load and interpret preview data for a Data Importer configuration, returning column-level preview with mapping information",
+ "operationId": "bundle_data_importer_config_load_preview",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterLoadPreviewParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Preview data with column details and record index",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterDataPreviewResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/transformation-result": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Transformation Result Previews",
+ "description": "Generate transformation result previews for each mapping entry of a Data Importer configuration using preview data",
+ "operationId": "bundle_data_importer_config_load_transformation_result",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterLoadPreviewParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Transformation result preview strings for each mapping entry",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterTransformationResultPreviewsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/start-import": {
+ "put": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Start Batch Import",
+ "description": "Prepare and start a batch import for a Data Importer configuration, ignoring the active flag",
+ "operationId": "bundle_data_importer_config_start_import",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Whether the import was successfully prepared and started",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterImportStartResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/upload-import-file": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Upload Import File",
+ "description": "Upload a data file for import into the configured Flysystem storage for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_upload_import_file",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Import data file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Import file uploaded successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/config/{name}/upload-preview": {
+ "post": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Upload Preview Data",
+ "description": "Upload a preview data file for a Data Importer configuration",
+ "operationId": "bundle_data_importer_config_upload_preview",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "Preview data file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Preview data uploaded successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 413 - Max File Size Exceeded 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/connection/list": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "List Database Connections",
+ "description": "List all available Doctrine database connections for use in Data Importer configuration",
+ "operationId": "bundle_data_importer_connection_list",
+ "responses": {
+ "200": {
+ "description": "List of available database connections with names and service identifiers",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterConnectionsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/data-type/class-attributes": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Class Attributes",
+ "description": "Load available data object attributes for a given class, filtered by transformation result data type",
+ "operationId": "bundle_data_importer_data_type_load_class_attributes",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "The ID of the data object class to load attributes for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Product"
+ }
+ },
+ {
+ "name": "loadAdvancedRelations",
+ "in": "query",
+ "description": "Whether to include advanced relation field types",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "systemRead",
+ "in": "query",
+ "description": "Whether to include system read fields",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "systemWrite",
+ "in": "query",
+ "description": "Whether to include system write fields",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ },
+ {
+ "name": "transformationResultType",
+ "in": "query",
+ "description": "Filter attributes by transformation result data type. If not provided, defaults to DEFAULT and NUMERIC types.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available data object attributes for the class",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterClassAttributesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/data-type/unit-data": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Load Unit Data",
+ "description": "Load all available quantity value units ordered by abbreviation, for use in Data Importer mapping configuration",
+ "operationId": "bundle_data_importer_data_type_load_unit_data",
+ "responses": {
+ "200": {
+ "description": "List of available quantity value units with IDs and abbreviations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterUnitDataResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-importer/utility/check-crontab": {
+ "get": {
+ "tags": [
+ "Bundle Data Importer"
+ ],
+ "summary": "Validate Cron Expression",
+ "description": "Validate a cron expression for use in Data Importer scheduling configuration",
+ "operationId": "bundle_data_importer_utility_check_crontab",
+ "parameters": [
+ {
+ "name": "cronExpression",
+ "in": "query",
+ "description": "The cron expression to validate",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "*/5 * * * *"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cron expression validation result with validity flag and error message",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataImporterCronValidationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/workflows": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "List Workflows",
+ "description": "Get all available workflow configurations as a tree structure with folders",
+ "operationId": "bundle_workflow_designer_list",
+ "responses": {
+ "200": {
+ "description": "Workflow list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerListItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Create Workflow",
+ "description": "Create a new workflow configuration with the given display label",
+ "operationId": "bundle_workflow_designer_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerCreateWorkflow"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created workflow detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/workflows/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Get Workflow",
+ "description": "Get a single workflow configuration by name including places, transitions, global actions and BPMN diagram",
+ "operationId": "bundle_workflow_designer_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the workflow",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Workflow detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Save Workflow",
+ "description": "Save/update a workflow configuration including places, transitions, global actions and diagram",
+ "operationId": "bundle_workflow_designer_save",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the workflow",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerSaveWorkflow"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Workflow saved successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Delete Workflow",
+ "description": "Delete a workflow configuration by name",
+ "operationId": "bundle_workflow_designer_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the workflow",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Workflow deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/workflows/{name}/export": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Export Workflow",
+ "description": "Export a workflow configuration as a downloadable JSON file",
+ "operationId": "bundle_workflow_designer_export",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the workflow",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Workflow configuration JSON file"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/workflows/import": {
+ "post": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Import Workflow",
+ "description": "Import a workflow configuration from an uploaded JSON file",
+ "operationId": "bundle_workflow_designer_import",
+ "requestBody": {
+ "description": "Workflow configuration file to import",
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "JSON workflow configuration file",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Workflow imported successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/roles": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Search Roles",
+ "description": "Search for roles by name",
+ "operationId": "bundle_workflow_designer_role_search",
+ "parameters": [
+ {
+ "name": "query",
+ "in": "query",
+ "description": "Search query for roles",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "editor"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Role search results",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerRoleSearchResult"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/support-elements": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "List Support Elements",
+ "description": "Get all supported element types including Document, Asset, DataObject types and class definitions",
+ "operationId": "bundle_workflow_designer_support_elements",
+ "responses": {
+ "200": {
+ "description": "Support elements list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerSupportElement"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-designer/users": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Designer"
+ ],
+ "summary": "Search Users",
+ "description": "Search for users by name, firstname, lastname, email or ID",
+ "operationId": "bundle_workflow_designer_user_search",
+ "parameters": [
+ {
+ "name": "query",
+ "in": "query",
+ "description": "Search query for users",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "admin"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User search results",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerUserSearchResult"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/bricks": {
+ "post": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Create a new brick",
+ "description": "Create a new brick with the specified name. \nThe name must be unique and not already used by an existing brick.\n",
+ "operationId": "bundle_headless_documents_brick_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsCreateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created brick details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/bricks/detail/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get brick",
+ "description": "Get a specific brick data by its name including the YAML-formatted content.\n",
+ "operationId": "bundle_headless_documents_brick_get_by_name",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Brick unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Brick as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Update brick",
+ "description": "Update a specific brick by its name with new YAML-formatted content.\n",
+ "operationId": "bundle_headless_documents_brick_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Brick unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsUpdateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated brick details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrickDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Delete brick",
+ "description": "Delete a specific brick by its name.\n",
+ "operationId": "bundle_headless_documents_brick_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Brick unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Brick successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/bricks/help-info": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get brick help info",
+ "description": "Get brick help information including available editables with their YAML configuration examples.\n",
+ "operationId": "bundle_headless_documents_brick_help_info",
+ "responses": {
+ "200": {
+ "description": "Brick help information as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrickHelp"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/bricks/list": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get bricks list",
+ "description": "Get a list of all brick configuration IDs.\n",
+ "operationId": "bundle_headless_documents_brick_list",
+ "responses": {
+ "200": {
+ "description": "Brick list as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsConfigList"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/{id}/brick/render": {
+ "post": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Render area brick for headless document",
+ "description": "Render an area brick in editmode for headless documents with the headless-specific EditableRenderer and brick implementations.\n",
+ "operationId": "bundle_headless_documents_brick_render",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name",
+ "realName",
+ "index",
+ "blockStateStack",
+ "areablockConfig",
+ "areablockData"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "realName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "index": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "blockStateStack": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[{\"blocks\": [], \"indexes\": []}]"
+ },
+ "areaBlockConfig": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[]"
+ },
+ "areaBlockData": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "[]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Area brick render data including editable definitions and HTML code",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RenderAreaBlockData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/bricks/tree": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get bricks tree",
+ "description": "Get brick tree with bricks organized by groups. \nBricks without a group are listed directly, while grouped bricks are organized into folder nodes.\n",
+ "operationId": "bundle_headless_documents_brick_tree",
+ "responses": {
+ "200": {
+ "description": "Brick tree as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrick"
+ },
+ {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrickFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/datahub/config/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get DataHub configuration",
+ "description": "Get a specific DataHub configuration by its name including workspace settings and user permissions.\n",
+ "operationId": "bundle_headless_documents_datahub_config_get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "DataHub configuration data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsDataHubConfigurationDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Update DataHub configuration",
+ "description": "Update a specific DataHub configuration by its name. \nIncludes conflict detection based on modification date.\n",
+ "operationId": "bundle_headless_documents_datahub_config_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the configuration",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsUpdateDataHubConfiguration"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated configuration modification date as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsUpdateDataHubConfigurationResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/templates": {
+ "post": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Create a new template",
+ "description": "Create a new template with the specified name. \nThe name must be unique and not already used by an existing template.\n",
+ "operationId": "bundle_headless_documents_template_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsCreateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Created template details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplateDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/templates/detail/{name}": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get template",
+ "description": "Get a specific template data by its name including the YAML-formatted content.\n",
+ "operationId": "bundle_headless_documents_template_get_by_name",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Template unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Template as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplateDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Update template",
+ "description": "Update a specific template by its name with new YAML-formatted content.\n",
+ "operationId": "bundle_headless_documents_template_update",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Template unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsUpdateConfig"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated template details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplateDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Delete template",
+ "description": "Delete a specific template by its name.\n",
+ "operationId": "bundle_headless_documents_template_delete",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Template unique name",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "simple"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Template successfully deleted"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/templates/help-info": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get template help info",
+ "description": "Get template help information including available layouts and editables with their YAML configuration examples.\n",
+ "operationId": "bundle_headless_documents_template_help_info",
+ "responses": {
+ "200": {
+ "description": "Template help information as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplateHelp"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/templates/list": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get templates list",
+ "description": "Get a list of all template configuration IDs.\n",
+ "operationId": "bundle_headless_documents_template_list",
+ "responses": {
+ "200": {
+ "description": "Template list as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsConfigList"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/headless-documents/templates/tree": {
+ "get": {
+ "tags": [
+ "Bundle Headless Documents"
+ ],
+ "summary": "Get templates tree",
+ "description": "Get template tree with templates organized by groups. \nTemplates without a group are listed directly, while grouped templates are organized into folder nodes.\n",
+ "operationId": "bundle_headless_documents_template_tree",
+ "responses": {
+ "200": {
+ "description": "Template tree as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplate"
+ },
+ {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplateFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/openid-connect/auth/debug": {
+ "get": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "OpenID Connect debug page",
+ "description": "Returns an HTML debug page listing configured OpenID Connect providers for testing.\n",
+ "operationId": "bundle_openid_connect_auth_debug",
+ "responses": {
+ "200": {
+ "description": "HTML debug page"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/openid-connect/auth/endpoint": {
+ "get": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "OpenID Connect OAuth2 callback endpoint",
+ "description": "Handles the OAuth2 authorization code flow callback from the identity provider.\n",
+ "operationId": "bundle_openid_connect_auth_endpoint",
+ "responses": {
+ "200": {
+ "description": "OAuth2 callback response"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 429 - Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/openid-connect/auth/login": {
+ "get": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "OpenID Connect login redirect",
+ "description": "Handles the post-authentication redirect after a successful OpenID Connect login.\n",
+ "operationId": "bundle_openid_connect_auth_login",
+ "responses": {
+ "200": {
+ "description": "Login redirect response"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/openid-connect/auth/script": {
+ "get": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "OpenID Connect login button script",
+ "description": "Returns a JavaScript file that injects OpenID Connect login buttons into the login page.\n",
+ "operationId": "bundle_openid_connect_auth_script",
+ "parameters": [
+ {
+ "name": "perspective",
+ "in": "query",
+ "description": "The Pimcore perspective context",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": ""
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "JavaScript for login button injection"
+ },
+ "default": {
+ "description": "400 - Bad Request 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 429 - Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/openid-connect/config": {
+ "get": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "Get OpenID Connect configuration",
+ "description": "Returns the full OpenID Connect configuration including providers, default provider, and writeability status.\n",
+ "operationId": "bundle_openid_connect_config_get",
+ "responses": {
+ "200": {
+ "description": "OpenID Connect configuration data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleOpenIdConnectConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle OpenID Connect"
+ ],
+ "summary": "Update OpenID Connect configuration",
+ "description": "Updates the OpenID Connect configuration with the provided providers and default provider.\n",
+ "operationId": "bundle_openid_connect_config_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleOpenIdConnectUpdateConfigurationParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Configuration updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleOpenIdConnectSuccessResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/cancel-generation": {
+ "post": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Cancel Web to Print PDF generation process",
+ "description": "Cancel an ongoing PDF generation process based on the provided web to print {documentId} . \nThe {documentId} must be an ID of existing web to print document\n",
+ "operationId": "bundle_web_to_print_cancel_generation_process",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully canceled Web to Print PDF generation process"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/check-pdf-dirty": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Check if Web to Print document is dirty",
+ "description": "Check if the document based on the provided web to print {documentId} has unsaved changes since the last PDF generation. \nThe {documentId} must be an ID of existing web to print document\n",
+ "operationId": "bundle_web_to_print_get_pdf_dirty",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Web to Print document dirty status",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "isDirty"
+ ],
+ "properties": {
+ "isDirty": {
+ "title": "isDirty",
+ "description": "True if document changed since the last PDF generation",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/pdf-download": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Download Web to Print generated PDF file",
+ "description": "Download the generated PDF file for a Web to Print document based on the provided web to print {documentId} . \nThe {documentId} must be an ID of existing web to print document and the PDF must have been generated successfully\n",
+ "operationId": "bundle_web_to_print_pdf_download",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Web to Print generated PDF file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"someGeneratedDocument.pdf\""
+ }
+ }
+ },
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/generation-process-data": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Get Web to Print PDF generation process data",
+ "description": "Retrieve the status and details of a Web to Print PDF generation process based on the provided web to print {documentId} . \nThe {documentId} must be an ID of existing web to print document\n",
+ "operationId": "bundle_web_to_print_get_generation_process_data",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Web to Print PDF generation process data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWebToPrintGenerateProcessData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/processing-options": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Get Web to Print PDF generation processing options",
+ "description": "Retrieve the available PDF generation processing options for a Web to Print document based on the provided {documentId} . \nThe {documentId} must be an ID of existing web to print document\n",
+ "operationId": "bundle_web_to_print_get_processing_options",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Web to Print PDF generation processing options as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "options"
+ ],
+ "properties": {
+ "options": {
+ "title": "Processing Options",
+ "description": "Processing options used for PDF generation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWebToPrintProcessingOption"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/settings": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Get Web to Print settings",
+ "description": "Retrieve the current Web to Print settings configuration including PDF generation tool settings,\nPDF Reactor configuration, Gotenberg configuration, and other related options.\n",
+ "operationId": "bundle_web_to_print_settings_get",
+ "responses": {
+ "200": {
+ "description": "Web to Print settings configuration as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWebToPrintSettings"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Update Web to Print settings",
+ "description": "Update the Web to Print settings configuration and other related options.\n",
+ "operationId": "bundle_web_to_print_settings_update",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWebToPrintUpdateSettings"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Web to Print settings successfully updated"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/settings/test": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Test Web to Print PDF generation",
+ "description": "Test the current Web to Print PDF generation configuration by generating a sample PDF document.\nThis endpoint validates that the configured PDF adapter (PDF Reactor, Gotenberg, etc.) is working correctly.\nReturns a streamed PDF file if the configuration is valid.\n",
+ "operationId": "bundle_web_to_print_settings_test",
+ "responses": {
+ "200": {
+ "description": "Test PDF document stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"test_web2print.pdf\""
+ }
+ }
+ },
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/start-generation": {
+ "post": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Start Web to Print PDF generation process",
+ "description": "Initiate the PDF generation process for a Web to Print document based on the provided {documentId} and processing options. \nThe {documentId} must be an ID of existing web to print document\n",
+ "operationId": "bundle_web_to_print_start_generation_process",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "author": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "printermarks": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "addOverprint": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "links": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "bookmarks": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "tags": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "javaScriptMode": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "viewerPreference": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "colorspace": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "encryption": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "loglevel": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "enableDebugMode": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully started Web to Print PDF generation process"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/web-to-print/{documentId}/pdf-stream": {
+ "get": {
+ "tags": [
+ "Bundle Web To Print"
+ ],
+ "summary": "Stream Web to Print generated PDF file",
+ "description": "Stream the generated PDF file for a Web to Print document based on the provided web to print {documentId} . \nThe {documentId} must be an ID of existing web to print document and the PDF must have been generated successfully\n",
+ "operationId": "bundle_web_to_print_pdf_stream",
+ "parameters": [
+ {
+ "name": "documentId",
+ "in": "path",
+ "description": "DocumentId of the web to print document",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Web to Print generated PDF file stream",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"someGeneratedDocument.pdf\""
+ }
+ }
+ },
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/fields": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get Index Fields",
+ "description": "Get all available index fields with optional filtering by filter groups and tenant",
+ "operationId": "bundle_ecommerce_fields_collection",
+ "parameters": [
+ {
+ "name": "filtergroup",
+ "in": "query",
+ "description": "Filter by specific filter groups, comma separated",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "category,price"
+ }
+ },
+ {
+ "name": "tenant",
+ "in": "query",
+ "description": "Filter by tenant",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "showAllFields",
+ "in": "query",
+ "description": "Show all fields including hidden ones",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "addEmpty",
+ "in": "query",
+ "description": "Add an empty option at the beginning",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "specificPriceField",
+ "in": "query",
+ "description": "Add the specific price field",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index fields collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleEcommerceIndexField"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/index/filter-field-values": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get filter field values",
+ "description": "Get filter field values for a specific field",
+ "operationId": "ecommerce_index_get_filter_field_values_collection",
+ "parameters": [
+ {
+ "name": "field",
+ "in": "query",
+ "description": "The filter field to get values for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "categoryIds"
+ }
+ },
+ {
+ "name": "tenant",
+ "in": "query",
+ "description": "The tenant to use for filtering",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "default"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Filter field values",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterFieldValue"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/filter-groups": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get Filter Groups",
+ "description": "Get all available filter groups across all configured tenants",
+ "operationId": "bundle_ecommerce_filter_groups_collection",
+ "responses": {
+ "200": {
+ "description": "Filter groups collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleEcommerceFilterGroup"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/tenants": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get Tenants",
+ "description": "Get all available tenants from the Ecommerce Framework configuration",
+ "operationId": "bundle_ecommerce_tenants_collection",
+ "responses": {
+ "200": {
+ "description": "Tenants collection",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleEcommerceTenant"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/cancel": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Cancel order item",
+ "description": "Cancel an order item by ID",
+ "operationId": "bundle_ecommerce_orders_item_cancel_post",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommerceOrderItemCancelParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Order item cancelled successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/complaint": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Complain order item",
+ "description": "File a complaint for an order item by ID",
+ "operationId": "bundle_ecommerce_orders_item_complaint_post",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommerceOrderItemComplaintParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Order item complaint filed successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/edit": {
+ "put": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Edit order item",
+ "description": "Update the amount of an order item by ID",
+ "operationId": "bundle_ecommerce_orders_item_edit_put",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommerceOrderItemEditParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Order item updated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/{id}/view/detail": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render order detail view",
+ "description": "Render the full detail view of a single order by ID as HTML including customer info, items and change log.\n",
+ "operationId": "bundle_ecommerce_orders_view_detail",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the order detail",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"detail.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/view/cancel": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render order item cancel view",
+ "description": "Render the cancel confirmation view for an order item by ID as HTML.\n",
+ "operationId": "bundle_ecommerce_orders_view_item_cancel",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the order item cancel view",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"item_cancel.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/view/complaint": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render order item complaint view",
+ "description": "Render the complaint view for an order item by ID as HTML.\n",
+ "operationId": "bundle_ecommerce_orders_view_item_complaint",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the order item complaint view",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"item_complaint.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/items/{id}/view/edit": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render order item edit view",
+ "description": "Render the edit view for an order item by ID as HTML.\n",
+ "operationId": "bundle_ecommerce_orders_view_item_edit",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the order item",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the order item edit view",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"item_edit.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/orders/view/list": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render order list view",
+ "description": "Render the order list view as HTML with optional filtering by type, search query, date range and pricing rule.\n",
+ "operationId": "bundle_ecommerce_orders_view_list",
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "description": "List type: order or order_item",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "order"
+ }
+ },
+ {
+ "name": "q",
+ "in": "query",
+ "description": "Search query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "search",
+ "in": "query",
+ "description": "Search scope: order or productType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "order"
+ }
+ },
+ {
+ "name": "from",
+ "in": "query",
+ "description": "Filter from date (Y-m-d)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "till",
+ "in": "query",
+ "description": "Filter till date (Y-m-d)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "pricingRule",
+ "in": "query",
+ "description": "Filter by pricing rule ID",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "description": "Number of results per page",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 10
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the order list",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"list.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/rules": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get pricing rules",
+ "description": "Get all pricing rules ordered by priority",
+ "operationId": "bundle_ecommerce_pricing_rules_collection",
+ "responses": {
+ "200": {
+ "description": "Pricing rules list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleListItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Create pricing rule",
+ "description": "Create a new pricing rule with the given name",
+ "operationId": "bundle_ecommerce_pricing_rules_create",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleCreateParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of the newly created pricing rule",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID of the newly created pricing rule",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/config": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get pricing config",
+ "description": "Get available condition and action type keys registered in the pricing manager",
+ "operationId": "bundle_ecommerce_pricing_config",
+ "responses": {
+ "200": {
+ "description": "Available condition and action types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingConfig"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/rules/{id}/copy": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Copy pricing rule",
+ "description": "Create a copy of an existing pricing rule with a unique name derived from the original",
+ "operationId": "bundle_ecommerce_pricing_rules_copy",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the pricing rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Pricing rule copied successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/rules/{id}": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Get pricing rule",
+ "description": "Get a single pricing rule by ID including its full condition and action configuration",
+ "operationId": "bundle_ecommerce_pricing_rules_item",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the pricing rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Pricing rule detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Save pricing rule",
+ "description": "Save the full configuration of a pricing rule including settings, conditions and actions",
+ "operationId": "bundle_ecommerce_pricing_rules_save",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the pricing rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleSaveParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Updated pricing rule detail",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleDetail"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Delete pricing rule",
+ "description": "Delete an existing pricing rule by ID",
+ "operationId": "bundle_ecommerce_pricing_rules_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the pricing rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Pricing rule deleted successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/rules/{id}/rename": {
+ "put": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Rename pricing rule",
+ "description": "Rename an existing pricing rule to a new unique name",
+ "operationId": "bundle_ecommerce_pricing_rules_rename",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the pricing rule",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommercePricingRuleRenameParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Pricing rule renamed successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/pricing/rules/order": {
+ "put": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Save pricing rules order",
+ "description": "Update the display priority order of multiple pricing rules at once",
+ "operationId": "bundle_ecommerce_pricing_rules_save_order",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "rules"
+ ],
+ "properties": {
+ "rules": {
+ "description": "Map of rule ID to priority value",
+ "type": "object",
+ "example": {
+ "1": 0,
+ "2": 1,
+ "3": 2
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Pricing rules order saved successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/vouchers/{id}/reservations/cleanup": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Clean up voucher reservations",
+ "description": "Clean up voucher token reservations older than a specified duration in minutes.\n",
+ "operationId": "bundle_ecommerce_vouchers_reservations_cleanup",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the voucher series",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommerceCleanupReservationsParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Voucher reservations cleaned up successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/vouchers/{id}/tokens/cleanup": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Clean up voucher tokens",
+ "description": "Clean up voucher tokens for a voucher series by usage status and optional date filter.\n",
+ "operationId": "bundle_ecommerce_vouchers_tokens_cleanup",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the voucher series",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleEcommerceCleanupTokensParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Voucher tokens cleaned up successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/vouchers/{id}/tokens/export": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Export voucher tokens",
+ "description": "Export voucher tokens for a voucher series as a file download in CSV or plain text format.\n",
+ "operationId": "bundle_ecommerce_vouchers_tokens_export",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the voucher series",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "description": "Export format: csv or plain",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "csv"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Voucher token export file",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"voucher-export.csv\""
+ }
+ }
+ },
+ "content": {
+ "text/csv": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "text/plain": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/vouchers/{id}/tokens/generate": {
+ "post": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Generate voucher tokens",
+ "description": "Generate or update voucher tokens for a voucher series",
+ "operationId": "bundle_ecommerce_vouchers_tokens_generate",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the voucher series",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Voucher tokens generated successfully"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/ecommerce/vouchers/{id}/view/tab": {
+ "get": {
+ "tags": [
+ "Bundle Ecommerce"
+ ],
+ "summary": "Render voucher code tab view",
+ "description": "Render the voucher code tab view as HTML for a voucher series by ID, including token listing, filters and pagination.\n",
+ "operationId": "bundle_ecommerce_vouchers_view_tab",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the voucher series",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number (1-based)",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ {
+ "name": "tokensPerPage",
+ "in": "query",
+ "description": "Number of tokens per page",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 25
+ }
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Filter by token code",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "creation_from",
+ "in": "query",
+ "description": "Filter from date (Y-m-d)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "creation_to",
+ "in": "query",
+ "description": "Filter to date (Y-m-d)",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "usages",
+ "in": "query",
+ "description": "Filter by usage count",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "length",
+ "in": "query",
+ "description": "Filter by token length",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 42
+ }
+ },
+ {
+ "name": "sort_criteria",
+ "in": "query",
+ "description": "Sort field",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ },
+ {
+ "name": "sort_order",
+ "in": "query",
+ "description": "Sort direction: ASC or DESC",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": null
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rendered HTML of the voucher code tab",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "inline; filename=\"voucher_code_tab.html.twig\""
+ }
+ }
+ },
+ "content": {
+ "text/html": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-quality-management/color-settings": {
+ "get": {
+ "tags": [
+ "Bundle Data Quality Management"
+ ],
+ "summary": "List data quality color settings",
+ "description": "List all available color settings used for data quality score design.\n",
+ "operationId": "bundle_data_quality_management_color_settings_list",
+ "responses": {
+ "200": {
+ "description": "List of color settings",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementColorSettings"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-quality-management/detail-widget/{id}/{locale}": {
+ "get": {
+ "tags": [
+ "Bundle Data Quality Management"
+ ],
+ "summary": "Get data quality detail widget data",
+ "description": "Get detail data quality widget data for a specific data object including data quality information and rule definitions.\n",
+ "operationId": "bundle_data_quality_management_detail_widget_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "locale",
+ "in": "path",
+ "description": "Local used for detail translations",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "en"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detail data quality widget data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementDetailWidget"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-quality-management/recommended-fields/{classId}": {
+ "get": {
+ "tags": [
+ "Bundle Data Quality Management"
+ ],
+ "summary": "List recommended fields for class",
+ "description": "List all recommended fields for a specific data object class that can be used in data quality rules.\n",
+ "operationId": "bundle_data_quality_management_recommended_fields_list",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of recommended fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementRecommendedFields"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/data-quality-management/symfony-expression-validation/{classId}": {
+ "post": {
+ "tags": [
+ "Bundle Data Quality Management"
+ ],
+ "summary": "Validate Symfony expression",
+ "description": "Validate a Symfony expression for a specific data object class to ensure it can be used in data quality rules.\n",
+ "operationId": "bundle_data_quality_management_symfony_expression_validation",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "path",
+ "description": "Class definition unique identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "CAR"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementValidateSymfonyExpression"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Symfony expression validation result",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementSymfonyExpressionValidation"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/class-definition/common-relation-fields": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List common relation fields for a given relation",
+ "description": "Returns the common fields across all classes referenced by a relation field. \nUse the classId parameter to specify the source class and relationField to specify the relation\n",
+ "operationId": "bundle_backend_power_tools_aet_list_common_relation_fields",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class ID to retrieve common relation fields for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ {
+ "name": "relationField",
+ "in": "query",
+ "description": "Relation field name to find common fields across related classes",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "manufacturer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of common relation fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/class-definition/fields": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List class definition fields for a given class",
+ "description": "Returns the field definitions for a given class. \nUse the classId parameter to specify which class to retrieve fields for. \nOptionally filter to only simple value fields using onlySimpleValueFields \n",
+ "operationId": "bundle_backend_power_tools_aet_list_class_definition_fields",
+ "parameters": [
+ {
+ "name": "classId",
+ "in": "query",
+ "description": "Class ID to retrieve fields for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ {
+ "name": "onlySimpleValueFields",
+ "in": "query",
+ "description": "Only return simple value fields",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "example": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of class definition fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/clone": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Clone an alternative element tree configuration",
+ "description": "Clones an existing alternative element tree configuration with a new name. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_clone_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationName"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name for the cloned configuration",
+ "type": "string",
+ "example": "My Cloned Tree"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully cloned configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Create a new alternative element tree configuration",
+ "description": "Creates a new alternative element tree configuration with the given name\n",
+ "operationId": "bundle_backend_power_tools_aet_create_configuration",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationName"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name of the new configuration",
+ "type": "string",
+ "example": "My Custom Tree"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of the newly created configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationId"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/default-perspective": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List configurations for the default perspective",
+ "description": "Returns a list of alternative element tree configurations visible in the default perspective. \nUse the openAlternativeElementTrees parameter to specify which trees are currently open\n",
+ "operationId": "bundle_backend_power_tools_aet_default_perspective_configurations",
+ "parameters": [
+ {
+ "name": "openAlternativeElementTrees",
+ "in": "query",
+ "description": "Comma-separated list of open alternative element tree IDs",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of default perspective configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get an alternative element tree configuration by ID",
+ "description": "Returns the full configuration data for a specific alternative element tree configuration. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_get_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationData"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Update an alternative element tree configuration",
+ "description": "Updates an existing alternative element tree configuration. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_update_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationName",
+ "data"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name of the configuration",
+ "type": "string",
+ "example": "My Custom Tree"
+ },
+ "data": {
+ "description": "JSON encoded configuration data",
+ "type": "string",
+ "example": "{\"general\":{},\"dataSource\":{},\"treeLevels\":[]}"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Modification date of the updated configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationModificationDate"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Delete an alternative element tree configuration",
+ "description": "Deletes an existing alternative element tree configuration. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_delete_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/export": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Export an alternative element tree configuration",
+ "description": "Exports an alternative element tree configuration as a JSON file download. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_export_configuration",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration exported as JSON file"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/details": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get configuration details for the tree view",
+ "description": "Returns the tree details for a specific alternative element tree configuration. \nThe {configurationId} must be an ID of an existing configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_get_configuration_details",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Configuration tree details as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationDetails"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/import": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Import an alternative element tree configuration",
+ "description": "Imports an alternative element tree configuration from a JSON file upload. \nThe file must contain a valid JSON configuration\n",
+ "operationId": "bundle_backend_power_tools_aet_import_configuration",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "JSON file with alternative element tree configuration",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of the imported configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationId"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/list": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List all configurations for admin settings",
+ "description": "Returns a list of all alternative element tree configurations for the admin settings panel\n",
+ "operationId": "bundle_backend_power_tools_aet_list_configuration_admin",
+ "responses": {
+ "200": {
+ "description": "List of configurations for admin panel",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationListItem"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/grid/batch-edit-ids": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get batch edit IDs for an alternative element tree grid",
+ "description": "Returns all element IDs matching the given filter criteria for batch editing. \nUse the configurationId to specify which configuration to use\n",
+ "operationId": "bundle_backend_power_tools_aet_grid_batch_edit_ids",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationId",
+ "language"
+ ],
+ "properties": {
+ "configurationId": {
+ "description": "Alternative Element Tree Configuration ID",
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ },
+ "language": {
+ "description": "Language for the listing",
+ "type": "string",
+ "example": "en"
+ },
+ "filter": {
+ "description": "Filter expression",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "path": {
+ "description": "Base path for the listing",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/"
+ },
+ "fields": {
+ "description": "Fields to include in the response",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "selectedItems": {
+ "description": "Pre-selected item IDs",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ }
+ },
+ "query": {
+ "description": "Search query string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "start": {
+ "description": "Offset to start from",
+ "type": "integer",
+ "example": 0
+ },
+ "limit": {
+ "description": "Maximum number of results",
+ "type": "integer",
+ "example": 50
+ },
+ "sort": {
+ "description": "JSON-encoded sort configuration",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "[{\"property\":\"id\",\"direction\":\"ASC\"}]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Array of element IDs for batch editing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETGridBatchEditIds"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/grid/export-jobs": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get export jobs for an alternative element tree grid",
+ "description": "Returns chunked export job arrays for an alternative element tree configuration. \nCreates a temporary CSV file handle for the export process\n",
+ "operationId": "bundle_backend_power_tools_aet_grid_export_jobs",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationId",
+ "language"
+ ],
+ "properties": {
+ "configurationId": {
+ "description": "Alternative Element Tree Configuration ID",
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ },
+ "language": {
+ "description": "Language for the listing",
+ "type": "string",
+ "example": "en"
+ },
+ "filter": {
+ "description": "Filter expression",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "path": {
+ "description": "Base path for the listing",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/"
+ },
+ "fields": {
+ "description": "Fields to include in the response",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "selectedItems": {
+ "description": "Pre-selected item IDs",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ }
+ },
+ "query": {
+ "description": "Search query string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "start": {
+ "description": "Offset to start from",
+ "type": "integer",
+ "example": 0
+ },
+ "limit": {
+ "description": "Maximum number of results",
+ "type": "integer",
+ "example": 50
+ },
+ "sort": {
+ "description": "JSON-encoded sort configuration",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "[{\"property\":\"id\",\"direction\":\"ASC\"}]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Export jobs with file handle",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETGridExportJobs"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/grid/listing": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get grid listing for an alternative element tree",
+ "description": "Returns paginated grid listing data for an alternative element tree configuration. \nUse the configurationId to specify which configuration to use\n",
+ "operationId": "bundle_backend_power_tools_aet_grid_listing",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "configurationId",
+ "language"
+ ],
+ "properties": {
+ "configurationId": {
+ "description": "Alternative Element Tree Configuration ID",
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ },
+ "language": {
+ "description": "Language for the listing",
+ "type": "string",
+ "example": "en"
+ },
+ "filter": {
+ "description": "Filter expression",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "path": {
+ "description": "Base path for the listing",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/"
+ },
+ "fields": {
+ "description": "Fields to include in the response",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "selectedItems": {
+ "description": "Pre-selected item IDs",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ }
+ },
+ "query": {
+ "description": "Search query string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "start": {
+ "description": "Offset to start from",
+ "type": "integer",
+ "example": 0
+ },
+ "limit": {
+ "description": "Maximum number of results",
+ "type": "integer",
+ "example": 50
+ },
+ "sort": {
+ "description": "JSON-encoded sort configuration",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "[{\"property\":\"id\",\"direction\":\"ASC\"}]"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Grid listing data with total count",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETGridListing"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/configurations": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List all alternative element tree configurations",
+ "description": "Returns a list of all available alternative element tree configurations\n",
+ "operationId": "bundle_backend_power_tools_aet_list_configurations",
+ "responses": {
+ "200": {
+ "description": "List of alternative element tree configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETTreeConfigurationItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/data-object-classes": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List all data object classes",
+ "description": "Returns a list of all available data object classes\n",
+ "operationId": "bundle_backend_power_tools_aet_list_data_object_classes",
+ "responses": {
+ "200": {
+ "description": "List of data object classes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETDataObjectClassItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/precondition-filters": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List all precondition filters",
+ "description": "Returns a list of all available precondition filters for the alternative element tree\n",
+ "operationId": "bundle_backend_power_tools_aet_list_precondition_filters",
+ "responses": {
+ "200": {
+ "description": "List of precondition filters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETPreconditionFilterItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/valid-languages": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List all valid languages",
+ "description": "Returns a list of all valid languages configured in the system\n",
+ "operationId": "bundle_backend_power_tools_aet_list_valid_languages",
+ "responses": {
+ "200": {
+ "description": "List of valid languages",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETValidLanguageItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/object-brick/fields": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "List fields for a given object brick",
+ "description": "Returns the field definitions for a given object brick. \nUse the objectBrick parameter to specify which object brick to retrieve fields for\n",
+ "operationId": "bundle_backend_power_tools_aet_list_object_brick_fields",
+ "parameters": [
+ {
+ "name": "objectBrick",
+ "in": "query",
+ "description": "Object brick key to retrieve fields for",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of object brick fields",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/tree/{configurationId}/update/{objectId}": {
+ "patch": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Patch a data object via the alternative element tree",
+ "description": "Patching data object based on the given {configurationId} , {objectId} and data. \nPatching can be used for updating single or multiple fields. \nThe {objectId} must be an ID of existing data object and the {configurationId} must be an ID of existing alternative element tree configuration.\n",
+ "operationId": "bundle_backend_power_tools_aet_patch_data_object",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ }
+ },
+ {
+ "name": "objectId",
+ "in": "path",
+ "description": "ObjectId of the data-object",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "object",
+ "example": [
+ "Super car",
+ "red"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully patched data object"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/tree/{configurationId}/calculation-status": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get the calculation status of the alternative element tree",
+ "description": "Returns true if the Alternative element tree status is being calculated\n",
+ "operationId": "bundle_backend_power_tools_aet_get_tree_calculation_status",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "path",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "bundle_backend_power_tools_aet_get_tree_calculation_status_response_description",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "inProgress"
+ ],
+ "properties": {
+ "inProgress": {
+ "title": "inProgress",
+ "description": "True if a tree calculation is currently in progress",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/aet/tree": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get all items for the alternative element tree",
+ "description": "Listing of all alternative element tree items of the configuration. \nYou can use different query parameters to filter the items\n",
+ "operationId": "bundle_backend_power_tools_aet_get_tree",
+ "parameters": [
+ {
+ "name": "configurationId",
+ "in": "query",
+ "description": "Alternative Element Tree Configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ }
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "Path of the current level",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "/"
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "start",
+ "in": "query",
+ "description": "From which result to start",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "description": "How many results to return",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 30
+ }
+ },
+ {
+ "name": "level",
+ "in": "query",
+ "description": "Current tree level.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "filter",
+ "in": "query",
+ "description": "When provided, the items are filtered by value.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "some-search-term"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated items with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETDataObject"
+ },
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETVirtualFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/add": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Add a new bookmark list",
+ "description": "Create a new bookmark list item based on the given data. \nThe data must contain a valid name \n",
+ "operationId": "bundle_backend_power_tools_bl_add",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "My bookmark list"
+ },
+ "sortBy": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "name"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created bookmark list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBookmarkList"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get bookmark list collection",
+ "description": "Get paginated bookmark list items. \nYou can use different query parameters for filtering.\n",
+ "operationId": "bundle_backend_power_tools_bl_get_collection",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "page": {
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "type": "integer",
+ "example": 50
+ },
+ "columnFilters": {
+ "type": "object",
+ "example": "[{\"type\":\"search\", \"filterValue\": \"search term\"},{\"type\":\"showAll\", \"filterValue\": true}]"
+ },
+ "sortFilter": {
+ "type": "object",
+ "example": "{\"key\":\"id\",\"direction\":\"ASC\"}"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Paginated bookmark list items with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBookmarkList"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get bookmark list by ID",
+ "description": "Retrieves a specific bookmark list data based on the given {id} . \nThe {id} must be an ID of bookmark list.\n",
+ "operationId": "bundle_backend_power_tools_bl_get_by_id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved bookmark list data as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBookmarkList"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Delete bookmark list by ID",
+ "description": "Delete a specific bookmark list based on the given {id} . \nThe {id} must be an ID of bookmark list.\n",
+ "operationId": "bundle_backend_power_tools_bl_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted bookmark list"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/share/recipients": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get bookmark list share recipients collection",
+ "description": "Get collection of recipients with whom the bookmark list is shared.\nThe {id} must be an ID of existing bookmark list.\n",
+ "operationId": "bundle_backend_power_tools_bl_get_share_collection",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of share recipients as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsShareRecipient"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Patch bookmark list share recipients by ID",
+ "description": "Patch the share recipients of a specific bookmark list based on the given {id} and data. \nThe {id} must be an ID of bookmark list. \nThe data must contain at least one of the following fields: shares or deletedShares .\n",
+ "operationId": "bundle_backend_power_tools_bl_patch_share_list",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "shares",
+ "deletedShares"
+ ],
+ "properties": {
+ "shares": {
+ "type": "array",
+ "items": {
+ "required": [
+ "userId",
+ "permission"
+ ],
+ "properties": {
+ "userId": {
+ "description": "User ID",
+ "type": "integer",
+ "example": 1
+ },
+ "permission": {
+ "description": "User permission for share",
+ "type": "string",
+ "example": "edit"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "deletedShares": {
+ "description": "Array of user IDs whose shares are to be removed from the bookmark list.",
+ "type": "object",
+ "example": [
+ 5,
+ 7
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully patched bookmark list share recipients",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsShareRecipient"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/share/users": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get bookmark list shareable users collection",
+ "description": "Get collection of users with whom can be the bookmark list shared. \nThe {id} must be an ID of existing bookmark list.\nYou can use {searchTerm} query parameter to filter users by their name.\n",
+ "operationId": "bundle_backend_power_tools_bl_get_user_collection",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Filter results by name",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "admin"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of users as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsShareUser"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree/folder": {
+ "put": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Rename folder in bookmark list tree",
+ "description": "Rename a folder in the bookmark list tree based on the given {id} and data. \nThe {id} must be an ID of bookmark list. \nThe data must contain a valid {folderId} of existing folder and new {folderName} \n",
+ "operationId": "bundle_backend_power_tools_bl_tree_rename_folder",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderName",
+ "folderId"
+ ],
+ "properties": {
+ "folderName": {
+ "type": "string",
+ "example": "Bookmark Folder"
+ },
+ "folderId": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully renamed folder in bookmark list tree"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Add folder to bookmark list tree by ID",
+ "description": "Create a new folder in the bookmark list tree based on the given {id} and data. \nThe {id} must be an ID of bookmark list. \nThe data must contain a valid {parentId} of existing folder or 0 for root level and {folderName} \n",
+ "operationId": "bundle_backend_power_tools_bl_tree_add_folder",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "folderName",
+ "parentId"
+ ],
+ "properties": {
+ "folderName": {
+ "type": "string",
+ "example": "Bookmark Folder"
+ },
+ "parentId": {
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created folder in bookmark list tree"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 409 - Conflict 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree/items": {
+ "post": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Add or update items in bookmark list tree",
+ "description": "Add or update existing items in the bookmark list tree based on the given {id} and data. \nThe {id} must be an ID of bookmark list. \nThe data should contain the following fields: \n\n selectedNodes : Item data which should be added to the tree \n elementSortOrder : Sorting order which is used in manual sort mode (based on the existing tree item IDs) \n \n",
+ "operationId": "bundle_backend_power_tools_bl_tree_add_update_items",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "selectedNodes",
+ "elementSortOrder"
+ ],
+ "properties": {
+ "selectedNodes": {
+ "description": "Selected nodes to add",
+ "type": "array",
+ "items": {
+ "required": [
+ "elementId",
+ "elementType"
+ ],
+ "properties": {
+ "elementId": {
+ "description": "Element ID",
+ "type": "integer",
+ "example": 123
+ },
+ "elementType": {
+ "description": "Element type",
+ "type": "string",
+ "example": "object"
+ },
+ "bookmarkListItemId": {
+ "description": "Bookmark list item ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "parentFolderId": {
+ "description": "Parent folder ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 5
+ },
+ "copy": {
+ "description": "Whether to copy the item",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ },
+ "elementSortOrder": {
+ "description": "Sort order based on IDs which should be applied for tree manual sorting",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "1,2,newElement,3"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully added/updated items in bookmark list tree"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Remove items from bookmark list tree",
+ "description": "Remove items from the bookmark list tree based on the given {id} and data. \nThe {id} must be an ID of bookmark list. \nThe data must contain a valid {nodesToRemove} array with following data:\n\n elementId : Original ID of the element to remove \n elementType : Type of the element to remove (object, asset, document, bookmark_folder) \n id : bookmark list item ID of the element \n \n",
+ "operationId": "bundle_backend_power_tools_bl_tree_remove_items",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "nodesToRemove"
+ ],
+ "properties": {
+ "nodesToRemove": {
+ "description": "Selected nodes to remove from bookmark list",
+ "type": "array",
+ "items": {
+ "required": [
+ "elementId",
+ "elementType",
+ "id"
+ ],
+ "properties": {
+ "elementId": {
+ "description": "Element ID",
+ "type": "integer",
+ "example": 123
+ },
+ "elementType": {
+ "description": "Element type",
+ "type": "string",
+ "example": "object"
+ },
+ "id": {
+ "description": "Bookmark list item ID",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully removed items from bookmark list tree"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree": {
+ "get": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Get all nodes for the bookmark list tree",
+ "description": "Collection of all bookmark list tree nodes. \nYou can use different query parameters to filter the items\n",
+ "operationId": "bundle_backend_power_tools_bl_get_tree",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ },
+ {
+ "name": "page",
+ "in": "query",
+ "description": "Page number",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 1
+ }
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "description": "Number of items per page",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 1,
+ "example": 30
+ }
+ },
+ {
+ "name": "parentId",
+ "in": "query",
+ "description": "ID of the parent",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 0
+ }
+ },
+ {
+ "name": "elementType",
+ "in": "query",
+ "description": "Necessary to get data from default element trees by type.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "asset"
+ }
+ },
+ {
+ "name": "searchTerm",
+ "in": "query",
+ "description": "Search term to filter elements.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "search text"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paginated nodes with total count as header param as JSON",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBLTreeAsset"
+ },
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBLTreeDataObject"
+ },
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBLTreeDocument"
+ },
+ {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBLTreeFolder"
+ },
+ {
+ "$ref": "#/components/schemas/Document"
+ },
+ {
+ "$ref": "#/components/schemas/Image"
+ },
+ {
+ "$ref": "#/components/schemas/AssetDocument"
+ },
+ {
+ "$ref": "#/components/schemas/Audio"
+ },
+ {
+ "$ref": "#/components/schemas/Video"
+ },
+ {
+ "$ref": "#/components/schemas/Archive"
+ },
+ {
+ "$ref": "#/components/schemas/Text"
+ },
+ {
+ "$ref": "#/components/schemas/AssetFolder"
+ },
+ {
+ "$ref": "#/components/schemas/Unknown"
+ },
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "$ref": "#/components/schemas/DataObjectFolder"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/backend-power-tools/bl/update/{id}": {
+ "put": {
+ "tags": [
+ "Bundle Backend Power Tools"
+ ],
+ "summary": "Update bookmark list by ID",
+ "description": "update a specific bookmark list based on the given {id} and data. \nThe {id} must be an ID of bookmark list. Please note that all fields are required for the data.\n",
+ "operationId": "bundle_backend_power_tools_bl_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Id of the Bookmark List",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "example": 83
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "My bookmark list"
+ },
+ "sortBy": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "name"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated bookmark list",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsBookmarkList"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-automation-integration/config/{configId}/list-options": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Automation Integration"
+ ],
+ "summary": "Get N8N action options for a configuration",
+ "description": "Get available N8N action options for a specific DataHub configuration.\n",
+ "operationId": "bundle_workflow_automation_integration_config_get_list_options",
+ "parameters": [
+ {
+ "name": "configId",
+ "in": "path",
+ "description": "DataHub configuration ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "my-config"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Available N8N action options",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWAIListOption"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-automation-integration/config/subscriber-pattern": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Automation Integration"
+ ],
+ "summary": "Get webhook subscriber URL validation pattern",
+ "description": "Returns the webhook subscriber URL regex validation pattern.\n",
+ "operationId": "bundle_workflow_automation_integration_config_get_subscriber_pattern",
+ "responses": {
+ "200": {
+ "description": "Webhook subscriber URL regex pattern",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWAISubscriberPatternResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-automation-integration/config/types": {
+ "get": {
+ "tags": [
+ "Bundle Workflow Automation Integration"
+ ],
+ "summary": "List DataHub configurations by type",
+ "description": "List DataHub configurations filtered by supported types (graphql, webhooks).\nReturns configuration names and their types.\n",
+ "operationId": "bundle_workflow_automation_integration_config_get_types",
+ "responses": {
+ "200": {
+ "description": "List of DataHub configurations with name and type",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleWAIConfigurationItem"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-automation-integration/export/graphql": {
+ "post": {
+ "tags": [
+ "Bundle Workflow Automation Integration"
+ ],
+ "summary": "Export N8N GraphQL workflow as JSON file",
+ "description": "Generate and export an N8N GraphQL workflow JSON file for the specified DataHub configuration.\nThe configuration must be active and have read permissions.\n",
+ "operationId": "bundle_workflow_automation_integration_export_graphql",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWAIDownloadGraphQlParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "N8N GraphQL workflow JSON file download",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"graphql_events_n8n_export_EVENT.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/workflow-automation-integration/export/webhooks": {
+ "post": {
+ "tags": [
+ "Bundle Workflow Automation Integration"
+ ],
+ "summary": "Export N8N Webhooks workflow as JSON file",
+ "description": "Generate and export an N8N Webhooks workflow JSON file for the specified DataHub configuration.\nValidates the subscriber URL, updates the configuration with the subscriber, and exports the workflow.\n",
+ "operationId": "bundle_workflow_automation_integration_export_webhooks",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundleWAIDownloadWebhooksParameters"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "N8N Webhooks workflow JSON file download",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"webhooks_workflow_export.json\""
+ }
+ }
+ },
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboard": {
+ "post": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Create dashboard configuration",
+ "description": "Create a new dashboard configuration",
+ "operationId": "dashboards_create_dashboard_config",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "required": [
+ "name",
+ "menuShortcutGroup",
+ "shareGlobally",
+ "rows"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "menuShortcutGroup": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shareGlobally": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "rows": {
+ "title": "Rows",
+ "description": "Define the rows of the dashboard.",
+ "type": "array",
+ "items": {
+ "required": [
+ "layout_id",
+ "widgets"
+ ],
+ "properties": {
+ "layout_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "widgets": {
+ "title": "Widgets",
+ "description": "Define the widgets of the row.",
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "type",
+ "position"
+ ],
+ "properties": {
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "position": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "ID of the newly created dashboard configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "Id of the created dashboard configuration",
+ "type": "string",
+ "example": "12345678-1234-1234-1234-123456789012"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get dashboard by ID",
+ "description": "Get a specific dashboard by ID",
+ "operationId": "dashboards_get_dashboard_by_id",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Dashboard ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio_default_dashboard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Requested dashboard",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DashboardConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Update dashboard configuration by ID",
+ "description": "Update a dashboard configuration by ID",
+ "operationId": "dashboards_update_dashboard_config_by_id",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Update dashboard by matching dashboard Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "required": [
+ "name",
+ "menuShortcutGroup",
+ "shareGlobally",
+ "rows"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "menuShortcutGroup": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shareGlobally": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "rows": {
+ "title": "Rows",
+ "description": "Define the rows of the dashboard.",
+ "type": "array",
+ "items": {
+ "required": [
+ "layout_id",
+ "widgets"
+ ],
+ "properties": {
+ "layout_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "widgets": {
+ "title": "Widgets",
+ "description": "Define the widgets of the row.",
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "type",
+ "position"
+ ],
+ "properties": {
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "position": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated dashboard configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Delete dashboard by ID",
+ "description": "Delete a dashboard with the given {dashboardId} . \nThe {dashboardId} must be an ID of an existing dashboard.\n",
+ "operationId": "dashboards_delete_dashboard_by_id",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Delete dashboard by matching dashboard Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted dashboard"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}/export": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Export dashboard by ID",
+ "description": "Export a dashboard configuration by ID ad JSON including its widgets",
+ "operationId": "dashboards_export_dashboard_by_id",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Dashboard ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio_default_dashboard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully exported dashboard configuration",
+ "headers": {
+ "Content-Disposition": {
+ "description": "Content-Disposition header",
+ "schema": {
+ "type": "string",
+ "example": "attachment; filename=\"example.jpg\""
+ }
+ }
+ },
+ "content": {
+ "application/zip": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboard/import/{dashboardId}": {
+ "post": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Import dashboard",
+ "description": "Import a dashboard configuration from form zipped JSON including its widgets",
+ "operationId": "dashboards_import_dashboard",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Dashboard ID",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "studio_default_dashboard"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "required": [
+ "file"
+ ],
+ "properties": {
+ "file": {
+ "description": "CSV import file to upload",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully imported dashboard configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboards": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "List dashboards",
+ "description": "List all available dashboards",
+ "operationId": "dashboards_list_dashboards",
+ "responses": {
+ "200": {
+ "description": "Name and ID of all available dashboards",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SimpleDashboard"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}/update-menu-shortcut": {
+ "put": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Update dashboard menu shortcut",
+ "description": "Update the menu shortcut setting for a specific dashboard",
+ "operationId": "dashboards_dashboard_update_menu_shortcut",
+ "parameters": [
+ {
+ "name": "dashboardId",
+ "in": "path",
+ "description": "Dashboard ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "studio_default_dashboard"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "shortcut"
+ ],
+ "properties": {
+ "shortcut": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated dashboard menu shortcut setting"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/layout-options": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get layout options",
+ "description": "Get all available layout options for a dashboard row",
+ "operationId": "dashboards_get_layout_options",
+ "responses": {
+ "200": {
+ "description": "All layout options successfully retrieved",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LayoutOption"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configuration": {
+ "post": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Create widget configuration",
+ "description": "Create a new dashboard widget configuration with default values based on the provided {widgetType} .\n The widget type has to be registered via Symfony Configuration.\n Please note that {name} , {color} and {visualization} has to be provided.\n",
+ "operationId": "dashboards_widget_create",
+ "parameters": [
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Create widget by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "color": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "visualization": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully created widget configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "title": "id",
+ "description": "Id of the created widget configuration",
+ "type": "integer",
+ "example": 66
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/configurations": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget configurations",
+ "description": "Listing of all dashboard widget configurations",
+ "operationId": "dashboards_widget_get_config_collection",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "totalItems",
+ "items"
+ ],
+ "properties": {
+ "totalItems": {
+ "title": "totalItems",
+ "type": "integer",
+ "example": 666
+ },
+ "items": {
+ "title": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/data/{widgetId}": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget data by id and type",
+ "description": "Get the data for a specific widget with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration. \nThe returned data depends on the implemented data resolver for the widget type.\n",
+ "operationId": "dashboards_widget_get_data_by_id",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Filter widgets by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter widgets by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Widget data",
+ "type": "string",
+ "example": "Some data defined by the widget resolver"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configuration/{widgetId}": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget configuration by id",
+ "description": "Get a dashboard widget configuration with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n",
+ "operationId": "dashboards_widget_get_config_by_id",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Filter widgets by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter widgets by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "title": "data",
+ "description": "Data of the widget configuration",
+ "type": "string",
+ "example": "Widget configuration data"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Update widget configuration by id and type",
+ "description": "Update the widget configuration with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an id of an existing widget. The widget type has to be registered via Symfony Configuration. \nPlease note that all configuration fields have to be provided.\n",
+ "operationId": "dashboards_widget_update_config_by_id",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Update widget by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Update widget by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "color": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "visualization": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successfully updated widget configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Delete widget configuration by id and type",
+ "description": "Delete a dashboard widget with the given {widgetId} and {widgetType} . \nThe {widgetId} must be an ID of an existing widget. The widget type has to be registered via Symfony Configuration.\n",
+ "operationId": "dashboards_widget_delete",
+ "parameters": [
+ {
+ "name": "widgetId",
+ "in": "path",
+ "description": "Delete widget by matching widget Id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ }
+ },
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Delete widget by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted widget configuration"
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 404 - Not Found 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content 500 - Internal Server Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configurations": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget configuration options by type",
+ "description": "Get configuration field name and all available options for a specific widget type.\n The {widgetType} must be registered via Symfony Configuration.\n",
+ "operationId": "dashboards_widget_get_configuration_options",
+ "parameters": [
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter options by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget configurations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DashboardsWidgetConfigConfiguration"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/types": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget types",
+ "description": "Listing of all available widget types",
+ "operationId": "dashboards_widget_get_type_collection",
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WidgetType"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/visualizations": {
+ "get": {
+ "tags": [
+ "Bundle Studio Dashboards"
+ ],
+ "summary": "Get widget visualizations by type",
+ "description": "Listing of all available visualizations for a specific widget type.\n The {widgetType} must be registered via Symfony Configuration.\n",
+ "operationId": "dashboards_widget_get_visualization_collection",
+ "parameters": [
+ {
+ "name": "widgetType",
+ "in": "path",
+ "description": "Filter options by matching widget type",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "wysiwyg"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved widget visualizations",
+ "content": {
+ "application/json": {
+ "schema": {
+ "required": [
+ "visualizations"
+ ],
+ "properties": {
+ "visualizations": {
+ "title": "Visualizations",
+ "description": "Dashboard widget visualization options.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "table"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "400 - Bad Request 401 - Unauthorized 405 - Method Not Allowed 415 - Unsupported Media Type 422 - Unprocessable Content",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Error"
+ },
+ {
+ "$ref": "#/components/schemas/DevError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "AMDCDCreateConfig": {
+ "title": "AMDCD Create Config",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Unique name of the configuration",
+ "type": "string",
+ "example": "MyConfig"
+ }
+ },
+ "type": "object"
+ },
+ "AMDCDMetadataColumnGroup": {
+ "title": "AMDCD Metadata Column Group",
+ "required": [
+ "nodeLabel",
+ "nodeType",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "nodeLabel": {
+ "description": "Group label",
+ "type": "string",
+ "example": "default_metadata"
+ },
+ "nodeType": {
+ "description": "Node type",
+ "type": "string",
+ "example": "image"
+ },
+ "children": {
+ "description": "Column definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "AMDCDUpdateConfig": {
+ "title": "AMDCD Update Config",
+ "required": [
+ "title",
+ "prefix"
+ ],
+ "properties": {
+ "title": {
+ "description": "Title of the configuration",
+ "type": "string",
+ "example": "My Configuration"
+ },
+ "prefix": {
+ "description": "Prefix used for metadata fields",
+ "type": "string",
+ "example": "myconfig"
+ },
+ "icon": {
+ "description": "Icon class name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "pimcore_icon_settings"
+ },
+ "configuration": {
+ "description": "Layout definition as nested structure",
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "AMDCDLayout": {
+ "title": "AMDCD_Layout",
+ "required": [
+ "name",
+ "dataType",
+ "type",
+ "region",
+ "title",
+ "width",
+ "height",
+ "collapsible",
+ "collapsed",
+ "bodyStyle",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "pimcore_root"
+ },
+ "dataType": {
+ "description": "Data Type",
+ "type": "string",
+ "example": "layout"
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "region": {
+ "description": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "center"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "MyLayout"
+ },
+ "width": {
+ "description": "Width",
+ "type": "integer",
+ "example": 0
+ },
+ "height": {
+ "description": "Height",
+ "type": "integer",
+ "example": 0
+ },
+ "collapsible": {
+ "description": "Collapsible",
+ "type": "boolean",
+ "example": false
+ },
+ "collapsed": {
+ "description": "Collapsed",
+ "type": "boolean",
+ "example": false
+ },
+ "bodyStyle": {
+ "description": "Body Style",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "(float: left;)"
+ },
+ "children": {
+ "description": "Children",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{id: 1}]"
+ }
+ },
+ "type": "object"
+ },
+ "AMDCDListConfig": {
+ "title": "AMDCD_ListConfig",
+ "description": "List version of config",
+ "required": [
+ "name",
+ "title",
+ "prefix",
+ "iconCls",
+ "layoutDefinitions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Author"
+ },
+ "title": {
+ "description": "title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Name of Author"
+ },
+ "prefix": {
+ "description": "Prefix",
+ "type": "string",
+ "default": "",
+ "example": "amcd"
+ },
+ "iconCls": {
+ "description": "Icon Class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "default": "pimcore_icon_settings",
+ "example": "pimcore_icon_settings"
+ },
+ "layoutDefinitions": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AMDCDLayout",
+ "description": "layoutDefinitions"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "layoutDefinitions"
+ }
+ },
+ "type": "object"
+ },
+ "AMDCDSimpleConfig": {
+ "title": "AMDCD_SimpleConfig",
+ "description": "Simple version of config",
+ "required": [
+ "name",
+ "type",
+ "iconCls",
+ "expandable",
+ "leaf"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Author"
+ },
+ "title": {
+ "description": "title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Name of Author"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "default": "config",
+ "example": "config"
+ },
+ "iconCls": {
+ "description": "Icon Class",
+ "type": "string",
+ "default": "pimcore_icon_settings",
+ "example": "pimcore_icon_settings"
+ },
+ "expandable": {
+ "description": "Is Expandable",
+ "type": "boolean",
+ "default": false,
+ "example": false
+ },
+ "leaf": {
+ "description": "Is Leaf",
+ "type": "boolean",
+ "default": true,
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "ActiveBundle": {
+ "title": "Active Bundle",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Bundle name",
+ "type": "string",
+ "example": "PimcoreStudioBackendBundle"
+ }
+ },
+ "type": "object"
+ },
+ "AddPerspectiveConfig": {
+ "title": "Add Perspective Config",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Cars"
+ }
+ },
+ "type": "object"
+ },
+ "AdminSettings": {
+ "title": "Admin Settings",
+ "required": [
+ "branding",
+ "assets",
+ "writeable"
+ ],
+ "properties": {
+ "branding": {
+ "$ref": "#/components/schemas/Branding",
+ "description": "Branding configuration"
+ },
+ "assets": {
+ "$ref": "#/components/schemas/Assets",
+ "description": "Assets configuration"
+ },
+ "writeable": {
+ "description": "Whether the settings are writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "AdminSettingsThumbnailPath": {
+ "title": "Admin Settings Thumbnail Path",
+ "required": [
+ "customLogoSmall",
+ "customLogo",
+ "loginScreenCustomBackgroundImage"
+ ],
+ "properties": {
+ "customLogoSmall": {
+ "description": "Path to custom logo thumbnail",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/Sample%20Content/Background%20Images/321/image_small.png"
+ },
+ "customLogo": {
+ "description": "Path to custom logo thumbnail",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/Sample%20Content/Background%20Images/321/image-thumb.png"
+ },
+ "loginScreenCustomBackgroundImage": {
+ "description": "Path to custom background image",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/Sample%20Content/Background%20Images/317/background.png"
+ }
+ },
+ "type": "object"
+ },
+ "AdvancedColumnConfig": {
+ "title": "Advanced Column Config",
+ "required": [
+ "advancedColumns"
+ ],
+ "properties": {
+ "advancedColumns": {
+ "description": "advancedColumns",
+ "type": "array",
+ "items": {
+ "required": [
+ "key",
+ "config"
+ ],
+ "properties": {
+ "key": {
+ "description": "Type of the column, e.g. \"simpleField\", \"relationField\", \"staticText\"",
+ "type": "string",
+ "example": "simpleField"
+ },
+ "config": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/RelationFieldConfig"
+ },
+ {
+ "$ref": "#/components/schemas/SimpleFieldConfig"
+ },
+ {
+ "$ref": "#/components/schemas/StaticTextConfig"
+ }
+ ]
+ },
+ "example": {
+ "field": "name",
+ "relation": "manufacturer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "example": [
+ {
+ "key": "simpleField",
+ "config": {
+ "field": "name"
+ }
+ }
+ ]
+ },
+ "transformers": {
+ "description": "List if Transformers that should be applied",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Transformer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "AllowedTransition": {
+ "title": "AllowedTransition",
+ "required": [
+ "name",
+ "label",
+ "iconCls",
+ "objectLayout",
+ "unsavedChangesBehaviour",
+ "notes"
+ ],
+ "properties": {
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "start_workflow"
+ },
+ "label": {
+ "description": "label",
+ "type": "string",
+ "example": "Start Workflow"
+ },
+ "iconCls": {
+ "description": "iconCls",
+ "type": "string",
+ "example": "pimcore_workflow_start"
+ },
+ "objectLayout": {
+ "description": "objectLayout",
+ "type": "boolean",
+ "example": false
+ },
+ "unsavedChangesBehaviour": {
+ "description": "unsavedChangesBehaviour",
+ "type": "string",
+ "example": "warn"
+ },
+ "notes": {
+ "description": "notes",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": {
+ "commentEnabled": true,
+ "commentRequired": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Archive": {
+ "title": "Archive",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ }
+ ]
+ },
+ "RenderAreaBlockData": {
+ "title": "Area block render data for editmode",
+ "required": [
+ "editableDefinitions",
+ "htmlCode"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "editableDefinitions": {
+ "description": "Dynamic array of editable definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{ \"id\": \"editable_1\", \"type\": \"text\", \"config\": { \"label\": \"Text\", \"defaultValue\": \"Default text\" }, \"data\": { \"text\": \"Some text\" } }]"
+ },
+ "htmlCode": {
+ "description": "HTML code of the snippet",
+ "type": "string",
+ "example": "Some text
"
+ }
+ },
+ "type": "object"
+ },
+ "Asset": {
+ "title": "Asset",
+ "required": [
+ "hasChildren",
+ "type",
+ "filename",
+ "mimeType",
+ "hasMetadata",
+ "hasWorkflowWithPermissions",
+ "fullPath",
+ "customAttributes",
+ "permissions",
+ "hasWorkflowAvailable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Element"
+ },
+ {
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "hasWorkflowAvailable": {
+ "description": "Has workflow available",
+ "type": "boolean",
+ "example": false
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "required": [
+ "hasChildren"
+ ],
+ "type": "boolean",
+ "example": false
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "image"
+ },
+ "filename": {
+ "description": "Filename",
+ "type": "string",
+ "example": "cool.jpg"
+ },
+ "mimeType": {
+ "description": "Mimetype",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "image/jpeg"
+ },
+ "hasMetadata": {
+ "description": "Has metadata",
+ "type": "boolean",
+ "example": false
+ },
+ "hasWorkflowWithPermissions": {
+ "description": "Workflow permissions",
+ "type": "boolean",
+ "example": false
+ },
+ "fullPath": {
+ "description": "Full path",
+ "type": "string",
+ "example": "/path/to/asset.jpg"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/AssetPermissions"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "AssetDocument": {
+ "title": "Asset Document",
+ "required": [
+ "pageCount",
+ "imageThumbnailPath"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ },
+ {
+ "properties": {
+ "pageCount": {
+ "description": "Page count",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 2
+ },
+ "imageThumbnailPath": {
+ "description": "Path to image thumbnail",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/document/imagethumbnail.jpg"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "AssetFolder": {
+ "title": "Asset Folder",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ }
+ ]
+ },
+ "AssetPermissions": {
+ "title": "Asset Permissions",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Permissions"
+ }
+ ]
+ },
+ "AssetType": {
+ "title": "Asset Type",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "image"
+ }
+ },
+ "type": "object"
+ },
+ "AssetUploadInfo": {
+ "title": "Asset Upload Info",
+ "required": [
+ "exists",
+ "assetId"
+ ],
+ "properties": {
+ "exists": {
+ "description": "True if asset exists",
+ "type": "boolean",
+ "example": true
+ },
+ "assetId": {
+ "description": "Id of existing asset",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 83
+ }
+ },
+ "type": "object"
+ },
+ "AssetVersion": {
+ "title": "AssetVersion",
+ "required": [
+ "type",
+ "fileName",
+ "creationDate",
+ "fileSize",
+ "mimeType",
+ "metadata",
+ "dimensions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": {
+ "description": "asset type",
+ "type": "string",
+ "example": "image"
+ },
+ "fileName": {
+ "description": "file name",
+ "type": "string",
+ "example": "myImageFile.png"
+ },
+ "creationDate": {
+ "description": "creation date",
+ "type": "integer",
+ "example": 1707312457
+ },
+ "modificationDate": {
+ "description": "modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1707312457
+ },
+ "fileSize": {
+ "description": "file size",
+ "type": "integer",
+ "example": 41862
+ },
+ "mimeType": {
+ "description": "mime type",
+ "type": "string",
+ "example": "image/png"
+ },
+ "metadata": {
+ "description": "Metadata",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomMetadataVersion"
+ }
+ },
+ "dimensions": {
+ "$ref": "#/components/schemas/Dimensions",
+ "description": "dimensions"
+ }
+ },
+ "type": "object"
+ },
+ "Assets": {
+ "title": "Assets",
+ "required": [
+ "hide_edit_image",
+ "disable_tree_preview"
+ ],
+ "properties": {
+ "hide_edit_image": {
+ "description": "Hide edit image button",
+ "type": "boolean",
+ "example": false
+ },
+ "disable_tree_preview": {
+ "description": "Disable tree preview",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "Audio": {
+ "title": "Audio",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ }
+ ]
+ },
+ "AuthenticationToken": {
+ "title": "Authentication Token",
+ "description": "Token for authentication",
+ "required": [
+ "token"
+ ],
+ "properties": {
+ "token": {
+ "description": "Token",
+ "type": "string",
+ "example": "abc123xyz"
+ }
+ },
+ "type": "object"
+ },
+ "AvailableCountry": {
+ "title": "Available Country",
+ "required": [
+ "name",
+ "code"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Country name",
+ "type": "string",
+ "example": "Austria"
+ },
+ "code": {
+ "description": "Country ISO 3166-1 code",
+ "type": "string",
+ "example": "AT"
+ }
+ },
+ "type": "object"
+ },
+ "BlocklistEntry": {
+ "title": "Blocklist",
+ "required": [
+ "email",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "email": {
+ "description": "email address",
+ "type": "string",
+ "example": "email@pimcore.com"
+ },
+ "creationDate": {
+ "description": "creation date",
+ "type": "integer",
+ "example": 1707312457
+ },
+ "modificationDate": {
+ "description": "modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1707312457
+ }
+ },
+ "type": "object"
+ },
+ "EmailAddressParameter": {
+ "title": "Blocklist",
+ "required": [
+ "email"
+ ],
+ "properties": {
+ "email": {
+ "description": "email address",
+ "type": "string",
+ "example": "someEmail@email-domain.com"
+ }
+ },
+ "type": "object"
+ },
+ "Branding": {
+ "title": "Branding",
+ "required": [
+ "backgroundShade",
+ "brandColor",
+ "loginScreenCustomBackgroundImage"
+ ],
+ "properties": {
+ "backgroundShade": {
+ "description": "Background shade",
+ "type": "string",
+ "example": "#CCCCCC"
+ },
+ "brandColor": {
+ "description": "Brand color",
+ "type": "string",
+ "example": "#FFCC00"
+ },
+ "loginScreenCustomBackgroundImage": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Custom image for login screen"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Custom image for login screen",
+ "type": "object"
+ },
+ "customLogo": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Custom logo"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Custom logo",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "BulkExportAvailableItem": {
+ "title": "Bulk Export Available Item",
+ "required": [
+ "type",
+ "name",
+ "displayName",
+ "icon"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": {
+ "description": "Definition type",
+ "type": "string",
+ "example": "class"
+ },
+ "name": {
+ "description": "Definition name or identifier",
+ "type": "string",
+ "example": "Car"
+ },
+ "displayName": {
+ "description": "Human-readable display name",
+ "type": "string",
+ "example": "Car"
+ },
+ "icon": {
+ "description": "Icon identifier",
+ "type": "string",
+ "example": "class"
+ }
+ },
+ "type": "object"
+ },
+ "BulkExportParameters": {
+ "title": "Bulk Export Parameters",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "description": "Items to export",
+ "type": "array",
+ "items": {
+ "properties": {
+ "type": {
+ "description": "Type of the item",
+ "type": "string",
+ "example": "class"
+ },
+ "name": {
+ "description": "Name of the item",
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BulkImportParameters": {
+ "title": "Bulk Import Parameters",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "description": "Items to import from the uploaded file",
+ "type": "array",
+ "items": {
+ "properties": {
+ "type": {
+ "description": "Type of the item",
+ "type": "string",
+ "example": "class"
+ },
+ "name": {
+ "description": "Name of the item",
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BulkImportPrepareResponse": {
+ "title": "Bulk Import Prepare Response",
+ "required": [
+ "fileId",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "fileId": {
+ "description": "Unique file identifier for the stored import file",
+ "type": "string",
+ "example": "6792e2b43f0a7"
+ },
+ "items": {
+ "description": "List of importable items found in the file",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BulkExportAvailableItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleApplicationLoggerLogEntry": {
+ "title": "Bundle Application Logger Log Entry",
+ "required": [
+ "id",
+ "priority",
+ "date",
+ "pid",
+ "message",
+ "fileObject",
+ "relatedElementData",
+ "component",
+ "source"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 1
+ },
+ "priority": {
+ "description": "Log priority level",
+ "type": "integer",
+ "example": 2
+ },
+ "date": {
+ "description": "Date",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2023-10-01T12:00:00+00:00"
+ },
+ "pid": {
+ "description": "PID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 22
+ },
+ "message": {
+ "description": "Message",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Some Log Message"
+ },
+ "fileObject": {
+ "description": "File object path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "path/to/file.txt"
+ },
+ "relatedElementData": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Data of related element"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Data of related element",
+ "type": "object"
+ },
+ "component": {
+ "description": "Component",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "SomeComponent::Class"
+ },
+ "source": {
+ "description": "Source",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Pimcore\\Bundle"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETClassDefinitionField": {
+ "title": "Bundle Backend Power Tools AET Class Definition Field",
+ "required": [
+ "name",
+ "title",
+ "fieldType",
+ "adapterType"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Field name",
+ "type": "string",
+ "example": "color"
+ },
+ "title": {
+ "description": "Field title",
+ "type": "string",
+ "example": "Color"
+ },
+ "fieldType": {
+ "description": "Field type",
+ "type": "string",
+ "example": "select"
+ },
+ "adapterType": {
+ "description": "Adapter type",
+ "type": "string",
+ "example": "SimpleValueAdapter"
+ },
+ "additionalData": {
+ "description": "Additional data for the field",
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationData": {
+ "title": "Bundle Backend Power Tools AET Configuration Data",
+ "required": [
+ "id",
+ "general",
+ "dataSource",
+ "treeLevels",
+ "isWritable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ },
+ "general": {
+ "description": "General configuration settings",
+ "type": "object"
+ },
+ "dataSource": {
+ "description": "Data source configuration",
+ "type": "object"
+ },
+ "treeLevels": {
+ "description": "Tree level definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "isWritable": {
+ "description": "Whether the configuration is writable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationDetails": {
+ "title": "Bundle Backend Power Tools AET Configuration Details",
+ "required": [
+ "progressIndicatorPollInterval",
+ "allowDragAndDrop",
+ "classId",
+ "className",
+ "paths"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "icon": {
+ "description": "Icon CSS class or path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "pimcore_icon_settings"
+ },
+ "progressIndicatorPollInterval": {
+ "description": "Poll interval for progress indicator in ms",
+ "type": "integer",
+ "example": 5000
+ },
+ "allowDragAndDrop": {
+ "description": "Whether drag and drop is allowed",
+ "type": "boolean",
+ "example": false
+ },
+ "classId": {
+ "description": "Class definition ID",
+ "type": "string",
+ "example": "Car"
+ },
+ "className": {
+ "description": "Class name",
+ "type": "string",
+ "example": "Car"
+ },
+ "paths": {
+ "description": "Path definitions for the tree",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationId": {
+ "title": "Bundle Backend Power Tools AET Configuration ID",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationListGroup": {
+ "title": "Bundle Backend Power Tools AET Configuration List Group",
+ "required": [
+ "id",
+ "text",
+ "expandable",
+ "leaf",
+ "allowChildren",
+ "iconCls",
+ "group",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Group identifier",
+ "type": "string",
+ "example": "group_my_group"
+ },
+ "text": {
+ "description": "Display name of the group",
+ "type": "string",
+ "example": "My Group"
+ },
+ "expandable": {
+ "description": "Whether the node is expandable",
+ "type": "boolean",
+ "example": true
+ },
+ "leaf": {
+ "description": "Whether the node is a leaf node",
+ "type": "boolean",
+ "example": false
+ },
+ "allowChildren": {
+ "description": "Whether children are allowed",
+ "type": "boolean",
+ "example": true
+ },
+ "iconCls": {
+ "description": "Icon CSS class",
+ "type": "string",
+ "example": "pimcore_icon_folder"
+ },
+ "group": {
+ "description": "Group name",
+ "type": "string",
+ "example": "My Group"
+ },
+ "children": {
+ "description": "Child configuration items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETConfigurationListItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationListItem": {
+ "title": "Bundle Backend Power Tools AET Configuration List Item",
+ "required": [
+ "id",
+ "text",
+ "expandable",
+ "leaf",
+ "writable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ },
+ "text": {
+ "description": "Display name of the configuration",
+ "type": "string",
+ "example": "My Custom Tree"
+ },
+ "expandable": {
+ "description": "Whether the node is expandable",
+ "type": "boolean",
+ "example": false
+ },
+ "leaf": {
+ "description": "Whether the node is a leaf node",
+ "type": "boolean",
+ "example": true
+ },
+ "iconCls": {
+ "description": "Icon CSS class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "pimcore_icon_settings"
+ },
+ "icon": {
+ "description": "Custom icon path",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "isWritable": {
+ "description": "Whether the configuration is writable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETConfigurationModificationDate": {
+ "title": "Bundle Backend Power Tools AET Configuration Modification Date",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date as unix timestamp",
+ "type": "integer",
+ "example": 1700000000
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETDataObject": {
+ "title": "Bundle Backend Power Tools AET Data Object",
+ "required": [
+ "text",
+ "allowDrag",
+ "allowDrop"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "properties": {
+ "text": {
+ "description": "Text",
+ "type": "string",
+ "example": "orange (/Path/to/element/)"
+ },
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleBackendPowerToolsAETDataObjectClassItem": {
+ "title": "Bundle Backend Power Tools AET Data Object Class Item",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Class ID",
+ "type": "string",
+ "example": "CAR"
+ },
+ "name": {
+ "description": "Class name",
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem": {
+ "title": "Bundle Backend Power Tools AET Default Perspective Configuration Item",
+ "required": [
+ "id",
+ "name",
+ "position",
+ "type",
+ "expanded",
+ "hidden",
+ "sort"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "019a962e_40b9_7889_ba79_88f5871047a3"
+ },
+ "name": {
+ "description": "Configuration display name",
+ "type": "string",
+ "example": "My Custom Tree"
+ },
+ "position": {
+ "description": "Panel position",
+ "type": "string",
+ "example": "right"
+ },
+ "type": {
+ "description": "Tree type",
+ "type": "string",
+ "example": "alternative_element_tree"
+ },
+ "expanded": {
+ "description": "Whether the tree is expanded",
+ "type": "boolean",
+ "example": false
+ },
+ "hidden": {
+ "description": "Whether the tree is hidden",
+ "type": "boolean",
+ "example": false
+ },
+ "sort": {
+ "description": "Sort order",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETGridBatchEditIds": {
+ "title": "Bundle Backend Power Tools AET Grid Batch Edit IDs",
+ "required": [
+ "jobs"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "jobs": {
+ "description": "Array of element IDs for batch editing",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETGridExportJobs": {
+ "title": "Bundle Backend Power Tools AET Grid Export Jobs",
+ "required": [
+ "jobs",
+ "fileHandle"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "jobs": {
+ "description": "Chunked arrays of element IDs for export",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "fileHandle": {
+ "description": "File handle for the export CSV",
+ "type": "string",
+ "example": "export-65f1a2b3c4d5e6.12345678"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETGridListing": {
+ "title": "Bundle Backend Power Tools AET Grid Listing",
+ "required": [
+ "total",
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "total": {
+ "description": "Total number of items",
+ "type": "integer",
+ "example": 100
+ },
+ "data": {
+ "description": "Grid listing data",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETPreconditionFilterItem": {
+ "title": "Bundle Backend Power Tools AET Precondition Filter Item",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Filter name",
+ "type": "string",
+ "example": "Tag Filter"
+ },
+ "value": {
+ "description": "Filter class value",
+ "type": "string",
+ "example": "App\\PreconditionFilter\\TagFilter"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETTreeConfigurationItem": {
+ "title": "Bundle Backend Power Tools AET Tree Configuration Item",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b"
+ },
+ "name": {
+ "description": "Configuration display name",
+ "type": "string",
+ "example": "My Custom Tree"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETValidLanguageItem": {
+ "title": "Bundle Backend Power Tools AET Valid Language Item",
+ "required": [
+ "key",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Language key",
+ "type": "string",
+ "example": "en"
+ },
+ "name": {
+ "description": "Language display name",
+ "type": "string",
+ "example": "English"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETVirtualFolder": {
+ "title": "Bundle Backend Power Tools AET Virtual Folder",
+ "required": [
+ "id",
+ "type",
+ "key",
+ "path",
+ "icon",
+ "allowDrag",
+ "allowDrop",
+ "hasChildren",
+ "level"
+ ],
+ "properties": {
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "string",
+ "example": "1f0a82ba_4398_61a8_a4c3_016155cfcb10"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "folder"
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "City Car"
+ },
+ "path": {
+ "description": "Path",
+ "type": "string",
+ "example": "/City Car/"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "allowDrag": {
+ "description": "Allow drag of this element",
+ "type": "boolean",
+ "example": false
+ },
+ "allowDrop": {
+ "description": "Allow drop of new element",
+ "type": "boolean",
+ "example": false
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "type": "boolean",
+ "example": true
+ },
+ "level": {
+ "description": "Level of the folder",
+ "type": "integer",
+ "example": 2
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsAETWidgetConfig": {
+ "title": "Bundle Backend Power Tools Alternative Element Tree Widget Config",
+ "required": [
+ "progressIndicatorPollInterval",
+ "label",
+ "classId",
+ "className",
+ "workspaces"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WidgetConfig"
+ },
+ {
+ "properties": {
+ "progressIndicatorPollInterval": {
+ "description": "Progress indicator poll interval in ms",
+ "type": "integer",
+ "example": 60000
+ },
+ "label": {
+ "description": "Configuration label",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My custom AET"
+ },
+ "classId": {
+ "description": "Configuration class ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ },
+ "className": {
+ "description": "Configuration class name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Car"
+ },
+ "workspaces": {
+ "description": "Workspaces",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleBackendPowerToolsAETWidgetConfigPath"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleBackendPowerToolsAETWidgetConfigPath": {
+ "title": "Bundle Backend Power Tools Alternative Element Tree Widget Config Path",
+ "required": [
+ "workspaceItem",
+ "include"
+ ],
+ "properties": {
+ "workspaceItem": {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Data of the workspace item"
+ },
+ "include": {
+ "description": "Include workspace",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsBLTreeAsset": {
+ "title": "Bundle Backend Power Tools BL Tree Asset",
+ "required": [
+ "text",
+ "itemId",
+ "originalId",
+ "uid",
+ "allowDrag",
+ "allowDrop",
+ "sortOrder"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ },
+ {
+ "properties": {
+ "text": {
+ "description": "Text",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ },
+ "itemId": {
+ "description": "Item ID in the tree",
+ "type": "integer",
+ "example": 1
+ },
+ "originalId": {
+ "description": "Original ID",
+ "type": "string",
+ "example": "83-object"
+ },
+ "uid": {
+ "description": "UID",
+ "type": "string",
+ "example": "24-object-root"
+ },
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ },
+ "sortOrder": {
+ "description": "Sort order",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleBackendPowerToolsBLTreeDataObject": {
+ "title": "Bundle Backend Power Tools BL Tree Data Object",
+ "required": [
+ "text",
+ "itemId",
+ "originalId",
+ "uid",
+ "allowDrag",
+ "allowDrop",
+ "sortOrder"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "properties": {
+ "text": {
+ "description": "Text",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ },
+ "itemId": {
+ "description": "Item ID in the tree",
+ "type": "integer",
+ "example": 1
+ },
+ "originalId": {
+ "description": "Original ID",
+ "type": "string",
+ "example": "83-object"
+ },
+ "uid": {
+ "description": "UID",
+ "type": "string",
+ "example": "24-object-root"
+ },
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ },
+ "sortOrder": {
+ "description": "Sort order",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleBackendPowerToolsBLTreeDocument": {
+ "title": "Bundle Backend Power Tools BL Tree Document",
+ "required": [
+ "text",
+ "itemId",
+ "originalId",
+ "uid",
+ "allowDrag",
+ "allowDrop",
+ "sortOrder"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Document"
+ },
+ {
+ "properties": {
+ "text": {
+ "description": "Text",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ },
+ "itemId": {
+ "description": "Item ID in the tree",
+ "type": "integer",
+ "example": 1
+ },
+ "originalId": {
+ "description": "Original ID",
+ "type": "string",
+ "example": "83-object"
+ },
+ "uid": {
+ "description": "UID",
+ "type": "string",
+ "example": "24-object-root"
+ },
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ },
+ "sortOrder": {
+ "description": "Sort order",
+ "type": "string",
+ "example": "key (/Path/to/element/)"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleBackendPowerToolsBLTreeFolder": {
+ "title": "Bundle Backend Power Tools BL Tree Folder",
+ "required": [
+ "id",
+ "originalId",
+ "uid",
+ "type",
+ "elementType",
+ "parentId",
+ "key",
+ "icon",
+ "allowDrag",
+ "allowDrop",
+ "hasChildren",
+ "sortOrder"
+ ],
+ "properties": {
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "originalId": {
+ "description": "Original ID",
+ "type": "string",
+ "example": "83-bookmark_folder"
+ },
+ "uid": {
+ "description": "UID",
+ "type": "string",
+ "example": "24-bookmark_folder-root"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "folder"
+ },
+ "elementType": {
+ "description": "ElementType",
+ "type": "string",
+ "example": "bookmark_folder"
+ },
+ "parentId": {
+ "description": "Parent ID",
+ "type": "integer",
+ "example": 0
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "City Car"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "allowDrag": {
+ "description": "Allow drag of this element",
+ "type": "boolean",
+ "example": false
+ },
+ "allowDrop": {
+ "description": "Allow drop of new element",
+ "type": "boolean",
+ "example": false
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "type": "boolean",
+ "example": true
+ },
+ "sortOrder": {
+ "description": "Sort order",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsBookmarkList": {
+ "title": "Bundle Backend Power Tools Bookmark List",
+ "required": [
+ "id",
+ "name",
+ "sortBy",
+ "owner",
+ "isOwner",
+ "itemCount",
+ "creationDate",
+ "shared",
+ "permission"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My bookmark list"
+ },
+ "sortBy": {
+ "description": "Sort by field",
+ "type": "string",
+ "example": "name"
+ },
+ "owner": {
+ "description": "Owner username",
+ "type": "string",
+ "example": "admin"
+ },
+ "isOwner": {
+ "description": "Is current user the owner",
+ "type": "boolean",
+ "example": true
+ },
+ "itemCount": {
+ "description": "Number of items in the list",
+ "type": "integer",
+ "example": 0
+ },
+ "creationDate": {
+ "description": "Creation date timestamp",
+ "type": "integer",
+ "example": 1760593921
+ },
+ "shared": {
+ "description": "Is shared with other users",
+ "type": "boolean",
+ "example": false
+ },
+ "permission": {
+ "description": "Permission level",
+ "type": "string",
+ "example": "edit"
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsShareRecipient": {
+ "title": "Bundle Backend Power Tools Share Recipient",
+ "required": [
+ "permission",
+ "recipientName",
+ "recipientId"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "permission": {
+ "description": "Permission",
+ "type": "string",
+ "example": "edit"
+ },
+ "recipientName": {
+ "description": "Recipient name",
+ "type": "string",
+ "example": "nameOfRecipient"
+ },
+ "recipientId": {
+ "description": "Recipient Id",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "BundleBackendPowerToolsShareUser": {
+ "title": "Bundle Backend Power Tools Share User",
+ "required": [
+ "id",
+ "name",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "User Id",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "User name",
+ "type": "string",
+ "example": "someAdminUser (Admin)"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "user"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfActivityCollection": {
+ "title": "Bundle CMF Activity Collection",
+ "required": [
+ "page",
+ "totalPages",
+ "timestamp",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "page": {
+ "description": "Current page number",
+ "type": "integer",
+ "example": 1
+ },
+ "totalPages": {
+ "description": "Total number of pages",
+ "type": "integer",
+ "example": 5
+ },
+ "timestamp": {
+ "description": "Unix timestamp of the request",
+ "type": "integer",
+ "example": 1700000000
+ },
+ "items": {
+ "description": "List of activities on this page",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfActivityData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfActivityData": {
+ "title": "Bundle CMF Activity Data",
+ "required": [
+ "id",
+ "customerId",
+ "type",
+ "implementationClass"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Activity store entry ID",
+ "type": "integer",
+ "example": 1
+ },
+ "customerId": {
+ "description": "ID of the customer this activity belongs to",
+ "type": "integer",
+ "example": 42
+ },
+ "type": {
+ "description": "Activity type",
+ "type": "string",
+ "example": "GenericActivity"
+ },
+ "implementationClass": {
+ "description": "Fully qualified implementation class name",
+ "type": "string",
+ "example": "CustomerManagementFrameworkBundle\\Model\\Activity\\GenericActivity"
+ },
+ "activityDate": {
+ "description": "Activity date as Unix timestamp string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "1700000000"
+ },
+ "data": {
+ "description": "Additional activity fields",
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfActivityTypeCollection": {
+ "title": "Bundle CMF Activity Type Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of available activity types",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfActivityTypeData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfActivityTypeData": {
+ "title": "Bundle CMF Activity Type Data",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": {
+ "description": "Activity type identifier",
+ "type": "string",
+ "example": "order"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfAssignSegmentsParameters": {
+ "title": "Bundle CMF Assign Segments Parameters",
+ "required": [
+ "id",
+ "type",
+ "breaksInheritance",
+ "segmentIds"
+ ],
+ "properties": {
+ "id": {
+ "description": "Element ID",
+ "type": "string",
+ "example": "42"
+ },
+ "type": {
+ "description": "Element type (object, document, asset)",
+ "type": "string",
+ "example": "object"
+ },
+ "breaksInheritance": {
+ "description": "Whether this element breaks segment inheritance",
+ "type": "boolean",
+ "example": false
+ },
+ "segmentIds": {
+ "description": "Array of segment IDs to assign",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfAutomationRuleCollection": {
+ "title": "Bundle CMF Automation Rule Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of automation rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfAutomationRuleListItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfAutomationRuleDetail": {
+ "title": "Bundle CMF Automation Rule Detail",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "active",
+ "trigger",
+ "condition",
+ "actions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Rule ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "My Rule"
+ },
+ "description": {
+ "description": "Rule description",
+ "type": "string",
+ "example": "A sample rule"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ },
+ "trigger": {
+ "description": "Trigger definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "condition": {
+ "description": "Condition definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "Action definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfAutomationRuleListItem": {
+ "title": "Bundle CMF Automation Rule List Item",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "active"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Rule ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "My Rule"
+ },
+ "description": {
+ "description": "Rule description",
+ "type": "string",
+ "example": "A sample rule"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfBreaksInheritanceResponse": {
+ "title": "Bundle CMF Breaks Inheritance Response",
+ "required": [
+ "breaksInheritance"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "breaksInheritance": {
+ "description": "Whether the element breaks segment inheritance (null if no assignment exists)",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateActivityParameters": {
+ "title": "Bundle CMF Create Activity Parameters",
+ "required": [
+ "customerId"
+ ],
+ "properties": {
+ "customerId": {
+ "description": "ID of the customer this activity belongs to",
+ "type": "integer",
+ "example": 42
+ },
+ "implementationClass": {
+ "description": "Fully qualified implementation class name",
+ "type": "string",
+ "example": "CustomerManagementFrameworkBundle\\Model\\Activity\\GenericActivity"
+ },
+ "data": {
+ "description": "Additional activity field values as key-value pairs",
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateAutomationRuleParameters": {
+ "title": "Bundle CMF Create Automation Rule Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "New Rule"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateCustomerParameters": {
+ "title": "Bundle CMF Create Customer Parameters",
+ "required": [
+ "email"
+ ],
+ "properties": {
+ "email": {
+ "description": "Customer email address",
+ "type": "string",
+ "example": "new@example.com"
+ },
+ "active": {
+ "description": "Whether the customer should be active",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": true
+ },
+ "data": {
+ "description": "Additional customer field values as key-value pairs",
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateFilterDefinitionParameters": {
+ "title": "Bundle CMF Create Filter Definition Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Filter definition name",
+ "type": "string",
+ "example": "My Filter"
+ },
+ "definition": {
+ "description": "Filter definition configuration",
+ "type": "object",
+ "additionalProperties": true
+ },
+ "allowedUserIds": {
+ "description": "Allowed user and role IDs",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "showSegments": {
+ "description": "Segment group IDs to show",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": {
+ "description": "Whether the filter is read-only",
+ "type": "boolean",
+ "example": false
+ },
+ "shortcutAvailable": {
+ "description": "Whether the filter is available as a shortcut",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateSegmentGroupParameters": {
+ "title": "Bundle CMF Create Segment Group Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Segment group name",
+ "type": "string",
+ "example": "Customer Type"
+ },
+ "reference": {
+ "description": "Segment group reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "customer-type"
+ },
+ "calculated": {
+ "description": "Whether the segment group is calculated (automatic)",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCreateSegmentParameters": {
+ "title": "Bundle CMF Create Segment Parameters",
+ "required": [
+ "name",
+ "group"
+ ],
+ "properties": {
+ "name": {
+ "description": "Segment name",
+ "type": "string",
+ "example": "Gold Members"
+ },
+ "group": {
+ "description": "ID of the segment group to create the segment in",
+ "type": "integer",
+ "example": 5
+ },
+ "reference": {
+ "description": "Segment reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "gold-members"
+ },
+ "calculated": {
+ "description": "Whether the segment is calculated (automatic)",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ },
+ "subFolder": {
+ "description": "Optional subfolder within the segment group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCustomerCollection": {
+ "title": "Bundle CMF Customer Collection",
+ "required": [
+ "page",
+ "totalPages",
+ "timestamp",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "page": {
+ "description": "Current page number",
+ "type": "integer",
+ "example": 1
+ },
+ "totalPages": {
+ "description": "Total number of pages",
+ "type": "integer",
+ "example": 5
+ },
+ "timestamp": {
+ "description": "Unix timestamp of the request",
+ "type": "integer",
+ "example": 1700000000
+ },
+ "items": {
+ "description": "List of customers on this page",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfCustomerData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCustomerData": {
+ "title": "Bundle CMF Customer Data",
+ "required": [
+ "id",
+ "active",
+ "email"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Customer object ID",
+ "type": "integer",
+ "example": 42
+ },
+ "active": {
+ "description": "Whether the customer is active",
+ "type": "boolean",
+ "example": true
+ },
+ "email": {
+ "description": "Customer email address",
+ "type": "string",
+ "example": "jane@example.com"
+ },
+ "segments": {
+ "description": "Segment IDs assigned to this customer",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 1,
+ 2,
+ 3
+ ]
+ },
+ "activities": {
+ "description": "Activity data (only present when includeActivities=true)",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "object"
+ }
+ },
+ "data": {
+ "description": "All raw CMF fields returned by cmfToArray()",
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCustomerFieldCollection": {
+ "title": "Bundle CMF Customer Field Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of customer fields",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfCustomerFieldData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfCustomerFieldData": {
+ "title": "Bundle CMF Customer Field Data",
+ "required": [
+ "name",
+ "title"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Field name",
+ "type": "string",
+ "example": "firstname"
+ },
+ "title": {
+ "description": "Field title",
+ "type": "string",
+ "example": "First Name"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfDeletionCollection": {
+ "title": "Bundle CMF Deletion Collection",
+ "required": [
+ "timestamp",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "timestamp": {
+ "description": "Unix timestamp of the request",
+ "type": "integer",
+ "example": 1700000000
+ },
+ "items": {
+ "description": "List of deleted activity entries",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfDeletionData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfDeletionData": {
+ "title": "Bundle CMF Deletion Data",
+ "required": [
+ "id",
+ "type",
+ "deletionDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Deleted entity ID",
+ "type": "integer",
+ "example": 42
+ },
+ "type": {
+ "description": "Type of the deleted entity",
+ "type": "string",
+ "example": "order"
+ },
+ "deletionDate": {
+ "description": "Timestamp when the entity was deleted",
+ "type": "integer",
+ "example": 1700000000
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfFilterDefinitionDetail": {
+ "title": "Bundle CMF Filter Definition Detail",
+ "required": [
+ "id",
+ "ownerId",
+ "name",
+ "definition",
+ "allowedUserIds",
+ "showSegments",
+ "readOnly",
+ "shortcutAvailable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Filter definition ID",
+ "type": "integer",
+ "example": 1
+ },
+ "ownerId": {
+ "description": "Owner user ID",
+ "type": "integer",
+ "example": 2
+ },
+ "name": {
+ "description": "Filter definition name",
+ "type": "string",
+ "example": "My Filter"
+ },
+ "definition": {
+ "description": "Filter definition configuration",
+ "type": "object",
+ "additionalProperties": true
+ },
+ "allowedUserIds": {
+ "description": "Allowed user and role IDs",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "showSegments": {
+ "description": "Segment group IDs to show",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": {
+ "description": "Whether the filter is read-only",
+ "type": "boolean",
+ "example": false
+ },
+ "shortcutAvailable": {
+ "description": "Whether the filter is available as a shortcut",
+ "type": "boolean",
+ "example": false
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2024-01-01 12:00:00"
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2024-01-01 12:00:00"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfGroupedSegmentCollection": {
+ "title": "Bundle CMF Grouped Segment Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of segments grouped by their segment group",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfGroupedSegmentData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfGroupedSegmentData": {
+ "title": "Bundle CMF Grouped Segment Data",
+ "required": [
+ "id",
+ "name",
+ "groupId",
+ "groupName"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Segment ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Segment name",
+ "type": "string",
+ "example": "Premium Customers"
+ },
+ "groupId": {
+ "description": "Segment group ID",
+ "type": "integer",
+ "example": 5
+ },
+ "groupName": {
+ "description": "Segment group name",
+ "type": "string",
+ "example": "Customer Tier"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfNewsletterFilterFlagCollection": {
+ "title": "Bundle CMF Newsletter Filter Flag Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of possible newsletter filter flags",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfNewsletterFilterFlagData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfNewsletterFilterFlagData": {
+ "title": "Bundle CMF Newsletter Filter Flag Data",
+ "required": [
+ "name",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Field name",
+ "type": "string",
+ "example": "newsletterActive"
+ },
+ "label": {
+ "description": "Field label",
+ "type": "string",
+ "example": "Newsletter Active"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfNewsletterQueueSize": {
+ "title": "Bundle CMF Newsletter Queue Size",
+ "required": [
+ "size"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "size": {
+ "description": "Number of items currently in the newsletter queue",
+ "type": "integer",
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentAssignmentCollection": {
+ "title": "Bundle CMF Segment Assignment Collection",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "List of segment assignments",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfSegmentAssignmentItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentAssignmentItem": {
+ "title": "Bundle CMF Segment Assignment Item",
+ "required": [
+ "id",
+ "type",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Segment ID",
+ "type": "integer",
+ "example": 42
+ },
+ "type": {
+ "description": "Segment type",
+ "type": "string",
+ "example": "manual"
+ },
+ "name": {
+ "description": "Segment name",
+ "type": "string",
+ "example": "VIP Customers"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentCollection": {
+ "title": "Bundle CMF Segment Collection",
+ "required": [
+ "page",
+ "totalPages",
+ "timestamp",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "page": {
+ "description": "Current page number",
+ "type": "integer",
+ "example": 1
+ },
+ "totalPages": {
+ "description": "Total number of pages",
+ "type": "integer",
+ "example": 5
+ },
+ "timestamp": {
+ "description": "Unix timestamp of the request",
+ "type": "integer",
+ "example": 1700000000
+ },
+ "items": {
+ "description": "List of segments on this page",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfSegmentData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentData": {
+ "title": "Bundle CMF Segment Data",
+ "required": [
+ "id",
+ "name",
+ "calculated"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Segment object ID",
+ "type": "integer",
+ "example": 10
+ },
+ "name": {
+ "description": "Segment name",
+ "type": "string",
+ "example": "Gold Members"
+ },
+ "calculated": {
+ "description": "Whether the segment is calculated (automatic)",
+ "type": "boolean",
+ "example": false
+ },
+ "reference": {
+ "description": "Segment reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "gold-members"
+ },
+ "group": {
+ "description": "ID of the segment group this segment belongs to",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 5
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentGroupCollection": {
+ "title": "Bundle CMF Segment Group Collection",
+ "required": [
+ "page",
+ "totalPages",
+ "timestamp",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "page": {
+ "description": "Current page number",
+ "type": "integer",
+ "example": 1
+ },
+ "totalPages": {
+ "description": "Total number of pages",
+ "type": "integer",
+ "example": 5
+ },
+ "timestamp": {
+ "description": "Unix timestamp of the request",
+ "type": "integer",
+ "example": 1700000000
+ },
+ "items": {
+ "description": "List of segment groups on this page",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfSegmentGroupData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentGroupData": {
+ "title": "Bundle CMF Segment Group Data",
+ "required": [
+ "id",
+ "name",
+ "calculated"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Segment group object ID",
+ "type": "integer",
+ "example": 5
+ },
+ "name": {
+ "description": "Segment group name",
+ "type": "string",
+ "example": "Customer Type"
+ },
+ "calculated": {
+ "description": "Whether the segment group is calculated (automatic)",
+ "type": "boolean",
+ "example": false
+ },
+ "reference": {
+ "description": "Segment group reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "customer-type"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSegmentsOfCustomerUpdated": {
+ "title": "Bundle CMF Segments Of Customer Updated",
+ "required": [
+ "customerId",
+ "addedSegmentIds",
+ "removedSegmentIds"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "customerId": {
+ "description": "Customer object ID",
+ "type": "integer",
+ "example": 7
+ },
+ "addedSegmentIds": {
+ "description": "Segment IDs that were added",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "removedSegmentIds": {
+ "description": "Segment IDs that were removed",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSettingsApiKeyUser": {
+ "title": "Bundle CMF Settings API Key User",
+ "required": [
+ "id",
+ "name",
+ "apiKey"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Pimcore user ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Username",
+ "type": "string",
+ "example": "john.doe"
+ },
+ "firstname": {
+ "description": "First name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "John"
+ },
+ "lastname": {
+ "description": "Last name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Doe"
+ },
+ "email": {
+ "description": "Email address",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "john@example.com"
+ },
+ "apiKey": {
+ "description": "CMF webservice API key for this user (empty string if none assigned)",
+ "type": "string",
+ "example": "abc123secret"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSettingsApiKeyUserCollection": {
+ "title": "Bundle CMF Settings API Key User Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of active Pimcore users with their CMF webservice API keys",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfSettingsApiKeyUser"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfSettingsUpdateApiKeyParameters": {
+ "title": "Bundle CMF Settings Update API Key Parameters",
+ "required": [
+ "userId",
+ "apiKey"
+ ],
+ "properties": {
+ "userId": {
+ "description": "Pimcore user ID to assign the API key to",
+ "type": "integer",
+ "example": 1
+ },
+ "apiKey": {
+ "description": "New API key value (empty string to revoke)",
+ "type": "string",
+ "example": "newSecret123"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfShareFilterDefinitionParameters": {
+ "title": "Bundle CMF Share Filter Definition Parameters",
+ "required": [
+ "allowedUserIds"
+ ],
+ "properties": {
+ "allowedUserIds": {
+ "description": "User and role IDs to share the filter with",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfTermSegmentBuilderDefinitionCollection": {
+ "title": "Bundle CMF Term Segment Builder Definition Collection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "items": {
+ "description": "List of term segment builder definitions",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCmfTermSegmentBuilderDefinitionData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfTermSegmentBuilderDefinitionData": {
+ "title": "Bundle CMF Term Segment Builder Definition Data",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Term segment builder definition object ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Term segment builder definition name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Term Definition"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateActivityParameters": {
+ "title": "Bundle CMF Update Activity Parameters",
+ "properties": {
+ "data": {
+ "description": "Activity field values to update as key-value pairs",
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateAutomationRuleParameters": {
+ "title": "Bundle CMF Update Automation Rule Parameters",
+ "required": [
+ "settings",
+ "trigger",
+ "conditions",
+ "actions"
+ ],
+ "properties": {
+ "settings": {
+ "description": "Rule settings (name, description, active)",
+ "required": [
+ "name",
+ "description",
+ "active"
+ ],
+ "properties": {
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "My Rule"
+ },
+ "description": {
+ "description": "Rule description",
+ "type": "string",
+ "example": "A sample rule"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "trigger": {
+ "description": "Trigger definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "conditions": {
+ "description": "Condition definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "Action definitions",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateCustomerParameters": {
+ "title": "Bundle CMF Update Customer Parameters",
+ "properties": {
+ "email": {
+ "description": "Customer email address",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "updated@example.com"
+ },
+ "active": {
+ "description": "Whether the customer should be active",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": true
+ },
+ "data": {
+ "description": "Additional customer field values as key-value pairs",
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateFilterDefinitionParameters": {
+ "title": "Bundle CMF Update Filter Definition Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Filter definition name",
+ "type": "string",
+ "example": "My Filter"
+ },
+ "definition": {
+ "description": "Filter definition configuration",
+ "type": "object",
+ "additionalProperties": true
+ },
+ "allowedUserIds": {
+ "description": "Allowed user and role IDs",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "showSegments": {
+ "description": "Segment group IDs to show",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": {
+ "description": "Whether the filter is read-only",
+ "type": "boolean",
+ "example": false
+ },
+ "shortcutAvailable": {
+ "description": "Whether the filter is available as a shortcut",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateSegmentGroupParameters": {
+ "title": "Bundle CMF Update Segment Group Parameters",
+ "properties": {
+ "name": {
+ "description": "New segment group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Loyalty Tier"
+ },
+ "reference": {
+ "description": "New segment group reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "loyalty-tier"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateSegmentParameters": {
+ "title": "Bundle CMF Update Segment Parameters",
+ "properties": {
+ "name": {
+ "description": "New segment name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Platinum Members"
+ },
+ "reference": {
+ "description": "New segment reference string",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "platinum-members"
+ },
+ "calculated": {
+ "description": "Whether the segment is calculated (automatic)",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCmfUpdateSegmentsOfCustomerParameters": {
+ "title": "Bundle CMF Update Segments Of Customer Parameters",
+ "properties": {
+ "addSegmentIds": {
+ "description": "Segment IDs to add to the customer",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "removeSegmentIds": {
+ "description": "Segment IDs to remove from the customer",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAction": {
+ "title": "Bundle Copilot Action",
+ "required": [
+ "title",
+ "jsAdapterName",
+ "jsConfig",
+ "context",
+ "searchTerms",
+ "category",
+ "labelClass"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "Car Variant Generator"
+ },
+ "jsAdapterName": {
+ "description": "JS adapter name",
+ "type": "string",
+ "example": "automationActionAdapter"
+ },
+ "jsConfig": {
+ "description": "JS configuration",
+ "type": "object",
+ "example": "{\"key\":\"value\"}"
+ },
+ "context": {
+ "description": "Context",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"object_car\", \"object_car_selection\"]"
+ },
+ "searchTerms": {
+ "description": "Search terms",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"Car Variant Generator\", \"Automation Action\"]"
+ },
+ "category": {
+ "description": "Category",
+ "type": "string",
+ "example": "automation_action"
+ },
+ "labelClass": {
+ "description": "Label class",
+ "type": "string",
+ "example": "blue"
+ },
+ "icon": {
+ "description": "Icon",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/bundles/pimcoreadmin/img/flat-color-icons/page.svg"
+ },
+ "iconCls": {
+ "description": "Icon class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "plugin_pimcore_automation_actions"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotActionInteractionChatHistory": {
+ "title": "Bundle Copilot Action Interaction Chat History",
+ "required": [
+ "content",
+ "role"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "content": {
+ "description": "Content",
+ "type": "string",
+ "example": "Generate a description for the classic ..."
+ },
+ "role": {
+ "description": "Role",
+ "type": "string",
+ "example": "user"
+ },
+ "prompt": {
+ "description": "Prompt",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "negativePrompt": {
+ "description": "Negative prompt",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "imageMimeType": {
+ "description": "Image mime type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "image/jpeg"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotActionInteractionOneStep": {
+ "title": "Bundle Copilot Action Interaction One Step",
+ "required": [
+ "result"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "result": {
+ "description": "Result",
+ "type": "string",
+ "example": "The Cobra is a masterpiece of engineering..."
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionConfiguration": {
+ "title": "Bundle Copilot Automation Action Configuration",
+ "required": [
+ "name",
+ "configuration",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-automation-action"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object",
+ "example": "{\"title\": \"My Action\"}"
+ },
+ "isWriteable": {
+ "description": "Whether the configuration is writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionCreateParameters": {
+ "title": "Bundle Copilot Automation Action Create Parameters",
+ "required": [
+ "configurationName"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name of the configuration to create",
+ "type": "string",
+ "example": "my-automation-action"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionCreated": {
+ "title": "Bundle Copilot Automation Action Created",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the created configuration",
+ "type": "string",
+ "example": "my-automation-action"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionEnvironmentInlineHelp": {
+ "title": "Bundle Copilot Automation Action Environment Inline Help",
+ "required": [
+ "inlineHelpData"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "inlineHelpData": {
+ "description": "Inline help data for environment variables",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionEnvironmentType": {
+ "title": "Bundle Copilot Automation Action Environment Type",
+ "required": [
+ "type",
+ "label",
+ "namespace",
+ "icon"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": {
+ "description": "Environment type identifier",
+ "type": "string",
+ "example": "string"
+ },
+ "label": {
+ "description": "Translated label of the environment type",
+ "type": "string",
+ "example": "String"
+ },
+ "namespace": {
+ "description": "Fully qualified class name of the environment type",
+ "type": "string",
+ "example": "Pimcore\\Bundle\\CopilotBundle\\AutomationAction\\Configuration\\Environment\\StringType"
+ },
+ "icon": {
+ "description": "Icon identifier for the environment type",
+ "type": "string",
+ "example": "string-icon"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionPostInteraction": {
+ "title": "Bundle Copilot Automation Action Post Interaction",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "List of post-interaction types",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionPreconditionFilter": {
+ "title": "Bundle Copilot Automation Action Precondition Filter",
+ "required": [
+ "name",
+ "class",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the precondition filter",
+ "type": "string",
+ "example": "IsPublished"
+ },
+ "class": {
+ "description": "Fully qualified class name of the precondition filter",
+ "type": "string",
+ "example": "Pimcore\\Bundle\\CopilotBundle\\AutomationAction\\PreconditionFilter\\IsPublished"
+ },
+ "type": {
+ "description": "Element type the filter applies to (object, document, or asset)",
+ "type": "string",
+ "example": "object"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionStepImplementation": {
+ "title": "Bundle Copilot Automation Action Step Implementation",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "List of step implementations",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionStepImplementationInlineHelp": {
+ "title": "Bundle Copilot Automation Action Step Implementation Inline Help",
+ "required": [
+ "inlineHelpData"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "inlineHelpData": {
+ "description": "Inline help data for step implementations",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotAutomationActionUpdateParameters": {
+ "title": "Bundle Copilot Automation Action Update Parameters",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "description": "JSON-encoded configuration data",
+ "type": "string",
+ "example": "{\"title\":\"My Action\",\"configuration\":\"steps: []\"}"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotCloneParameters": {
+ "title": "Bundle Copilot Clone Parameters",
+ "required": [
+ "configurationName",
+ "clonedName"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name of the configuration to clone",
+ "type": "string",
+ "example": "my-config"
+ },
+ "clonedName": {
+ "description": "Name for the cloned configuration",
+ "type": "string",
+ "example": "my-config-copy"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotConfigurationEventDefinition": {
+ "title": "Bundle Copilot Configuration Event Definition",
+ "required": [
+ "id",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Event identifier",
+ "type": "string",
+ "example": "workflow_post_action"
+ },
+ "label": {
+ "description": "Event display label",
+ "type": "string",
+ "example": "Workflow Post Action"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotConfigurationImport": {
+ "title": "Bundle Copilot Configuration Import",
+ "required": [
+ "name",
+ "actionType"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the imported configuration",
+ "type": "string",
+ "example": "my-config"
+ },
+ "actionType": {
+ "description": "Action type of the imported configuration",
+ "type": "string",
+ "example": "interaction"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotConfigurationTreeNode": {
+ "title": "Bundle Copilot Configuration Tree Node",
+ "required": [
+ "id",
+ "text",
+ "iconCls",
+ "actionType",
+ "isWriteable",
+ "leaf",
+ "expandable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Node identifier",
+ "type": "string",
+ "example": "my-config-name"
+ },
+ "text": {
+ "description": "Display text",
+ "type": "string",
+ "example": "My Config Title"
+ },
+ "iconCls": {
+ "description": "Icon CSS class",
+ "type": "string",
+ "example": "pimcore_copilot_interaction_action"
+ },
+ "actionType": {
+ "description": "Action type",
+ "type": "string",
+ "example": "interaction"
+ },
+ "isWriteable": {
+ "description": "Whether the node is writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "leaf": {
+ "description": "Whether the node is a leaf",
+ "type": "boolean",
+ "example": true
+ },
+ "expandable": {
+ "description": "Whether the node is expandable",
+ "type": "boolean",
+ "example": false
+ },
+ "children": {
+ "description": "Child nodes (only present for folder nodes)",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/BundleCopilotConfigurationTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotContextLimitation": {
+ "title": "Bundle Copilot Context Limitation",
+ "required": [
+ "id",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Context limitation identifier",
+ "type": "string",
+ "example": "asset"
+ },
+ "label": {
+ "description": "Context limitation display label",
+ "type": "string",
+ "example": "Asset"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotDataObjectClassDefinition": {
+ "title": "Bundle Copilot DataObject Class Definition",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Class definition ID",
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "description": "Class definition name",
+ "type": "string",
+ "example": "Product"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionConfiguration": {
+ "title": "Bundle Copilot Interaction Action Configuration",
+ "required": [
+ "name",
+ "configuration",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-interaction-action"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object",
+ "example": "{\"title\": \"My Action\"}"
+ },
+ "isWriteable": {
+ "description": "Whether the configuration is writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionCreateParameters": {
+ "title": "Bundle Copilot Interaction Action Create Parameters",
+ "required": [
+ "configurationName"
+ ],
+ "properties": {
+ "configurationName": {
+ "description": "Name of the configuration to create",
+ "type": "string",
+ "example": "my-interaction-action"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionCreated": {
+ "title": "Bundle Copilot Interaction Action Created",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the created configuration",
+ "type": "string",
+ "example": "my-interaction-action"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionInlineHelp": {
+ "title": "Bundle Copilot Interaction Action Inline Help",
+ "required": [
+ "inlineHelpData"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "inlineHelpData": {
+ "description": "Inline help data for interaction types",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionType": {
+ "title": "Bundle Copilot Interaction Action Type",
+ "required": [
+ "jsAdapter",
+ "type",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "jsAdapter": {
+ "description": "JS adapter class name",
+ "type": "string",
+ "example": "ChatAdapter"
+ },
+ "type": {
+ "description": "Fully qualified class name of the interaction type",
+ "type": "string",
+ "example": "Pimcore\\Bundle\\CopilotBundle\\InteractionAction\\InteractionType\\Chat"
+ },
+ "label": {
+ "description": "Translated label of the interaction type",
+ "type": "string",
+ "example": "Chat"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotInteractionActionUpdateParameters": {
+ "title": "Bundle Copilot Interaction Action Update Parameters",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "description": "JSON-encoded configuration data",
+ "type": "string",
+ "example": "{\"title\":\"My Action\",\"configuration\":\"type: chat\"}"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotJobRun": {
+ "title": "Bundle Copilot Job Run",
+ "required": [
+ "id",
+ "jobName",
+ "startedAt",
+ "lastUpdated",
+ "owner",
+ "state",
+ "currentMessage",
+ "canCancel",
+ "log"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": 3
+ },
+ "jobName": {
+ "description": "Job name",
+ "type": "string",
+ "example": "CarVariantGenerator"
+ },
+ "startedAt": {
+ "description": "Job run started at",
+ "type": "integer",
+ "example": 1760355978
+ },
+ "lastUpdated": {
+ "description": "Job run last updated at",
+ "type": "integer",
+ "example": 1760355978
+ },
+ "owner": {
+ "description": "Job owner",
+ "type": "string",
+ "example": "admin"
+ },
+ "state": {
+ "description": "Job state",
+ "type": "string",
+ "example": "finished"
+ },
+ "currentMessage": {
+ "description": "Current log message",
+ "type": "string",
+ "example": "Job Run CarVariantGenerator (3) completed successfully."
+ },
+ "canCancel": {
+ "description": "Job run can be cancelled",
+ "type": "boolean",
+ "example": false
+ },
+ "log": {
+ "description": "Log",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "format": "string"
+ },
+ "example": "\n [{\"logMessage\": \"Job Run CarVariantGenerator (13) started.\",\"createdAt\": \"2024-01-01T12:00:00+00:00\"}]"
+ },
+ "currentStep": {
+ "description": "Current step nr",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotJobRunId": {
+ "title": "Bundle Copilot Job Run Id",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": "3"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotJobRunProgress": {
+ "title": "Bundle Copilot Job Run Progress",
+ "required": [
+ "success",
+ "state",
+ "currentMessage",
+ "displayLogDetailLink",
+ "totalSteps",
+ "startedAt",
+ "lastUpdated",
+ "log"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Success state of job run",
+ "type": "boolean",
+ "example": true
+ },
+ "state": {
+ "description": "Job state",
+ "type": "string",
+ "example": "finished"
+ },
+ "currentMessage": {
+ "description": "Current log message",
+ "type": "string",
+ "example": "Job Run CarVariantGenerator (3) completed successfully."
+ },
+ "displayLogDetailLink": {
+ "description": "Display log detail link",
+ "type": "boolean",
+ "example": true
+ },
+ "totalSteps": {
+ "description": "Nr of total steps",
+ "type": "integer",
+ "example": 1
+ },
+ "startedAt": {
+ "description": "Job run started at",
+ "type": "integer",
+ "example": 1760355978
+ },
+ "lastUpdated": {
+ "description": "Job run last updated at",
+ "type": "integer",
+ "example": 1760355978
+ },
+ "log": {
+ "description": "Log",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "format": "string"
+ },
+ "example": "\n [{\"logMessage\": \"Job Run CarVariantGenerator (13) started.\",\"createdAt\": \"2024-01-01T12:00:00+00:00\"}]"
+ },
+ "currentStep": {
+ "description": "Current step nr",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotPermissionGridEntry": {
+ "title": "Bundle Copilot Permission Grid Entry",
+ "required": [
+ "id",
+ "text",
+ "elementType"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the role or user",
+ "type": "integer",
+ "example": 2
+ },
+ "text": {
+ "description": "Display name of the role or user",
+ "type": "string",
+ "example": "Editor"
+ },
+ "elementType": {
+ "description": "Element type (role or user)",
+ "type": "string",
+ "example": "role"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCopilotWorkflow": {
+ "title": "Bundle Copilot Workflow",
+ "required": [
+ "id",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Workflow identifier",
+ "type": "string",
+ "example": "product_workflow"
+ },
+ "label": {
+ "description": "Workflow display label",
+ "type": "string",
+ "example": "product_workflow"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportAdd": {
+ "title": "Bundle Custom Report Add",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the new custom report",
+ "type": "string",
+ "example": "myReport"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportClone": {
+ "title": "Bundle Custom Report Clone",
+ "required": [
+ "newName"
+ ],
+ "properties": {
+ "newName": {
+ "description": "New name the cloned custom report",
+ "type": "string",
+ "example": "myNewReport"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportUpdate": {
+ "title": "Bundle Custom Report Update",
+ "required": [
+ "sql",
+ "dataSourceConfig",
+ "columnConfigurations",
+ "niceName",
+ "group",
+ "groupIconClass",
+ "iconClass",
+ "menuShortcut",
+ "reportClass",
+ "chartType",
+ "pieColumn",
+ "pieLabelColumn",
+ "xAxis",
+ "yAxis",
+ "sharedUserNames",
+ "sharedRoleNames",
+ "sharedGlobally"
+ ],
+ "properties": {
+ "sql": {
+ "description": "Sql",
+ "type": "string",
+ "example": ""
+ },
+ "columnConfigurations": {
+ "description": "Configuration for columns to be displayed in report",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsColumnConfigurationUpdate"
+ }
+ },
+ "niceName": {
+ "description": "Label/nice name of report",
+ "type": "string",
+ "example": "Attributes"
+ },
+ "group": {
+ "description": "Group of the report",
+ "type": "string",
+ "example": "My Reports"
+ },
+ "groupIconClass": {
+ "description": "Group icon class",
+ "type": "string",
+ "example": "pimcore_group_icon_attributes"
+ },
+ "iconClass": {
+ "description": "Icon class",
+ "type": "string",
+ "example": "pimcore_icon_attributes"
+ },
+ "menuShortcut": {
+ "description": "Whether the report has a shortcut in the menu",
+ "type": "boolean",
+ "example": true
+ },
+ "reportClass": {
+ "description": "Report class of custom report implementation",
+ "type": "string",
+ "example": ""
+ },
+ "chartType": {
+ "description": "Chart type",
+ "type": "string",
+ "example": "pie"
+ },
+ "sharedUserNames": {
+ "description": "Array with user names the report is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"admin\", \"superuser\"]"
+ },
+ "sharedRoleNames": {
+ "description": "Array with roles the report is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"role\", \"role2\"]"
+ },
+ "sharedGlobally": {
+ "description": "Whether the report is shared globally",
+ "type": "boolean",
+ "example": false
+ },
+ "dataSourceConfig": {
+ "description": "Configuration for data source. Content of array depends on selected adapter/data source",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": [
+ {
+ "sql": "carClass",
+ "from": "object_localized_CAR_en",
+ "where": "objectType = 'actual-car'",
+ "groupby": "carClass",
+ "orderby": "",
+ "orderbydir": null,
+ "type": "sql"
+ }
+ ]
+ },
+ "pieColumn": {
+ "description": "Data column for pie chart",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "count(*)"
+ },
+ "pieLabelColumn": {
+ "description": "Label of data column for pie chart",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "attributesAvailable"
+ },
+ "xAxis": {
+ "description": "X axis column names",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "attributesAvailable"
+ },
+ "yAxis": {
+ "description": "Y axis column information",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"attributesAvailable\", \"count(*)\"]"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsChartData": {
+ "title": "Bundle Custom Reports Chart Data",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "Chart data depending on the adapter in the report configuration.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsColumnConfiguration": {
+ "title": "Bundle Custom Reports Column Configuration",
+ "required": [
+ "disableOrderBy",
+ "disableFilterable",
+ "disableDropdownFilterable",
+ "disableLabel"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BundleCustomReportsColumnConfigurationUpdate"
+ },
+ {
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "attributesAvailable"
+ },
+ "display": {
+ "description": "Display column",
+ "type": "boolean",
+ "example": true
+ },
+ "export": {
+ "description": "Whether the column should be included in exports",
+ "type": "boolean",
+ "example": true
+ },
+ "order": {
+ "description": "Order",
+ "type": "boolean",
+ "example": true
+ },
+ "label": {
+ "description": "Label/display name of column",
+ "type": "string",
+ "example": "Attributes"
+ },
+ "action": {
+ "description": "Action of the column",
+ "type": "string",
+ "example": "openObject"
+ },
+ "id": {
+ "description": "Id",
+ "type": "string",
+ "example": "401-3"
+ },
+ "width": {
+ "description": "Width of the column",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 200
+ },
+ "displayType": {
+ "description": "Display type of the column",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "text"
+ },
+ "filterType": {
+ "description": "Type of the filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "numeric"
+ },
+ "filterDrilldown": {
+ "description": "Drilldown filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "only_filter"
+ },
+ "disableOrderBy": {
+ "description": "Disable order by",
+ "type": "boolean",
+ "example": false
+ },
+ "disableFilterable": {
+ "description": "Disable filterable",
+ "type": "boolean",
+ "example": false
+ },
+ "disableDropdownFilterable": {
+ "description": "Disable dropdown filterable",
+ "type": "boolean",
+ "example": false
+ },
+ "disableLabel": {
+ "description": "Disable label",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleCustomReportsColumnConfigurationUpdate": {
+ "title": "Bundle Custom Reports Column Configuration Update Data",
+ "required": [
+ "name",
+ "display",
+ "export",
+ "order",
+ "label",
+ "action",
+ "id",
+ "width",
+ "displayType",
+ "filterType",
+ "filterDrilldown"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "attributesAvailable"
+ },
+ "display": {
+ "description": "Display column",
+ "type": "boolean",
+ "example": true
+ },
+ "export": {
+ "description": "Whether the column should be included in exports",
+ "type": "boolean",
+ "example": true
+ },
+ "order": {
+ "description": "Order",
+ "type": "boolean",
+ "example": true
+ },
+ "label": {
+ "description": "Label/display name of column",
+ "type": "string",
+ "example": "Attributes"
+ },
+ "action": {
+ "description": "Action of the column",
+ "type": "string",
+ "example": "openObject"
+ },
+ "id": {
+ "description": "Id",
+ "type": "string",
+ "example": "401-3"
+ },
+ "width": {
+ "description": "Width of the column",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 200
+ },
+ "displayType": {
+ "description": "Display type of the column",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "text"
+ },
+ "filterType": {
+ "description": "Type of the filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "numeric"
+ },
+ "filterDrilldown": {
+ "description": "Drilldown filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "only_filter"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsColumnInformation": {
+ "title": "Bundle Custom Reports Column Information",
+ "required": [
+ "name",
+ "disableOrderBy",
+ "disableFilterable",
+ "disableDropdownFilterable",
+ "disableLabel"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "attributesAvailable"
+ },
+ "disableOrderBy": {
+ "description": "Disable order by",
+ "type": "boolean",
+ "example": false
+ },
+ "disableFilterable": {
+ "description": "Disable filterable",
+ "type": "boolean",
+ "example": false
+ },
+ "disableDropdownFilterable": {
+ "description": "Disable dropdown filterable",
+ "type": "boolean",
+ "example": false
+ },
+ "disableLabel": {
+ "description": "Disable label",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsConfigurationTreeNode": {
+ "title": "Bundle Custom Reports Configuration Tree Node",
+ "required": [
+ "id",
+ "text",
+ "cls",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "text": {
+ "description": "text",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "cls": {
+ "description": "css class",
+ "type": "string",
+ "example": "pimcore_treenode_disabled"
+ },
+ "writeable": {
+ "description": "writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsDataSourceConfig": {
+ "title": "Bundle Custom Reports Data Source Config",
+ "required": [
+ "configuration"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Configuration for data source. Content of array depends on selected adapter/data source",
+ "type": "object",
+ "example": {
+ "sql": "carClass",
+ "from": "object_localized_CAR_en",
+ "where": "objectType = 'actual-car'",
+ "groupby": "carClass",
+ "orderby": "",
+ "orderbydir": null,
+ "type": "sql"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsDetails": {
+ "title": "Bundle Custom Reports Details",
+ "required": [
+ "name",
+ "sql",
+ "dataSourceConfig",
+ "columnConfigurations",
+ "niceName",
+ "group",
+ "groupIconClass",
+ "iconClass",
+ "menuShortcut",
+ "reportClass",
+ "chartType",
+ "pieColumn",
+ "pieLabelColumn",
+ "xAxis",
+ "yAxis",
+ "modificationDate",
+ "creationDate",
+ "sharedUserNames",
+ "sharedRoleNames",
+ "sharedGlobally",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "sql": {
+ "description": "Sql",
+ "type": "string",
+ "example": ""
+ },
+ "columnConfigurations": {
+ "description": "Configuration for columns to be displayed in report",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleCustomReportsColumnConfiguration"
+ }
+ },
+ "niceName": {
+ "description": "Label/nice name of report",
+ "type": "string",
+ "example": "Attributes"
+ },
+ "group": {
+ "description": "Group of the report",
+ "type": "string",
+ "example": "My Reports"
+ },
+ "groupIconClass": {
+ "description": "Group icon class",
+ "type": "string",
+ "example": "pimcore_group_icon_attributes"
+ },
+ "iconClass": {
+ "description": "Icon class",
+ "type": "string",
+ "example": "pimcore_icon_attributes"
+ },
+ "menuShortcut": {
+ "description": "Whether the report has a shortcut in the menu",
+ "type": "boolean",
+ "example": true
+ },
+ "reportClass": {
+ "description": "Report class of custom report implementation",
+ "type": "string",
+ "example": ""
+ },
+ "chartType": {
+ "description": "Chart type",
+ "type": "string",
+ "example": "pie"
+ },
+ "modificationDate": {
+ "description": "Modification date time stamp",
+ "type": "integer",
+ "example": 1736762668
+ },
+ "creationDate": {
+ "description": "Creation date time stamp",
+ "type": "integer",
+ "example": 1567409307
+ },
+ "sharedUserNames": {
+ "description": "Array with user names the report is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"admin\", \"superuser\"]"
+ },
+ "sharedRoleNames": {
+ "description": "Array with roles the report is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"role\", \"role2\"]"
+ },
+ "sharedGlobally": {
+ "description": "Whether the report is shared globally",
+ "type": "boolean",
+ "example": false
+ },
+ "writeable": {
+ "description": "Whether the report is writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "dataSourceConfig": {
+ "description": "Configuration for data source. Content of array depends on selected adapter/data source",
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": []
+ },
+ "pieColumn": {
+ "description": "Data column for pie chart",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "count(*)"
+ },
+ "pieLabelColumn": {
+ "description": "Label of data column for pie chart",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "attributesAvailable"
+ },
+ "xAxis": {
+ "description": "X axis column names",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "attributesAvailable"
+ },
+ "yAxis": {
+ "description": "Y axis column information",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"attributesAvailable\", \"count(*)\"]"
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsDrillDownOption": {
+ "title": "Bundle Custom Reports Drill Down Option",
+ "description": "Drill down option data for custom reports",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "name",
+ "example": "Full-Size",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ },
+ {
+ "type": "float"
+ }
+ ]
+ },
+ "value": {
+ "description": "value",
+ "example": "Full-Size",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ },
+ {
+ "type": "float"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsSaveWidgetConfig": {
+ "title": "Bundle Custom Reports Save Widget Config",
+ "required": [
+ "customReportName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/CreateWidgetConfig"
+ },
+ {
+ "properties": {
+ "customReportName": {
+ "description": "Report Configuration Name",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "showLegend": {
+ "description": "Show Legend",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleCustomReportsTreeNode": {
+ "title": "Bundle Custom Reports Tree Node",
+ "required": [
+ "name",
+ "niceName",
+ "iconClass",
+ "group",
+ "groupIconClass",
+ "menuShortcut",
+ "reportClass",
+ "hasDataSourceConfig"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "report name",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "niceName": {
+ "description": "nice name",
+ "type": "string",
+ "example": "Attributes"
+ },
+ "iconClass": {
+ "description": "icon class",
+ "type": "string",
+ "example": "pimcore_icon_attributes"
+ },
+ "group": {
+ "description": "group",
+ "type": "string",
+ "example": "Quality"
+ },
+ "groupIconClass": {
+ "description": "group icon class",
+ "type": "string",
+ "example": "pimcore_group_icon_attributes"
+ },
+ "menuShortcut": {
+ "description": "menu shortcut",
+ "type": "boolean",
+ "example": true
+ },
+ "reportClass": {
+ "description": "report class",
+ "type": "string",
+ "example": ""
+ },
+ "hasDataSourceConfig": {
+ "description": "Whether the report has a data source configuration.",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleCustomReportsWidgetConfig": {
+ "title": "Bundle Custom Reports Widget Config",
+ "required": [
+ "color",
+ "customReportName",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ },
+ {
+ "properties": {
+ "color": {
+ "description": "Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "customReportName": {
+ "description": "Report Configuration Name",
+ "type": "string",
+ "example": "Quality_Attributes"
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "showLegend": {
+ "description": "Show Legend",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleDataHubConfiguration": {
+ "title": "Bundle Data Hub Configuration",
+ "required": [
+ "id",
+ "text",
+ "type",
+ "iconCls",
+ "expandable",
+ "leaf",
+ "adapter",
+ "writable",
+ "permissions",
+ "studioColumnConfig"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "string",
+ "example": "assets"
+ },
+ "text": {
+ "description": "Text",
+ "type": "string",
+ "example": "assets"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "config"
+ },
+ "iconCls": {
+ "description": "iconCls",
+ "type": "string",
+ "example": "plugin_pimcore_datahub_icon_graphql"
+ },
+ "expandable": {
+ "description": "Expandable",
+ "type": "boolean",
+ "example": "false"
+ },
+ "leaf": {
+ "description": "Leaf",
+ "type": "boolean",
+ "example": "true"
+ },
+ "permissions": {
+ "description": "Permissions",
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{\"delete\": true, \"update\": true}"
+ },
+ "allowChildren": {
+ "description": "Allow children",
+ "type": "boolean",
+ "example": "false"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "General Folder"
+ },
+ "children": {
+ "description": "Children",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubConfiguration"
+ }
+ },
+ "adapter": {
+ "description": "Adapter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "graphql"
+ },
+ "writable": {
+ "description": "Writable",
+ "type": "boolean",
+ "example": "true"
+ },
+ "studioColumnConfig": {
+ "description": "Has Studio Column Configuration",
+ "type": "boolean",
+ "example": "false"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubConfigurationDetail": {
+ "title": "Bundle Data Hub Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "supportedGraphQLQueryDataTypes",
+ "supportedGraphQLMutationDataTypes",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "assets"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object"
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "type": "object",
+ "example": {
+ "update": true,
+ "delete": true
+ }
+ },
+ "supportedGraphQLQueryDataTypes": {
+ "description": "Supported GraphQL query data types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedGraphQLMutationDataTypes": {
+ "description": "Supported GraphQL mutation data types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportConfigurationDetail": {
+ "title": "Bundle Data Hub File Export Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-file-export"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object"
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "type": "object",
+ "example": {
+ "update": true,
+ "delete": true
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportCronValidationResult": {
+ "title": "Bundle Data Hub File Export Cron Validation Result",
+ "required": [
+ "isValid",
+ "message"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "isValid": {
+ "description": "Whether the cron expression is valid",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Validation error message (empty if valid)",
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportExportProgress": {
+ "title": "Bundle Data Hub File Export Export Progress",
+ "required": [
+ "isRunning",
+ "totalItems",
+ "processedItems",
+ "progress"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "isRunning": {
+ "description": "Whether the export is currently running",
+ "type": "boolean",
+ "example": true
+ },
+ "totalItems": {
+ "description": "Total number of items to export",
+ "type": "integer",
+ "example": 100
+ },
+ "processedItems": {
+ "description": "Number of items already processed",
+ "type": "integer",
+ "example": 42
+ },
+ "progress": {
+ "description": "Progress ratio (0.0 to 1.0)",
+ "type": "number",
+ "format": "float",
+ "example": 0.42
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportExporterService": {
+ "title": "Bundle Data Hub File Export Exporter Service",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Exporter service identifier",
+ "type": "string",
+ "example": "my_exporter_service"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportExporterType": {
+ "title": "Bundle Data Hub File Export Exporter Type",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Exporter type name",
+ "type": "string",
+ "example": "CSV"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportStartExport": {
+ "title": "Bundle Data Hub File Export Start Export",
+ "required": [
+ "configName"
+ ],
+ "properties": {
+ "configName": {
+ "description": "Configuration name to export",
+ "type": "string",
+ "example": "my-file-export"
+ },
+ "onlyQueueItems": {
+ "description": "Only process queued items",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportThumbnailCollection": {
+ "title": "Bundle Data Hub File Export Thumbnail Collection",
+ "required": [
+ "imageThumbnails",
+ "videoThumbnails"
+ ],
+ "properties": {
+ "imageThumbnails": {
+ "description": "Image thumbnail configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportThumbnailItem"
+ }
+ },
+ "videoThumbnails": {
+ "description": "Video thumbnail configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubFileExportThumbnailItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportThumbnailItem": {
+ "title": "Bundle Data Hub File Export Thumbnail Item",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Thumbnail configuration name (empty string for none/original)",
+ "type": "string",
+ "example": "content"
+ },
+ "text": {
+ "description": "Display text",
+ "type": "string",
+ "example": "content - Content Thumbnail"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportUpdateConfiguration": {
+ "title": "Bundle Data Hub File Export Update Configuration",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "description": "Configuration data containing general, schema, workspaceSettings, workspaces, deliveryDestination, triggerForDelivery, executionConfig, and permissions",
+ "type": "object",
+ "example": {
+ "general": {
+ "active": false,
+ "type": "fileExport",
+ "name": "my-export",
+ "description": "",
+ "group": ""
+ },
+ "schema": {
+ "classId": "Product",
+ "thumbnailImage": null,
+ "thumbnailVideo": null,
+ "columns": [
+ {
+ "key": "id",
+ "fieldtype": "system",
+ "type": "system.id",
+ "locale": null
+ },
+ {
+ "key": "name",
+ "fieldtype": "input",
+ "type": "dataobject.adapter",
+ "locale": "en",
+ "config": []
+ }
+ ]
+ },
+ "workspaceSettings": {
+ "customExportService": ""
+ },
+ "workspaces": {
+ "object": [
+ {
+ "read": true,
+ "cpath": "/Products"
+ }
+ ]
+ },
+ "deliveryDestination": {
+ "filetype": "CSV",
+ "delimiter": ";",
+ "dateFormat": "",
+ "filename": "export",
+ "conflictStrategy": "overwrite",
+ "transmitter": "localDirectory",
+ "transmitter_localDirectory": {
+ "directory": "/path/to/export"
+ }
+ },
+ "triggerForDelivery": {
+ "saveHookType": ""
+ },
+ "executionConfig": {
+ "cronDefinitionFullExport": "",
+ "cronDefinitionQueueOnly": ""
+ },
+ "permissions": {
+ "user": [
+ {
+ "id": 1,
+ "name": "John Doe",
+ "read": true
+ }
+ ],
+ "role": [
+ {
+ "id": 2,
+ "name": "Editor",
+ "update": true
+ }
+ ]
+ }
+ }
+ },
+ "saveType": {
+ "description": "Save type, use \"reset\" to reset export tracking data",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "regular"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubFileExportUpdateConfigurationResponse": {
+ "title": "Bundle Data Hub File Export Update Configuration Response",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "modificationDate": {
+ "description": "New modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubPermissionUser": {
+ "title": "Bundle Data Hub Permission User",
+ "required": [
+ "id",
+ "text",
+ "elementType"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "User or Role ID",
+ "type": "integer",
+ "example": 42
+ },
+ "text": {
+ "description": "User or Role name",
+ "type": "string",
+ "example": "admin"
+ },
+ "elementType": {
+ "description": "Element type",
+ "type": "string",
+ "example": "user"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestConfigurationDetail": {
+ "title": "Bundle Data Hub Simple Rest Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-rest-config"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object"
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "type": "object",
+ "example": {
+ "update": true,
+ "delete": true
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestLabel": {
+ "title": "Bundle Data Hub Simple Rest Label",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Label key from the search index",
+ "type": "string",
+ "example": "dimensionData.height"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestQueueItemCount": {
+ "title": "Bundle Data Hub Simple Rest Queue Item Count",
+ "required": [
+ "count"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "count": {
+ "description": "Number of items in the indexing queue",
+ "type": "integer",
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestThumbnail": {
+ "title": "Bundle Data Hub Simple Rest Thumbnail",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Thumbnail configuration name",
+ "type": "string",
+ "example": "content"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestUpdateConfiguration": {
+ "title": "Bundle Data Hub Simple Rest Update Configuration",
+ "required": [
+ "data",
+ "modificationDate"
+ ],
+ "properties": {
+ "data": {
+ "description": "Configuration data containing general, schema, deliverySettings, workspaces, labelSettings, and permissions",
+ "type": "object",
+ "example": {
+ "general": {
+ "active": true,
+ "type": "Simple Rest Service",
+ "name": "test",
+ "description": "Test Description",
+ "group": "Test Group"
+ },
+ "schema": {
+ "assets": {
+ "enabled": "on",
+ "allowOriginalImage": "on",
+ "thumbnails": [
+ "cart",
+ "events_header"
+ ]
+ },
+ "dataObjectClasses": [
+ {
+ "id": "car",
+ "columns": [
+ {
+ "key": "id",
+ "fieldtype": "system",
+ "type": "system.id",
+ "locale": null
+ },
+ {
+ "key": "someImage",
+ "fieldtype": "image",
+ "type": "dataobject.adapter",
+ "locale": "de",
+ "config": []
+ }
+ ]
+ }
+ ]
+ },
+ "deliverySettings": {
+ "apikey": "key1\nkey2"
+ },
+ "workspaces": {
+ "asset": [
+ {
+ "read": false,
+ "cpath": "/Assets"
+ }
+ ],
+ "object": [
+ {
+ "read": true,
+ "cpath": "/Products"
+ }
+ ]
+ },
+ "labelSettings": [
+ {
+ "id": "dimensionData.height",
+ "en": "Height",
+ "useInAggs": true
+ }
+ ],
+ "permissions": {
+ "user": [
+ {
+ "id": 1,
+ "name": "John Doe",
+ "read": true
+ }
+ ],
+ "role": [
+ {
+ "id": 2,
+ "name": "Editor",
+ "update": true
+ }
+ ]
+ }
+ }
+ },
+ "modificationDate": {
+ "description": "Client-side modification date timestamp for conflict detection",
+ "type": "integer",
+ "example": 1768215191
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubSimpleRestUpdateConfigurationResponse": {
+ "title": "Bundle Data Hub Simple Rest Update Configuration Response",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "modificationDate": {
+ "description": "New modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubThumbnail": {
+ "title": "Bundle Data Hub Thumbnail",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Thumbnail ID",
+ "type": "string",
+ "example": "content"
+ },
+ "text": {
+ "description": "Thumbnail name",
+ "type": "string",
+ "example": "content"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubUpdateConfiguration": {
+ "title": "Bundle Data Hub Update Configuration",
+ "required": [
+ "data",
+ "modificationDate"
+ ],
+ "properties": {
+ "data": {
+ "description": "JSON-encoded configuration containing general, schema, security, workspaces, and permissions",
+ "type": "string",
+ "example": "{\"general\":{\"active\":true,\"type\":\"GraphQL\",\"name\":\"assets\",\"description\":\"\",\"group\":\"GQL\"},\"schema\":{\"queryEntities\":[],\"mutationEntities\":[],\"specialEntities\":[]},\"security\":{\"method\":\"datahub_apikey\",\"apikey\":\"your-key\",\"skipPermissionCheck\":false,\"disableIntrospection\":false},\"workspaces\":{\"asset\":[],\"document\":[],\"object\":[]},\"permissions\":{\"user\":[],\"role\":[]}}"
+ },
+ "modificationDate": {
+ "description": "Client-side modification date timestamp for conflict detection",
+ "type": "integer",
+ "example": 1768215191
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubUpdateConfigurationResponse": {
+ "title": "Bundle Data Hub Update Configuration Response",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "modificationDate": {
+ "description": "New modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksConfigurationDetail": {
+ "title": "Bundle Data Hub Webhooks Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "modificationDate",
+ "documentTypes",
+ "assetTypes",
+ "imageData",
+ "videoData",
+ "events",
+ "workflows"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my_webhook"
+ },
+ "configuration": {
+ "description": "Full configuration data",
+ "type": "object"
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "type": "object",
+ "example": {
+ "update": true,
+ "delete": true
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ },
+ "documentTypes": {
+ "description": "Available document types",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksLabelItem"
+ }
+ },
+ "assetTypes": {
+ "description": "Available asset types",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksLabelItem"
+ }
+ },
+ "imageData": {
+ "description": "Available image thumbnail configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksIdLabelItem"
+ }
+ },
+ "videoData": {
+ "description": "Available video thumbnail configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksIdLabelItem"
+ }
+ },
+ "events": {
+ "description": "Available webhook event types",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksIdLabelItem"
+ }
+ },
+ "workflows": {
+ "description": "Available workflows",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataHubWebhooksIdLabelItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksIdLabelItem": {
+ "title": "Bundle Data Hub Webhooks Id Label Item",
+ "required": [
+ "id",
+ "label"
+ ],
+ "properties": {
+ "id": {
+ "description": "Identifier",
+ "type": "string",
+ "example": "pimcore.dataobject.postAdd"
+ },
+ "label": {
+ "description": "Display label",
+ "type": "string",
+ "example": "Data Object - Post Add"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksLabelItem": {
+ "title": "Bundle Data Hub Webhooks Label Item",
+ "required": [
+ "label"
+ ],
+ "properties": {
+ "label": {
+ "description": "Label",
+ "type": "string",
+ "example": "Page"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksTestSubscribersParameters": {
+ "title": "Bundle Data Hub Webhooks Test Subscribers Parameters",
+ "required": [
+ "subscribers"
+ ],
+ "properties": {
+ "subscribers": {
+ "description": "List of subscriber URLs to test",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "https://webhook.site/example-uuid"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksTestSubscribersResponse": {
+ "title": "Bundle Data Hub Webhooks Test Subscribers Response",
+ "required": [
+ "success",
+ "errors"
+ ],
+ "properties": {
+ "success": {
+ "description": "Whether all subscribers are reachable",
+ "type": "boolean",
+ "example": true
+ },
+ "errors": {
+ "description": "Error messages from unreachable subscribers",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksUpdateConfiguration": {
+ "title": "Bundle Data Hub Webhooks Update Configuration",
+ "required": [
+ "configuration",
+ "modificationDate"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Configuration object containing general, eventsSchema, subscribersSettings, workspaces, and permissions",
+ "type": "object",
+ "example": {
+ "general": {
+ "active": true,
+ "name": "my_webhook"
+ },
+ "subscribersSettings": {
+ "subscribers": [
+ "https://example.com/webhook"
+ ],
+ "customHeaders": []
+ },
+ "eventsSchema": {
+ "events": [
+ "pimcore.dataobject.postAdd"
+ ]
+ },
+ "workspaces": {
+ "asset": [],
+ "object": [],
+ "document": []
+ },
+ "permissions": {
+ "user": [],
+ "role": []
+ }
+ }
+ },
+ "modificationDate": {
+ "description": "Client-side modification date timestamp for optimistic locking",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataHubWebhooksUpdateConfigurationResponse": {
+ "title": "Bundle Data Hub Webhooks Update Configuration Response",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "modificationDate": {
+ "description": "New modification date timestamp after save",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterCalculateTransformationResultTypeParameters": {
+ "title": "Bundle Data Importer Calculate Transformation Result Type Parameters",
+ "required": [
+ "currentConfig"
+ ],
+ "properties": {
+ "currentConfig": {
+ "description": "A single mapping configuration entry to evaluate the transformation result type for",
+ "properties": {
+ "label": {
+ "description": "Mapping label",
+ "type": "string",
+ "example": "SKU"
+ },
+ "dataSourceIndex": {
+ "description": "Data source column indices",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 0
+ ]
+ },
+ "transformationPipeline": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "dataTarget": {
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterClassAttributesResponse": {
+ "title": "Bundle Data Importer Class Attributes Response",
+ "required": [
+ "attributes"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "attributes": {
+ "description": "List of available data object attributes for the class",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterClassificationStoreKeyNameResponse": {
+ "title": "Bundle Data Importer Classification Store Key Name Response",
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "keyId": {
+ "description": "The key ID (group-key format)",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "1-5"
+ },
+ "groupName": {
+ "description": "The group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Dimensions"
+ },
+ "keyName": {
+ "description": "The key name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Width"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterClassificationStoreKeysResponse": {
+ "title": "Bundle Data Importer Classification Store Keys Response",
+ "required": [
+ "data",
+ "total"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "List of classification store key-group relations",
+ "type": "array",
+ "items": {
+ "properties": {
+ "keyId": {
+ "description": "Key ID",
+ "type": "integer",
+ "example": 5
+ },
+ "groupId": {
+ "description": "Group ID",
+ "type": "integer",
+ "example": 1
+ },
+ "keyName": {
+ "description": "Key name",
+ "type": "string",
+ "example": "Width"
+ },
+ "keyDescription": {
+ "description": "Key description",
+ "type": "string",
+ "example": "Width of the product"
+ },
+ "id": {
+ "description": "Combined group-key ID",
+ "type": "string",
+ "example": "1-5"
+ },
+ "sorter": {
+ "description": "Sort order",
+ "type": "integer",
+ "example": 0
+ },
+ "groupName": {
+ "description": "Group name",
+ "type": "string",
+ "example": "Dimensions"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "total": {
+ "description": "Total count of matching records",
+ "type": "integer",
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterColumnHeadersResponse": {
+ "title": "Bundle Data Importer Column Headers Response",
+ "required": [
+ "columnHeaders"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "columnHeaders": {
+ "description": "Available column headers from the preview data",
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "description": "Column index",
+ "type": "string",
+ "example": "0"
+ },
+ "dataIndex": {
+ "description": "Column data index",
+ "type": "string",
+ "example": "col_0"
+ },
+ "label": {
+ "description": "Column label",
+ "type": "string",
+ "example": "Product Name"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterConfigurationDetail": {
+ "title": "Bundle Data Importer Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-import-config"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "properties": {
+ "general": {
+ "type": "object"
+ },
+ "loaderConfig": {
+ "type": "object"
+ },
+ "interpreterConfig": {
+ "type": "object"
+ },
+ "resolverConfig": {
+ "type": "object"
+ },
+ "processingConfig": {
+ "type": "object"
+ },
+ "mappingConfig": {
+ "type": "object"
+ },
+ "executionConfig": {
+ "type": "object"
+ }
+ },
+ "type": "object",
+ "example": {
+ "general": {
+ "name": "my-import-config",
+ "active": true
+ },
+ "loaderConfig": {
+ "type": "asset"
+ },
+ "interpreterConfig": {
+ "type": "csv"
+ },
+ "mappingConfig": [],
+ "executionConfig": [],
+ "resolverConfig": [],
+ "processingConfig": []
+ }
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "properties": {
+ "update": {
+ "description": "Whether the user can update this configuration",
+ "type": "boolean",
+ "example": true
+ },
+ "delete": {
+ "description": "Whether the user can delete this configuration",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1640000000
+ },
+ "columnHeaders": {
+ "description": "Available column headers from preview data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "id",
+ "name",
+ "sku",
+ "price"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterConfigurationSaveParameters": {
+ "title": "Bundle Data Importer Configuration Save Parameters",
+ "required": [
+ "configuration",
+ "modificationDate"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Configuration data",
+ "properties": {
+ "general": {
+ "type": "object"
+ },
+ "loaderConfig": {
+ "type": "object"
+ },
+ "interpreterConfig": {
+ "type": "object"
+ },
+ "resolverConfig": {
+ "type": "object"
+ },
+ "processingConfig": {
+ "type": "object"
+ },
+ "mappingConfig": {
+ "type": "object"
+ },
+ "executionConfig": {
+ "type": "object"
+ }
+ },
+ "type": "object",
+ "example": {
+ "general": {
+ "name": "my-import-config",
+ "active": true
+ },
+ "loaderConfig": {
+ "type": "asset"
+ },
+ "interpreterConfig": {
+ "type": "csv"
+ },
+ "mappingConfig": [],
+ "executionConfig": [],
+ "resolverConfig": [],
+ "processingConfig": []
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp for optimistic locking",
+ "type": "integer",
+ "example": 1640000000
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterConnectionsResponse": {
+ "title": "Bundle Data Importer Connections Response",
+ "required": [
+ "connections"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "connections": {
+ "description": "List of available Doctrine database connections",
+ "type": "array",
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The connection name",
+ "type": "string",
+ "example": "default"
+ },
+ "value": {
+ "description": "The connection service identifier",
+ "type": "string",
+ "example": "doctrine.dbal.default_connection"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterCopyPreviewParameters": {
+ "title": "Bundle Data Importer Copy Preview Parameters",
+ "properties": {
+ "currentConfig": {
+ "description": "Optional unsaved in-progress configuration from the UI. When provided, the loader uses these settings instead of the saved configuration.",
+ "properties": {
+ "general": {
+ "type": "object"
+ },
+ "loaderConfig": {
+ "type": "object"
+ },
+ "interpreterConfig": {
+ "type": "object"
+ },
+ "resolverConfig": {
+ "type": "object"
+ },
+ "processingConfig": {
+ "type": "object"
+ },
+ "mappingConfig": {
+ "type": "object"
+ },
+ "executionConfig": {
+ "type": "object"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterCronValidationResponse": {
+ "title": "Bundle Data Importer Cron Validation Response",
+ "required": [
+ "isValid",
+ "message"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "isValid": {
+ "description": "Whether the cron expression is valid",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Error message if the cron expression is invalid, empty string otherwise",
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterDataPreviewResponse": {
+ "title": "Bundle Data Importer Data Preview Response",
+ "required": [
+ "dataPreview",
+ "previewRecordIndex"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "dataPreview": {
+ "description": "Preview data rows with column metadata",
+ "type": "array",
+ "items": {
+ "properties": {
+ "dataIndex": {
+ "description": "Column index",
+ "type": "string",
+ "example": "col_0"
+ },
+ "label": {
+ "description": "Column label",
+ "type": "string",
+ "example": "Product Name"
+ },
+ "data": {
+ "description": "Cell data value",
+ "type": "string",
+ "example": "Example Product"
+ },
+ "mapped": {
+ "description": "Whether this column is mapped",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ },
+ "previewRecordIndex": {
+ "description": "The actual record index that was loaded",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterImportFileStatusResponse": {
+ "title": "Bundle Data Importer Import File Status Response",
+ "required": [
+ "exists",
+ "message"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "exists": {
+ "description": "Whether the import file has been uploaded",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Status message about the import file",
+ "type": "string",
+ "example": "Upload file already exists"
+ },
+ "filePath": {
+ "description": "Path of the import file in storage (only when exists is true)",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "my-config/upload.import"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterImportProgressResponse": {
+ "title": "Bundle Data Importer Import Progress Response",
+ "required": [
+ "isRunning",
+ "totalItems",
+ "processedItems",
+ "progress"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "isRunning": {
+ "description": "Whether an import is currently running",
+ "type": "boolean",
+ "example": true
+ },
+ "totalItems": {
+ "description": "Total number of items to import",
+ "type": "integer",
+ "example": 100
+ },
+ "processedItems": {
+ "description": "Number of items already processed",
+ "type": "integer",
+ "example": 42
+ },
+ "progress": {
+ "description": "Progress as a ratio between 0 and 1",
+ "type": "number",
+ "format": "float",
+ "example": 0.42
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterImportStartResponse": {
+ "title": "Bundle Data Importer Import Start Response",
+ "required": [
+ "success"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Whether the import was successfully prepared and started",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterLoadPreviewParameters": {
+ "title": "Bundle Data Importer Load Preview Parameters",
+ "properties": {
+ "currentConfig": {
+ "description": "Optional unsaved in-progress configuration from the UI. When provided, the interpreter and mapping use these settings instead of the saved configuration.",
+ "properties": {
+ "general": {
+ "type": "object"
+ },
+ "loaderConfig": {
+ "type": "object"
+ },
+ "interpreterConfig": {
+ "type": "object"
+ },
+ "resolverConfig": {
+ "type": "object"
+ },
+ "processingConfig": {
+ "type": "object"
+ },
+ "mappingConfig": {
+ "type": "object"
+ },
+ "executionConfig": {
+ "type": "object"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "recordNumber": {
+ "description": "Zero-based record number to preview from the data source",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterTransformationResultPreviewsResponse": {
+ "title": "Bundle Data Importer Transformation Result Previews Response",
+ "required": [
+ "transformationResultPreviews"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "transformationResultPreviews": {
+ "description": "Transformation result preview strings for each mapping entry",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterTransformationResultTypeResponse": {
+ "title": "Bundle Data Importer Transformation Result Type Response",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": {
+ "description": "The evaluated transformation result data type",
+ "type": "string",
+ "example": "default"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataImporterUnitDataResponse": {
+ "title": "Bundle Data Importer Unit Data Response",
+ "required": [
+ "unitList"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "unitList": {
+ "description": "List of quantity value units",
+ "type": "array",
+ "items": {
+ "properties": {
+ "unitId": {
+ "description": "The unit ID",
+ "type": "string",
+ "example": "kg"
+ },
+ "abbreviation": {
+ "description": "The unit abbreviation",
+ "type": "string",
+ "example": "kg"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementColorSettings": {
+ "title": "Bundle Data Quality Management Color Settings",
+ "required": [
+ "mark",
+ "fontColor",
+ "backgroundColor"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "mark": {
+ "description": "Mark",
+ "type": "string",
+ "example": "A"
+ },
+ "fontColor": {
+ "description": "Hex code of the font color",
+ "type": "string",
+ "example": "#104400"
+ },
+ "backgroundColor": {
+ "description": "Hex code of the background color",
+ "type": "string",
+ "example": "#DAECB8"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementDetailWidget": {
+ "title": "Bundle Data Quality Management Detail Widget",
+ "required": [
+ "name",
+ "title",
+ "mark",
+ "score",
+ "rules",
+ "lastUpdated"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Data quality field name",
+ "type": "string",
+ "example": "textsAvailable"
+ },
+ "title": {
+ "description": "Data quality field title",
+ "type": "string",
+ "example": "Texts Available"
+ },
+ "mark": {
+ "description": "Mark for the data quality field",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "C"
+ },
+ "score": {
+ "description": "Score for the data quality field",
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "float",
+ "example": "0.66"
+ },
+ "rules": {
+ "description": "Array of rule details",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleDataQualityManagementRule"
+ }
+ },
+ "lastUpdated": {
+ "description": "Last updated timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1752670892
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementRecommendedFields": {
+ "title": "Bundle Data Quality Management Recommended Fields",
+ "required": [
+ "key",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Field key",
+ "type": "string",
+ "example": "series"
+ },
+ "name": {
+ "description": "Constructed field name",
+ "type": "string",
+ "example": "Series [series]"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementRule": {
+ "title": "Bundle Data Quality Management Rule Data",
+ "required": [
+ "title",
+ "suggestion",
+ "valid"
+ ],
+ "properties": {
+ "title": {
+ "description": "Title of the rule",
+ "type": "string",
+ "example": "Completeness"
+ },
+ "suggestion": {
+ "description": "Suggestion",
+ "type": "string",
+ "example": "Fill in some required fields"
+ },
+ "valid": {
+ "description": "Is rule valid",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementSymfonyExpressionValidation": {
+ "title": "Bundle Data Quality Management Symfony Expression Validation",
+ "required": [
+ "valid",
+ "message"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "valid": {
+ "description": "Whether the expression is valid",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Error message if validation failed",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Invalid expression syntax"
+ }
+ },
+ "type": "object"
+ },
+ "BundleDataQualityManagementValidateSymfonyExpression": {
+ "title": "Bundle Data Quality Management Validate Symfony Expression",
+ "required": [
+ "expression"
+ ],
+ "properties": {
+ "expression": {
+ "description": "The Symfony expression to validate",
+ "type": "string",
+ "example": "object.value > 10"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEnterpriseSubscriptionToolsLicenseInformation": {
+ "title": "Bundle Enterprise Subscription Tools License Information",
+ "required": [
+ "success",
+ "instanceId",
+ "legacyInstanceId",
+ "environment",
+ "instanceCode"
+ ],
+ "properties": {
+ "success": {
+ "description": "Whether license check was successful or not",
+ "type": "boolean",
+ "example": "true"
+ },
+ "instanceId": {
+ "description": "Instance Id",
+ "type": "string",
+ "example": "4q7D8Gce"
+ },
+ "legacyInstanceId": {
+ "description": "Legacy Instance Id",
+ "type": "string",
+ "example": "a79ba4252e2e"
+ },
+ "environment": {
+ "description": "Environment",
+ "type": "string",
+ "example": "dev"
+ },
+ "instanceCode": {
+ "description": "Instance Code",
+ "type": "string",
+ "example": "ZTNiMGM0NDI5OGZjMWMxN"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsBrick": {
+ "title": "Bundle Headless Documents Brick",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "group",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of brick",
+ "type": "string",
+ "example": "Simple"
+ },
+ "name": {
+ "description": "Name of brick",
+ "type": "string",
+ "example": "Simple"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Simple Bricks"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsBrickDetail": {
+ "title": "Bundle Headless Documents Brick Detail",
+ "required": [
+ "id",
+ "name",
+ "content",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of brick",
+ "type": "string",
+ "example": "Simple"
+ },
+ "name": {
+ "description": "Name of brick",
+ "type": "string",
+ "example": "Simple"
+ },
+ "content": {
+ "description": "YAML-formatted string of brick content configuration",
+ "type": "string",
+ "example": "\"type: brick\\ngroup: null\\nitems:\\n\""
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsBrickFolder": {
+ "title": "Bundle Headless Documents Brick Folder",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of brick folder",
+ "type": "string",
+ "example": "group_simple_bricks"
+ },
+ "name": {
+ "description": "Name of brick folder",
+ "type": "string",
+ "example": "simple_bricks"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsBrick"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsBrickHelp": {
+ "title": "Bundle Headless Documents Brick Help",
+ "required": [
+ "editables"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "editables": {
+ "description": "Available editable types with their YAML configuration examples",
+ "type": "object",
+ "example": {
+ "input": "headline:\n type: input\n label: Headline",
+ "wysiwyg": "description:\n type: wysiwyg\n label: Description",
+ "image": "header_image:\n type: image\n label: 'Header Image'"
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsConfigList": {
+ "title": "Bundle Headless Documents Config List Data",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of configuration",
+ "type": "string",
+ "example": "simple"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsCreateConfig": {
+ "title": "Bundle Headless Documents Create Configuration",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the template",
+ "type": "string",
+ "example": "Simple"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsDataHubConfigurationDetail": {
+ "title": "Bundle Headless Documents DataHub Configuration Detail",
+ "required": [
+ "name",
+ "configuration",
+ "userPermissions",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-headless-config"
+ },
+ "configuration": {
+ "description": "Configuration data",
+ "type": "object"
+ },
+ "userPermissions": {
+ "description": "User permissions",
+ "type": "object",
+ "example": {
+ "update": true,
+ "delete": true
+ }
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsSettingsData": {
+ "title": "Bundle Headless Documents Settings Data",
+ "required": [
+ "title",
+ "description"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SnippetSettingsData"
+ },
+ {
+ "properties": {
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Page Title"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Page Description"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleHeadlessDocumentsTemplate": {
+ "title": "Bundle Headless Documents Template",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "group",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of template",
+ "type": "string",
+ "example": "Simple"
+ },
+ "name": {
+ "description": "Name of template",
+ "type": "string",
+ "example": "Simple"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Simple Templates"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsTemplateDetail": {
+ "title": "Bundle Headless Documents Template Detail",
+ "required": [
+ "id",
+ "name",
+ "content",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of template",
+ "type": "string",
+ "example": "Simple"
+ },
+ "name": {
+ "description": "Name of template",
+ "type": "string",
+ "example": "Simple"
+ },
+ "content": {
+ "description": "YAML-formatted string of template content",
+ "type": "string",
+ "example": "\"layout: simple\\ngroup: null\\ncontent:\\n\""
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsTemplateFolder": {
+ "title": "Bundle Headless Documents Template Folder",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of template folder",
+ "type": "string",
+ "example": "group_simple_templates"
+ },
+ "name": {
+ "description": "Name of template",
+ "type": "string",
+ "example": "simple_templates"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleHeadlessDocumentsTemplate"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsTemplateHelp": {
+ "title": "Bundle Headless Documents Template Help",
+ "required": [
+ "layouts",
+ "editables"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "layouts": {
+ "description": "Available layout templates with their YAML configuration",
+ "type": "object",
+ "example": {
+ "simple": "layout: simple\ncontent:\n headline:\n type: input",
+ "grid": "layout: grid\ncontent:\n row:\n type: panel",
+ "tabpanel": "layout: tabpanel\ncontent:\n tab1:\n type: panel"
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "editables": {
+ "description": "Available editable types with their YAML configuration examples",
+ "type": "object",
+ "example": {
+ "input": "headline:\n type: input\n label: Headline",
+ "wysiwyg": "description:\n type: wysiwyg\n label: Description",
+ "image": "header_image:\n type: image\n label: 'Header Image'"
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsUpdateConfig": {
+ "title": "Bundle Headless Documents Update Content of Configuration",
+ "required": [
+ "content"
+ ],
+ "properties": {
+ "content": {
+ "description": "Template content in YAML format",
+ "type": "string",
+ "example": "layout: simple\ncontent:\n headline:\n type: input\n label: Headline"
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsUpdateDataHubConfiguration": {
+ "title": "Bundle Headless Documents Update DataHub Configuration",
+ "required": [
+ "data",
+ "modificationDate"
+ ],
+ "properties": {
+ "data": {
+ "description": "Configuration data containing general, deliverySettings, workspaces, and permissions",
+ "type": "object",
+ "example": {
+ "general": {
+ "active": "on",
+ "type": "Headless Documents",
+ "name": "my-config",
+ "description": "",
+ "group": ""
+ },
+ "deliverySettings": {
+ "apikey": "2c73a0018c3105c60528a115500c1280"
+ },
+ "workspaces": {
+ "document": [
+ {
+ "read": true,
+ "cpath": "/headless"
+ }
+ ]
+ },
+ "permissions": {
+ "user": [
+ {
+ "id": 2,
+ "name": "admin"
+ }
+ ],
+ "role": [
+ {
+ "id": 1,
+ "name": "admin",
+ "update": true
+ }
+ ]
+ }
+ }
+ },
+ "modificationDate": {
+ "description": "Client-side modification date timestamp for conflict detection",
+ "type": "integer",
+ "example": 1768215191
+ }
+ },
+ "type": "object"
+ },
+ "BundleHeadlessDocumentsUpdateDataHubConfigurationResponse": {
+ "title": "Bundle Headless Documents Update DataHub Configuration Response",
+ "required": [
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "modificationDate": {
+ "description": "New modification date timestamp",
+ "type": "integer",
+ "example": 1705075200
+ }
+ },
+ "type": "object"
+ },
+ "BundleOpenIdConnectConfiguration": {
+ "title": "Bundle OpenID Connect Configuration",
+ "required": [
+ "data",
+ "isWriteable",
+ "providerNames"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "Configuration data",
+ "type": "object"
+ },
+ "isWriteable": {
+ "description": "Whether the configuration is writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "providerNames": {
+ "description": "List of configured provider names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleOpenIdConnectSuccessResponse": {
+ "title": "Bundle OpenID Connect Success Response",
+ "required": [
+ "success"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Whether the operation was successful",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundleOpenIdConnectUpdateConfigurationParameters": {
+ "title": "Bundle OpenID Connect Update Configuration Parameters",
+ "required": [
+ "providers"
+ ],
+ "properties": {
+ "providers": {
+ "description": "Provider configurations",
+ "type": "object"
+ },
+ "defaultProvider": {
+ "description": "Default provider name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "keycloak"
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationCreateTargetingGroup": {
+ "title": "Bundle Personalization Create Targeting Group",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Group name",
+ "type": "string",
+ "example": "new-customer"
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationCreateTargetingRule": {
+ "title": "Bundle Personalization Create Targeting Rule",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the targeting rule",
+ "type": "string",
+ "example": "My New Targeting Rule"
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetGroup": {
+ "title": "Bundle Personalization Target Group",
+ "required": [
+ "id",
+ "active",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": 83
+ },
+ "active": {
+ "description": "Is group active",
+ "type": "boolean",
+ "example": true
+ },
+ "name": {
+ "description": "Name of the group",
+ "type": "string",
+ "example": "regular-customer"
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetingGroupDetail": {
+ "title": "Bundle Personalization Targeting Group Detail",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "threshold",
+ "active"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Group ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Group name",
+ "type": "string",
+ "example": "new-customer"
+ },
+ "description": {
+ "description": "Group description",
+ "type": "string",
+ "example": ""
+ },
+ "threshold": {
+ "description": "Threshold value",
+ "type": "integer",
+ "example": 1
+ },
+ "active": {
+ "description": "Active status",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetingRule": {
+ "title": "Bundle Personalization Targeting Rule",
+ "required": [
+ "id",
+ "name",
+ "active"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "My Targeting Rule"
+ },
+ "active": {
+ "description": "Is rule active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetingRuleDetail": {
+ "title": "Bundle Personalization Targeting Rule Detail",
+ "required": [
+ "id",
+ "priority",
+ "settings",
+ "conditions",
+ "actions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Rule ID",
+ "type": "integer",
+ "example": 1
+ },
+ "priority": {
+ "description": "Rule priority",
+ "type": "integer",
+ "example": 10
+ },
+ "settings": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRuleSettings",
+ "description": "Rule settings"
+ },
+ "conditions": {
+ "description": "Rule conditions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "type": "cmf_customer_is_loggedin",
+ "operator": "and",
+ "bracketLeft": false,
+ "bracketRight": false
+ }
+ }
+ },
+ "actions": {
+ "description": "Rule actions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "targetGroup": [
+ 1,
+ 2,
+ 3
+ ],
+ "applyType": "cleanup_and_overwrite",
+ "type": "cmf_apply_target_groups_from_segments"
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetingRulePriority": {
+ "title": "Bundle Personalization Targeting Rule Priority",
+ "required": [
+ "id",
+ "priority"
+ ],
+ "properties": {
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": 1
+ },
+ "priority": {
+ "description": "Rule priority",
+ "type": "integer",
+ "example": 10
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationTargetingRuleSettings": {
+ "title": "Bundle Personalization Targeting Rule Settings",
+ "required": [
+ "name",
+ "description",
+ "scope",
+ "active"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "My Targeting Rule"
+ },
+ "description": {
+ "description": "Rule description",
+ "type": "string",
+ "example": "Rule for logged in customers"
+ },
+ "scope": {
+ "description": "Targeting scope",
+ "type": "string",
+ "enum": [
+ "hit",
+ "session",
+ "session_with_variables",
+ "visitor"
+ ],
+ "example": "hit"
+ },
+ "active": {
+ "description": "Is rule active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationUpdateTargetingGroup": {
+ "title": "Bundle Personalization Update Targeting Group",
+ "required": [
+ "description",
+ "threshold",
+ "active"
+ ],
+ "properties": {
+ "description": {
+ "description": "Group description",
+ "type": "string",
+ "example": "Description of the targeting group"
+ },
+ "threshold": {
+ "description": "Threshold value",
+ "type": "integer",
+ "example": 1
+ },
+ "active": {
+ "description": "Active status",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationUpdateTargeting": {
+ "title": "Bundle Personalization Update Targeting Rule",
+ "required": [
+ "settings",
+ "conditions",
+ "actions"
+ ],
+ "properties": {
+ "settings": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRuleSettings",
+ "description": "Rule settings"
+ },
+ "conditions": {
+ "description": "Rule conditions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "type": "cmf_customer_is_loggedin",
+ "operator": "and",
+ "bracketLeft": false,
+ "bracketRight": false
+ }
+ }
+ },
+ "actions": {
+ "description": "Rule actions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "targetGroup": [
+ 1,
+ 2,
+ 3
+ ],
+ "applyType": "cleanup_and_overwrite",
+ "type": "cmf_apply_target_groups_from_segments"
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundlePersonalizationUpdateTargetingPriority": {
+ "title": "Bundle Personalization Update Targeting Rule Priority",
+ "required": [
+ "priorities"
+ ],
+ "properties": {
+ "priorities": {
+ "description": "Array of rule priority data",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundlePersonalizationTargetingRulePriority"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundlePortalEngineAsset": {
+ "title": "Bundle Portal Engine Asset",
+ "required": [
+ "allowDrag",
+ "allowDrop",
+ "collectionId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ },
+ {
+ "properties": {
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ },
+ "collectionId": {
+ "description": "Collection ID",
+ "type": "number",
+ "example": 5
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundlePortalEngineDataObject": {
+ "title": "Bundle Portal Engine Data Object",
+ "required": [
+ "allowDrag",
+ "allowDrop",
+ "collectionId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "properties": {
+ "allowDrag": {
+ "description": "Allow drag",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDrop": {
+ "description": "Allow drop",
+ "type": "boolean",
+ "example": true
+ },
+ "collectionId": {
+ "description": "Collection ID",
+ "type": "number",
+ "example": 5
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleSeoRedirect": {
+ "title": "Bundle Seo Redirect",
+ "required": [
+ "id",
+ "type",
+ "source",
+ "sourceSite",
+ "passThroughParameters",
+ "target",
+ "targetSite",
+ "statusCode",
+ "priority",
+ "regex",
+ "active",
+ "expiry",
+ "creationDate",
+ "modificationDate",
+ "userOwner",
+ "userModification"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "type": {
+ "description": "Type of redirect",
+ "type": "string",
+ "example": "auto_create"
+ },
+ "source": {
+ "description": "Source URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/old-path"
+ },
+ "sourceSite": {
+ "description": "ID of the source site",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "passThroughParameters": {
+ "description": "Whether to pass through parameters",
+ "type": "boolean",
+ "example": true
+ },
+ "target": {
+ "description": "Target URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/new-path"
+ },
+ "targetSite": {
+ "description": "ID of the target site",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "statusCode": {
+ "description": "Status code",
+ "type": "integer",
+ "example": 301
+ },
+ "priority": {
+ "description": "Priority",
+ "type": "integer",
+ "example": 8
+ },
+ "regex": {
+ "description": "Whether the redirect uses regex",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": true
+ },
+ "active": {
+ "description": "Whether the redirect is active",
+ "type": "boolean",
+ "example": true
+ },
+ "expiry": {
+ "description": "Expiry date in timestamp format",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ },
+ "creationDate": {
+ "description": "Creation date in timestamp format",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ },
+ "modificationDate": {
+ "description": "Modification date in timestamp format",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ },
+ "userOwner": {
+ "description": "ID of the user who owns the redirect",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "userModification": {
+ "description": "ID of the user who last modified the redirect",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRedirectAdd": {
+ "title": "Bundle Seo Redirect Add",
+ "required": [
+ "type",
+ "source",
+ "target"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of redirect",
+ "type": "string",
+ "example": "entire_uri"
+ },
+ "source": {
+ "description": "Source URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/old-path"
+ },
+ "target": {
+ "description": "Target URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/new-path"
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRedirectStatus": {
+ "title": "Bundle Seo Redirect Status",
+ "required": [
+ "code",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "code": {
+ "description": "Status code",
+ "type": "integer",
+ "example": 301
+ },
+ "label": {
+ "description": "Status label",
+ "type": "string",
+ "example": "Moved Permanently"
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRedirectUpdate": {
+ "title": "Bundle Seo Redirect Update",
+ "required": [
+ "type",
+ "sourceSite",
+ "source",
+ "targetSite",
+ "target",
+ "statusCode",
+ "priority",
+ "regex",
+ "active",
+ "passThroughParameters",
+ "expiry"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of redirect",
+ "type": "string",
+ "example": "entire_uri"
+ },
+ "sourceSite": {
+ "description": "ID of the source site",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "source": {
+ "description": "Source URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/old-path"
+ },
+ "targetSite": {
+ "description": "ID of the target site",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "target": {
+ "description": "Target URL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/new-path"
+ },
+ "statusCode": {
+ "description": "Status code",
+ "type": "integer",
+ "example": 301
+ },
+ "priority": {
+ "description": "Priority",
+ "type": "integer",
+ "example": 8
+ },
+ "regex": {
+ "description": "Whether the redirect uses regex",
+ "type": "boolean",
+ "example": false
+ },
+ "active": {
+ "description": "Whether the redirect is active",
+ "type": "boolean",
+ "example": true
+ },
+ "passThroughParameters": {
+ "description": "Whether to pass through parameters",
+ "type": "boolean",
+ "example": false
+ },
+ "expiry": {
+ "description": "Expiry date in timestamp format",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRedirectImportStats": {
+ "title": "Bundle Seo Redirects Import Statistics",
+ "required": [
+ "total",
+ "imported",
+ "created",
+ "updated",
+ "errored",
+ "errors"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "total": {
+ "description": "Number of total redirects",
+ "type": "integer",
+ "example": 20
+ },
+ "imported": {
+ "description": "Number of imported redirects",
+ "type": "integer",
+ "example": 15
+ },
+ "created": {
+ "description": "Number of created redirects",
+ "type": "integer",
+ "example": 10
+ },
+ "updated": {
+ "description": "Number of updated redirects",
+ "type": "integer",
+ "example": 5
+ },
+ "errored": {
+ "description": "Number of errored redirects",
+ "type": "integer",
+ "example": 2
+ },
+ "errors": {
+ "description": "List of errors where index is the index of import line",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "3": "Invalid source URL",
+ "5": "Target URL already exists"
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRobotsTxtConfig": {
+ "title": "Bundle Seo Robots Txt Config",
+ "required": [
+ "data",
+ "onFileSystem"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "Robots.txt configuration per site",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleSeoRobotsTxtSiteConfig"
+ }
+ },
+ "onFileSystem": {
+ "description": "Whether a physical robots.txt file exists on the filesystem",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRobotsTxtSiteConfig": {
+ "title": "Bundle Seo Robots Txt Site Config",
+ "required": [
+ "siteId",
+ "content"
+ ],
+ "properties": {
+ "siteId": {
+ "description": "Site ID (0 for default site)",
+ "type": "integer",
+ "example": 0
+ },
+ "content": {
+ "description": "Robots.txt content for this site",
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ },
+ "BundleSeoRobotsTxtUpdate": {
+ "title": "Bundle Seo Robots Txt Update",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "description": "Robots.txt configuration per site",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleSeoRobotsTxtSiteConfig"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleStatisticsExplorerDataSource": {
+ "title": "Bundle Statistics Explorer Data Source",
+ "required": [
+ "value",
+ "label",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "value": {
+ "description": "Value",
+ "type": "string",
+ "example": "db_assets"
+ },
+ "label": {
+ "description": "Label",
+ "type": "string",
+ "example": "[DB] Assets"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "MYSQL"
+ }
+ },
+ "type": "object"
+ },
+ "BundleStatisticsExplorerDataSourceFields": {
+ "title": "Bundle Statistics Explorer Data Source Fields",
+ "required": [
+ "data",
+ "operators"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "data",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{\"key1\":\"value1\", \"key2\": \"value2\"}, {\"key1\":\"value1\", \"key2\": \"value2\"}]"
+ },
+ "operators": {
+ "description": "operators",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{\"key1\":\"value1\", \"key2\": \"value2\"}, {\"key1\":\"value1\", \"key2\": \"value2\"}]"
+ }
+ },
+ "type": "object"
+ },
+ "BundleStatisticsExplorerDataSourceFieldsDefinition": {
+ "title": "Bundle Statistics Explorer Data Source Fields Definition",
+ "required": [
+ "label",
+ "name",
+ "typeGroup",
+ "fields"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "label": {
+ "description": "label",
+ "type": "string",
+ "example": "creationDate"
+ },
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "creationDate"
+ },
+ "typeGroup": {
+ "description": "typeGroup",
+ "type": "string",
+ "example": "numeric"
+ },
+ "fields": {
+ "description": "fields",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{\"key1\":\"value1\", \"key2\": \"value2\"}, {\"key1\":\"value1\", \"key2\": \"value2\"}]"
+ }
+ },
+ "type": "object"
+ },
+ "BundleStatisticsExplorerDataSourceFieldsSettings": {
+ "title": "Bundle Statistics Explorer Data Source Fields Settings",
+ "required": [
+ "statisticsMode",
+ "aggregations",
+ "columns"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "statisticsMode": {
+ "description": "statisticsMode",
+ "type": "string",
+ "enum": [
+ "list",
+ "statistic"
+ ],
+ "example": "list"
+ },
+ "aggregations": {
+ "description": "aggregations",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray"
+ }
+ },
+ "columns": {
+ "description": "columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleStatisticsExplorerDataSourceFieldsSettingsArray": {
+ "title": "Bundle Statistics Explorer Data Source Fields Settings Array",
+ "required": [
+ "id",
+ "label",
+ "typeGroup",
+ "value"
+ ],
+ "properties": {
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "extModel2097-7"
+ },
+ "label": {
+ "description": "label",
+ "type": "string",
+ "example": "creationDate"
+ },
+ "typeGroup": {
+ "description": "typeGroup",
+ "type": "string",
+ "example": "numeric"
+ },
+ "value": {
+ "description": "value",
+ "type": "string",
+ "example": "creationDate"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWAIConfigurationItem": {
+ "title": "Bundle WAI Configuration Item",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "my-graphql-config"
+ },
+ "type": {
+ "description": "Configuration type",
+ "type": "string",
+ "example": "graphql"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWAIDownloadGraphQlParameters": {
+ "title": "Bundle WAI Download GraphQL Parameters",
+ "required": [
+ "configId",
+ "configAction",
+ "configElementType",
+ "localizedActionName"
+ ],
+ "properties": {
+ "configId": {
+ "description": "DataHub configuration ID",
+ "type": "string",
+ "example": "events"
+ },
+ "configAction": {
+ "description": "N8N action to export",
+ "type": "string",
+ "example": "wai_configuration_graphql_n8n_export_data_object"
+ },
+ "configElementType": {
+ "description": "Element type for the export",
+ "type": "string",
+ "example": "Event"
+ },
+ "localizedActionName": {
+ "description": "Localized action name",
+ "type": "string",
+ "example": "N8N Export Event"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWAIDownloadWebhooksParameters": {
+ "title": "Bundle WAI Download Webhooks Parameters",
+ "required": [
+ "configId",
+ "configAction",
+ "configSubscriber",
+ "localizedActionName"
+ ],
+ "properties": {
+ "configId": {
+ "description": "DataHub configuration ID",
+ "type": "string",
+ "example": "events"
+ },
+ "configAction": {
+ "description": "N8N action to export",
+ "type": "string",
+ "example": "wai_configuration_webhooks_n8n_process"
+ },
+ "configSubscriber": {
+ "description": "Subscriber URL for the webhook",
+ "type": "string",
+ "example": "https://n8n.example.com/webhook"
+ },
+ "localizedActionName": {
+ "description": "Localized action name",
+ "type": "string",
+ "example": "N8N Process Item"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWAIListOption": {
+ "title": "Bundle WAI List Option",
+ "required": [
+ "key",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Action key identifier",
+ "type": "string",
+ "example": "wai_configuration_graphql_n8n_export_data_object"
+ },
+ "name": {
+ "description": "Display name",
+ "type": "string",
+ "example": "Event"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWAISubscriberPatternResponse": {
+ "title": "Bundle WAI Subscriber Pattern Response",
+ "required": [
+ "pattern"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "pattern": {
+ "description": "Webhook subscriber URL regex validation pattern",
+ "type": "string",
+ "example": "/^https?:\\/\\//"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWebToPrintGenerateProcessData": {
+ "title": "Bundle Web To Print Generate Process Data",
+ "required": [
+ "active",
+ "downloadAvailable",
+ "date",
+ "message",
+ "statusUpdate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "active": {
+ "description": "Whether a PDF generation process is currently active",
+ "type": "boolean",
+ "example": true
+ },
+ "downloadAvailable": {
+ "description": "Whether the generated PDF is available for download",
+ "type": "boolean",
+ "example": false
+ },
+ "statusUpdate": {
+ "description": "Status update information",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Processing page 1 of 5",
+ "Rendering images"
+ ]
+ },
+ "date": {
+ "description": "Last generation date",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2025-11-05 14:30"
+ },
+ "message": {
+ "description": "Last generation message",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "PDF generation completed successfully"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWebToPrintProcessingOption": {
+ "title": "Bundle Web To Print Processing Option",
+ "required": [
+ "name",
+ "label",
+ "type",
+ "value",
+ "values"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Option name",
+ "type": "string",
+ "example": "dpi"
+ },
+ "label": {
+ "description": "Option label",
+ "type": "string",
+ "example": "dpi"
+ },
+ "type": {
+ "description": "Option type",
+ "type": "string",
+ "example": "select"
+ },
+ "value": {
+ "description": "Option value",
+ "example": "Some value",
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "values": {
+ "description": "Available option values",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "example": [
+ 72,
+ 150,
+ 300,
+ 600
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BundleWebToPrintSettings": {
+ "title": "Bundle Web To Print Settings",
+ "required": [
+ "generalTool",
+ "generalDocumentSaveMode",
+ "pdfreactorProtocol",
+ "pdfreactorServer",
+ "pdfreactorServerPort",
+ "pdfreactorBaseUrl",
+ "pdfreactorApiKey",
+ "pdfreactorLicence",
+ "pdfreactorEnableLenientHttpsMode",
+ "pdfreactorEnableDebugMode",
+ "gotenbergHostUrl",
+ "gotenbergSettings",
+ "chromiumHostUrl",
+ "chromiumSettings",
+ "requirements"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "generalTool": {
+ "description": "General PDF generation tool",
+ "type": "string",
+ "example": "pdfreactor"
+ },
+ "generalDocumentSaveMode": {
+ "description": "Document save mode",
+ "type": "string",
+ "example": "cleanup"
+ },
+ "pdfreactorProtocol": {
+ "description": "PDF Reactor protocol",
+ "type": "string",
+ "example": "https"
+ },
+ "pdfreactorServer": {
+ "description": "PDF Reactor server",
+ "type": "string",
+ "example": "cloud.pdfreactor.com"
+ },
+ "pdfreactorServerPort": {
+ "description": "PDF Reactor server port",
+ "type": "string",
+ "example": "443"
+ },
+ "pdfreactorBaseUrl": {
+ "description": "PDF Reactor base URL",
+ "type": "string",
+ "example": "https://demo.pimcore.com"
+ },
+ "pdfreactorApiKey": {
+ "description": "PDF Reactor API key",
+ "type": "string",
+ "example": ""
+ },
+ "pdfreactorLicence": {
+ "description": "PDF Reactor licence",
+ "type": "string",
+ "example": ""
+ },
+ "pdfreactorEnableLenientHttpsMode": {
+ "description": "Enable lenient HTTPS mode for PDF Reactor",
+ "type": "boolean",
+ "example": false
+ },
+ "pdfreactorEnableDebugMode": {
+ "description": "Enable debug mode for PDF Reactor",
+ "type": "boolean",
+ "example": false
+ },
+ "gotenbergHostUrl": {
+ "description": "Gotenberg host URL",
+ "type": "string",
+ "example": ""
+ },
+ "gotenbergSettings": {
+ "description": "Gotenberg settings",
+ "type": "string",
+ "example": ""
+ },
+ "chromiumHostUrl": {
+ "description": "Chromium host URL",
+ "type": "string",
+ "example": "http://nginx:80"
+ },
+ "chromiumSettings": {
+ "description": "Chromium settings",
+ "type": "string",
+ "example": ""
+ },
+ "requirements": {
+ "description": "Requirements information",
+ "type": "string",
+ "example": "Please make sure to install chrome-php/chrome via composer"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWebToPrintUpdateSettings": {
+ "title": "Bundle Web To Print Update Settings",
+ "required": [
+ "settings"
+ ],
+ "properties": {
+ "settings": {
+ "description": "Web to print settings configuration",
+ "type": "object",
+ "example": {
+ "generalTool": "pdfreactor",
+ "generalDocumentSaveMode": "cleanup",
+ "pdfreactorProtocol": "https",
+ "pdfreactorServer": "cloud.pdfreactor.com",
+ "pdfreactorServerPort": "443",
+ "pdfreactorBaseUrl": "https://demo.pimcore.com",
+ "pdfreactorApiKey": "",
+ "pdfreactorLicence": "",
+ "pdfreactorEnableLenientHttpsMode": false,
+ "pdfreactorEnableDebugMode": false,
+ "gotenbergHostUrl": "",
+ "gotenbergSettings": ""
+ }
+ }
+ },
+ "type": "object"
+ },
+ "CsvSettings": {
+ "title": "CSV Settings",
+ "required": [
+ "delimiter",
+ "quoteChar",
+ "escapeChar",
+ "lineTerminator"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "delimiter": {
+ "description": "Field delimiter character",
+ "type": "string",
+ "example": ";"
+ },
+ "quoteChar": {
+ "description": "Quote character for fields",
+ "type": "string",
+ "example": "\""
+ },
+ "escapeChar": {
+ "description": "Escape character",
+ "type": "string",
+ "example": "\\"
+ },
+ "lineTerminator": {
+ "description": "Line terminator character",
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ },
+ "ChangeMainDocument": {
+ "title": "Change Main Document",
+ "required": [
+ "mainDocumentPath"
+ ],
+ "properties": {
+ "mainDocumentPath": {
+ "description": "Main document path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/main/document"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateTagParameters": {
+ "title": "Change Tag Parameters",
+ "description": "Parameters for changing a tag",
+ "properties": {
+ "parentId": {
+ "description": "Parent id",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 0
+ },
+ "name": {
+ "description": "Tag name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "tag 1"
+ }
+ },
+ "type": "object"
+ },
+ "CheckPrettyUrl": {
+ "title": "Check Pretty URL",
+ "required": [
+ "prettyUrl"
+ ],
+ "properties": {
+ "prettyUrl": {
+ "description": "Pretty URL to check",
+ "type": "string",
+ "example": "/my-pretty-url"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionIdentifierData": {
+ "title": "Class Definition Identifier Data",
+ "required": [
+ "suggestedId",
+ "existingIds"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "suggestedId": {
+ "description": "Suggested unique ID for the new class definition",
+ "type": "string",
+ "example": "AP"
+ },
+ "existingIds": {
+ "description": "Array of existing class definition IDs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "AP",
+ "CP",
+ "MP"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionList": {
+ "title": "Class Definition List Item",
+ "required": [
+ "id",
+ "name",
+ "title",
+ "icon",
+ "group"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of class definition",
+ "type": "string",
+ "example": "AP"
+ },
+ "name": {
+ "description": "Name of class definition",
+ "type": "string",
+ "example": "AccessoryPart"
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "Accessory Part"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionObjectBrickData": {
+ "title": "Class Definition Object Brick Data",
+ "required": [
+ "key",
+ "fieldName"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of the object brick",
+ "type": "string",
+ "example": "SaleInformation"
+ },
+ "fieldName": {
+ "description": "Name of class definition field",
+ "type": "string",
+ "example": "saleInformation"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionTreeNodeFolder": {
+ "title": "Class Definition Tree Node Folder",
+ "required": [
+ "children"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ClassDefinitionList"
+ },
+ {
+ "properties": {
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClassDefinitionTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ClassDefinitionTreeNode": {
+ "title": "Class Definition Tree Node Item",
+ "required": [
+ "enableGridLocking",
+ "hasBrickField"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ClassDefinitionList"
+ },
+ {
+ "properties": {
+ "enableGridLocking": {
+ "description": "Enable grid locking",
+ "type": "boolean",
+ "example": false
+ },
+ "hasBrickField": {
+ "description": "Has brick field",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "AvailableVisibleField": {
+ "title": "Class definition Visible Field",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Field key",
+ "type": "string",
+ "example": "id"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionFolderItem": {
+ "title": "Class in data object folder",
+ "required": [
+ "id",
+ "name",
+ "inheritance"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of class",
+ "type": "string",
+ "example": "NE"
+ },
+ "name": {
+ "description": "Name of class",
+ "type": "string",
+ "example": "News"
+ },
+ "inheritance": {
+ "description": "Inheritance allowed",
+ "type": "boolean",
+ "example": "true"
+ }
+ },
+ "type": "object"
+ },
+ "ClassLayoutCompact": {
+ "title": "Class layout data in compact format to be used for e.g. listing in workspaces",
+ "required": [
+ "id",
+ "name",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of layout",
+ "type": "string",
+ "example": "CAR_0"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Car"
+ },
+ "type": {
+ "description": "Whether it is the default layout",
+ "type": "string",
+ "example": "main"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinition": {
+ "title": "ClassDefinition",
+ "required": [
+ "id",
+ "name",
+ "title",
+ "description",
+ "creationDate",
+ "modificationDate",
+ "userOwner",
+ "parentClass",
+ "implementsInterfaces",
+ "listingParentClass",
+ "useTraits",
+ "listingUseTraits",
+ "encryption",
+ "allowInherit",
+ "allowVariants",
+ "showVariants",
+ "icon",
+ "group",
+ "showAppLoggerTab",
+ "linkGeneratorReference",
+ "previewGeneratorReference",
+ "compositeIndices",
+ "showFieldLookup",
+ "propertyVisibility",
+ "enableGridLocking",
+ "blockedVarsForExport",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of class definition",
+ "type": "string",
+ "example": "AP"
+ },
+ "name": {
+ "description": "Name of class definition",
+ "type": "string",
+ "example": "AccessoryPart"
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "Accessory Part"
+ },
+ "description": {
+ "description": "Description",
+ "type": "string",
+ "example": "This class represents an accessory part"
+ },
+ "creationDate": {
+ "description": "Creation date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1700000000
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1700000000
+ },
+ "userOwner": {
+ "description": "User id of owner",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "parentClass": {
+ "description": "Namespace of parent class",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\AccessoryPart"
+ },
+ "implementsInterfaces": {
+ "description": "Interface implementations",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\Interface"
+ },
+ "listingParentClass": {
+ "description": "List of parent class",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\Listing"
+ },
+ "useTraits": {
+ "description": "Traits usage",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\Trait"
+ },
+ "listingUseTraits": {
+ "description": "Traits usage listing",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\ListingTrait"
+ },
+ "encryption": {
+ "description": "Whether encryption is ued",
+ "type": "boolean",
+ "example": true
+ },
+ "allowInherit": {
+ "description": "Whether inheritance is allowed",
+ "type": "boolean",
+ "example": true
+ },
+ "allowVariants": {
+ "description": "Whether variants are allowed",
+ "type": "boolean",
+ "example": true
+ },
+ "showVariants": {
+ "description": "Whether variants are visible in the tree",
+ "type": "boolean",
+ "example": true
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "showAppLoggerTab": {
+ "description": "Show application logger tab",
+ "type": "boolean",
+ "example": true
+ },
+ "linkGeneratorReference": {
+ "description": "Namespace of link generator",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\LinkGenerator"
+ },
+ "previewGeneratorReference": {
+ "description": "Namespace of preview generator",
+ "type": "string",
+ "example": "App\\Model\\DataObject\\PreviewGenerator"
+ },
+ "compositeIndices": {
+ "description": "Composite indices",
+ "type": "object",
+ "example": []
+ },
+ "showFieldLookup": {
+ "description": "Show field lookup",
+ "type": "boolean",
+ "example": true
+ },
+ "propertyVisibility": {
+ "description": "Visibility of properties for grid, search, ...",
+ "type": "object",
+ "example": []
+ },
+ "enableGridLocking": {
+ "description": "Whether grid locking is enabled",
+ "type": "boolean",
+ "example": true
+ },
+ "blockedVarsForExport": {
+ "description": "Blocked variables for export",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": []
+ },
+ "isWriteable": {
+ "description": "Whether the class definition can be written to",
+ "type": "boolean",
+ "example": true
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ }
+ },
+ "type": "object"
+ },
+ "Collection": {
+ "title": "Classification Store Collection",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "groups"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "value"
+ },
+ "description": {
+ "description": "Description",
+ "type": "string",
+ "example": "value"
+ },
+ "groups": {
+ "description": "List of Group IDs in collection",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "KeyLayout": {
+ "title": "Classification Store Collection",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "definition"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "value"
+ },
+ "description": {
+ "description": "Description",
+ "type": "string",
+ "example": "value"
+ },
+ "definition": {
+ "description": "Layout Definition",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreStoreConfig": {
+ "title": "Classification Store Configuration",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "value"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionCreate": {
+ "title": "Classification Store Configuration Collection Create",
+ "required": [
+ "name",
+ "storeId"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the collection",
+ "type": "string",
+ "example": "My Collection"
+ },
+ "storeId": {
+ "description": "ID of the store this collection belongs to",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionDetail": {
+ "title": "Classification Store Configuration Collection Detail",
+ "required": [
+ "id",
+ "name",
+ "storeId",
+ "description",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the collection",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name of the collection",
+ "type": "string",
+ "example": "My Collection"
+ },
+ "storeId": {
+ "description": "ID of the store this collection belongs to",
+ "type": "integer",
+ "example": 1
+ },
+ "description": {
+ "description": "Description of the collection",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Collection description"
+ },
+ "creationDate": {
+ "description": "Creation date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ },
+ "modificationDate": {
+ "description": "Modification date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionRelationCreate": {
+ "title": "Classification Store Configuration Collection Relation Create",
+ "required": [
+ "colId",
+ "groupId",
+ "sorter"
+ ],
+ "properties": {
+ "colId": {
+ "description": "ID of the collection",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ },
+ "sorter": {
+ "description": "Sort order of the relation",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionRelationDelete": {
+ "title": "Classification Store Configuration Collection Relation Delete",
+ "required": [
+ "colId",
+ "groupId"
+ ],
+ "properties": {
+ "colId": {
+ "description": "ID of the collection",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionRelationDetail": {
+ "title": "Classification Store Configuration Collection Relation Detail",
+ "required": [
+ "id",
+ "colId",
+ "groupId",
+ "sorter",
+ "groupName",
+ "groupDescription"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the relation",
+ "type": "string",
+ "example": "1-1"
+ },
+ "colId": {
+ "description": "ID of the collection",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ },
+ "sorter": {
+ "description": "Sort order of the relation",
+ "type": "integer",
+ "example": 0
+ },
+ "groupName": {
+ "description": "Name of the group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Group"
+ },
+ "groupDescription": {
+ "description": "Description of the group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Group description"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationCollectionUpdate": {
+ "title": "Classification Store Configuration Collection Update",
+ "required": [
+ "name",
+ "description"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the collection",
+ "type": "string",
+ "example": "My Collection"
+ },
+ "description": {
+ "description": "Description of the collection",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Collection description"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationGetPageResponse": {
+ "title": "Classification Store Configuration Get Page Response",
+ "required": [
+ "page"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "page": {
+ "description": "Page number where the item is located",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationGroupCreate": {
+ "title": "Classification Store Configuration Group Create",
+ "required": [
+ "name",
+ "storeId"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the group",
+ "type": "string",
+ "example": "My Group"
+ },
+ "storeId": {
+ "description": "ID of the store this group belongs to",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationGroupDetail": {
+ "title": "Classification Store Configuration Group Detail",
+ "required": [
+ "id",
+ "name",
+ "storeId",
+ "description",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name of the group",
+ "type": "string",
+ "example": "My Group"
+ },
+ "storeId": {
+ "description": "ID of the store this group belongs to",
+ "type": "integer",
+ "example": 1
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Group description"
+ },
+ "creationDate": {
+ "description": "Creation date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ },
+ "modificationDate": {
+ "description": "Modification date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationGroupUpdate": {
+ "title": "Classification Store Configuration Group Update",
+ "required": [
+ "name",
+ "description"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the group",
+ "type": "string",
+ "example": "My Group"
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Group description"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyCreate": {
+ "title": "Classification Store Configuration Key Create",
+ "required": [
+ "name",
+ "storeId"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the key",
+ "type": "string",
+ "example": "My Key"
+ },
+ "storeId": {
+ "description": "ID of the store this key belongs to",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyDetail": {
+ "title": "Classification Store Configuration Key Detail",
+ "required": [
+ "id",
+ "name",
+ "storeId",
+ "type",
+ "enabled",
+ "description",
+ "definition",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the key",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name of the key",
+ "type": "string",
+ "example": "My Key"
+ },
+ "storeId": {
+ "description": "ID of the store this key belongs to",
+ "type": "integer",
+ "example": 1
+ },
+ "type": {
+ "description": "Data type of the key",
+ "type": "string",
+ "example": "input"
+ },
+ "enabled": {
+ "description": "Whether the key is enabled",
+ "type": "boolean",
+ "example": true
+ },
+ "description": {
+ "description": "Description of the key",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Key description"
+ },
+ "definition": {
+ "description": "Definition of the key",
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "creationDate": {
+ "description": "Creation date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ },
+ "modificationDate": {
+ "description": "Modification date as Unix timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1734567890
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyGroupRelationCreate": {
+ "title": "Classification Store Configuration Key Group Relation Create",
+ "required": [
+ "keyId",
+ "groupId",
+ "sorter",
+ "mandatory"
+ ],
+ "properties": {
+ "keyId": {
+ "description": "ID of the key",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ },
+ "sorter": {
+ "description": "Sort order of the relation",
+ "type": "integer",
+ "example": 0
+ },
+ "mandatory": {
+ "description": "Whether the key is mandatory in this group",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyGroupRelationDelete": {
+ "title": "Classification Store Configuration Key Group Relation Delete",
+ "required": [
+ "keyId",
+ "groupId"
+ ],
+ "properties": {
+ "keyId": {
+ "description": "ID of the key",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyGroupRelationDetail": {
+ "title": "Classification Store Configuration Key Group Relation Detail",
+ "required": [
+ "keyId",
+ "groupId",
+ "sorter",
+ "mandatory",
+ "keyName",
+ "keyDescription",
+ "groupName"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "keyId": {
+ "description": "ID of the key",
+ "type": "integer",
+ "example": 1
+ },
+ "groupId": {
+ "description": "ID of the group",
+ "type": "integer",
+ "example": 1
+ },
+ "sorter": {
+ "description": "Sort order of the relation",
+ "type": "integer",
+ "example": 0
+ },
+ "mandatory": {
+ "description": "Whether the key is mandatory in this group",
+ "type": "boolean",
+ "example": false
+ },
+ "keyName": {
+ "description": "Name of the key",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Key"
+ },
+ "keyDescription": {
+ "description": "Description of the key",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Key description"
+ },
+ "groupName": {
+ "description": "Name of the group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Group"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationKeyUpdate": {
+ "title": "Classification Store Configuration Key Update",
+ "required": [
+ "name",
+ "title",
+ "description",
+ "type",
+ "definition"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the key",
+ "type": "string",
+ "example": "My Key"
+ },
+ "title": {
+ "description": "Title of the key",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Key Title"
+ },
+ "description": {
+ "description": "Description of the key",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Key description"
+ },
+ "type": {
+ "description": "Data type of the key (e.g. input, textarea, select)",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "input"
+ },
+ "definition": {
+ "description": "Values for object brick definition metadata",
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": {
+ "name": "weight",
+ "datatype": "data",
+ "fieldtype": "quantityValue",
+ "title": "Weight",
+ "tooltip": "",
+ "mandatory": false,
+ "index": false,
+ "noteditable": false,
+ "invisible": false,
+ "visibleGridView": false,
+ "visibleSearch": false,
+ "style": "",
+ "width": "",
+ "unitWidth": "",
+ "defaultValue": null,
+ "defaultUnit": null,
+ "defaultValueGenerator": "",
+ "validUnits": [
+ "kg"
+ ],
+ "autoConvert": false,
+ "decimalSize": null,
+ "decimalPrecision": null,
+ "integer": false,
+ "unsigned": false,
+ "minValue": null,
+ "maxValue": null,
+ "displayfield-1596-inputEl": "The width of this component."
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationStoreCreate": {
+ "title": "Classification Store Configuration Store Create",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the store",
+ "type": "string",
+ "example": "My Store"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationStoreDetail": {
+ "title": "Classification Store Configuration Store Detail",
+ "required": [
+ "id",
+ "name",
+ "description"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the store",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name of the store",
+ "type": "string",
+ "example": "My Store"
+ },
+ "description": {
+ "description": "Description of the store",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Store description"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationStoreTreeNode": {
+ "title": "Classification Store Configuration Store Tree Node",
+ "required": [
+ "id",
+ "name",
+ "description"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the store",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name of the store",
+ "type": "string",
+ "example": "My Store"
+ },
+ "description": {
+ "description": "Description of the store",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Store description"
+ }
+ },
+ "type": "object"
+ },
+ "ClassificationStoreConfigurationStoreUpdate": {
+ "title": "Classification Store Configuration Store Update",
+ "required": [
+ "name",
+ "description"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the store",
+ "type": "string",
+ "example": "My Store"
+ },
+ "description": {
+ "description": "Description of the store",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Store description"
+ }
+ },
+ "type": "object"
+ },
+ "Group": {
+ "title": "Classification Store Group",
+ "required": [
+ "id",
+ "name",
+ "description"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "value"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "value"
+ }
+ },
+ "type": "object"
+ },
+ "CollectionLayout": {
+ "title": "Classification Store Group Layout",
+ "required": [
+ "groups"
+ ],
+ "properties": {
+ "groups": {
+ "description": "Groups",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GroupLayout"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "GroupLayout": {
+ "title": "Classification Store Group Layout",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "keys"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "value"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "value"
+ },
+ "keys": {
+ "description": "Description",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyLayout"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "KeyGroupRelation": {
+ "title": "Classification Store KeyGroupRelation",
+ "required": [
+ "keyId",
+ "groupId",
+ "keyName",
+ "groupName",
+ "keyDescription",
+ "groupDescription"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "keyId": {
+ "description": "Key ID",
+ "type": "integer",
+ "example": 42
+ },
+ "groupId": {
+ "description": "Group ID",
+ "type": "integer",
+ "example": 42
+ },
+ "keyName": {
+ "description": "Key Name",
+ "type": "string",
+ "example": "value"
+ },
+ "groupName": {
+ "description": "Group Name",
+ "type": "string",
+ "example": "value"
+ },
+ "keyDescription": {
+ "description": "Key Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "value"
+ },
+ "groupDescription": {
+ "description": "Key Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "value"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceCleanupReservationsParameters": {
+ "title": "Cleanup Reservations Parameters",
+ "required": [
+ "duration"
+ ],
+ "properties": {
+ "duration": {
+ "description": "Clean up reservations older than this many minutes",
+ "type": "integer",
+ "example": 5
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceCleanupTokensParameters": {
+ "title": "Cleanup Tokens Parameters",
+ "required": [
+ "usage"
+ ],
+ "properties": {
+ "usage": {
+ "description": "Token usage filter: used, unused, or both",
+ "type": "string",
+ "example": "used"
+ },
+ "olderThan": {
+ "description": "Optional date filter to only clean up tokens older than this date (Y-m-d)",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2024-01-01"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnSchema": {
+ "title": "Column",
+ "required": [
+ "key",
+ "locale",
+ "group"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the Column",
+ "type": "string",
+ "example": "id"
+ },
+ "locale": {
+ "description": "Locale of the Column",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "de"
+ },
+ "group": {
+ "description": "Define the group structure",
+ "type": "object",
+ "example": [
+ "system"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ConfigLayoutDefinition": {
+ "title": "Config Layout Definition",
+ "required": [
+ "name",
+ "type",
+ "region",
+ "title",
+ "width",
+ "height",
+ "collapsible",
+ "collapsed",
+ "bodyStyle",
+ "datatype",
+ "children",
+ "locked",
+ "fieldtype",
+ "layout",
+ "border",
+ "icon",
+ "labelWidth",
+ "labelAlign"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "region": {
+ "description": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "width": {
+ "description": "Width",
+ "type": "integer",
+ "example": 0
+ },
+ "height": {
+ "description": "Height",
+ "type": "integer",
+ "example": 0
+ },
+ "collapsible": {
+ "description": "Collapsible",
+ "type": "boolean",
+ "example": false
+ },
+ "collapsed": {
+ "description": "Collapsed",
+ "type": "boolean",
+ "example": false
+ },
+ "bodyStyle": {
+ "description": "Body Style",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "datatype": {
+ "description": "Data Type",
+ "type": "string",
+ "example": "layout"
+ },
+ "children": {
+ "description": "Children",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": []
+ },
+ "locked": {
+ "description": "Locked",
+ "type": "boolean",
+ "example": false
+ },
+ "fieldtype": {
+ "description": "Field Type",
+ "type": "string",
+ "example": "panel"
+ },
+ "layout": {
+ "description": "Layout",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "border": {
+ "description": "Border",
+ "type": "boolean",
+ "example": false
+ },
+ "icon": {
+ "description": "Icon",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "labelWidth": {
+ "description": "Label Width",
+ "type": "integer",
+ "example": 100
+ },
+ "labelAlign": {
+ "description": "Label Align",
+ "type": "string",
+ "example": "left"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertedQuantityValue": {
+ "title": "Converted quantity values",
+ "required": [
+ "unitAbbreviation",
+ "unitLongName",
+ "convertedValue"
+ ],
+ "properties": {
+ "unitAbbreviation": {
+ "description": "Unit Abbreviation",
+ "type": "string",
+ "example": "m"
+ },
+ "unitLongName": {
+ "description": "Unit Long Name",
+ "type": "string",
+ "example": "Meter"
+ },
+ "convertedValue": {
+ "description": "Converted Values",
+ "type": "number",
+ "format": "float",
+ "example": 160
+ }
+ },
+ "type": "object"
+ },
+ "ConvertedQuantityValues": {
+ "title": "Converted quantity values",
+ "required": [
+ "originalValue",
+ "fromUnitId",
+ "convertedValues"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "originalValue": {
+ "description": "Original Value",
+ "example": 5,
+ "anyOf": [
+ {
+ "type": "float"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "fromUnitId": {
+ "description": "From Unit Id",
+ "type": "string",
+ "example": "m"
+ },
+ "convertedValues": {
+ "description": "Converted Values",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConvertedQuantityValue"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "SaveElementTreeWidgetConfig": {
+ "title": "Create Element Tree Widget Config",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "contextPermissions",
+ "elementType",
+ "rootFolder",
+ "showRoot",
+ "classes",
+ "pql",
+ "pageSize"
+ ],
+ "properties": {
+ "id": {
+ "description": "Widget ID",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Cars"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "contextPermissions": {
+ "description": "Context Permissions",
+ "type": "object",
+ "example": {
+ "add": true,
+ "addFolder": true,
+ "changeChildrenSortBy": true,
+ "copy": true,
+ "cut": true,
+ "delete": true,
+ "lock": true,
+ "lockAndPropagate": true,
+ "paste": true,
+ "publish": true,
+ "refresh": true,
+ "rename": true,
+ "searchAndMove": true,
+ "unlock": true,
+ "unlockAndPropagate": true,
+ "unpublish": true
+ }
+ },
+ "elementType": {
+ "description": "Element Type",
+ "type": "string",
+ "example": "data-object"
+ },
+ "rootFolder": {
+ "description": "Root Folder",
+ "type": "string",
+ "example": "/Product Data/Cars"
+ },
+ "showRoot": {
+ "description": "Show Root",
+ "type": "boolean",
+ "example": false
+ },
+ "classes": {
+ "description": "Classes",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "pql": {
+ "description": "PQL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "pageSize": {
+ "description": "Page size",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 20
+ }
+ },
+ "type": "object"
+ },
+ "CreateNotificationsWidgetConfig": {
+ "title": "Create Notifications Widget Config",
+ "required": [
+ "page",
+ "pageSize",
+ "dateFilterValue",
+ "dateFilterOperator",
+ "senderFilter",
+ "typeFilter",
+ "onlyUnread"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/CreateWidgetConfig"
+ },
+ {
+ "properties": {
+ "page": {
+ "description": "Page",
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "description": "Page Size",
+ "type": "integer",
+ "example": 1
+ },
+ "dateFilterValue": {
+ "description": "Date Filter Value",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "08/20/2024"
+ },
+ "dateFilterOperator": {
+ "description": "Date Filter Operator",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "on"
+ },
+ "senderFilter": {
+ "description": "Sender Filter",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 20
+ },
+ "typeFilter": {
+ "description": "Type Filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "info"
+ },
+ "onlyUnread": {
+ "description": "Filter Only Unread Notifications",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "SavePerspectiveConfig": {
+ "title": "Create Perspective Config",
+ "required": [
+ "icon",
+ "contextPermissions",
+ "widgetsLeft",
+ "widgetsRight",
+ "widgetsBottom",
+ "expandedLeft",
+ "expandedRight"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AddPerspectiveConfig"
+ },
+ {
+ "properties": {
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "contextPermissions": {
+ "description": "Context Permissions",
+ "type": "object"
+ },
+ "widgetsLeft": {
+ "description": "Widgets Left",
+ "type": "object",
+ "example": {
+ "widget_id": "widget_type"
+ }
+ },
+ "widgetsRight": {
+ "description": "Widgets Right",
+ "type": "object",
+ "example": {
+ "widget_id": "widget_type"
+ }
+ },
+ "widgetsBottom": {
+ "description": "Widgets Bottom",
+ "type": "object",
+ "example": {
+ "widget_id": "widget_type"
+ }
+ },
+ "expandedLeft": {
+ "description": "Left Expanded Widget",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "widget_id"
+ },
+ "expandedRight": {
+ "description": "Right Expanded Widget",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "widget_id"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "CreatePredefinedMetadata": {
+ "title": "Create Predefined Metadata",
+ "required": [
+ "name",
+ "type",
+ "description",
+ "targetSubType",
+ "data",
+ "config",
+ "language",
+ "group"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "New Definition"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "A predefined metadata"
+ },
+ "targetSubType": {
+ "description": "Target sub type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "image"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ },
+ "config": {
+ "description": "Config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "config"
+ },
+ "language": {
+ "description": "Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "group"
+ }
+ },
+ "type": "object"
+ },
+ "CreateRecentlyModifiedWidgetConfig": {
+ "title": "Create Recently Modified Widget Config",
+ "required": [
+ "elementType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/CreateWidgetConfig"
+ },
+ {
+ "properties": {
+ "elementType": {
+ "description": "Element Type",
+ "type": "string",
+ "example": "asset"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "CreateTagParameters": {
+ "title": "Create Tag Parameters",
+ "description": "Parameters for creating a new tag",
+ "properties": {
+ "parentId": {
+ "description": "Parent id",
+ "type": "integer",
+ "example": 0
+ },
+ "name": {
+ "description": "Tag name",
+ "type": "string",
+ "example": "tag 1"
+ }
+ },
+ "type": "object"
+ },
+ "CreateThumbnailConfig": {
+ "title": "Create Thumbnail Config",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Thumbnail configuration name",
+ "type": "string",
+ "example": "my-thumbnail"
+ }
+ },
+ "type": "object"
+ },
+ "CreateUnitParameters": {
+ "title": "Create Unit Parameters",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "Unique unit ID",
+ "type": "string",
+ "example": "mm"
+ },
+ "abbreviation": {
+ "description": "Abbreviation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "mm"
+ },
+ "longname": {
+ "description": "Long name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Millimeter"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Length"
+ },
+ "baseunit": {
+ "description": "Base unit ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "m"
+ },
+ "factor": {
+ "description": "Conversion factor",
+ "type": [
+ "number",
+ "null"
+ ],
+ "example": 0.001
+ },
+ "conversionOffset": {
+ "description": "Conversion offset",
+ "type": [
+ "number",
+ "null"
+ ],
+ "example": null
+ },
+ "converter": {
+ "description": "Converter service class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "reference": {
+ "description": "Reference",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "CreateWidgetConfig": {
+ "title": "Create Widget Config",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "color",
+ "visualization"
+ ],
+ "properties": {
+ "id": {
+ "description": "Widget ID",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Widget"
+ },
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Icon"
+ },
+ "color": {
+ "description": "Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "visualization": {
+ "description": "Visualization",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "table"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerCreateWorkflow": {
+ "title": "Create Workflow Request",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Display label for the new workflow",
+ "type": "string",
+ "example": "My Workflow"
+ }
+ },
+ "type": "object"
+ },
+ "CreateWysiwygWidgetConfig": {
+ "title": "Create Wysiwyg Widget Config",
+ "required": [
+ "wysiwyg"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/CreateWidgetConfig"
+ },
+ {
+ "properties": {
+ "wysiwyg": {
+ "description": "Wysiwyg Content",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Hello World
"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "CreateNote": {
+ "title": "CreateNote",
+ "required": [
+ "title",
+ "description",
+ "type"
+ ],
+ "properties": {
+ "title": {
+ "description": "title",
+ "type": "string",
+ "example": "Title of note"
+ },
+ "description": {
+ "description": "description",
+ "type": "string",
+ "example": "Description of note"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "Type of note"
+ }
+ },
+ "type": "object"
+ },
+ "Credentials": {
+ "title": "Credentials",
+ "description": "Credentials for authentication",
+ "required": [
+ "username",
+ "password"
+ ],
+ "properties": {
+ "username": {
+ "description": "Username",
+ "type": "string",
+ "example": "shaquille.oatmeal"
+ },
+ "password": {
+ "description": "Password",
+ "type": "string",
+ "example": "*****"
+ }
+ },
+ "type": "object"
+ },
+ "CustomLayoutIdentifierData": {
+ "title": "Custom Layout Identifier Data",
+ "required": [
+ "suggestedId",
+ "existingIds",
+ "existingNames"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "suggestedId": {
+ "description": "Suggested unique ID for custom layout",
+ "type": "string",
+ "example": "custom_layout_1"
+ },
+ "existingIds": {
+ "description": "Array of existing custom layout IDs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "custom_layout_1",
+ "custom_layout_2",
+ "custom_layout_3"
+ ]
+ },
+ "existingNames": {
+ "description": "Array of existing custom layout names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Custom Layout 1",
+ "Custom Layout 2",
+ "Custom Layout 3"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "CustomLayout": {
+ "title": "Custom layouts",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "creationDate",
+ "modificationDate",
+ "userOwner",
+ "classId",
+ "default",
+ "layoutDefinition"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of custom layout",
+ "type": "string",
+ "example": "custom_layout_1"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Custom Layout 1"
+ },
+ "description": {
+ "description": "Description",
+ "type": "string",
+ "example": "This is a custom layout"
+ },
+ "creationDate": {
+ "description": "Creation date timestamp",
+ "type": "integer",
+ "example": 1633036800
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": "integer",
+ "example": 1633036800
+ },
+ "userOwner": {
+ "description": "User id of owner",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "classId": {
+ "description": "Class id",
+ "type": "string",
+ "example": "Product"
+ },
+ "default": {
+ "description": "Whether it is the default layout",
+ "type": "boolean",
+ "example": false
+ },
+ "layoutDefinition": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/Layout",
+ "description": "Layout definitions"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Layout definitions",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "CustomLayoutCompact": {
+ "title": "Custom layouts in compact format to be used for e.g. listings",
+ "required": [
+ "id",
+ "name",
+ "default"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of custom layout",
+ "type": "string",
+ "example": "custom_layout_1"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Custom Layout 1"
+ },
+ "default": {
+ "description": "Whether it is the default layout",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "CustomAttributes": {
+ "title": "CustomAttributes",
+ "description": "Custom attributes used mainly for the tree",
+ "required": [
+ "icon",
+ "tooltip",
+ "additionalIcons",
+ "key",
+ "additionalCssClasses"
+ ],
+ "properties": {
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Custom Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Custom Icon"
+ },
+ "tooltip": {
+ "description": "Custom Tooltip",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Tooltip "
+ },
+ "additionalIcons": {
+ "description": "AdditionalIcons",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "some_other_icon"
+ }
+ },
+ "key": {
+ "description": "Custom Key/Filename",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "my_custom_key"
+ },
+ "additionalCssClasses": {
+ "description": "Additional Css Classes",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "my_custom_class"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "CustomMetadata": {
+ "title": "CustomMetadata",
+ "required": [
+ "name",
+ "language",
+ "type",
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ }
+ },
+ "type": "object"
+ },
+ "CustomMetadataVersion": {
+ "title": "CustomMetadataVersion",
+ "required": [
+ "name",
+ "type",
+ "data"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "language": {
+ "description": "Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "data"
+ }
+ },
+ "type": "object"
+ },
+ "CustomSettings": {
+ "title": "CustomSettings",
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "fixedCustomSettings": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FixedCustomSettings",
+ "description": "fixed custom settings"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "fixed custom settings",
+ "example": "{ embeddedMetadata: { FileSize: 360 KiB }, checksum: b3685e8348e7ac4d30d0268f7e58902a }"
+ },
+ "dynamicCustomSettings": {
+ "description": "dynamic custom settings - can be any key-value pair",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{ imageWidth: 1280 }, { imageHeight: 720 }]"
+ }
+ },
+ "type": "object"
+ },
+ "DashboardConfiguration": {
+ "title": "Dashboard Configuration",
+ "required": [
+ "id",
+ "name",
+ "rows",
+ "ownerId",
+ "ownerUsername",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Unique identifier for the dashboard",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name of the dashboard",
+ "type": "string",
+ "example": "My Dashboard"
+ },
+ "ownerId": {
+ "description": "ID of the owner of the dashboard",
+ "type": "integer",
+ "example": 1
+ },
+ "ownerUsername": {
+ "description": "Username of the owner of the dashboard",
+ "type": "string",
+ "example": "john_doe"
+ },
+ "rows": {
+ "description": "Number of rows in the dashboard",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LayoutOption"
+ }
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "shareGlobally": {
+ "description": "If Dashboard is shared globally",
+ "type": "boolean",
+ "example": true
+ },
+ "sharedUserNames": {
+ "description": "List of names the Dashboard is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "jane_doe",
+ "max_mustermann"
+ ]
+ },
+ "sharedRoleNames": {
+ "description": "List of roles the Dashboard is shared with",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "jane_doe",
+ "max_mustermann"
+ ]
+ },
+ "menuShortcutGroup": {
+ "description": "Name of the group in the Menu",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Dashboard"
+ }
+ },
+ "type": "object"
+ },
+ "DashboardsWidgetConfig": {
+ "title": "Dashboards Widget Config",
+ "required": [
+ "id",
+ "name",
+ "widgetType",
+ "icon",
+ "visualization"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Widget ID",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Cars"
+ },
+ "widgetType": {
+ "description": "Widget Type",
+ "type": "string",
+ "example": "wysiwyg"
+ },
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Icon"
+ },
+ "visualization": {
+ "description": "Visualization",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "table"
+ }
+ },
+ "type": "object"
+ },
+ "DashboardsWidgetConfigConfiguration": {
+ "title": "Dashboards Widget Config Configuration",
+ "required": [
+ "name",
+ "options"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the configuration",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "elementType"
+ },
+ "options": {
+ "description": "Configuration options",
+ "type": "object",
+ "example": [
+ "asset"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "DashboardsWidgetType": {
+ "title": "Dashboards Widget Type",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "last_changes"
+ }
+ },
+ "type": "object"
+ },
+ "CloneParameters": {
+ "title": "Data Object Clone Parameters",
+ "required": [
+ "recursive",
+ "updateReferences"
+ ],
+ "properties": {
+ "recursive": {
+ "description": "Recursive",
+ "type": "boolean",
+ "example": false
+ },
+ "updateReferences": {
+ "description": "Update References",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "DataObjectFolder": {
+ "title": "Data Object Folder",
+ "required": [
+ "hasWorkflowAvailable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "properties": {
+ "hasWorkflowAvailable": {
+ "description": "Has workflow available",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DataObjectPermissions": {
+ "title": "Data Object Permissions",
+ "required": [
+ "save",
+ "unpublish",
+ "localizedEdit",
+ "localizedView"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Permissions"
+ },
+ {
+ "properties": {
+ "save": {
+ "description": "Save",
+ "type": "boolean",
+ "example": true
+ },
+ "unpublish": {
+ "description": "Unpublish",
+ "type": "boolean",
+ "example": true
+ },
+ "localizedEdit": {
+ "description": "Localized Edit",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "default"
+ },
+ "localizedView": {
+ "description": "Localized View",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "default"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "PreviewParameter": {
+ "title": "Data Object Preview Parameters",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "site": {
+ "description": "Site",
+ "type": "integer",
+ "default": 0,
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "DataObjectDetail": {
+ "title": "Data object with detail data",
+ "required": [
+ "objectData",
+ "inheritanceData",
+ "draftData",
+ "allowInheritance",
+ "showVariants",
+ "hasPreview",
+ "hasWorkflowAvailable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DataObject"
+ },
+ {
+ "properties": {
+ "showVariants": {
+ "description": "Show variants",
+ "type": "boolean",
+ "example": false
+ },
+ "allowInheritance": {
+ "description": "Inheritance allowed",
+ "type": "boolean",
+ "example": false
+ },
+ "hasPreview": {
+ "description": "Has preview",
+ "type": "boolean",
+ "example": false
+ },
+ "hasWorkflowAvailable": {
+ "description": "Has workflow available",
+ "type": "boolean",
+ "example": false
+ },
+ "objectData": {
+ "description": "Detail object data",
+ "type": "object",
+ "example": {
+ "fieldKey": "field value"
+ }
+ },
+ "inheritanceData": {
+ "description": "Inheritance object data",
+ "type": "object",
+ "example": {
+ "fieldKey": []
+ }
+ },
+ "draftData": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/DataObjectDraftData"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DataObject": {
+ "title": "DataObject",
+ "required": [
+ "key",
+ "className",
+ "type",
+ "published",
+ "hasChildren",
+ "hasWorkflowWithPermissions",
+ "fullPath",
+ "customAttributes",
+ "permissions",
+ "index",
+ "childrenSortBy",
+ "childrenSortOrder",
+ "allowVariants"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Element"
+ },
+ {
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "Giulietta"
+ },
+ "className": {
+ "description": "Class name",
+ "type": "string",
+ "example": "car"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "image"
+ },
+ "published": {
+ "description": "Published",
+ "type": "boolean",
+ "example": false
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "type": "boolean",
+ "example": false
+ },
+ "hasWorkflowWithPermissions": {
+ "description": "Workflow permissions",
+ "type": "boolean",
+ "example": false
+ },
+ "fullPath": {
+ "description": "Full path",
+ "type": "string",
+ "example": "/path/to/dataObject"
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/DataObjectPermissions"
+ },
+ "index": {
+ "description": "Custom index",
+ "type": "integer",
+ "example": 0
+ },
+ "childrenSortBy": {
+ "description": "Sort mode of children",
+ "type": "string",
+ "example": "index"
+ },
+ "childrenSortOrder": {
+ "description": "Sort order of children",
+ "type": "string",
+ "example": "asc"
+ },
+ "allowVariants": {
+ "description": "Allow variants",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DataObjectAddParameters": {
+ "title": "DataObjectAdd",
+ "required": [
+ "key",
+ "classId",
+ "type"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "my_new_data_object"
+ },
+ "classId": {
+ "description": "Class Id",
+ "type": "string",
+ "example": "data_object_class_id"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "enum": [
+ "object",
+ "variant"
+ ],
+ "example": "object"
+ }
+ },
+ "type": "object"
+ },
+ "DataObjectDraftData": {
+ "title": "DataObjectDraftData",
+ "required": [
+ "id",
+ "modificationDate",
+ "isAutoSave"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "isAutoSave": {
+ "description": "Is auto save",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "DataObjectVersion": {
+ "title": "DataObjectVersion",
+ "required": [
+ "allowInheritance",
+ "showVariants",
+ "hasPreview",
+ "hasWorkflowAvailable",
+ "key",
+ "type",
+ "hasChildren",
+ "fullPath",
+ "index",
+ "allowVariants",
+ "className",
+ "published",
+ "objectData"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Element"
+ },
+ {
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "showVariants": {
+ "description": "Show variants",
+ "type": "boolean",
+ "example": false
+ },
+ "allowInheritance": {
+ "description": "Inheritance allowed",
+ "type": "boolean",
+ "example": false
+ },
+ "hasPreview": {
+ "description": "Has preview",
+ "type": "boolean",
+ "example": false
+ },
+ "hasWorkflowAvailable": {
+ "description": "Has workflow available",
+ "type": "boolean",
+ "example": false
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "Giulietta"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "image"
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "type": "boolean",
+ "example": false
+ },
+ "fullPath": {
+ "description": "Full path",
+ "type": "string",
+ "example": "/path/to/dataObject"
+ },
+ "index": {
+ "description": "Custom index",
+ "type": "integer",
+ "example": 0
+ },
+ "className": {
+ "description": "Class name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "car"
+ },
+ "published": {
+ "description": "Published",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ },
+ "objectData": {
+ "description": "Detail object data",
+ "type": "object",
+ "example": {
+ "fieldKey": "field value"
+ }
+ },
+ "allowVariants": {
+ "description": "Allow variants",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ },
+ "properties": {
+ "description": "Properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementProperty"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ElementProperty": {
+ "title": "DataProperty",
+ "required": [
+ "key",
+ "data",
+ "type",
+ "inheritable",
+ "inherited"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "key_of_the_property"
+ },
+ "data": {
+ "description": "data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "123"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "document"
+ },
+ "inheritable": {
+ "description": "inheritable",
+ "type": "boolean",
+ "example": false
+ },
+ "inherited": {
+ "description": "inherited",
+ "type": "boolean",
+ "example": false
+ },
+ "config": {
+ "description": "config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "comma,separated,values"
+ },
+ "predefinedName": {
+ "description": "predefinedName",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "name of the predefined property"
+ },
+ "description": {
+ "description": "description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Description of the predefined property"
+ }
+ },
+ "type": "object"
+ },
+ "DeleteInfo": {
+ "title": "DeleteInfo",
+ "required": [
+ "hasDependencies",
+ "canUseRecycleBin"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "hasDependencies": {
+ "description": "hasDependencies",
+ "type": "boolean",
+ "example": true
+ },
+ "canUseRecycleBin": {
+ "description": "canUseRecycleBin",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "DeltaItem": {
+ "title": "Delta Item",
+ "description": "Translation delta item after merge",
+ "required": [
+ "key",
+ "deltaValues"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the translation",
+ "type": "string",
+ "example": "car"
+ },
+ "deltaValues": {
+ "description": "List of translation deltas for the given key",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TranslationDeltaValues"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Dependency": {
+ "title": "Dependency",
+ "required": [
+ "id",
+ "path",
+ "type",
+ "subType",
+ "published"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 1020
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "text"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "asset"
+ },
+ "subType": {
+ "description": "subType",
+ "type": "string",
+ "example": "image"
+ },
+ "published": {
+ "description": "published",
+ "type": "boolean",
+ "example": "true"
+ }
+ },
+ "type": "object"
+ },
+ "UserDependency": {
+ "title": "Dependency to an Object",
+ "description": "Dependency to an Object",
+ "required": [
+ "id",
+ "path",
+ "subtype"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID of the object",
+ "type": "integer",
+ "example": 42
+ },
+ "path": {
+ "description": "Path to the object",
+ "type": "string",
+ "example": "/path/to/object"
+ },
+ "subtype": {
+ "description": "Subtype of the object",
+ "type": "string",
+ "example": "Car"
+ }
+ },
+ "type": "object"
+ },
+ "DetailedRole": {
+ "title": "Detailed User Role",
+ "description": "Contains all information about a role",
+ "required": [
+ "id",
+ "name",
+ "classes",
+ "parentId",
+ "permissions",
+ "docTypes",
+ "websiteTranslationLanguagesEdit",
+ "websiteTranslationLanguagesView",
+ "assetWorkspaces",
+ "dataObjectWorkspaces",
+ "documentWorkspaces",
+ "perspectives"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the User",
+ "type": "integer",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name of Folder or Role",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "admin"
+ },
+ "classes": {
+ "description": "Classes the user is allows to see",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "parentId": {
+ "description": "Parent ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 2
+ },
+ "permissions": {
+ "description": "List of permissions for the user",
+ "type": "object",
+ "example": [
+ "objects",
+ "documents"
+ ]
+ },
+ "docTypes": {
+ "description": "List of document types for the role",
+ "type": "object",
+ "example": [
+ "1",
+ "2"
+ ]
+ },
+ "websiteTranslationLanguagesEdit": {
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "websiteTranslationLanguagesView": {
+ "type": "object",
+ "example": [
+ "de"
+ ]
+ },
+ "assetWorkspaces": {
+ "description": "Asset Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "dataObjectWorkspaces": {
+ "description": "Data Object Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "documentWorkspaces": {
+ "description": "Document Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "perspectives": {
+ "description": "Allowed studio perspectives",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PerspectiveConfig"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "DevError": {
+ "title": "DevError",
+ "description": "Error with details for developers",
+ "required": [
+ "message",
+ "details"
+ ],
+ "properties": {
+ "message": {
+ "description": "Message",
+ "type": "string",
+ "example": "I got a bad feeling about this"
+ },
+ "details": {
+ "description": "Details",
+ "type": "string",
+ "example": "Search your feelings. (Stack trace)"
+ }
+ },
+ "type": "object"
+ },
+ "DirectEditConflictResolution": {
+ "title": "Direct Edit Conflict Resolution",
+ "required": [
+ "success",
+ "message",
+ "assetId"
+ ],
+ "properties": {
+ "success": {
+ "description": "Whether the conflict was resolved successfully",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Human-readable result message",
+ "type": "string",
+ "example": "Asset saved successfully"
+ },
+ "assetId": {
+ "description": "ID of the asset",
+ "type": "integer",
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "DirectEditLink": {
+ "title": "Direct Edit Link",
+ "required": [
+ "link",
+ "assetId",
+ "fileName"
+ ],
+ "properties": {
+ "link": {
+ "description": "Desktop client protocol link (pimcorefile://)",
+ "type": "string",
+ "example": "pimcorefile:///studio/api/bundle/direct-edit/assets/42/download-file?token=abc"
+ },
+ "assetId": {
+ "description": "ID of the asset being edited",
+ "type": "integer",
+ "example": 42
+ },
+ "fileName": {
+ "description": "File name of the asset",
+ "type": "string",
+ "example": "document.pdf"
+ }
+ },
+ "type": "object"
+ },
+ "DirectEditStatus": {
+ "title": "Direct Edit Status",
+ "required": [
+ "status",
+ "assetId",
+ "canConfirm",
+ "hasConflict",
+ "message",
+ "fileName"
+ ],
+ "properties": {
+ "status": {
+ "description": "Current status of the edit session",
+ "type": "string",
+ "enum": [
+ "link-generated",
+ "editing",
+ "uploaded",
+ "confirmed",
+ "cancelled",
+ "idle"
+ ],
+ "example": "editing"
+ },
+ "assetId": {
+ "description": "ID of the asset being edited",
+ "type": "integer",
+ "example": 42
+ },
+ "canConfirm": {
+ "description": "Whether the user can confirm the upload",
+ "type": "boolean",
+ "example": false
+ },
+ "hasConflict": {
+ "description": "Whether a version conflict exists",
+ "type": "boolean",
+ "example": false
+ },
+ "message": {
+ "description": "Human-readable status message",
+ "type": "string",
+ "example": "File is being edited locally"
+ },
+ "fileName": {
+ "description": "File name of the asset",
+ "type": "string",
+ "example": "document.pdf"
+ },
+ "modificationDate": {
+ "description": "Last modification date of the asset as ISO 8601 string with timezone",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "2024-01-15T14:30:00+01:00"
+ }
+ },
+ "type": "object"
+ },
+ "DocType": {
+ "title": "DocType",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "group",
+ "controller",
+ "template",
+ "priority",
+ "creationDate",
+ "modificationDate",
+ "staticGeneratorEnabled",
+ "writeable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Default Page"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "page"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Default"
+ },
+ "controller": {
+ "description": "Controller",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Controller\\DefaultController::indexAction"
+ },
+ "template": {
+ "description": "Template",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "@App/Resources/views/default.html.twig"
+ },
+ "priority": {
+ "description": "Priority",
+ "type": "integer",
+ "example": 0
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ },
+ "staticGeneratorEnabled": {
+ "description": "Static generator enabled",
+ "type": "boolean",
+ "example": false
+ },
+ "writeable": {
+ "description": "Is writeable",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "DocTypeType": {
+ "title": "DocType Type",
+ "required": [
+ "name",
+ "validTable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "page"
+ },
+ "validTable": {
+ "description": "Valid table",
+ "type": "string",
+ "example": "page"
+ },
+ "childrenSupported": {
+ "description": "Children supported",
+ "type": "boolean",
+ "example": false
+ },
+ "directRoute": {
+ "description": "Direct route",
+ "type": "boolean",
+ "example": false
+ },
+ "predefinedDocumentTypes": {
+ "description": "Predefined document types",
+ "type": "boolean",
+ "example": false
+ },
+ "translatable": {
+ "description": "Translatable",
+ "type": "boolean",
+ "example": false
+ },
+ "translatableInheritance": {
+ "description": "Translatable Inheritance",
+ "type": "boolean",
+ "example": false
+ },
+ "onlyPrintableChildren": {
+ "description": "Only printable children",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "DocTypeAddParameters": {
+ "title": "DocTypeAdd",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "New Document Type"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "page"
+ }
+ },
+ "type": "object"
+ },
+ "DocTypeUpdateParameters": {
+ "title": "DocTypeUpdate",
+ "required": [
+ "name",
+ "type",
+ "group",
+ "controller",
+ "template",
+ "priority",
+ "staticGeneratorEnabled"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My docType"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "page"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Default"
+ },
+ "controller": {
+ "description": "Controller",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Controller\\DefaultController::indexAction"
+ },
+ "template": {
+ "description": "Template",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "@App/Resources/views/default.html.twig"
+ },
+ "priority": {
+ "description": "Priority",
+ "type": "integer",
+ "example": 0
+ },
+ "staticGeneratorEnabled": {
+ "description": "Static generator enabled",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "Document": {
+ "title": "Document",
+ "required": [
+ "fullPath",
+ "published",
+ "type",
+ "key",
+ "index",
+ "hasChildren",
+ "hasWorkflowWithPermissions",
+ "permissions",
+ "isSite",
+ "navigationExclude"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Element"
+ },
+ {
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "fullPath": {
+ "description": "Full path",
+ "type": "string",
+ "example": "/path/to/document"
+ },
+ "published": {
+ "description": "Published",
+ "type": "boolean",
+ "example": false
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "link"
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "page.html"
+ },
+ "index": {
+ "description": "Custom index",
+ "type": "integer",
+ "example": 0
+ },
+ "hasChildren": {
+ "description": "Has children",
+ "type": "boolean",
+ "example": false
+ },
+ "hasWorkflowWithPermissions": {
+ "description": "Workflow permissions",
+ "type": "boolean",
+ "example": false
+ },
+ "permissions": {
+ "$ref": "#/components/schemas/DocumentPermissions"
+ },
+ "isSite": {
+ "description": "Is document a site",
+ "type": "boolean",
+ "example": false
+ },
+ "navigationExclude": {
+ "description": "Exclude document from navigation",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DocumentCloneParameters": {
+ "title": "Document Clone Parameters",
+ "required": [
+ "language",
+ "enableInheritance",
+ "recursive",
+ "updateReferences"
+ ],
+ "properties": {
+ "language": {
+ "description": "Language for the new translation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "enableInheritance": {
+ "description": "Enable Inheritance",
+ "type": "boolean",
+ "example": false
+ },
+ "recursive": {
+ "description": "Recursive",
+ "type": "boolean",
+ "example": false
+ },
+ "updateReferences": {
+ "description": "Update References",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "DocumentController": {
+ "title": "Document Controller",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "App\\Controller\\ContentController::indexAction"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentDetail": {
+ "title": "Document Detail Data",
+ "required": [
+ "editableData",
+ "missingRequiredEditable",
+ "settingsData",
+ "draftData",
+ "hasWorkflowAvailable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Document"
+ },
+ {
+ "properties": {
+ "editableData": {
+ "description": "Document Editable Data",
+ "type": "object",
+ "example": {
+ "editable": "value"
+ }
+ },
+ "missingRequiredEditable": {
+ "description": "Is missing required editable",
+ "type": "boolean",
+ "example": false
+ },
+ "settingsData": {
+ "description": "Document Settings Data",
+ "type": "object",
+ "example": {
+ "title": "Some Title",
+ "description": "Some Description",
+ "prettyUrl": "pretty/url",
+ "controller": "App\\Controller\\PageController",
+ "template": "@app/template.html.twig",
+ "contentMainDocumentId": 123,
+ "contentMainDocumentPath": "/path/to/main/document",
+ "supportsContentMain": false,
+ "missingRequiredEditable": false,
+ "staticGeneratorEnabled": false,
+ "staticGeneratorLifetime": 123456,
+ "staticLastGenerated": 1700000000,
+ "url": "https://example.com/"
+ }
+ },
+ "draftData": {
+ "$ref": "#/components/schemas/PageSnippetDraftData"
+ },
+ "hasWorkflowAvailable": {
+ "description": "Has workflow available",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DocumentPermissions": {
+ "title": "Document Permissions",
+ "required": [
+ "save",
+ "unpublish"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Permissions"
+ },
+ {
+ "properties": {
+ "save": {
+ "description": "Save",
+ "type": "boolean",
+ "example": true
+ },
+ "unpublish": {
+ "description": "Unpublish",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DocumentTemplate": {
+ "title": "Document Template",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "path": {
+ "description": "Path",
+ "type": "string",
+ "example": "@App/Resources/views/default.html.twig"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentTranslationLink": {
+ "title": "Document Translation Link",
+ "required": [
+ "language",
+ "documentId"
+ ],
+ "properties": {
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "documentId": {
+ "description": "Document Id",
+ "type": "integer",
+ "example": 83
+ }
+ },
+ "type": "object"
+ },
+ "DocumentTranslationLinks": {
+ "title": "Document Translation Links",
+ "required": [
+ "language"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "translationLinks": {
+ "description": "Translation links",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DocumentTranslationLink"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "DocumentTranslationParent": {
+ "title": "Document Translation Parent",
+ "required": [
+ "id",
+ "fullPath"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Document Id",
+ "type": "integer",
+ "example": 83
+ },
+ "fullPath": {
+ "description": "Document full path",
+ "type": "string",
+ "example": "/path/to/document"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentType": {
+ "title": "Document Type",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "page"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentAddParameters": {
+ "title": "DocumentAdd",
+ "required": [
+ "key",
+ "type",
+ "title",
+ "navigationName",
+ "docTypeId",
+ "template",
+ "translationsSourceId",
+ "language",
+ "inheritanceSourceId"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "my_new_document"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "page"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Some page title"
+ },
+ "navigationName": {
+ "description": "Navigation name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Some navigation name"
+ },
+ "docTypeId": {
+ "description": "Document type ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "page"
+ },
+ "template": {
+ "description": "Document template",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "default"
+ },
+ "translationsSourceId": {
+ "description": "Id of the base document for new translation",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 33
+ },
+ "language": {
+ "description": "Document language when adding a translation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "inheritanceSourceId": {
+ "description": "Id of the base document for content",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 33
+ }
+ },
+ "type": "object"
+ },
+ "DocumentVersion": {
+ "title": "DocumentVersion",
+ "required": [
+ "modificationDate",
+ "path",
+ "published"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "modificationDate": {
+ "description": "modification date",
+ "type": "integer",
+ "example": 1712823182
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/path/to/object"
+ },
+ "published": {
+ "description": "published",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "Element": {
+ "title": "Element",
+ "required": [
+ "id",
+ "parentId",
+ "path",
+ "icon",
+ "userOwner",
+ "userModification",
+ "locked",
+ "isLocked",
+ "creationDate",
+ "modificationDate",
+ "elementType"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "parentId": {
+ "description": "ID of parent",
+ "type": "integer",
+ "example": 1
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "userOwner": {
+ "description": "ID of owner",
+ "type": "integer",
+ "example": 1
+ },
+ "userModification": {
+ "description": "User that modified the element",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "locked": {
+ "description": "Locked",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "locked"
+ },
+ "isLocked": {
+ "description": "Is locked",
+ "type": "boolean",
+ "example": false
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 221846400
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 327417600
+ },
+ "elementType": {
+ "description": "elementType",
+ "type": "string",
+ "example": "asset"
+ }
+ },
+ "type": "object"
+ },
+ "LocationData": {
+ "title": "Element Location Data",
+ "required": [
+ "widgetId",
+ "treeLevelData"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "widgetId": {
+ "description": "Widget Id",
+ "type": "string",
+ "example": "d061699e_da42_4075_b504_c2c93c687819"
+ },
+ "treeLevelData": {
+ "description": "Tree level data",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TreeLevelData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ElementPath": {
+ "title": "Element Path",
+ "required": [
+ "elementPath"
+ ],
+ "properties": {
+ "elementPath": {
+ "description": "Element Path",
+ "type": "string",
+ "example": "path/to/element"
+ }
+ },
+ "type": "object"
+ },
+ "ElementTreeWidgetConfig": {
+ "title": "Element Tree Widget",
+ "required": [
+ "contextPermissions",
+ "elementType",
+ "rootFolder",
+ "showRoot",
+ "classes",
+ "pql",
+ "pageSize",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WidgetConfig"
+ },
+ {
+ "properties": {
+ "contextPermissions": {
+ "description": "Context Permissions",
+ "type": "object",
+ "example": {
+ "add": true,
+ "addFolder": true,
+ "changeChildrenSortBy": true,
+ "copy": true,
+ "cut": true,
+ "delete": true,
+ "lock": true,
+ "lockAndPropagate": true,
+ "paste": true,
+ "publish": true,
+ "refresh": true,
+ "rename": true,
+ "searchAndMove": true,
+ "unlock": true,
+ "unlockAndPropagate": true,
+ "unpublish": true
+ }
+ },
+ "elementType": {
+ "description": "Element Type",
+ "type": "string",
+ "example": "data-object"
+ },
+ "rootFolder": {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Data of root folder element"
+ },
+ "showRoot": {
+ "description": "Show Root",
+ "type": "boolean",
+ "example": false
+ },
+ "classes": {
+ "description": "Classes",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "pql": {
+ "description": "PQL",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "pageSize": {
+ "description": "Page size",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 20
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ElementUsage": {
+ "title": "Element Usage",
+ "required": [
+ "data",
+ "hasHidden"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "Data",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementUsageItem"
+ }
+ },
+ "hasHidden": {
+ "description": "hasHidden",
+ "type": "boolean",
+ "example": "false"
+ },
+ "totalCount": {
+ "description": "totalCount",
+ "type": "integer",
+ "example": "40"
+ }
+ },
+ "type": "object"
+ },
+ "ElementUsageBaseItem": {
+ "title": "Element Usage Base Item",
+ "required": [
+ "id",
+ "type"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "enum": [
+ "data-object",
+ "object",
+ "asset",
+ "document"
+ ],
+ "example": "data-object"
+ }
+ },
+ "type": "object"
+ },
+ "ElementUsageItem": {
+ "title": "Element Usage Item",
+ "required": [
+ "id",
+ "type",
+ "path"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ElementUsageBaseItem"
+ },
+ {
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 9
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "object"
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/Product Data/Cars/jaguar/E-Type"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ElementIcon": {
+ "title": "ElementIcon",
+ "required": [
+ "type",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "description": "Icon type",
+ "type": "string",
+ "enum": [
+ "name",
+ "path"
+ ],
+ "example": "path"
+ },
+ "value": {
+ "description": "Icon value",
+ "type": "string",
+ "example": "/path/to/icon"
+ }
+ },
+ "type": "object"
+ },
+ "EmailSettingsData": {
+ "title": "Email Settings Data",
+ "required": [
+ "subject",
+ "from",
+ "replyTo",
+ "to",
+ "cc",
+ "bcc"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SnippetSettingsData"
+ },
+ {
+ "properties": {
+ "subject": {
+ "description": "Subject",
+ "type": "string",
+ "example": "Some subject"
+ },
+ "from": {
+ "description": "From",
+ "type": "string",
+ "example": "some-sender@email"
+ },
+ "replyTo": {
+ "description": "Reply to",
+ "type": "string",
+ "example": "some-reply@email"
+ },
+ "to": {
+ "description": "To",
+ "type": "string",
+ "example": "some-receiver@email"
+ },
+ "cc": {
+ "description": "CC",
+ "type": "string",
+ "example": "some-copy@email"
+ },
+ "bcc": {
+ "description": "BCC",
+ "type": "string",
+ "example": "some-hidden-copy@email"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "EmailDocumentParameters": {
+ "title": "EmailDocumentParameters",
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "description": "parameter key",
+ "type": "string",
+ "example": "some_parameter_key"
+ },
+ "value": {
+ "description": "parameter value",
+ "type": "mixed",
+ "example": "some_parameter_value",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EmailLogEntry": {
+ "title": "EmailLog",
+ "required": [
+ "id",
+ "sentDate",
+ "hasHtmlLog",
+ "hasTextLog",
+ "hasError",
+ "from",
+ "to",
+ "subject"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 23
+ },
+ "sentDate": {
+ "description": "sent date",
+ "type": "integer",
+ "example": 1707312457
+ },
+ "hasHtmlLog": {
+ "description": "HTML log exists",
+ "type": "boolean",
+ "example": true
+ },
+ "hasTextLog": {
+ "description": "Text log exists",
+ "type": "boolean",
+ "example": true
+ },
+ "hasError": {
+ "description": "Error occurred",
+ "type": "boolean",
+ "example": true
+ },
+ "from": {
+ "description": "from",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "from@pimcore.com"
+ },
+ "to": {
+ "description": "to",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "to@pimcore.com"
+ },
+ "subject": {
+ "description": "subject",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "E-Mail subject"
+ }
+ },
+ "type": "object"
+ },
+ "EmailLogEntryDetail": {
+ "title": "EmailLogDetail",
+ "required": [
+ "bcc",
+ "cc",
+ "error"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/EmailLogEntry"
+ },
+ {
+ "properties": {
+ "bcc": {
+ "description": "bcc",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "email@pimcore.com"
+ },
+ "cc": {
+ "description": "cc",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "email@pimcore.com"
+ },
+ "error": {
+ "description": "error",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Some error occurred"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ObjectParameter": {
+ "title": "EmailLogObjectParameterData",
+ "required": [
+ "id",
+ "type",
+ "class",
+ "path"
+ ],
+ "properties": {
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 1020
+ },
+ "elementType": {
+ "description": "elementType",
+ "type": "string",
+ "example": "object"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "object"
+ },
+ "class": {
+ "description": "class",
+ "type": "string",
+ "example": "AppBundle\\Model\\MyObject"
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/path/to/object"
+ }
+ },
+ "type": "object"
+ },
+ "EmailLogEntryParameter": {
+ "title": "EmailLogParameters",
+ "required": [
+ "name",
+ "value",
+ "objectData"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "myParameter"
+ },
+ "value": {
+ "description": "value",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Some value"
+ },
+ "objectData": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ObjectParameter",
+ "description": "data for object parameters"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "data for object parameters"
+ }
+ },
+ "type": "object"
+ },
+ "Error": {
+ "title": "Error",
+ "description": "Bad credentials or missing token, bad request, method not allowed, etc.",
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "description": "Message",
+ "type": "string",
+ "example": "I am an error message"
+ }
+ },
+ "type": "object"
+ },
+ "ExportAllFilter": {
+ "title": "Export All Filter",
+ "description": "Contains all data that is needed to get all the data for the column.",
+ "required": [
+ "columnFilters",
+ "sortFilter"
+ ],
+ "properties": {
+ "columnFilters": {
+ "description": "Column Filter",
+ "type": "object",
+ "example": "[{\"key\":\"name\",\"type\": \"metadata.object\",\"filterValue\": 1, \"locale\":\"de\"}]"
+ },
+ "sortFilter": {
+ "description": "Sort Filter",
+ "type": "object",
+ "example": "{\"key\":\"id\",\"direction\": \"ASC\"}"
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionConfig": {
+ "title": "Field Collection Configuration",
+ "required": [
+ "key",
+ "title"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "MyFieldCollection"
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "My Field Collection"
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionDetail": {
+ "title": "Field Collection Detail",
+ "required": [
+ "key",
+ "title",
+ "group",
+ "parentClass",
+ "implementsInterfaces",
+ "blockedVarsForExport",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "MyFieldCollection"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Field Collection"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "parentClass": {
+ "description": "Namespace of parent class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Model\\DataObject\\FieldCollection"
+ },
+ "implementsInterfaces": {
+ "description": "Interface implementations",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Model\\DataObject\\Interface"
+ },
+ "blockedVarsForExport": {
+ "description": "Blocked variables for export",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": []
+ },
+ "isWriteable": {
+ "description": "Whether the field collection definition can be written to",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionLayoutDefinition": {
+ "title": "Field Collection Layout Definition",
+ "required": [
+ "key",
+ "title",
+ "width",
+ "height",
+ "collapsible",
+ "collapsed",
+ "datatype",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of Field Collection",
+ "type": "string",
+ "example": "my_field_collection"
+ },
+ "datatype": {
+ "description": "Data Type",
+ "type": "string",
+ "example": "layout"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Group Name"
+ },
+ "name": {
+ "description": "Name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Layout"
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "object"
+ },
+ "region": {
+ "description": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "main"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Field Collection"
+ },
+ "width": {
+ "description": "Width",
+ "type": "integer",
+ "example": 0
+ },
+ "height": {
+ "description": "Height",
+ "type": "integer",
+ "example": 0
+ },
+ "collapsible": {
+ "description": "Collapsible",
+ "type": "boolean",
+ "example": false
+ },
+ "collapsed": {
+ "description": "collapsed",
+ "type": "boolean",
+ "example": false
+ },
+ "children": {
+ "description": "Children",
+ "type": "object",
+ "example": []
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionTreeNodeFolder": {
+ "title": "Field Collection Tree Node Folder",
+ "required": [
+ "key",
+ "name",
+ "icon",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of folder with group_ prefix",
+ "type": "string",
+ "example": "group_News"
+ },
+ "name": {
+ "description": "Group name",
+ "type": "string",
+ "example": "News"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group",
+ "type": "string",
+ "example": "News"
+ },
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FieldCollectionTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionTreeNode": {
+ "title": "Field Collection Tree Node Item",
+ "required": [
+ "key",
+ "name",
+ "icon",
+ "group"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of field collection",
+ "type": "string",
+ "example": "myCollection"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Collection"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "News"
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionUsageData": {
+ "title": "Field Collection Usage Data",
+ "required": [
+ "class",
+ "field"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "class": {
+ "description": "Name of the class using the field collection",
+ "type": "string",
+ "example": "Car"
+ },
+ "field": {
+ "description": "Name of the field in the class",
+ "type": "string",
+ "example": "myFieldCollection"
+ }
+ },
+ "type": "object"
+ },
+ "FieldByType": {
+ "title": "Field key by type",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Field key",
+ "type": "string",
+ "example": "car"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceFilterGroup": {
+ "title": "Filter Group",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Filter group name",
+ "type": "string",
+ "example": "system"
+ }
+ },
+ "type": "object"
+ },
+ "FilterFieldValue": {
+ "title": "FilterFieldValue",
+ "description": "Schema for filter field values",
+ "required": [
+ "value",
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "The filter field key",
+ "type": "string",
+ "example": "395"
+ },
+ "value": {
+ "description": "The filter field value",
+ "type": "string",
+ "example": "Indicator Lights (395)"
+ }
+ },
+ "type": "object"
+ },
+ "FixedCustomSettings": {
+ "title": "FixedCustomSettings",
+ "required": [
+ "embeddedMetadata",
+ "embeddedMetadataExtracted"
+ ],
+ "properties": {
+ "embeddedMetadata": {
+ "description": "embedded meta data of the asset - array of any key-value pairs",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "{ FileSize: \"265 KiB\", MIMEType: \"image/jpeg\" }"
+ },
+ "embeddedMetadataExtracted": {
+ "description": "flag to indicate if the embedded meta data has been extracted from the asset",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "FocalPoint": {
+ "title": "FocalPoint",
+ "required": [
+ "x",
+ "y"
+ ],
+ "properties": {
+ "x": {
+ "description": "x Coordinate of FocalPoint",
+ "type": "integer",
+ "example": 50
+ },
+ "y": {
+ "description": "y Coordinate of FocalPoint",
+ "type": "integer",
+ "example": 50
+ }
+ },
+ "type": "object"
+ },
+ "FolderData": {
+ "title": "Folder Data",
+ "description": "Folder Data Scheme for API",
+ "required": [
+ "folderName"
+ ],
+ "properties": {
+ "folderName": {
+ "description": "Folder Name",
+ "type": "string",
+ "example": "Awesome stuff inside"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardFormat": {
+ "title": "Format for Wizard",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Identifier of the format configuration",
+ "type": "string",
+ "example": "portal_default"
+ },
+ "name": {
+ "description": "Display name of the format configuration",
+ "type": "string",
+ "example": "Portal Default"
+ }
+ },
+ "type": "object"
+ },
+ "GdprDataProvider": {
+ "title": "GDPR Data Provider",
+ "description": "GDPR Data Extractor search source(e.g., \"Data Objects\", \"Pimcore user\").",
+ "required": [
+ "key",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Unique key of the provider",
+ "type": "string",
+ "example": "data_objects"
+ },
+ "label": {
+ "description": "Label of the provider",
+ "type": "string",
+ "example": "Data Objects"
+ }
+ },
+ "type": "object"
+ },
+ "GdprDataRow": {
+ "title": "GDPR Data Row",
+ "description": "GDPR Data Row",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "data": {
+ "description": "Data row values",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "SearchTerms": {
+ "title": "GDPR Search Terms",
+ "description": "Object containing the values to search for. All fields are optional.",
+ "properties": {
+ "id": {
+ "description": "The ID to search for.",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 3
+ },
+ "firstname": {
+ "description": "The first name to search for.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "John"
+ },
+ "lastname": {
+ "description": "The last name to search for.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Doe"
+ },
+ "email": {
+ "description": "The email address to search for.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "john.doe@example.com"
+ }
+ },
+ "type": "object"
+ },
+ "GlobalAction": {
+ "title": "GlobalAction",
+ "required": [
+ "name",
+ "label",
+ "iconCls",
+ "objectLayout",
+ "notes"
+ ],
+ "properties": {
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "start_workflow"
+ },
+ "label": {
+ "description": "label",
+ "type": "string",
+ "example": "Start Workflow"
+ },
+ "iconCls": {
+ "description": "iconCls",
+ "type": "string",
+ "example": "pimcore_workflow_start"
+ },
+ "objectLayout": {
+ "description": "objectLayout",
+ "type": "boolean",
+ "example": false
+ },
+ "notes": {
+ "description": "notes",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": {
+ "commentEnabled": true,
+ "commentRequired": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Column": {
+ "title": "Grid Column Request",
+ "description": "Contains all data that is needed to get all the data for the column.",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "id"
+ },
+ "locale": {
+ "description": "Locale",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "system.id"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "system"
+ ]
+ },
+ "config": {
+ "description": "Config",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/AdvancedColumnConfig"
+ }
+ ]
+ },
+ "example": {
+ "key": "value"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Filter": {
+ "title": "Grid Filter",
+ "description": "Contains all data that is needed to get all the data for the column.",
+ "required": [
+ "page",
+ "pageSize",
+ "includeDescendants"
+ ],
+ "properties": {
+ "page": {
+ "description": "Page",
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "description": "Page Size",
+ "type": "integer",
+ "example": 50
+ },
+ "includeDescendants": {
+ "description": "Include Descendant Items",
+ "type": "boolean",
+ "example": false
+ },
+ "columnFilters": {
+ "description": "Column Filter",
+ "type": "object",
+ "example": "[{\"key\":\"name\",\"type\": \"metadata.object\",\"filterValue\": 1, \"locale\":\"de\"}]"
+ },
+ "sortFilter": {
+ "description": "Sort Filter",
+ "type": "object",
+ "example": "{\"key\":\"id\",\"direction\": \"ASC\", \"locale\": \"en\"}"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnConfiguration": {
+ "title": "GridColumnConfiguration",
+ "description": "Contains all data to configure a grid column",
+ "required": [
+ "key",
+ "group",
+ "sortable",
+ "editable",
+ "localizable",
+ "type",
+ "config"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "id"
+ },
+ "group": {
+ "description": "Define the group structure",
+ "type": "object",
+ "example": [
+ "system",
+ "id"
+ ]
+ },
+ "sortable": {
+ "description": "Sortable",
+ "type": "boolean",
+ "example": true
+ },
+ "editable": {
+ "description": "Editable",
+ "type": "boolean",
+ "example": false
+ },
+ "exportable": {
+ "description": "Exportable",
+ "type": "boolean",
+ "example": false
+ },
+ "filterable": {
+ "description": "Filterable",
+ "type": "boolean",
+ "example": false
+ },
+ "localizable": {
+ "description": "Localizable",
+ "type": "boolean",
+ "example": false
+ },
+ "locale": {
+ "description": "Locale",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "integer"
+ },
+ "frontendType": {
+ "description": "Frontend Type",
+ "type": "string",
+ "example": "integer"
+ },
+ "config": {
+ "description": "Config",
+ "type": "object",
+ "example": {
+ "key": "value"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ColumnData": {
+ "title": "GridColumnData",
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "id"
+ },
+ "locale": {
+ "description": "Locale",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "value": {
+ "description": "Value",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": 73
+ },
+ "fieldType": {
+ "description": "Field Type of the column",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "input"
+ },
+ "inheritance": {
+ "description": "inheritance",
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": {
+ "objectId": 42,
+ "inInherited": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Configuration": {
+ "title": "GridConfiguration",
+ "description": "Contains all data to configure a grid column",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Configuration"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Configuration Description"
+ }
+ },
+ "type": "object"
+ },
+ "DetailedConfiguration": {
+ "title": "GridDetailedConfiguration",
+ "description": "Contains all data to configure a grid column",
+ "required": [
+ "name",
+ "shareGlobal",
+ "saveFilter",
+ "setAsFavorite",
+ "sharedUsers",
+ "sharedRoles",
+ "columns",
+ "filter",
+ "pageSize"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Configuration"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Configuration Description"
+ },
+ "shareGlobal": {
+ "description": "shareGlobal",
+ "type": "boolean",
+ "example": false
+ },
+ "saveFilter": {
+ "description": "saveFilter",
+ "type": "boolean",
+ "example": false
+ },
+ "setAsFavorite": {
+ "description": "setAsFavorite",
+ "type": "boolean",
+ "example": false
+ },
+ "sharedUsers": {
+ "description": "sharedUsers",
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "sharedRoles": {
+ "description": "sharedRoles",
+ "type": "object",
+ "example": [
+ 42,
+ 1337
+ ]
+ },
+ "columns": {
+ "description": "columns",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ColumnSchema"
+ },
+ {
+ "$ref": "#/components/schemas/Column"
+ }
+ ]
+ }
+ },
+ "filter": {
+ "description": "filter",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Filter"
+ }
+ },
+ "pageSize": {
+ "description": "Page Size",
+ "type": "integer",
+ "example": 42
+ },
+ "modificationDate": {
+ "description": "Modification Date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1634025600
+ },
+ "creationDate": {
+ "description": "Creation Date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1634025600
+ },
+ "ownerId": {
+ "description": "ID of the owner",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 42
+ },
+ "id": {
+ "description": "ID of the configuration",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "HardlinkSettingsData": {
+ "title": "Hardlink settings data",
+ "required": [
+ "sourceId",
+ "propertiesFromSource",
+ "childrenFromSource"
+ ],
+ "properties": {
+ "sourceId": {
+ "description": "Source ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 83
+ },
+ "propertiesFromSource": {
+ "description": "Properties from source",
+ "type": "boolean",
+ "example": true
+ },
+ "childrenFromSource": {
+ "description": "Children from source",
+ "type": "boolean",
+ "example": false
+ },
+ "sourcePath": {
+ "description": "Source path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/source"
+ }
+ },
+ "type": "object"
+ },
+ "Image": {
+ "title": "Image",
+ "required": [
+ "width",
+ "height",
+ "imageThumbnailPath"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ },
+ {
+ "properties": {
+ "width": {
+ "description": "width",
+ "type": "integer",
+ "example": 666
+ },
+ "height": {
+ "description": "height",
+ "type": "integer",
+ "example": 333
+ },
+ "imageThumbnailPath": {
+ "description": "path to thumbnail",
+ "type": "string",
+ "example": "/path/to/element/hulk-smash.jpg"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ImageThumbnailConfigDetail": {
+ "title": "Image Thumbnail Config Detail",
+ "required": [
+ "settings",
+ "writeable",
+ "medias"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "settings": {
+ "$ref": "#/components/schemas/ImageThumbnailSettings",
+ "description": "Thumbnail settings"
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "medias": {
+ "description": "Media query configurations with transformation items",
+ "type": "object",
+ "example": {
+ "default": [
+ {
+ "method": "cover",
+ "arguments": {
+ "width": 1920,
+ "height": 600,
+ "positioning": "center",
+ "forceResize": true
+ }
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ImageThumbnailSettings": {
+ "title": "Image Thumbnail Settings",
+ "required": [
+ "name",
+ "description",
+ "group",
+ "format",
+ "quality",
+ "highResolution",
+ "preserveColor",
+ "forceProcessICCProfiles",
+ "preserveMetaData",
+ "rasterizeSVG",
+ "useCropBox",
+ "downloadable",
+ "modificationDate",
+ "creationDate",
+ "filenameSuffix",
+ "preserveAnimation"
+ ],
+ "properties": {
+ "name": {
+ "description": "Thumbnail name",
+ "type": "string",
+ "example": "portalCarousel"
+ },
+ "description": {
+ "description": "Thumbnail description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "group": {
+ "description": "Thumbnail group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Areas"
+ },
+ "format": {
+ "description": "Output format",
+ "type": "string",
+ "example": "SOURCE"
+ },
+ "quality": {
+ "description": "Quality setting",
+ "type": "integer",
+ "example": 85
+ },
+ "highResolution": {
+ "description": "High resolution factor",
+ "type": [
+ "number",
+ "null"
+ ],
+ "example": 0
+ },
+ "preserveColor": {
+ "description": "Preserve color profile",
+ "type": "boolean",
+ "example": false
+ },
+ "forceProcessICCProfiles": {
+ "description": "Force process ICC profiles",
+ "type": "boolean",
+ "example": false
+ },
+ "preserveMetaData": {
+ "description": "Preserve meta data",
+ "type": "boolean",
+ "example": false
+ },
+ "rasterizeSVG": {
+ "description": "Rasterize SVG",
+ "type": "boolean",
+ "example": false
+ },
+ "useCropBox": {
+ "description": "Use crop box",
+ "type": "boolean",
+ "example": false
+ },
+ "downloadable": {
+ "description": "Is downloadable",
+ "type": "boolean",
+ "example": true
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1755073298
+ },
+ "creationDate": {
+ "description": "Creation date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1565355190
+ },
+ "filenameSuffix": {
+ "description": "Filename suffix",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "preserveAnimation": {
+ "description": "Preserve animation",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "ImageData": {
+ "title": "ImageData",
+ "properties": {
+ "focalPoint": {
+ "$ref": "#/components/schemas/FocalPoint",
+ "description": "focalPoint"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceIndexField": {
+ "title": "Index Field",
+ "required": [
+ "key",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Field key/identifier",
+ "type": "string",
+ "example": "productName"
+ },
+ "name": {
+ "description": "Translated field name",
+ "type": "string",
+ "example": "Product Name"
+ }
+ },
+ "type": "object"
+ },
+ "IndexStat": {
+ "title": "Index Statistic",
+ "required": [
+ "name",
+ "items",
+ "size"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "pimcore_root"
+ },
+ "items": {
+ "description": "Number of items in index",
+ "type": "integer",
+ "example": 100
+ },
+ "size": {
+ "description": "Size",
+ "type": "number",
+ "format": "float",
+ "example": 123.45
+ }
+ },
+ "type": "object"
+ },
+ "InvalidCredentials": {
+ "title": "Invalid Credentials",
+ "description": "Invalid credentials after login attempt",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "description": "Error",
+ "type": "string",
+ "example": "Invalid credentials"
+ }
+ },
+ "type": "object"
+ },
+ "JsonExport": {
+ "title": "JSON Export",
+ "required": [
+ "json",
+ "fileName"
+ ],
+ "properties": {
+ "json": {
+ "description": "JSON encoded export data",
+ "type": "string",
+ "example": "{\"key\":\"value\"}"
+ },
+ "fileName": {
+ "description": "Suggested file name for download",
+ "type": "string",
+ "example": "export.json"
+ }
+ },
+ "type": "object"
+ },
+ "JobRun": {
+ "title": "JobRun",
+ "required": [
+ "id",
+ "ownerId",
+ "state",
+ "executionContext",
+ "totalElements",
+ "currentMessage",
+ "jobRunChildId",
+ "currentStep",
+ "totalSteps",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 1
+ },
+ "ownerId": {
+ "description": "Owner ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 123
+ },
+ "state": {
+ "description": "State",
+ "type": "string",
+ "example": "running"
+ },
+ "executionContext": {
+ "description": "Execution context",
+ "type": "string",
+ "example": "studio_stop_on_error"
+ },
+ "totalElements": {
+ "description": "Total elements",
+ "type": "integer",
+ "example": 0
+ },
+ "currentMessage": {
+ "description": "Current Message og the last Event",
+ "type": "string",
+ "example": "Message"
+ },
+ "jobRunChildId": {
+ "description": "Id of the child Job run",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 55
+ },
+ "currentStep": {
+ "description": "Current Step of a running Job",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 0
+ },
+ "totalSteps": {
+ "description": "Number of total Steps of a running Job",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 0
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "KeyBinding": {
+ "title": "Key Binding for a User",
+ "description": "Key Binding for a User",
+ "required": [
+ "key",
+ "action",
+ "ctrl",
+ "alt",
+ "shift"
+ ],
+ "properties": {
+ "key": {
+ "description": "ASCII Code for a key on the Keyboard",
+ "type": "integer",
+ "example": "83"
+ },
+ "action": {
+ "description": "The action the key binding should execute",
+ "type": "string",
+ "example": "save"
+ },
+ "ctrl": {
+ "description": "If CTRL key should be pressed",
+ "type": "boolean",
+ "example": "true"
+ },
+ "alt": {
+ "description": "If ALT key should be pressed",
+ "type": "boolean",
+ "example": "true"
+ },
+ "shift": {
+ "description": "If SHIFT key should be pressed",
+ "type": "boolean",
+ "example": "true"
+ }
+ },
+ "type": "object"
+ },
+ "LastChangesEntry": {
+ "title": "Last Changes Entry Data",
+ "required": [
+ "date",
+ "dateText",
+ "assets",
+ "dataObjects",
+ "documents"
+ ],
+ "properties": {
+ "date": {
+ "description": "Modification Date",
+ "type": "integer",
+ "example": 327417600
+ },
+ "dateText": {
+ "description": "Modification Date Text",
+ "type": "string",
+ "example": "2025-07-24T12:00:00+00:00"
+ },
+ "assets": {
+ "description": "Number of assets objects changed",
+ "type": "integer",
+ "example": 0
+ },
+ "dataObjects": {
+ "description": "Number of data objects changed",
+ "type": "integer",
+ "example": 0
+ },
+ "documents": {
+ "description": "Number of documents objects changed",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "LastChangesWidgetConfig": {
+ "title": "Last Changes Widget Config",
+ "required": [
+ "color",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ },
+ {
+ "properties": {
+ "color": {
+ "description": "Widget Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "showAssets": {
+ "description": "Show Assets",
+ "type": "boolean",
+ "example": true
+ },
+ "showDataObjects": {
+ "description": "Show Data Objects",
+ "type": "boolean",
+ "example": true
+ },
+ "showDocuments": {
+ "description": "Show Documents",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "Layout": {
+ "title": "Layout",
+ "required": [
+ "name",
+ "datatype",
+ "fieldtype",
+ "type",
+ "layout",
+ "region",
+ "title",
+ "width",
+ "height",
+ "collapsible",
+ "collapsed",
+ "bodyStyle",
+ "locked",
+ "children",
+ "icon",
+ "labelAlign",
+ "labelWidth",
+ "border"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "pimcore_root"
+ },
+ "datatype": {
+ "description": "Data Type",
+ "type": "string",
+ "example": "layout"
+ },
+ "fieldtype": {
+ "description": "Field Type",
+ "type": "string",
+ "example": "panel"
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "layout": {
+ "description": "Layout",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "region": {
+ "description": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "center"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "MyLayout"
+ },
+ "width": {
+ "description": "Width",
+ "type": "integer",
+ "example": 0
+ },
+ "height": {
+ "description": "Height",
+ "type": "integer",
+ "example": 0
+ },
+ "collapsible": {
+ "description": "Collapsible",
+ "type": "boolean",
+ "example": false
+ },
+ "collapsed": {
+ "description": "Collapsed",
+ "type": "boolean",
+ "example": false
+ },
+ "bodyStyle": {
+ "description": "Body Style",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "(float: left;)"
+ },
+ "locked": {
+ "description": "Locked",
+ "type": "boolean",
+ "example": false
+ },
+ "children": {
+ "description": "Children",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "example": "[{id: 1}]"
+ },
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Icon"
+ },
+ "labelAlign": {
+ "description": "Label Align",
+ "type": "string",
+ "example": "left"
+ },
+ "labelWidth": {
+ "description": "Label Width",
+ "type": "integer",
+ "example": 100
+ },
+ "border": {
+ "description": "Border",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "LayoutOption": {
+ "title": "Layout Option",
+ "required": [
+ "layoutId",
+ "rows",
+ "columns",
+ "items"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "layoutId": {
+ "description": "Unique identifier for the layout",
+ "type": "string",
+ "example": "dashboard-layout-1"
+ },
+ "rows": {
+ "description": "Number of rows in the layout",
+ "type": "integer",
+ "example": 4
+ },
+ "columns": {
+ "description": "Number of columns in the layout",
+ "type": "integer",
+ "example": 3
+ },
+ "items": {
+ "description": "Array of layout items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LayoutItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "LayoutItem": {
+ "title": "Layout item",
+ "required": [
+ "id",
+ "colSpan",
+ "rowSpan",
+ "colStart",
+ "rowStart",
+ "widget"
+ ],
+ "properties": {
+ "id": {
+ "description": "Unique identifier for the layout item",
+ "type": "integer",
+ "example": 1
+ },
+ "colSpan": {
+ "description": "Number of columns the item spans",
+ "type": "integer",
+ "example": 2
+ },
+ "rowSpan": {
+ "description": "Number of rows the item spans",
+ "type": "integer",
+ "example": 1
+ },
+ "colStart": {
+ "description": "Column index where the item starts",
+ "type": "integer",
+ "example": 0
+ },
+ "rowStart": {
+ "description": "Row index where the item starts",
+ "type": "integer",
+ "example": 0
+ },
+ "widget": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig",
+ "description": "Widget for this position"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Widget for this position"
+ }
+ },
+ "type": "object"
+ },
+ "LinkSettingsData": {
+ "title": "Link Settings Data",
+ "required": [
+ "internal",
+ "internalType",
+ "direct",
+ "linkType",
+ "href",
+ "rawHref"
+ ],
+ "properties": {
+ "internal": {
+ "description": "Internal ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 83
+ },
+ "internalType": {
+ "description": "Internal type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "asset"
+ },
+ "direct": {
+ "description": "Direct",
+ "type": "string",
+ "example": "/path/to/asset"
+ },
+ "linkType": {
+ "description": "Link type",
+ "type": "string",
+ "example": "direct"
+ },
+ "href": {
+ "description": "Href",
+ "type": "string",
+ "example": "/path/to/asset"
+ },
+ "rawHref": {
+ "description": "Raw Href",
+ "type": "string",
+ "example": "/some/raw/href"
+ }
+ },
+ "type": "object"
+ },
+ "Note": {
+ "title": "Note",
+ "required": [
+ "id",
+ "type",
+ "cId",
+ "cType",
+ "cPath",
+ "date",
+ "title",
+ "description",
+ "locked",
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 666
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "Type of note"
+ },
+ "cId": {
+ "description": "Id of element",
+ "type": "integer",
+ "example": 667
+ },
+ "cType": {
+ "description": "Type of element",
+ "type": "string",
+ "example": "asset"
+ },
+ "cPath": {
+ "description": "Path of element",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "date": {
+ "description": "Creation date of note",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "title": {
+ "description": "title",
+ "type": "string",
+ "example": "Title of note"
+ },
+ "description": {
+ "description": "description",
+ "type": "string",
+ "example": "This is a description"
+ },
+ "locked": {
+ "description": "Locked",
+ "type": "boolean",
+ "example": false
+ },
+ "data": {
+ "description": "Data of note",
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ "example": "Can be pretty much anything"
+ },
+ "userId": {
+ "description": "User ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "userName": {
+ "description": "Username",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "shaquille.oatmeal"
+ }
+ },
+ "type": "object"
+ },
+ "NoteType": {
+ "title": "NoteType",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "info"
+ }
+ },
+ "type": "object"
+ },
+ "NoteTypeCollection": {
+ "title": "NoteTypeCollection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "description": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NoteType"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Notification": {
+ "title": "Notification",
+ "required": [
+ "message",
+ "payload",
+ "attachmentType",
+ "attachmentId",
+ "attachmentFullPath"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/NotificationListItem"
+ },
+ {
+ "properties": {
+ "message": {
+ "description": "message",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Notification message"
+ },
+ "payload": {
+ "description": "payload",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "{\"key\": \"value\"}"
+ },
+ "attachmentType": {
+ "description": "linked attachment type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "object"
+ },
+ "attachmentId": {
+ "description": "linked attachment ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 3669
+ },
+ "attachmentFullPath": {
+ "description": "linked attachment fullPath",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/attachment.jpg"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "NotificationMinimal": {
+ "title": "Notification Minimal Data",
+ "required": [
+ "id",
+ "type",
+ "title",
+ "read",
+ "creationDate",
+ "recipient",
+ "sender"
+ ],
+ "properties": {
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 23
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "info"
+ },
+ "title": {
+ "description": "title",
+ "type": "string",
+ "example": "Notification title"
+ },
+ "read": {
+ "description": "read",
+ "type": "boolean",
+ "example": false
+ },
+ "creationDate": {
+ "description": "creation date",
+ "type": "integer",
+ "example": 1707312457
+ },
+ "recipient": {
+ "description": "recipient ID",
+ "type": "integet",
+ "example": 1
+ },
+ "sender": {
+ "description": "sender",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Pimcore Admin"
+ }
+ },
+ "type": "object"
+ },
+ "NotificationListItem": {
+ "title": "NotificationListItem",
+ "required": [
+ "id",
+ "type",
+ "title",
+ "read",
+ "hasAttachment",
+ "creationDate",
+ "sender"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 23
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "info"
+ },
+ "title": {
+ "description": "title",
+ "type": "string",
+ "example": "Notification title"
+ },
+ "read": {
+ "description": "read",
+ "type": "boolean",
+ "example": false
+ },
+ "hasAttachment": {
+ "description": "has attachment",
+ "type": "boolean",
+ "example": true
+ },
+ "creationDate": {
+ "description": "creation date",
+ "type": "integer",
+ "example": 1707312457
+ },
+ "sender": {
+ "description": "sender",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Pimcore Admin"
+ }
+ },
+ "type": "object"
+ },
+ "NotificationsWidgetConfig": {
+ "title": "Notifications Widget Config",
+ "required": [
+ "color",
+ "page",
+ "pageSize",
+ "dateFilterValue",
+ "dateFilterOperator",
+ "senderFilter",
+ "typeFilter",
+ "onlyUnread",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ },
+ {
+ "properties": {
+ "color": {
+ "description": "Widget Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "page": {
+ "description": "Page",
+ "type": "integer",
+ "example": 1
+ },
+ "pageSize": {
+ "description": "Page Size",
+ "type": "integer",
+ "example": 1
+ },
+ "dateFilterValue": {
+ "description": "Date Filter Value",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "08/20/2024"
+ },
+ "dateFilterOperator": {
+ "description": "Date Filter Operator",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "on"
+ },
+ "senderFilter": {
+ "description": "Sender Filter",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 20
+ },
+ "typeFilter": {
+ "description": "Type Filter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "info"
+ },
+ "onlyUnread": {
+ "description": "Filter Only Unread Notifications",
+ "type": "boolean",
+ "example": false
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ObjectBrickConfig": {
+ "title": "Object Brick Configuration",
+ "required": [
+ "key",
+ "title"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "MyObjectBrick"
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "My Object Brick"
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickDetail": {
+ "title": "Object Brick Detail",
+ "required": [
+ "key",
+ "title",
+ "group",
+ "parentClass",
+ "implementsInterfaces",
+ "blockedVarsForExport",
+ "isWriteable",
+ "classDefinitions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "MyObjectBrick"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Object Brick"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "parentClass": {
+ "description": "Namespace of parent class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Model\\DataObject\\ObjectBrick"
+ },
+ "implementsInterfaces": {
+ "description": "Interface implementations",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Model\\DataObject\\Interface"
+ },
+ "blockedVarsForExport": {
+ "description": "Blocked variables for export",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": []
+ },
+ "isWriteable": {
+ "description": "Whether the object brick definition can be written to",
+ "type": "boolean",
+ "example": true
+ },
+ "classDefinitions": {
+ "description": "Class definitions assigned to this object brick",
+ "type": "array",
+ "items": {
+ "properties": {
+ "classname": {
+ "description": "Name of the class",
+ "type": "string",
+ "example": "Product"
+ },
+ "fieldname": {
+ "description": "Name of the field",
+ "type": "string",
+ "example": "myBrickField"
+ }
+ },
+ "type": "object"
+ },
+ "example": [
+ {
+ "classname": "fieldTest",
+ "fieldname": "myBrickField"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickLayoutDefinition": {
+ "title": "Object Brick Layout Definition",
+ "required": [
+ "key",
+ "title",
+ "width",
+ "height",
+ "collapsible",
+ "collapsed",
+ "datatype",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of Object Brick",
+ "type": "string",
+ "example": "my_object_brick"
+ },
+ "datatype": {
+ "description": "Data Type",
+ "type": "string",
+ "example": "layout"
+ },
+ "name": {
+ "description": "Name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Layout"
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "object"
+ },
+ "region": {
+ "description": "Region",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "main"
+ },
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Object Brick"
+ },
+ "width": {
+ "description": "Width",
+ "type": "integer",
+ "example": 0
+ },
+ "height": {
+ "description": "Height",
+ "type": "integer",
+ "example": 0
+ },
+ "collapsible": {
+ "description": "Collapsible",
+ "type": "boolean",
+ "example": false
+ },
+ "collapsed": {
+ "description": "collapsed",
+ "type": "boolean",
+ "example": false
+ },
+ "children": {
+ "description": "Children",
+ "type": "object",
+ "example": []
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickTreeNodeFolder": {
+ "title": "Object Brick Tree Node Folder",
+ "required": [
+ "key",
+ "name",
+ "icon",
+ "group",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of folder with group_ prefix",
+ "type": "string",
+ "example": "group_Parts"
+ },
+ "name": {
+ "description": "Group name",
+ "type": "string",
+ "example": "Parts"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group",
+ "type": "string",
+ "example": "Parts"
+ },
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ObjectBrickTreeNode"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickTreeNode": {
+ "title": "Object Brick Tree Node Item",
+ "required": [
+ "key",
+ "name",
+ "icon",
+ "group"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of object brick",
+ "type": "string",
+ "example": "myBrick"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Brick"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "News"
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickUsageData": {
+ "title": "Object Brick Usage Data",
+ "required": [
+ "class",
+ "field"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "class": {
+ "description": "Name of the class using the object brick",
+ "type": "string",
+ "example": "Product"
+ },
+ "field": {
+ "description": "Name of the field in the class",
+ "type": "string",
+ "example": "myBrickField"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceOrderItemCancelParameters": {
+ "title": "Order Item Cancel Parameters",
+ "properties": {
+ "message": {
+ "description": "Optional message to attach to the cancel note",
+ "type": "string",
+ "example": "Customer requested cancellation."
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceOrderItemComplaintParameters": {
+ "title": "Order Item Complaint Parameters",
+ "required": [
+ "quantity"
+ ],
+ "properties": {
+ "quantity": {
+ "description": "Quantity subject to the complaint",
+ "type": "number",
+ "format": "float",
+ "example": 1
+ },
+ "message": {
+ "description": "Optional message to attach to the complaint note",
+ "type": "string",
+ "example": "Item arrived damaged."
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceOrderItemEditParameters": {
+ "title": "Order Item Edit Parameters",
+ "required": [
+ "quantity"
+ ],
+ "properties": {
+ "quantity": {
+ "description": "New quantity for the order item",
+ "type": "number",
+ "format": "float",
+ "example": 3
+ },
+ "message": {
+ "description": "Optional message to attach to the edit note",
+ "type": "string",
+ "example": "Customer changed mind."
+ }
+ },
+ "type": "object"
+ },
+ "PageSettingsData": {
+ "title": "Page Settings Data",
+ "required": [
+ "title",
+ "description",
+ "prettyUrl"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SnippetSettingsData"
+ },
+ {
+ "properties": {
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Link Title"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Link Description"
+ },
+ "prettyUrl": {
+ "description": "Pretty Url",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "pretty/url"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "SnippetSettingsData": {
+ "title": "Page Settings Data",
+ "required": [
+ "controller",
+ "template",
+ "contentMainDocumentId",
+ "contentMainDocumentPath",
+ "supportsContentMain",
+ "staticGeneratorEnabled",
+ "staticGeneratorLifetime",
+ "staticLastGenerated",
+ "url"
+ ],
+ "properties": {
+ "controller": {
+ "description": "Controller",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\Controller\\PageController"
+ },
+ "template": {
+ "description": "Template",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "@app/template.html.twig"
+ },
+ "contentMainDocumentId": {
+ "description": "Main document ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "contentMainDocumentPath": {
+ "description": "Main document path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/main/document"
+ },
+ "supportsContentMain": {
+ "description": "Supports main content",
+ "type": "boolean",
+ "example": false
+ },
+ "staticGeneratorEnabled": {
+ "description": "Is static generator enabled",
+ "type": "boolean",
+ "example": false
+ },
+ "staticGeneratorLifetime": {
+ "description": "Lifetime of static generator",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 123456
+ },
+ "staticLastGenerated": {
+ "description": "Timestamp of last generated data",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1700000000
+ },
+ "url": {
+ "description": "Document Url",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "https://example.com/"
+ }
+ },
+ "type": "object"
+ },
+ "PageSnippet": {
+ "title": "PageSnippet",
+ "required": [
+ "title",
+ "description"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Document"
+ },
+ {
+ "properties": {
+ "title": {
+ "description": "Title of the Page Snippet",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Title"
+ },
+ "description": {
+ "description": "Description of the Page Snippet",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Description"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "PageSnippetDraftData": {
+ "title": "PageSnippetDraftData",
+ "required": [
+ "id",
+ "modificationDate",
+ "isAutoSave"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "isAutoSave": {
+ "description": "Is auto save",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "PatchCustomMetadata": {
+ "title": "PatchCustomMetadata",
+ "required": [
+ "name",
+ "language",
+ "type",
+ "data"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "language": {
+ "description": "Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "data"
+ }
+ },
+ "type": "object"
+ },
+ "PatchError": {
+ "title": "PatchError",
+ "description": "Response for PATCH requests with errors",
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "message": {
+ "description": "Message",
+ "type": "string",
+ "example": "I am an error message"
+ }
+ },
+ "type": "object"
+ },
+ "Permissions": {
+ "title": "Permissions",
+ "required": [
+ "list",
+ "view",
+ "publish",
+ "delete",
+ "rename",
+ "create",
+ "settings",
+ "versions",
+ "properties"
+ ],
+ "properties": {
+ "list": {
+ "description": "List",
+ "type": "boolean",
+ "example": true
+ },
+ "view": {
+ "description": "View",
+ "type": "boolean",
+ "example": true
+ },
+ "publish": {
+ "description": "Publish",
+ "type": "boolean",
+ "example": true
+ },
+ "delete": {
+ "description": "Delete",
+ "type": "boolean",
+ "example": true
+ },
+ "rename": {
+ "description": "Rename",
+ "type": "boolean",
+ "example": true
+ },
+ "create": {
+ "description": "Create",
+ "type": "boolean",
+ "example": true
+ },
+ "settings": {
+ "description": "Settings",
+ "type": "boolean",
+ "example": true
+ },
+ "versions": {
+ "description": "Versions",
+ "type": "boolean",
+ "example": true
+ },
+ "properties": {
+ "description": "Properties",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "PerspectiveConfig": {
+ "title": "Perspective Config",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Perspective ID",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Cars"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "PerspectiveConfigDetail": {
+ "title": "Perspective Config Detail",
+ "required": [
+ "contextPermissions",
+ "widgetsLeft",
+ "widgetsRight",
+ "widgetsBottom",
+ "expandedLeft",
+ "expandedRight"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PerspectiveConfig"
+ },
+ {
+ "properties": {
+ "contextPermissions": {
+ "description": "Context Permissions",
+ "type": "object",
+ "example": {
+ "permission_group": {
+ "permission1": true,
+ "permission2": false
+ }
+ }
+ },
+ "widgetsLeft": {
+ "description": "Widgets Left",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementTreeWidgetConfig"
+ }
+ },
+ "widgetsRight": {
+ "description": "Widgets Right",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementTreeWidgetConfig"
+ }
+ },
+ "widgetsBottom": {
+ "description": "Widgets Bottom",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ElementTreeWidgetConfig"
+ }
+ },
+ "expandedLeft": {
+ "description": "Left Expanded Widget",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "widget_id"
+ },
+ "expandedRight": {
+ "description": "Right Expanded Widget",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "widget_id"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "PortalEngineWizardThumbnail": {
+ "title": "Portal Engin Wizard Thumbnail",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Identifier of the thumbnail configuration",
+ "type": "string",
+ "example": "portal_thumbnail"
+ },
+ "name": {
+ "description": "Display name of the thumbnail configuration",
+ "type": "string",
+ "example": "Portal Thumbnail"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineAdminUserAssignment": {
+ "title": "Portal Engine Admin User Assignment",
+ "required": [
+ "canSeeMenu",
+ "canAddNewCollection"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "canSeeMenu": {
+ "description": "Determines whether the collections menu is visible for the user",
+ "type": "boolean",
+ "example": true
+ },
+ "canAddNewCollection": {
+ "description": "Determines whether the user may create new collections",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineCollection": {
+ "title": "Portal Engine Collection",
+ "required": [
+ "id",
+ "name",
+ "userEmail",
+ "itemCount",
+ "creationDate",
+ "currentSiteId",
+ "editable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Unique identifier of the collection.",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Human readable name of the collection.",
+ "type": "string",
+ "example": "My Favorites"
+ },
+ "userEmail": {
+ "description": "Email address of the collection owner.",
+ "type": "string",
+ "example": "user@example.com"
+ },
+ "itemCount": {
+ "description": "Number of items contained in the collection.",
+ "type": "integer",
+ "example": 12
+ },
+ "creationDate": {
+ "description": "Unix timestamp representing the creation time of the collection.",
+ "type": "integer",
+ "example": 1704067200
+ },
+ "currentSiteId": {
+ "description": "Name of the portal site the collection belongs to.",
+ "type": "string",
+ "example": "Dealer Portal"
+ },
+ "editable": {
+ "description": "Indicates whether the collection can be edited by the current user.",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineCollectionShareListItem": {
+ "title": "Portal Engine Collection Share List Item",
+ "required": [
+ "id",
+ "userName",
+ "permission"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "User Id with whom the collection is shared",
+ "type": "integer",
+ "example": 101
+ },
+ "userName": {
+ "description": "User Name with whom the collection is shared",
+ "type": "string",
+ "example": "admin"
+ },
+ "permission": {
+ "description": "Permission assigned to the share (read|edit)",
+ "type": "string",
+ "example": "read"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineCollectionUserGroup": {
+ "title": "Portal Engine Collection User Group",
+ "required": [
+ "id",
+ "name",
+ "isGroup"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Identifier of the user group",
+ "type": "integer",
+ "example": 42
+ },
+ "name": {
+ "description": "Display name of the user group",
+ "type": "string",
+ "example": "Dealer Managers"
+ },
+ "isGroup": {
+ "description": "Flag indicating the entry represents a group",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineTreeFolder": {
+ "title": "Portal Engine Tree Folder",
+ "required": [
+ "id",
+ "className",
+ "key",
+ "path",
+ "icon",
+ "elementType",
+ "allowDrag",
+ "allowDrop"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Data Pool ID",
+ "type": "string",
+ "example": 1
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "City Car"
+ },
+ "path": {
+ "description": "Path",
+ "type": "string",
+ "example": "/City Car/"
+ },
+ "className": {
+ "description": "Class Name",
+ "type": "string",
+ "example": "Car"
+ },
+ "elementType": {
+ "description": "Type of the elements in the Folder",
+ "type": "string",
+ "example": "asset"
+ },
+ "type": {
+ "description": "Type of the Folder",
+ "type": "string",
+ "example": "folder"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "allowDrag": {
+ "description": "Allow drag of this element",
+ "type": "boolean",
+ "example": false
+ },
+ "allowDrop": {
+ "description": "Allow drop of new element",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineTreeInformation": {
+ "title": "Portal Engine Tree Information",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Name of the tree",
+ "type": "string",
+ "example": "Collections"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardAssetPool": {
+ "title": "Portal Engine Wizard Asset Pool",
+ "required": [
+ "dataPoolName"
+ ],
+ "properties": {
+ "dataPoolName": {
+ "description": "Unique identifier for the wizard asset pool.",
+ "type": "string",
+ "example": "Images"
+ },
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Icon"
+ },
+ "enableFolderNavigation": {
+ "description": "Whether folder navigation is enabled for this pool.",
+ "type": "boolean",
+ "example": false
+ },
+ "enableTagNavigation": {
+ "description": "Whether tag-based navigation is enabled for this pool.",
+ "type": "boolean",
+ "example": false
+ },
+ "availableDownloadThumbnails": {
+ "description": "Configured download thumbnails for this pool.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "custom"
+ ]
+ },
+ "directDownloadShortcuts": {
+ "description": "Available direct download shortcuts.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "cart"
+ ]
+ },
+ "availableDownloadFormats": {
+ "description": "Download formats that can be used for exporting assets.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Pimcore\\Bundle\\PortalEngineBundle\\Service\\DataPool\\DownloadFormat\\ZipDownloadFormat"
+ ]
+ },
+ "visibleLanguages": {
+ "description": "Languages visible in the asset pool.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "editableLanguages": {
+ "description": "Languages that can be edited within the asset pool.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardCustomLayout": {
+ "title": "Portal Engine Wizard Custom Layout",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Identifier of the custom layout",
+ "type": "string",
+ "example": "CP"
+ },
+ "name": {
+ "description": "Display name of the custom layout",
+ "type": "string",
+ "example": "Product Detail (ID: CP)"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineIcon": {
+ "title": "Portal Engine Wizard Icon",
+ "required": [
+ "name",
+ "file"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "crow"
+ },
+ "file": {
+ "description": "File",
+ "type": "string",
+ "example": "... "
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardObjectPool": {
+ "title": "Portal Engine Wizard Object Pool",
+ "required": [
+ "dataPoolName",
+ "classDefinition",
+ "detailPageLayout"
+ ],
+ "properties": {
+ "dataPoolName": {
+ "description": "Unique identifier for the wizard object pool.",
+ "type": "string",
+ "example": "Products"
+ },
+ "classDefinition": {
+ "description": "Class definition key backing the object pool.",
+ "type": "string",
+ "example": "Product"
+ },
+ "detailPageLayout": {
+ "description": "Custom layout identifier used for the detail page.",
+ "type": "string",
+ "example": "ProductDetailLayout"
+ },
+ "icon": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Icon"
+ },
+ "enableFolderNavigation": {
+ "description": "Whether folder navigation is enabled for this pool.",
+ "type": "boolean",
+ "example": false
+ },
+ "enableTagNavigation": {
+ "description": "Whether tag-based navigation is enabled for this pool.",
+ "type": "boolean",
+ "example": false
+ },
+ "availableDownloadThumbnails": {
+ "description": "Configured download thumbnails for this pool.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "custom"
+ ]
+ },
+ "availableDownloadFormats": {
+ "description": "Download formats that can be used for exporting data objects.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Pimcore\\Bundle\\PortalEngineBundle\\Service\\DataPool\\DownloadFormat\\JsonDownloadFormat"
+ ]
+ },
+ "visibleLanguages": {
+ "description": "Languages visible in the object pool.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardStartResponse": {
+ "title": "Portal Engine Wizard Start Response",
+ "required": [
+ "tmpStoreKey"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "tmpStoreKey": {
+ "description": "Temporary storage key generated for the running wizard.",
+ "type": "string",
+ "example": "portal-engine_wizard_650a9242c8b1d"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineWizardStatusResponse": {
+ "title": "Portal Engine Wizard Status Response",
+ "required": [
+ "isWizardFinished",
+ "isWizardSuccess"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "isWizardFinished": {
+ "description": "Whether the wizard has finished processing.",
+ "type": "boolean",
+ "example": true
+ },
+ "isWizardSuccess": {
+ "description": "Whether the wizard run finished successfully.",
+ "type": "boolean",
+ "example": true
+ },
+ "portalDocumentId": {
+ "description": "ID of the created portal document when available.",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1234
+ },
+ "statusMessage": {
+ "description": "Latest status message returned by the wizard run.",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Portal created"
+ }
+ },
+ "type": "object"
+ },
+ "PortalEngineCollectionPortal": {
+ "title": "Portal entry for collection selection",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Identifier of the portal site",
+ "type": "integer",
+ "example": 123
+ },
+ "name": {
+ "description": "Display name of the portal",
+ "type": "string",
+ "example": "Dealer Portal"
+ }
+ },
+ "type": "object"
+ },
+ "PredefinedMetadata": {
+ "title": "PredefinedMetadata",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "creationDate",
+ "modificationDate",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "A predefined metadata"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "targetSubType": {
+ "description": "Target sub type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "input"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ },
+ "config": {
+ "description": "Config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "config"
+ },
+ "language": {
+ "description": "Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "group"
+ },
+ "creationDate": {
+ "description": "Creation Date",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "modificationDate": {
+ "description": "Modfication Date",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "isWriteable": {
+ "description": "Writable",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "PredefinedProperty": {
+ "title": "PredefinedProperty",
+ "required": [
+ "id",
+ "name",
+ "key",
+ "type",
+ "ctype",
+ "inheritable",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "alpha-numerical-value"
+ },
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "Mister Proper"
+ },
+ "description": {
+ "description": "description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Detailed description of the property"
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "Key for referencing"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "text"
+ },
+ "data": {
+ "description": "data",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "test"
+ },
+ "config": {
+ "description": "config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "comma,separated,values"
+ },
+ "ctype": {
+ "description": "ctype",
+ "type": "string",
+ "example": "document"
+ },
+ "inheritable": {
+ "description": "inheritable",
+ "type": "boolean",
+ "example": false
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": "integer",
+ "example": 221846400
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": "integer",
+ "example": 327417600
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingConfig": {
+ "title": "Pricing Config",
+ "required": [
+ "conditions",
+ "actions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "conditions": {
+ "description": "Available condition type keys",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "actions": {
+ "description": "Available action type keys",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingRuleCreateParameters": {
+ "title": "Pricing Rule Create Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name for the new pricing rule",
+ "type": "string",
+ "example": "summer-sale"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingRuleDetail": {
+ "title": "Pricing Rule Detail",
+ "required": [
+ "id",
+ "name",
+ "label",
+ "description",
+ "behavior",
+ "active",
+ "prio",
+ "actions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Rule ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "summer-sale"
+ },
+ "label": {
+ "description": "Localized rule labels keyed by language",
+ "type": "object",
+ "example": {
+ "en": "Summer Sale"
+ }
+ },
+ "description": {
+ "description": "Localized rule descriptions keyed by language",
+ "type": "object",
+ "example": {
+ "en": "Discount for summer"
+ }
+ },
+ "behavior": {
+ "description": "Rule behavior",
+ "type": "string",
+ "example": "additiv"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ },
+ "prio": {
+ "description": "Rule priority (display order)",
+ "type": "integer",
+ "example": 0
+ },
+ "condition": {
+ "description": "Condition tree as decoded JSON object",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": null
+ },
+ "actions": {
+ "description": "List of action configurations",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingRuleListItem": {
+ "title": "Pricing Rule List Item",
+ "required": [
+ "id",
+ "name",
+ "label",
+ "behavior",
+ "active",
+ "prio"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Rule ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Rule name",
+ "type": "string",
+ "example": "summer-sale"
+ },
+ "label": {
+ "description": "Localized rule label",
+ "type": "string",
+ "example": "Summer Sale"
+ },
+ "behavior": {
+ "description": "Rule behavior",
+ "type": "string",
+ "example": "additiv"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ },
+ "prio": {
+ "description": "Rule priority (display order)",
+ "type": "integer",
+ "example": 0
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingRuleRenameParameters": {
+ "title": "Pricing Rule Rename Parameters",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "New name for the pricing rule",
+ "type": "string",
+ "example": "winter-sale"
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommercePricingRuleSaveParameters": {
+ "title": "Pricing Rule Save Parameters",
+ "required": [
+ "behavior",
+ "active",
+ "prio",
+ "label",
+ "description",
+ "actions"
+ ],
+ "properties": {
+ "behavior": {
+ "description": "Rule behavior",
+ "type": "string",
+ "example": "additiv"
+ },
+ "active": {
+ "description": "Whether the rule is active",
+ "type": "boolean",
+ "example": true
+ },
+ "prio": {
+ "description": "Rule priority",
+ "type": "integer",
+ "example": 0
+ },
+ "label": {
+ "description": "Localized rule labels keyed by language",
+ "type": "object",
+ "example": {
+ "en": "Summer Sale"
+ }
+ },
+ "description": {
+ "description": "Localized rule descriptions keyed by language",
+ "type": "object",
+ "example": {
+ "en": "Discount for summer"
+ }
+ },
+ "condition": {
+ "description": "Condition tree as decoded JSON object",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": null
+ },
+ "actions": {
+ "description": "List of action configurations",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "QuantityValueUnit": {
+ "title": "QuantityValueUnit",
+ "required": [
+ "id",
+ "abbreviation",
+ "group",
+ "longName",
+ "baseUnit",
+ "reference",
+ "factor",
+ "conversionOffset",
+ "converter"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "mm"
+ },
+ "abbreviation": {
+ "description": "Abbreviation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "mm"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "longName": {
+ "description": "Long Name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Millimeter"
+ },
+ "baseUnit": {
+ "description": "Base Unit",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "m"
+ },
+ "reference": {
+ "description": "Reference",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "factor": {
+ "description": "Factor",
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "float",
+ "example": null
+ },
+ "conversionOffset": {
+ "description": "Conversion Offset",
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "float",
+ "example": null
+ },
+ "converter": {
+ "description": "Converter",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "QueueItemCount": {
+ "title": "Queue Item Count",
+ "required": [
+ "count"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "count": {
+ "description": "Items in queue",
+ "type": "integer",
+ "example": 42
+ }
+ },
+ "type": "object"
+ },
+ "RecentlyModifiedElement": {
+ "title": "Recently Modified Element Data",
+ "required": [
+ "id",
+ "type",
+ "subtype",
+ "fullPath",
+ "modificationDate",
+ "isPublished"
+ ],
+ "properties": {
+ "id": {
+ "description": "Element ID",
+ "type": "integer",
+ "example": 123
+ },
+ "type": {
+ "description": "Type of the element",
+ "type": "string",
+ "example": "asset"
+ },
+ "subtype": {
+ "description": "Subtype of the element",
+ "type": "string",
+ "example": "Image"
+ },
+ "fullPath": {
+ "description": "Full path of the element",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "modificationDate": {
+ "description": "Modification Date",
+ "type": "integer",
+ "example": 327417600
+ },
+ "isPublished": {
+ "description": "Is the element published",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "RecentlyModifiedWidgetConfig": {
+ "title": "Recently Modified Elements Widget Config",
+ "required": [
+ "color",
+ "elementType",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ },
+ {
+ "properties": {
+ "color": {
+ "description": "Widget Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "elementType": {
+ "description": "Element Type",
+ "type": "string",
+ "example": "asset"
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "Recipient": {
+ "title": "Recipient",
+ "required": [
+ "id",
+ "recipientName"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the Recipient",
+ "type": "integer",
+ "example": 1
+ },
+ "recipientName": {
+ "description": "User name or Group Name of the Recipient",
+ "type": "string",
+ "example": "Max Mustermann"
+ }
+ },
+ "type": "object"
+ },
+ "RecycleBin": {
+ "title": "Recycle Bin",
+ "required": [
+ "id",
+ "amount",
+ "date",
+ "deletedBy",
+ "path",
+ "subtype",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 1
+ },
+ "amount": {
+ "description": "Amount",
+ "type": "integer",
+ "example": 1
+ },
+ "date": {
+ "description": "Date",
+ "type": "integer",
+ "example": 1617267600
+ },
+ "deletedBy": {
+ "description": "Deleted By",
+ "type": "string",
+ "example": "admin"
+ },
+ "path": {
+ "description": "Path",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "subtype": {
+ "description": "Subtype",
+ "type": "string",
+ "example": "folder"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "asset"
+ }
+ },
+ "type": "object"
+ },
+ "RelatedElementData": {
+ "title": "RelatedElementData",
+ "required": [
+ "id",
+ "type",
+ "subtype",
+ "fullPath",
+ "isPublished"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 83
+ },
+ "type": {
+ "description": "Type of the element",
+ "type": "string",
+ "example": "object"
+ },
+ "subtype": {
+ "description": "Subtype of the element",
+ "type": "string",
+ "example": "Product"
+ },
+ "fullPath": {
+ "description": "Full path of the element",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "isPublished": {
+ "description": "Is the element published",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "RelationFieldConfig": {
+ "title": "Relation Field Config",
+ "required": [
+ "relation",
+ "field"
+ ],
+ "properties": {
+ "relation": {
+ "description": "Relation Getter",
+ "type": "string",
+ "example": "manufacturer"
+ },
+ "field": {
+ "description": "Field getter",
+ "type": "string",
+ "example": "name"
+ }
+ },
+ "type": "object"
+ },
+ "ResetPassword": {
+ "title": "ResetPassword",
+ "description": "Reset password parameters",
+ "required": [
+ "username",
+ "resetPasswordUrl"
+ ],
+ "properties": {
+ "username": {
+ "description": "Username",
+ "type": "string",
+ "example": "shaquille.oatmeal"
+ },
+ "resetPasswordUrl": {
+ "description": "Reset password URL",
+ "type": "string",
+ "example": "https://example.com/reset-password"
+ }
+ },
+ "type": "object"
+ },
+ "ResolveConflictRequest": {
+ "title": "Resolve Conflict Request",
+ "required": [
+ "strategy"
+ ],
+ "properties": {
+ "strategy": {
+ "description": "Conflict resolution strategy",
+ "type": "string",
+ "enum": [
+ "overwrite",
+ "save-as-version"
+ ],
+ "example": "overwrite"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerRoleSearchResult": {
+ "title": "Role Search Result",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "description": "Role ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Role name",
+ "type": "string",
+ "example": "Editors"
+ }
+ },
+ "type": "object"
+ },
+ "Progress": {
+ "title": "SSEHandlerProgress",
+ "required": [
+ "progress",
+ "currentStep",
+ "totalSteps",
+ "jobStepName",
+ "jobName",
+ "jobRunId",
+ "user"
+ ],
+ "properties": {
+ "progress": {
+ "description": "progress",
+ "type": "integer",
+ "example": 69
+ },
+ "currentStep": {
+ "description": "currentStep",
+ "type": "integer",
+ "example": 1
+ },
+ "totalSteps": {
+ "description": "totalSteps",
+ "type": "integer",
+ "example": 3
+ },
+ "jobStepName": {
+ "description": "jobStepName",
+ "type": "string",
+ "example": "Job Step Name"
+ },
+ "jobName": {
+ "description": "jobName",
+ "type": "string",
+ "example": "Job Name"
+ },
+ "jobRunId": {
+ "description": "jobRunId",
+ "type": "integer",
+ "example": 73
+ },
+ "user": {
+ "description": "user",
+ "type": "integer",
+ "example": 2
+ }
+ },
+ "type": "object"
+ },
+ "Finished": {
+ "title": "SSEJobRunFinished",
+ "required": [
+ "jobRunId",
+ "jobRunName",
+ "ownerId",
+ "status",
+ "messages",
+ "notifyAll"
+ ],
+ "properties": {
+ "jobRunId": {
+ "description": "jobRunId",
+ "type": "integer",
+ "example": 73
+ },
+ "jobRunName": {
+ "description": "jobRunName",
+ "type": "string",
+ "example": "my-job-name"
+ },
+ "ownerId": {
+ "description": "ownerId",
+ "type": "integer",
+ "example": 13
+ },
+ "status": {
+ "description": "status",
+ "type": "string",
+ "example": "finished"
+ },
+ "messages": {
+ "description": "messages",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Something went wrong"
+ ]
+ },
+ "notifyAll": {
+ "description": "notifyAll",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "SaveLastChangesWidgetConfig": {
+ "title": "Save Last Changes Widget Config",
+ "required": [
+ "showAssets",
+ "showDataObjects",
+ "showDocuments"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/CreateWidgetConfig"
+ },
+ {
+ "properties": {
+ "showAssets": {
+ "description": "Show Assets",
+ "type": "boolean",
+ "example": true
+ },
+ "showDataObjects": {
+ "description": "Show Data Objects",
+ "type": "boolean",
+ "example": true
+ },
+ "showDocuments": {
+ "description": "Show Documents",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "BundleWorkflowDesignerSaveWorkflow": {
+ "title": "Save Workflow Request",
+ "required": [
+ "general",
+ "places",
+ "transitions"
+ ],
+ "properties": {
+ "general": {
+ "description": "General workflow settings",
+ "type": "object"
+ },
+ "places": {
+ "description": "Places configuration",
+ "type": "object"
+ },
+ "transitions": {
+ "description": "Transitions configuration",
+ "type": "object"
+ },
+ "globalActions": {
+ "description": "Global actions configuration",
+ "type": "object"
+ },
+ "diagram": {
+ "description": "BPMN diagram XML string",
+ "type": "string",
+ "example": ""
+ },
+ "mode": {
+ "description": "Save mode",
+ "type": "string",
+ "example": "regular"
+ }
+ },
+ "type": "object"
+ },
+ "Schedule": {
+ "title": "Schedule",
+ "required": [
+ "id",
+ "ctype",
+ "date",
+ "active",
+ "userId",
+ "username"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": 666
+ },
+ "ctype": {
+ "description": "ctype",
+ "type": "string",
+ "example": "Type of element"
+ },
+ "date": {
+ "description": "Date of schedule",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "action": {
+ "description": "Action",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "publish-version",
+ "publish",
+ "unpublish",
+ "delete"
+ ],
+ "example": "publish-version"
+ },
+ "version": {
+ "description": "Version ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 987
+ },
+ "active": {
+ "description": "Active",
+ "type": "boolean",
+ "example": true
+ },
+ "userId": {
+ "description": "User ID",
+ "type": "integer",
+ "example": 999
+ },
+ "username": {
+ "description": "Username",
+ "type": "string",
+ "example": "shaquille.oatmeal"
+ }
+ },
+ "type": "object"
+ },
+ "ScheduleAction": {
+ "title": "Schedule Action",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Action key",
+ "type": "string",
+ "example": "publish-version"
+ }
+ },
+ "type": "object"
+ },
+ "CreateClassDefinition": {
+ "title": "Schema used to create class definitions",
+ "required": [
+ "name",
+ "uid"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Class Definition"
+ },
+ "uid": {
+ "description": "Class definition unique ID",
+ "type": "string",
+ "example": "my_class_definition_uid"
+ }
+ },
+ "type": "object"
+ },
+ "CustomLayoutNew": {
+ "title": "Schema used to create custom layouts",
+ "required": [
+ "name",
+ "classId"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "My Custom Layout"
+ },
+ "classId": {
+ "description": "Data object class id",
+ "type": "integer",
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ },
+ "CreateFieldCollection": {
+ "title": "Schema used to create field collection definitions",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the field collection",
+ "type": "string",
+ "example": "MyFieldCollection"
+ }
+ },
+ "type": "object"
+ },
+ "CreateObjectBrick": {
+ "title": "Schema used to create object brick definitions",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the object brick",
+ "type": "string",
+ "example": "MyObjectBrick"
+ }
+ },
+ "type": "object"
+ },
+ "CreateSelectOption": {
+ "title": "Schema used to create select option configurations",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "description": "ID of the select options configuration",
+ "type": "string",
+ "example": "EventStatus"
+ }
+ },
+ "type": "object"
+ },
+ "ClassDefinitionUpdate": {
+ "title": "Schema used to update class definition configuration",
+ "required": [
+ "configuration",
+ "values"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Layout configuration for fields (Panel, Input, ..)",
+ "type": "object",
+ "example": {
+ "children": [
+ {
+ "name": "Layout",
+ "datatype": "layout",
+ "fieldtype": "panel",
+ "type": null,
+ "region": null,
+ "title": "",
+ "width": "",
+ "height": "",
+ "collapsible": false,
+ "collapsed": false,
+ "bodyStyle": "",
+ "locked": false,
+ "layout": null,
+ "border": false,
+ "icon": "",
+ "labelWidth": 100,
+ "labelAlign": "left",
+ "invalidFieldError": null,
+ "children": []
+ }
+ ]
+ }
+ },
+ "values": {
+ "description": "Values for class definition object itself",
+ "type": "object",
+ "example": {
+ "name": "MyClass",
+ "title": "My class title",
+ "description": "Description of my class",
+ "parentClass": "",
+ "implementsInterfaces": "",
+ "listingParentClass": "",
+ "useTraits": "",
+ "listingUseTraits": "",
+ "encryption": false,
+ "encryptedTables": [],
+ "allowInherit": true,
+ "allowVariants": false,
+ "showVariants": false,
+ "icon": "",
+ "group": "",
+ "showAppLoggerTab": false,
+ "linkGeneratorReference": "",
+ "previewGeneratorReference": "",
+ "compositeIndices": [],
+ "showFieldLookup": false,
+ "propertyVisibility": {
+ "grid": {
+ "id": true,
+ "key": false,
+ "path": true,
+ "published": true,
+ "modificationDate": true,
+ "creationDate": true
+ },
+ "search": {
+ "id": true,
+ "key": false,
+ "path": true,
+ "published": true,
+ "modificationDate": true,
+ "creationDate": true
+ }
+ },
+ "enableGridLocking": false,
+ "propertyVisibility.grid.id": true,
+ "propertyVisibility.search.id": true,
+ "propertyVisibility.grid.key": false,
+ "propertyVisibility.search.key": false,
+ "propertyVisibility.grid.path": true,
+ "propertyVisibility.search.path": true,
+ "propertyVisibility.grid.published": true,
+ "propertyVisibility.search.published": true,
+ "propertyVisibility.grid.modificationDate": true,
+ "propertyVisibility.search.modificationDate": true,
+ "propertyVisibility.grid.creationDate": true,
+ "propertyVisibility.search.creationDate": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "CustomLayoutUpdate": {
+ "title": "Schema used to update custom layouts",
+ "required": [
+ "configuration",
+ "values"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Layout configuration for fields (Panel, Input, ..)",
+ "type": "object"
+ },
+ "values": {
+ "description": "Values for custom layout object itself",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "FieldCollectionUpdate": {
+ "title": "Schema used to update field collection definition",
+ "required": [
+ "configuration",
+ "values"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Layout configuration for fields (Panel, Input, ..)",
+ "type": "object",
+ "example": {
+ "children": [
+ {
+ "name": "Layout",
+ "datatype": "layout",
+ "fieldtype": "panel",
+ "type": null,
+ "region": "",
+ "title": "Pattern",
+ "width": "",
+ "height": "",
+ "collapsible": false,
+ "collapsed": false,
+ "bodyStyle": "",
+ "locked": false,
+ "layout": "",
+ "border": false,
+ "icon": null,
+ "labelWidth": 100,
+ "labelAlign": "left",
+ "invalidFieldError": null,
+ "children": [
+ {
+ "name": "count",
+ "datatype": "data",
+ "fieldtype": "numeric",
+ "title": "Token Count",
+ "tooltip": "",
+ "mandatory": false,
+ "noteditable": false,
+ "index": false,
+ "locked": false,
+ "style": "",
+ "permissions": null,
+ "relationType": false,
+ "invisible": false,
+ "visibleGridView": false,
+ "visibleSearch": false,
+ "defaultValue": null,
+ "integer": true,
+ "unsigned": true,
+ "minValue": 1,
+ "maxValue": null,
+ "unique": false,
+ "decimalSize": null,
+ "decimalPrecision": null,
+ "width": 400,
+ "defaultValueGenerator": "",
+ "invalidFieldError": null,
+ "children": null
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "values": {
+ "description": "Values for field collection definition metadata",
+ "type": "object",
+ "example": {
+ "parentClass": "\\App\\Bundle\\Model\\MyCustomParentType",
+ "implementsInterfaces": "",
+ "title": "",
+ "group": "Voucher",
+ "blockedVarsForExport": []
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ObjectBrickUpdate": {
+ "title": "Schema used to update object brick definition",
+ "required": [
+ "configuration",
+ "values"
+ ],
+ "properties": {
+ "configuration": {
+ "description": "Layout configuration for fields (Panel, Input, ..)",
+ "type": "object",
+ "example": {
+ "children": [
+ {
+ "name": "Layout",
+ "datatype": "layout",
+ "fieldtype": "panel",
+ "type": null,
+ "region": "",
+ "title": "Pattern",
+ "width": "",
+ "height": "",
+ "collapsible": false,
+ "collapsed": false,
+ "bodyStyle": "",
+ "locked": false,
+ "layout": "",
+ "border": false,
+ "icon": null,
+ "labelWidth": 100,
+ "labelAlign": "left",
+ "invalidFieldError": null,
+ "children": [
+ {
+ "name": "count",
+ "datatype": "data",
+ "fieldtype": "numeric",
+ "title": "Token Count",
+ "tooltip": "",
+ "mandatory": false,
+ "noteditable": false,
+ "index": false,
+ "locked": false,
+ "style": "",
+ "permissions": null,
+ "relationType": false,
+ "invisible": false,
+ "visibleGridView": false,
+ "visibleSearch": false,
+ "defaultValue": null,
+ "integer": true,
+ "unsigned": true,
+ "minValue": 1,
+ "maxValue": null,
+ "unique": false,
+ "decimalSize": null,
+ "decimalPrecision": null,
+ "width": 400,
+ "defaultValueGenerator": "",
+ "invalidFieldError": null,
+ "children": null
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "values": {
+ "description": "Values for object brick definition metadata",
+ "type": "object",
+ "example": {
+ "parentClass": "\\App\\Bundle\\Model\\MyCustomParentType",
+ "implementsInterfaces": "",
+ "title": "",
+ "group": "Voucher",
+ "classDefinitions": [
+ {
+ "classname": "Product",
+ "fieldname": "myBrickField"
+ }
+ ],
+ "blockedVarsForExport": []
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UpdateSelectOption": {
+ "title": "Schema used to update select option configurations",
+ "required": [
+ "group",
+ "adminOnly",
+ "useTraits",
+ "implementsInterfaces",
+ "selectOptions"
+ ],
+ "properties": {
+ "group": {
+ "description": "Group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "adminOnly": {
+ "description": "Whether this configuration is restricted to admin",
+ "type": "boolean",
+ "example": false
+ },
+ "useTraits": {
+ "description": "PHP traits to use",
+ "type": "string",
+ "example": ""
+ },
+ "implementsInterfaces": {
+ "description": "PHP interfaces to implement",
+ "type": "string",
+ "example": ""
+ },
+ "selectOptions": {
+ "description": "Select option entries",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/SelectOptionData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FormatedPath": {
+ "title": "Select Option",
+ "required": [
+ "objectReference",
+ "formatedPath"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "objectReference": {
+ "description": "Object Reference",
+ "example": "object_11",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "formatedPath": {
+ "description": "Formated Path",
+ "example": "nice/path",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "SelectOption": {
+ "title": "Select Option",
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "key"
+ },
+ "value": {
+ "description": "Value",
+ "type": "string",
+ "example": "value"
+ }
+ },
+ "type": "object"
+ },
+ "SelectOptionData": {
+ "title": "Select Option Data",
+ "required": [
+ "value",
+ "label",
+ "name"
+ ],
+ "properties": {
+ "value": {
+ "description": "Value of the select option",
+ "type": "string",
+ "example": "active"
+ },
+ "label": {
+ "description": "Display label of the select option",
+ "type": "string",
+ "example": "Active"
+ },
+ "name": {
+ "description": "Enum case name of the select option",
+ "type": "string",
+ "example": "Active"
+ }
+ },
+ "type": "object"
+ },
+ "SelectOptionDetail": {
+ "title": "Select Option Detail",
+ "required": [
+ "id",
+ "group",
+ "adminOnly",
+ "useTraits",
+ "implementsInterfaces",
+ "selectOptions",
+ "enumName",
+ "isWriteable"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the select options configuration",
+ "type": "string",
+ "example": "EventStatus"
+ },
+ "group": {
+ "description": "Group name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "adminOnly": {
+ "description": "Whether this configuration is restricted to admin",
+ "type": "boolean",
+ "example": false
+ },
+ "useTraits": {
+ "description": "PHP traits to use",
+ "type": "string",
+ "example": ""
+ },
+ "implementsInterfaces": {
+ "description": "PHP interfaces to implement",
+ "type": "string",
+ "example": ""
+ },
+ "selectOptions": {
+ "description": "Select option entries",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SelectOptionData"
+ }
+ },
+ "enumName": {
+ "description": "Fully qualified enum name",
+ "type": "string",
+ "example": "Pimcore\\Model\\DataObject\\SelectOptions\\EventStatus"
+ },
+ "isWriteable": {
+ "description": "Whether the configuration is writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "SelectOptionTreeFolder": {
+ "title": "Select Option Tree Folder",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "group",
+ "children"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of select option",
+ "type": "string",
+ "example": "EventStatus"
+ },
+ "name": {
+ "description": "Text of select option",
+ "type": "string",
+ "example": "EventStatus"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SelectOptionTree"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "SelectOptionTree": {
+ "title": "Select Option Tree Item",
+ "required": [
+ "id",
+ "name",
+ "icon",
+ "group",
+ "adminOnly"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id of select option",
+ "type": "string",
+ "example": "EventStatus"
+ },
+ "name": {
+ "description": "Text of select option",
+ "type": "string",
+ "example": "EventStatus"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "system"
+ },
+ "adminOnly": {
+ "description": "Only for admin user",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "SelectOptionUsageItem": {
+ "title": "Select Option Usage Item",
+ "required": [
+ "class",
+ "field"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "class": {
+ "description": "Name of the class using the select options",
+ "type": "string",
+ "example": "Car"
+ },
+ "field": {
+ "description": "Name of the field using the select options",
+ "type": "string",
+ "example": "status"
+ }
+ },
+ "type": "object"
+ },
+ "SendEmailParameters": {
+ "title": "SendEmailParameters",
+ "required": [
+ "from",
+ "to",
+ "subject",
+ "contentType"
+ ],
+ "properties": {
+ "from": {
+ "description": "from email address(es)",
+ "type": "string",
+ "example": "from@sender.com"
+ },
+ "to": {
+ "description": "to email address(es)",
+ "type": "string",
+ "example": "to@receiver.com"
+ },
+ "subject": {
+ "description": "email subject",
+ "type": "string",
+ "example": "My email subject"
+ },
+ "contentType": {
+ "description": "email content type",
+ "type": "string",
+ "enum": [
+ "document",
+ "html",
+ "text"
+ ],
+ "example": "text"
+ },
+ "content": {
+ "description": "email content",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My email message"
+ },
+ "documentPath": {
+ "description": "path to the email document",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/document"
+ },
+ "documentParameters": {
+ "description": "email document parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/EmailDocumentParameters"
+ }
+ },
+ "attachmentId": {
+ "description": "id of the asset attachment",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 83
+ }
+ },
+ "type": "object"
+ },
+ "SendNotificationParameters": {
+ "title": "SendEmailParameters",
+ "required": [
+ "recipientId",
+ "title",
+ "message"
+ ],
+ "properties": {
+ "recipientId": {
+ "description": "recipient ID",
+ "type": "integer",
+ "example": "33"
+ },
+ "title": {
+ "description": "title",
+ "type": "string",
+ "example": "New notification"
+ },
+ "message": {
+ "description": "message",
+ "type": "string",
+ "example": "My notification message"
+ },
+ "attachmentType": {
+ "description": "type of the attachment",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "asset",
+ "document",
+ "object"
+ ],
+ "example": null
+ },
+ "attachmentId": {
+ "description": "ID of the attachment",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 83
+ }
+ },
+ "type": "object"
+ },
+ "SettingsConfigurationData": {
+ "title": "Settings Configuration Data",
+ "required": [
+ "id",
+ "name",
+ "icon"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Configuration ID",
+ "type": "string",
+ "example": "my-config"
+ },
+ "name": {
+ "description": "Configuration name",
+ "type": "string",
+ "example": "My Configuration"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Configuration icon"
+ }
+ },
+ "type": "object"
+ },
+ "SimpleDashboard": {
+ "title": "Simple Dashboard",
+ "required": [
+ "id",
+ "name",
+ "owner"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Unique identifier for the dashboard",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name of the dashboard",
+ "type": "string",
+ "example": "My Dashboard"
+ },
+ "owner": {
+ "description": "ID of the owner of the dashboard",
+ "type": "integer",
+ "example": 1
+ },
+ "menuShortcutGroup": {
+ "description": "Name of the group in the Menu",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "My Dashboard"
+ }
+ },
+ "type": "object"
+ },
+ "SimpleFieldConfig": {
+ "title": "Simple Field Config",
+ "required": [
+ "field"
+ ],
+ "properties": {
+ "field": {
+ "description": "Field getter",
+ "type": "string",
+ "example": "name"
+ }
+ },
+ "type": "object"
+ },
+ "PhpCodeTransformer": {
+ "title": "Simple PHP Code Transformer",
+ "description": "A PHP code transformer service with basic information",
+ "required": [
+ "key",
+ "label"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Unique key of the transformer",
+ "type": "string",
+ "example": "t_key"
+ },
+ "label": {
+ "description": "Label of the transformer",
+ "type": "string",
+ "example": "Transformer"
+ }
+ },
+ "type": "object"
+ },
+ "SimpleUser": {
+ "title": "Simple User",
+ "description": "A user with the most imported information.",
+ "required": [
+ "id",
+ "username"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the User",
+ "type": "integer",
+ "example": "1"
+ },
+ "username": {
+ "description": "Name of the User",
+ "type": "string",
+ "example": "userName"
+ }
+ },
+ "type": "object"
+ },
+ "SimpleRole": {
+ "title": "Simple User Role",
+ "description": "A user role which is a combination of permissions and settings.",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the Role",
+ "type": "integer",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name of the Role",
+ "type": "string",
+ "example": "role"
+ }
+ },
+ "type": "object"
+ },
+ "AssetSearchPreview": {
+ "title": "SimpleSearchAssetDetail",
+ "required": [
+ "mimeType",
+ "thumbnail"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SimpleSearchPreview"
+ },
+ {
+ "properties": {
+ "mimeType": {
+ "description": "Mimetype",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "image/jpeg"
+ },
+ "thumbnail": {
+ "description": "Thumbnail path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "path/to/thumbnail"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "DataObjectSearchPreview": {
+ "title": "SimpleSearchDataObjectDetail",
+ "required": [
+ "class",
+ "objectData"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SimpleSearchPreview"
+ },
+ {
+ "properties": {
+ "class": {
+ "description": "Class name and Id",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Car [CAR]"
+ },
+ "objectData": {
+ "description": "Detail object data",
+ "type": "object",
+ "example": {
+ "fieldKey": "field value"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "SimpleSearchPreview": {
+ "title": "SimpleSearchDetail",
+ "required": [
+ "id",
+ "elementType",
+ "type",
+ "userOwner",
+ "userOwnerName",
+ "userModification",
+ "userModificationName",
+ "creationDate",
+ "modificationDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Id",
+ "type": "integer",
+ "example": "74"
+ },
+ "elementType": {
+ "description": "elementType",
+ "type": "string",
+ "example": "asset"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "image"
+ },
+ "userOwner": {
+ "description": "Id of owner",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "userOwnerName": {
+ "description": "Name of owner",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "admin"
+ },
+ "userModification": {
+ "description": "Id of the user that modified the element",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "userModificationName": {
+ "description": "Name of the user that modified the element",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": "admin"
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 221846400
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 327417600
+ }
+ },
+ "type": "object"
+ },
+ "DocumentSearchPreview": {
+ "title": "SimpleSearchDocumentDetail",
+ "required": [
+ "language",
+ "documentData"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SimpleSearchPreview"
+ },
+ {
+ "properties": {
+ "language": {
+ "description": "Document Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "English"
+ },
+ "documentData": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/PageSearchPreview",
+ "description": "Page document data"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Page document data"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "PageSearchPreview": {
+ "title": "SimpleSearchPageDetail",
+ "required": [
+ "title",
+ "description",
+ "name",
+ "hasPreviewImage"
+ ],
+ "properties": {
+ "title": {
+ "description": "Title",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Page"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "This is some page"
+ },
+ "name": {
+ "description": "Navigation name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Awesome Page"
+ },
+ "hasPreviewImage": {
+ "description": "Has Preview image",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "SimpleSearchResult": {
+ "title": "SimpleSearchResult",
+ "required": [
+ "id",
+ "elementType",
+ "type",
+ "path",
+ "icon"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "customAttributes": {
+ "$ref": "#/components/schemas/CustomAttributes",
+ "description": "Custom attributes for the tree"
+ },
+ "id": {
+ "description": "id",
+ "type": "integer",
+ "example": "74"
+ },
+ "elementType": {
+ "description": "elementType",
+ "type": "string",
+ "example": "asset"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "image"
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/path/to/asset"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "icon"
+ }
+ },
+ "type": "object"
+ },
+ "Site": {
+ "title": "Site",
+ "required": [
+ "id",
+ "domains",
+ "domain",
+ "rootId",
+ "rootPath"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 0
+ },
+ "domains": {
+ "description": "Domains",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "other_domain"
+ ]
+ },
+ "domain": {
+ "description": "Domain",
+ "type": "string",
+ "example": "main_site"
+ },
+ "rootId": {
+ "description": "ID of the root",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "rootPath": {
+ "description": "Root path",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/"
+ }
+ },
+ "type": "object"
+ },
+ "SiteDetailData": {
+ "title": "Site Detail Data",
+ "required": [
+ "id",
+ "creationDate",
+ "modificationDate",
+ "mainDomain",
+ "domains",
+ "errorDocument",
+ "localizedErrorDocuments",
+ "redirectToMainDomain"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 0
+ },
+ "creationDate": {
+ "description": "Creation Date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ },
+ "modificationDate": {
+ "description": "Modification Date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1712345678
+ },
+ "mainDomain": {
+ "description": "Main domain",
+ "type": "string",
+ "example": "main_site"
+ },
+ "domains": {
+ "description": "Domains",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "other_domain"
+ ]
+ },
+ "errorDocument": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Data of error document"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Data of error document",
+ "type": "object"
+ },
+ "localizedErrorDocuments": {
+ "description": "Localized error documents mapped by locale",
+ "type": "object",
+ "example": {
+ "en": {
+ "id": 123,
+ "type": "document",
+ "subtype": "page",
+ "fullPath": "en/error-page",
+ "isPublished": true
+ }
+ },
+ "additionalProperties": {
+ "$ref": "#/components/schemas/RelatedElementData",
+ "description": "Error document data for locale"
+ }
+ },
+ "redirectToMainDomain": {
+ "description": "Redirect to main domain",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "StaticTextConfig": {
+ "title": "Static Text Config",
+ "required": [
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "Static Text",
+ "type": "string",
+ "example": "My Text"
+ }
+ },
+ "type": "object"
+ },
+ "SubmitAction": {
+ "title": "SubmitAction",
+ "description": "Schema for submission of workflow action",
+ "required": [
+ "actionType",
+ "elementId",
+ "elementType",
+ "workflowId",
+ "transitionId",
+ "workflowOptions"
+ ],
+ "properties": {
+ "actionType": {
+ "description": "type of the action",
+ "type": "string",
+ "example": "transition"
+ },
+ "elementId": {
+ "description": "Id of the element",
+ "type": "integer",
+ "example": 50
+ },
+ "elementType": {
+ "description": "Type of the element",
+ "type": "string",
+ "example": "data-object"
+ },
+ "workflowId": {
+ "description": "Id of the workflow",
+ "type": "string",
+ "example": "my_first_workflow"
+ },
+ "transitionId": {
+ "description": "Id of the transition",
+ "type": "string",
+ "example": "start_workflow"
+ },
+ "workflowOptions": {
+ "description": "workflowOptions",
+ "type": [
+ "object",
+ "null"
+ ],
+ "example": "{\"notes\": \"Some note I want to write\"}"
+ }
+ },
+ "type": "object"
+ },
+ "Subtype": {
+ "title": "Subtype",
+ "required": [
+ "elementId",
+ "elementType",
+ "elementSubtype"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "elementId": {
+ "description": "Element Id",
+ "type": "integer",
+ "example": 14
+ },
+ "elementType": {
+ "description": "Element Type",
+ "type": "string",
+ "example": "asset"
+ },
+ "elementSubtype": {
+ "description": "Element Subtype",
+ "type": "string",
+ "example": "image"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerSupportElement": {
+ "title": "Support Element",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "key": {
+ "description": "Fully qualified class name of the supported element",
+ "type": "string",
+ "example": "\\Pimcore\\Model\\DataObject\\Concrete"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "title": "Tag",
+ "required": [
+ "id",
+ "parentId",
+ "text",
+ "path",
+ "hasChildren",
+ "iconName"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "tag ID",
+ "type": "integer",
+ "example": 2
+ },
+ "parentId": {
+ "description": "parent tag ID",
+ "type": "integer",
+ "example": 0
+ },
+ "text": {
+ "description": "tag text",
+ "type": "string",
+ "example": "Tag 1"
+ },
+ "path": {
+ "description": "path",
+ "type": "string",
+ "example": "/test"
+ },
+ "hasChildren": {
+ "description": "has children",
+ "type": "boolean",
+ "example": false
+ },
+ "iconName": {
+ "description": "IconName",
+ "type": "string",
+ "example": "pimcore_icon_pdf"
+ },
+ "children": {
+ "description": "children",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleEcommerceTenant": {
+ "title": "Tenant",
+ "required": [
+ "key",
+ "name"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Tenant key",
+ "type": "string",
+ "example": "default"
+ },
+ "name": {
+ "description": "Tenant name",
+ "type": "string",
+ "example": "Default Tenant"
+ }
+ },
+ "type": "object"
+ },
+ "Text": {
+ "title": "Text",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ }
+ ]
+ },
+ "TextLayoutPreview": {
+ "title": "Text Layout Preview Data",
+ "required": [
+ "className",
+ "path",
+ "renderingData",
+ "renderingClass",
+ "html"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "className": {
+ "description": "Name of class definition",
+ "type": "string",
+ "example": "Car"
+ },
+ "path": {
+ "description": "Path of the data object for preview",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/cars/my-car"
+ },
+ "renderingData": {
+ "description": "Data for preview",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "{\"field1\":\"value1\",\"field2\":\"value2\"}"
+ },
+ "renderingClass": {
+ "description": "Rendering class for preview",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "App\\DataObject\\Car"
+ },
+ "html": {
+ "description": "HTML preview of the layout",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "...
"
+ }
+ },
+ "type": "object"
+ },
+ "Thumbnail": {
+ "title": "Thumbnail",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "pimcore_system_treepreview"
+ },
+ "text": {
+ "description": "text",
+ "type": "string",
+ "example": "original"
+ }
+ },
+ "type": "object"
+ },
+ "ThumbnailConfigurationData": {
+ "title": "Thumbnail Configuration Data",
+ "required": [
+ "writeable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SettingsConfigurationData"
+ },
+ {
+ "properties": {
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ThumbnailConfigurationFolderData": {
+ "title": "Thumbnail Configuration Folder Data",
+ "required": [
+ "children"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SettingsConfigurationData"
+ },
+ {
+ "properties": {
+ "children": {
+ "description": "Child nodes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ThumbnailConfigurationData"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ThumbnailCollection": {
+ "title": "ThumbnailCollection",
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "description": "items",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Thumbnail"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TokenLink": {
+ "title": "TokenLink",
+ "description": "Token link parameters",
+ "required": [
+ "tokenLoginUrl"
+ ],
+ "properties": {
+ "tokenLoginUrl": {
+ "description": "Token login URL",
+ "type": "string",
+ "example": "https://example.com/login"
+ }
+ },
+ "type": "object"
+ },
+ "Transformer": {
+ "title": "Transformer",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the Transformer",
+ "type": "string",
+ "example": "uppercase"
+ },
+ "config": {
+ "description": "Configuration for the transformer",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "Translation": {
+ "title": "Translation",
+ "description": "Translation Scheme for API",
+ "required": [
+ "locale",
+ "keys"
+ ],
+ "properties": {
+ "locale": {
+ "description": "Locale",
+ "type": "string",
+ "example": "en"
+ },
+ "keys": {
+ "description": "Keys for Translation - Fallback will be applied to all Keys automatically",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "not_your_typical_key"
+ }
+ },
+ "useFallback": {
+ "description": "Apply Fallback Language. Used only if no keys are defined",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "CreateTranslation": {
+ "title": "Translation Create",
+ "description": "Translation Create Scheme for API",
+ "required": [
+ "translationData"
+ ],
+ "properties": {
+ "errorOnDuplicate": {
+ "description": "Throw an error on duplicate key",
+ "type": "boolean",
+ "example": false
+ },
+ "translationData": {
+ "description": "Translation Data",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CreateTranslationData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TranslationData": {
+ "title": "Translation Data",
+ "description": "Translation Data Scheme for API",
+ "required": [
+ "locale",
+ "translation"
+ ],
+ "properties": {
+ "locale": {
+ "description": "Locale",
+ "type": "string",
+ "example": "en"
+ },
+ "translation": {
+ "description": "Translation",
+ "type": "string",
+ "example": "some_translated_string"
+ }
+ },
+ "type": "object"
+ },
+ "CreateTranslationData": {
+ "title": "Translation Data for create",
+ "description": "Translation Data Scheme for create endpoint of the API",
+ "required": [
+ "key",
+ "type"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "my_translation_key"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "simple"
+ },
+ "domain": {
+ "description": "Domain",
+ "type": "string",
+ "example": "studio"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateTranslation": {
+ "title": "Translation Update",
+ "description": "Translation Update Scheme for API",
+ "required": [
+ "key",
+ "type",
+ "translationData"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key of the translation",
+ "type": "string",
+ "example": "car"
+ },
+ "type": {
+ "description": "Type of the translation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "simple"
+ },
+ "translationData": {
+ "description": "Translation Data",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TranslationData"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TranslationDeltaValues": {
+ "title": "Translation delta values",
+ "description": "Translation delta values",
+ "required": [
+ "locale",
+ "currentTranslation",
+ "importTranslation"
+ ],
+ "properties": {
+ "locale": {
+ "description": "Locale",
+ "type": "string",
+ "example": "en"
+ },
+ "currentTranslation": {
+ "description": "Current translation",
+ "type": "string",
+ "example": "some translation"
+ },
+ "importTranslation": {
+ "description": "Imported translation",
+ "type": "string",
+ "example": "some translation updated"
+ }
+ },
+ "type": "object"
+ },
+ "Translations": {
+ "title": "Translations",
+ "description": "Translations including all languages and keys",
+ "required": [
+ "key",
+ "translations",
+ "type"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of the translation",
+ "type": "string",
+ "example": "car"
+ },
+ "translations": {
+ "description": "List of translations for the given key",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "example": {
+ "en": "Car",
+ "de": "Auto",
+ "fr": "Voiture"
+ }
+ }
+ },
+ "type": {
+ "description": "Type simple or custom",
+ "type": "string",
+ "example": "simple"
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceConfiguration": {
+ "title": "Translations Provider Interface Configuration",
+ "required": [
+ "configuration",
+ "isWriteable",
+ "activeProviderTypes",
+ "availableProviders"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "configuration": {
+ "description": "Detailed config data",
+ "type": "object",
+ "example": []
+ },
+ "isWriteable": {
+ "description": "Whether the configuration is writeable",
+ "type": "boolean",
+ "example": false
+ },
+ "activeProviderTypes": {
+ "description": "Active translations providers",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Pimcore\\TranslationsProviderInterfaceBundle\\TranslationsProvider\\DeepL"
+ ]
+ },
+ "availableProviders": {
+ "description": "Available translations providers",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": [
+ [
+ "translations-provider.deepl",
+ "DeepL"
+ ]
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceConfigurationUiSettings": {
+ "title": "Translations Provider Interface Configuration UI Settings",
+ "required": [
+ "success",
+ "defaultProvider",
+ "allowedLanguages"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Whether the configuration was read successfully",
+ "type": "boolean",
+ "example": true
+ },
+ "defaultProvider": {
+ "description": "Default translation provider",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "translation.com"
+ },
+ "allowedLanguages": {
+ "description": "Allowed languages",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "en"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceTranslationItemCount": {
+ "title": "Translations Provider Interface Translation Item Count",
+ "required": [
+ "elementType",
+ "selection",
+ "includeChildren",
+ "directChildren",
+ "treeMode"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "elementType": {
+ "description": "Element type to count translations for",
+ "type": "string",
+ "example": "object"
+ },
+ "selection": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 100,
+ 200
+ ]
+ },
+ "includeChildren": {
+ "description": "Whether to include children elements",
+ "type": "boolean",
+ "example": true
+ },
+ "directChildren": {
+ "description": "Whether to include only direct children",
+ "type": "boolean",
+ "example": false
+ },
+ "treeMode": {
+ "description": "Whether tree mode is enabled",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceTranslationItemCountResponse": {
+ "title": "Translations Provider Interface Translation Item Count Response",
+ "required": [
+ "success"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Whether the request was successfully processed",
+ "type": "boolean",
+ "example": true
+ },
+ "totalCount": {
+ "description": "Total item count",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 10
+ },
+ "message": {
+ "description": "Optional error message",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "An error occured."
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceTranslationRequest": {
+ "title": "Translations Provider Interface Translation Request",
+ "required": [
+ "source",
+ "targets",
+ "provider",
+ "elementType",
+ "selection",
+ "includeChildren",
+ "directChildren",
+ "treeMode",
+ "submissionName",
+ "dueDate"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "source": {
+ "description": "Source language code",
+ "type": "string",
+ "example": "en"
+ },
+ "targets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "en"
+ ]
+ },
+ "provider": {
+ "description": "Translation provider identifier",
+ "type": "string",
+ "example": "translations.com"
+ },
+ "elementType": {
+ "description": "Element type to translate",
+ "type": "string",
+ "example": "object"
+ },
+ "selection": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "example": [
+ 100,
+ 200
+ ]
+ },
+ "includeChildren": {
+ "description": "Whether to include children elements",
+ "type": "boolean",
+ "example": true
+ },
+ "directChildren": {
+ "description": "Whether to include only direct children",
+ "type": "boolean",
+ "example": false
+ },
+ "treeMode": {
+ "description": "Whether tree mode is enabled",
+ "type": "boolean",
+ "example": true
+ },
+ "submissionName": {
+ "description": "Name of the translation submission",
+ "type": "string",
+ "example": "Submission-1"
+ },
+ "dueDate": {
+ "description": "Due date for the translation",
+ "type": "string",
+ "example": "2050-01-01T00:00:00"
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceTranslationRequestResponse": {
+ "title": "Translations Provider Interface Translation Request Response",
+ "required": [
+ "success"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "success": {
+ "description": "Whether the request was successfully processed",
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "description": "Optional error message",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "An error occured."
+ }
+ },
+ "type": "object"
+ },
+ "TranslationsProviderInterfaceUpdateConfiguration": {
+ "title": "Translations Provider Interface Update Configuration",
+ "required": [
+ "settings",
+ "translationsCom",
+ "deepL"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "settings": {
+ "description": "General settings",
+ "type": "object",
+ "example": {
+ "auto_submit": true,
+ "project_shortcode": "Pimcore",
+ "default_provider": "translations-provider.translationscom",
+ "allowed_languages": "en",
+ "notification_recipients": "",
+ "redelivery_threshold": 60,
+ "error_threshold": 10
+ }
+ },
+ "translationsCom": {
+ "description": "Translations.com configuration",
+ "type": "object",
+ "example": {
+ "project_director": {
+ "username": "pimcore",
+ "password": "pa$$w0rd",
+ "url": "https://gl-connect7.translations.com/PD",
+ "defaultFileFormatProfile": "PimcoreXML"
+ }
+ }
+ },
+ "deepL": {
+ "description": "DeepL configuration",
+ "type": "object",
+ "example": {
+ "api_url": "https://deepl.url",
+ "token": "myapitoken",
+ "glossary_url": ""
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TreeLevelData": {
+ "title": "Tree Level Data",
+ "required": [
+ "level",
+ "elementId",
+ "pageNumber"
+ ],
+ "properties": {
+ "parentId": {
+ "description": "Parent ID",
+ "type": "integer",
+ "example": 1
+ },
+ "elementId": {
+ "description": "Element ID",
+ "type": "integer",
+ "example": 66
+ },
+ "pageNumber": {
+ "description": "Page Number",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "TreeNode": {
+ "title": "Tree Node",
+ "description": "One node in the a tree",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "hasChildren"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Unique Identifier",
+ "type": "integer",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name of the tree node",
+ "type": "string",
+ "example": "admin"
+ },
+ "type": {
+ "description": "Is ether folder or a specific item in the folder",
+ "type": "string",
+ "example": "user"
+ },
+ "hasChildren": {
+ "description": "If a folder has sub items",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "TwoFactorAuth": {
+ "title": "Two Factor Authentication Data",
+ "description": "Two Factor Authentication Data for a User",
+ "required": [
+ "required",
+ "enabled",
+ "type",
+ "active"
+ ],
+ "properties": {
+ "required": {
+ "description": "Required",
+ "type": "boolean",
+ "example": true
+ },
+ "enabled": {
+ "description": "Enabled",
+ "type": "boolean",
+ "example": true
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "totp"
+ },
+ "active": {
+ "description": "Active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "ConvertParameters": {
+ "title": "Unit Convert Parameters",
+ "required": [
+ "fromUnitId",
+ "toUnitId",
+ "value"
+ ],
+ "properties": {
+ "fromUnitId": {
+ "description": "From Unit Id",
+ "type": "string",
+ "example": "m"
+ },
+ "toUnitId": {
+ "description": "To Unit Id",
+ "type": "string",
+ "example": "mm"
+ },
+ "value": {
+ "description": "Value",
+ "example": 5,
+ "anyOf": [
+ {
+ "type": "float"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Unknown": {
+ "title": "Unknown",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ }
+ ]
+ },
+ "UnreadCount": {
+ "title": "Unread Count",
+ "required": [
+ "unreadNotificationsCount"
+ ],
+ "properties": {
+ "unreadNotificationsCount": {
+ "description": "Count of unread notifications",
+ "type": "integer",
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "UpdateAdminSettings": {
+ "title": "Update Admin Settings",
+ "required": [
+ "branding",
+ "assets"
+ ],
+ "properties": {
+ "branding": {
+ "$ref": "#/components/schemas/Branding",
+ "description": "Branding configuration"
+ },
+ "assets": {
+ "$ref": "#/components/schemas/Assets",
+ "description": "Assets configuration"
+ }
+ },
+ "type": "object"
+ },
+ "UpdatePredefinedMetadata": {
+ "title": "Update Predefined Metadata",
+ "required": [
+ "name",
+ "description",
+ "type",
+ "targetSubType",
+ "data",
+ "config",
+ "language",
+ "group"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "description": {
+ "description": "Description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "A predefined metadata"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "targetSubType": {
+ "description": "Target sub type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "image"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ },
+ "config": {
+ "description": "Config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "config"
+ },
+ "language": {
+ "description": "Language",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "en"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "group"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateSite": {
+ "title": "Update Site",
+ "required": [
+ "mainDomain",
+ "domains",
+ "errorDocument",
+ "localizedErrorDocuments",
+ "redirectToMainDomain"
+ ],
+ "properties": {
+ "mainDomain": {
+ "description": "Main domain",
+ "type": "string",
+ "example": "main_site"
+ },
+ "domains": {
+ "description": "Domains",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "other_domain"
+ ]
+ },
+ "errorDocument": {
+ "description": "Error document",
+ "type": "string",
+ "example": "path/to/error/document"
+ },
+ "localizedErrorDocuments": {
+ "description": "Localized error documents",
+ "type": "object",
+ "example": {
+ "en": "path/to/en/error/document",
+ "de": "path/to/de/error/document"
+ }
+ },
+ "redirectToMainDomain": {
+ "description": "Redirect to main domain",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "UpdateThumbnailConfig": {
+ "title": "Update Thumbnail Config",
+ "required": [
+ "settings",
+ "medias",
+ "mediaOrder"
+ ],
+ "properties": {
+ "settings": {
+ "description": "Thumbnail settings configuration",
+ "type": "object",
+ "example": {
+ "description": "My thumbnail description",
+ "group": "Areas",
+ "format": "SOURCE",
+ "quality": 95,
+ "highResolution": 0,
+ "preserveColor": false,
+ "forceProcessICCProfiles": false,
+ "preserveMetaData": false,
+ "rasterizeSVG": false,
+ "preserveAnimation": false,
+ "downloadable": false
+ }
+ },
+ "medias": {
+ "description": "Media configurations with transformation items",
+ "type": "object",
+ "example": {
+ "default": [
+ {
+ "method": "scaleByWidth",
+ "arguments": {
+ "width": 1140,
+ "forceResize": false
+ }
+ }
+ ]
+ }
+ },
+ "mediaOrder": {
+ "description": "Media configurations order",
+ "type": "object",
+ "example": {
+ "default": 0,
+ "(max-width: 940px)": 1
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UpdateUnitParameters": {
+ "title": "Update Unit Parameters",
+ "properties": {
+ "abbreviation": {
+ "description": "Abbreviation",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "mm"
+ },
+ "longname": {
+ "description": "Long name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Millimeter"
+ },
+ "group": {
+ "description": "Group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Length"
+ },
+ "baseunit": {
+ "description": "Base unit ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "m"
+ },
+ "factor": {
+ "description": "Conversion factor",
+ "type": [
+ "number",
+ "null"
+ ],
+ "example": 0.001
+ },
+ "conversionOffset": {
+ "description": "Conversion offset",
+ "type": [
+ "number",
+ "null"
+ ],
+ "example": null
+ },
+ "converter": {
+ "description": "Converter service class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ },
+ "reference": {
+ "description": "Reference",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "UpdateRole": {
+ "title": "Update User Role",
+ "description": "Contains all information about a role that can be updated.",
+ "required": [
+ "name",
+ "classes",
+ "parentId",
+ "permissions",
+ "docTypes",
+ "websiteTranslationLanguagesEdit",
+ "websiteTranslationLanguagesView",
+ "assetWorkspaces",
+ "dataObjectWorkspaces",
+ "documentWorkspaces",
+ "perspectives"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of Folder or Role",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "admin"
+ },
+ "classes": {
+ "description": "Classes the user is allows to see",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "parentId": {
+ "description": "Parent ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 2
+ },
+ "permissions": {
+ "description": "List of permissions for the user",
+ "type": "object",
+ "example": [
+ "objects",
+ "documents"
+ ]
+ },
+ "docTypes": {
+ "description": "List of document types for the role",
+ "type": "object",
+ "example": [
+ "1",
+ "2"
+ ]
+ },
+ "websiteTranslationLanguagesEdit": {
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "websiteTranslationLanguagesView": {
+ "type": "object",
+ "example": [
+ "de"
+ ]
+ },
+ "assetWorkspaces": {
+ "description": "Asset Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "dataObjectWorkspaces": {
+ "description": "Data Object Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "documentWorkspaces": {
+ "description": "Document Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "perspectives": {
+ "description": "Allowed studio perspectives",
+ "type": "object",
+ "example": [
+ "studio_default_perspective",
+ "some_otherPerspective_Id"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UpdateCustomMetadata": {
+ "title": "UpdateCustomMetadata",
+ "required": [
+ "name",
+ "language",
+ "type",
+ "data"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "custom_metadata"
+ },
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "input"
+ },
+ "data": {
+ "description": "Data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateCustomSettings": {
+ "title": "UpdateCustomSettings",
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "my_custom_setting_key"
+ },
+ "value": {
+ "description": "Value",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "data"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateElementProperty": {
+ "title": "UpdateDataProperty",
+ "required": [
+ "key",
+ "data",
+ "type",
+ "inheritable"
+ ],
+ "properties": {
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "Mister Proper"
+ },
+ "data": {
+ "description": "data",
+ "type": [
+ "mixed",
+ "null"
+ ],
+ "example": "123"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "document"
+ },
+ "inheritable": {
+ "description": "inheritable",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "UpdatePredefinedProperty": {
+ "title": "UpdatePredefinedProperty",
+ "required": [
+ "name",
+ "key",
+ "type",
+ "ctype",
+ "inheritable"
+ ],
+ "properties": {
+ "name": {
+ "description": "name",
+ "type": "string",
+ "example": "Mister Proper"
+ },
+ "description": {
+ "description": "description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Detailed description of the property"
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "Key for referencing"
+ },
+ "type": {
+ "description": "type",
+ "type": "string",
+ "example": "text"
+ },
+ "data": {
+ "description": "data",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "test"
+ },
+ "config": {
+ "description": "config",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "comma,separated,values"
+ },
+ "ctype": {
+ "description": "ctype",
+ "type": "string",
+ "example": "document"
+ },
+ "inheritable": {
+ "description": "inheritable",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "UpdateSchedule": {
+ "title": "UpdateSchedule",
+ "required": [
+ "id",
+ "date",
+ "active"
+ ],
+ "properties": {
+ "id": {
+ "description": "Id of schedule, if null a new one will be created",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 666
+ },
+ "date": {
+ "description": "Date of schedule",
+ "type": "integer",
+ "example": 1634025600
+ },
+ "action": {
+ "description": "Action",
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "publish-version",
+ "publish",
+ "unpublish",
+ "delete"
+ ],
+ "example": "publish-version"
+ },
+ "version": {
+ "description": "Version ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 987
+ },
+ "active": {
+ "description": "Active",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "UpdateVersion": {
+ "title": "UpdateVersion",
+ "properties": {
+ "public": {
+ "description": "Public",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": null
+ },
+ "note": {
+ "description": "Note",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "UpdateUser": {
+ "title": "User",
+ "description": "User Schema to update a User.",
+ "required": [
+ "email",
+ "firstname",
+ "lastname",
+ "admin",
+ "active",
+ "classes",
+ "docTypes",
+ "closeWarning",
+ "allowDirtyClose",
+ "contentLanguages",
+ "keyBindings",
+ "language",
+ "memorizeTabs",
+ "parentId",
+ "permissions",
+ "roles",
+ "twoFactorAuthenticationRequired",
+ "websiteTranslationLanguagesEdit",
+ "websiteTranslationLanguagesView",
+ "welcomeScreen",
+ "assetWorkspaces",
+ "dataObjectWorkspaces",
+ "documentWorkspaces",
+ "perspectives"
+ ],
+ "properties": {
+ "email": {
+ "description": "Email of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "firstname": {
+ "description": "Firstname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "lastname": {
+ "description": "Lastname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "admin": {
+ "description": "If User is admin",
+ "type": "boolean",
+ "example": false
+ },
+ "active": {
+ "description": "If User is active",
+ "type": "boolean",
+ "example": true
+ },
+ "classes": {
+ "description": "Classes the user is allows to see",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "docTypes": {
+ "description": "Allowed Document types to create",
+ "type": "object",
+ "example": [
+ "3",
+ "5"
+ ]
+ },
+ "closeWarning": {
+ "description": "Show Close Warning",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDirtyClose": {
+ "description": "Allow Dirty Close",
+ "type": "boolean",
+ "example": true
+ },
+ "contentLanguages": {
+ "description": "List of available content Language already sorted.",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "keyBindings": {
+ "description": "Key Bindings",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyBinding"
+ }
+ },
+ "language": {
+ "description": "Language of the User",
+ "type": "string",
+ "example": "de"
+ },
+ "dateTimeLocale": {
+ "description": "Date Time Locale for the User",
+ "type": "string",
+ "example": ""
+ },
+ "memorizeTabs": {
+ "description": "Memorize Tabs",
+ "type": "boolean",
+ "example": true
+ },
+ "parentId": {
+ "description": "Parent ID",
+ "type": "integer",
+ "example": 2
+ },
+ "permissions": {
+ "description": "List of permissions for the user",
+ "type": "object",
+ "example": [
+ "objects",
+ "documents"
+ ]
+ },
+ "roles": {
+ "description": "ID List of roles the user is assigned",
+ "type": "object",
+ "example": [
+ 12,
+ 14
+ ]
+ },
+ "twoFactorAuthenticationRequired": {
+ "description": "Two Factor Authentication Enabled",
+ "type": "boolean",
+ "example": false
+ },
+ "websiteTranslationLanguagesEdit": {
+ "description": "Website Translation Languages Edit",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "websiteTranslationLanguagesView": {
+ "description": "Website Translation Languages View",
+ "type": "object",
+ "example": [
+ "de"
+ ]
+ },
+ "welcomeScreen": {
+ "description": "Show welcome Screen",
+ "type": "boolean",
+ "example": true
+ },
+ "assetWorkspaces": {
+ "description": "Asset Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "dataObjectWorkspaces": {
+ "description": "Data Object Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "documentWorkspaces": {
+ "description": "Document Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "perspectives": {
+ "description": "Allowed studio perspectives",
+ "type": "object",
+ "example": [
+ "studio_default_perspective",
+ "some_otherPerspective_Id"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "User": {
+ "title": "User",
+ "description": "Contains all information about a user",
+ "required": [
+ "id",
+ "name",
+ "email",
+ "firstname",
+ "lastname",
+ "active",
+ "admin",
+ "classes",
+ "docTypes",
+ "closeWarning",
+ "allowDirtyClose",
+ "contentLanguages",
+ "hasImage",
+ "keyBindings",
+ "language",
+ "memorizeTabs",
+ "parentId",
+ "permissions",
+ "roles",
+ "twoFactorAuthentication",
+ "websiteTranslationLanguagesEdit",
+ "websiteTranslationLanguagesView",
+ "welcomeScreen",
+ "assetWorkspaces",
+ "dataObjectWorkspaces",
+ "documentWorkspaces",
+ "objectDependencies",
+ "perspectives"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID of the User",
+ "type": "integer",
+ "example": "1"
+ },
+ "name": {
+ "description": "Name of Folder or User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "admin"
+ },
+ "email": {
+ "description": "Email of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "firstname": {
+ "description": "Firstname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "lastname": {
+ "description": "Lastname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "active": {
+ "description": "If a User is active",
+ "type": "boolean",
+ "example": true
+ },
+ "admin": {
+ "description": "If User is admin",
+ "type": "boolean",
+ "example": false
+ },
+ "classes": {
+ "description": "Classes the user is allows to see",
+ "type": "object",
+ "example": [
+ "CAR"
+ ]
+ },
+ "docTypes": {
+ "description": "Allowed doc types to create",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "closeWarning": {
+ "description": "Show close warning",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDirtyClose": {
+ "description": "Allow Dirty Close",
+ "type": "boolean",
+ "example": true
+ },
+ "contentLanguages": {
+ "description": "List of available content Language already sorted.",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "hasImage": {
+ "description": "If User has an Image",
+ "type": "boolean",
+ "example": true
+ },
+ "keyBindings": {
+ "description": "Key Bindings",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyBinding"
+ }
+ },
+ "language": {
+ "description": "Language of the User",
+ "type": "string",
+ "example": "de"
+ },
+ "dateTimeLocale": {
+ "description": "Locale for dateTime",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "lastLogin": {
+ "description": "Timestamp of the last login",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": "1718757677"
+ },
+ "memorizeTabs": {
+ "description": "Memorize Tabs",
+ "type": "boolean",
+ "example": true
+ },
+ "parentId": {
+ "description": "Parent ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 2
+ },
+ "permissions": {
+ "description": "List of permissions for the user",
+ "type": "object",
+ "example": [
+ "objects",
+ "documents"
+ ]
+ },
+ "roles": {
+ "description": "ID List of roles the user is assigned",
+ "type": "object",
+ "example": [
+ 12,
+ 14
+ ]
+ },
+ "twoFactorAuthentication": {
+ "$ref": "#/components/schemas/TwoFactorAuth",
+ "description": "Two Factor Authentication"
+ },
+ "websiteTranslationLanguagesEdit": {
+ "description": "Website Translation Languages Edit",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "websiteTranslationLanguagesView": {
+ "description": "Website Translation Languages View",
+ "type": "object",
+ "example": [
+ "de"
+ ]
+ },
+ "welcomeScreen": {
+ "description": "Show Welcome Screen",
+ "type": "boolean",
+ "example": true
+ },
+ "assetWorkspaces": {
+ "description": "Asset Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserWorkspace"
+ }
+ },
+ "dataObjectWorkspaces": {
+ "description": "Data Object Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserDataObjectWorkspace"
+ }
+ },
+ "documentWorkspaces": {
+ "description": "Document Workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserDocumentWorkspace"
+ }
+ },
+ "objectDependencies": {
+ "$ref": "#/components/schemas/ObjectDependencies",
+ "description": "Object Dependencies"
+ },
+ "perspectives": {
+ "description": "Allowed studio perspectives",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PerspectiveConfig"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UserDataObjectWorkspace": {
+ "title": "User Document Workspace",
+ "required": [
+ "save",
+ "unpublish"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserWorkspace"
+ },
+ {
+ "properties": {
+ "save": {
+ "description": "Save",
+ "type": "boolean",
+ "example": true
+ },
+ "unpublish": {
+ "description": "Unpublish",
+ "type": "boolean",
+ "example": true
+ },
+ "localizedEdit": {
+ "description": "Localized Edit",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "default"
+ },
+ "localizedView": {
+ "description": "Localized View",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "default"
+ },
+ "layouts": {
+ "description": "Layouts",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "CAR"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "UserDocumentWorkspace": {
+ "title": "User Document Workspace",
+ "required": [
+ "save",
+ "unpublish"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserWorkspace"
+ },
+ {
+ "properties": {
+ "save": {
+ "description": "Save",
+ "type": "boolean",
+ "example": true
+ },
+ "unpublish": {
+ "description": "Unpublish",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "UserInformation": {
+ "title": "User Information",
+ "description": "Information about the user",
+ "required": [
+ "id",
+ "username",
+ "email",
+ "firstname",
+ "lastname",
+ "permissions",
+ "isAdmin",
+ "classes",
+ "docTypes",
+ "language",
+ "dateTimeLocale",
+ "welcomeScreen",
+ "memorizeTabs",
+ "allowDirtyClose",
+ "hasImage",
+ "contentLanguages",
+ "keyBindings",
+ "twoFactorAuthentication",
+ "activePerspective",
+ "perspectives",
+ "allowedLanguagesForEditingWebsiteTranslations",
+ "allowedLanguagesForViewingWebsiteTranslations"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "User ID",
+ "type": "integer",
+ "example": 1
+ },
+ "username": {
+ "description": "Username",
+ "type": "string",
+ "example": "admin"
+ },
+ "email": {
+ "description": "Email",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "firstname": {
+ "description": "Firstname",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "lastname": {
+ "description": "Lastname",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "permissions": {
+ "description": "Permissions",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "clear_cache"
+ }
+ },
+ "isAdmin": {
+ "description": "If user is an admin user",
+ "type": "boolean",
+ "example": false
+ },
+ "classes": {
+ "description": "Allowed classes to create",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "docTypes": {
+ "description": "Allowed doc types to create",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "language": {
+ "description": "User Language",
+ "type": "string",
+ "example": "en"
+ },
+ "dateTimeLocale": {
+ "description": "Locale for dateTime",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "welcomeScreen": {
+ "description": "Welcome Screen",
+ "type": "boolean",
+ "example": true
+ },
+ "memorizeTabs": {
+ "description": "Memorize Tabs",
+ "type": "boolean",
+ "example": true
+ },
+ "allowDirtyClose": {
+ "description": "Allow Dirty Close",
+ "type": "boolean",
+ "example": true
+ },
+ "hasImage": {
+ "description": "Has Image",
+ "type": "boolean",
+ "example": true
+ },
+ "contentLanguages": {
+ "description": "List of available content Language already sorted.",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "allowedLanguagesForEditingWebsiteTranslations": {
+ "description": "List of valid website Languages to edit.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "allowedLanguagesForViewingWebsiteTranslations": {
+ "description": "List of valid website Languages to view.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "keyBindings": {
+ "description": "Key Bindings",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyBinding"
+ }
+ },
+ "twoFactorAuthentication": {
+ "$ref": "#/components/schemas/TwoFactorAuth",
+ "description": "Two Factor Authentication"
+ },
+ "activePerspective": {
+ "description": "Active studio perspective ID",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "studio_default_perspective"
+ },
+ "perspectives": {
+ "description": "Allowed studio perspectives",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PerspectiveConfig"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ObjectDependencies": {
+ "title": "User Object Dependencies",
+ "description": "User Object Dependencies",
+ "required": [
+ "hasHidden",
+ "dependencies"
+ ],
+ "properties": {
+ "dependencies": {
+ "description": "Dependencies to objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserDependency"
+ }
+ },
+ "hasHidden": {
+ "description": "If is has hidden dependencies",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "UserPermission": {
+ "title": "User Permission",
+ "description": "A permission for a user or role",
+ "required": [
+ "key",
+ "category"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key of the Permission",
+ "type": "string",
+ "example": "objects"
+ },
+ "category": {
+ "description": "Category of the Permission",
+ "type": "string",
+ "example": "Datahub"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateUserProfile": {
+ "title": "User Profile",
+ "description": "Schema to update a current User Profile.",
+ "required": [
+ "firstname",
+ "lastname",
+ "email",
+ "language",
+ "dateTimeLocale",
+ "welcomeScreen",
+ "memorizeTabs",
+ "contentLanguages",
+ "keyBindings"
+ ],
+ "properties": {
+ "firstname": {
+ "description": "Firstname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "lastname": {
+ "description": "Lastname of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "email": {
+ "description": "Email of the User",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "language": {
+ "description": "Language of the User",
+ "type": "string",
+ "example": "de"
+ },
+ "dateTimeLocale": {
+ "description": "Date Time Locale for the User",
+ "type": "string",
+ "example": ""
+ },
+ "welcomeScreen": {
+ "description": "Show Welcome Screen",
+ "type": "boolean",
+ "example": true
+ },
+ "memorizeTabs": {
+ "description": "Memorize Tabs",
+ "type": "boolean",
+ "example": true
+ },
+ "contentLanguages": {
+ "description": "List of available content Language already sorted.",
+ "type": "object",
+ "example": [
+ "de",
+ "en"
+ ]
+ },
+ "keyBindings": {
+ "description": "Key Bindings",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeyBinding"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerUserSearchResult": {
+ "title": "User Search Result",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "description": "User ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Username",
+ "type": "string",
+ "example": "admin"
+ },
+ "email": {
+ "description": "Email address",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "admin@example.com"
+ },
+ "firstname": {
+ "description": "First name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "John"
+ },
+ "lastname": {
+ "description": "Last name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Doe"
+ }
+ },
+ "type": "object"
+ },
+ "UserWorkspace": {
+ "title": "User Workspace",
+ "description": "Workspace of a user",
+ "required": [
+ "cid",
+ "cpath",
+ "list",
+ "view",
+ "publish",
+ "delete",
+ "rename",
+ "create",
+ "settings",
+ "versions",
+ "properties"
+ ],
+ "properties": {
+ "cid": {
+ "description": "ID of the element",
+ "type": "integer",
+ "example": "1"
+ },
+ "cpath": {
+ "description": "Path of the element",
+ "type": "string",
+ "example": "/path/to/element"
+ },
+ "list": {
+ "description": "List Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "view": {
+ "description": "View Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "publish": {
+ "description": "Publish Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "delete": {
+ "description": "Delete Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "rename": {
+ "description": "Rename Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "create": {
+ "description": "Create Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "settings": {
+ "description": "Settings Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "versions": {
+ "description": "Versions Permission",
+ "type": "boolean",
+ "example": true
+ },
+ "properties": {
+ "description": "Properties Permission",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "Version": {
+ "title": "Version",
+ "required": [
+ "id",
+ "cid",
+ "ctype",
+ "note",
+ "date",
+ "public",
+ "published",
+ "versionCount",
+ "autosave",
+ "user"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "version ID",
+ "type": "integer",
+ "example": 2
+ },
+ "cid": {
+ "description": "element ID",
+ "type": "integer",
+ "example": 10
+ },
+ "ctype": {
+ "description": "element type",
+ "type": "string",
+ "example": "object"
+ },
+ "note": {
+ "description": "note",
+ "type": "string",
+ "example": "some note"
+ },
+ "date": {
+ "description": "date",
+ "type": "integer",
+ "example": 1712823182
+ },
+ "public": {
+ "description": "public",
+ "type": "boolean",
+ "example": false
+ },
+ "published": {
+ "description": "published",
+ "type": "boolean",
+ "example": false
+ },
+ "versionCount": {
+ "description": "version count",
+ "type": "integer",
+ "example": 10
+ },
+ "autosave": {
+ "description": "autosave",
+ "type": "boolean",
+ "example": false
+ },
+ "user": {
+ "$ref": "#/components/schemas/VersionUser",
+ "description": "user"
+ },
+ "scheduled": {
+ "description": "scheduled",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "Dimensions": {
+ "title": "VersionDimensions",
+ "properties": {
+ "width": {
+ "description": "width",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1920
+ },
+ "height": {
+ "description": "height",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1080
+ }
+ },
+ "type": "object"
+ },
+ "VersionUser": {
+ "title": "VersionUser",
+ "properties": {
+ "id": {
+ "description": "ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 2
+ },
+ "name": {
+ "description": "name",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "John Doe"
+ }
+ },
+ "type": "object"
+ },
+ "Video": {
+ "title": "Video",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Asset"
+ },
+ {
+ "properties": {
+ "duration": {
+ "description": "Duration",
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "float",
+ "example": 43560.5
+ },
+ "width": {
+ "description": "Width",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1920
+ },
+ "height": {
+ "description": "Height",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1080
+ },
+ "imageThumbnailPath": {
+ "description": "Path to Image Thumbnail",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "/path/to/video/imagethumbnail.jpg"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "VideoThumbnailConfigDetail": {
+ "title": "Video Thumbnail Config Detail",
+ "required": [
+ "settings",
+ "writeable",
+ "medias"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "settings": {
+ "$ref": "#/components/schemas/VideoThumbnailSettings",
+ "description": "Thumbnail settings"
+ },
+ "writeable": {
+ "description": "Is configuration writeable",
+ "type": "boolean",
+ "example": true
+ },
+ "medias": {
+ "description": "Media query configurations with transformation items",
+ "type": "object",
+ "example": {
+ "default": [
+ {
+ "method": "scaleByHeight",
+ "arguments": {
+ "height": 300
+ }
+ }
+ ],
+ "500K": [
+ {
+ "method": "scaleByHeight",
+ "arguments": {
+ "height": 500
+ }
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ },
+ "VideoThumbnailSettings": {
+ "title": "Video Thumbnail Settings",
+ "required": [
+ "name",
+ "description",
+ "group",
+ "videoBitrate",
+ "audioBitrate",
+ "modificationDate",
+ "creationDate",
+ "filenameSuffix"
+ ],
+ "properties": {
+ "name": {
+ "description": "Thumbnail name",
+ "type": "string",
+ "example": "content"
+ },
+ "description": {
+ "description": "Thumbnail description",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "thumbnail for content videos"
+ },
+ "group": {
+ "description": "Thumbnail group",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": ""
+ },
+ "videoBitrate": {
+ "description": "Video bitrate in kbps",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 450
+ },
+ "audioBitrate": {
+ "description": "Audio bitrate in kbps",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 128
+ },
+ "modificationDate": {
+ "description": "Modification date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1769430880
+ },
+ "creationDate": {
+ "description": "Creation date timestamp",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1565353556
+ },
+ "filenameSuffix": {
+ "description": "Filename suffix",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "VideoType": {
+ "title": "Video Type",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "key",
+ "type": "string",
+ "example": "image"
+ }
+ },
+ "type": "object"
+ },
+ "WebsiteSetting": {
+ "title": "Website Setting",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "data"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "ID",
+ "type": "integer",
+ "example": 1
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "site_title"
+ },
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "type": {
+ "description": "Type",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "text"
+ },
+ "data": {
+ "description": "Data",
+ "example": "Some text data",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/components/schemas/WebsiteSettingsObjectData"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "siteId": {
+ "description": "Site ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ },
+ "creationDate": {
+ "description": "Creation date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ },
+ "modificationDate": {
+ "description": "Modification date",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": null
+ }
+ },
+ "type": "object"
+ },
+ "WebsiteSettingsAdd": {
+ "title": "Website Settings Add",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "New Custom Setting"
+ },
+ "type": {
+ "description": "Type",
+ "type": "string",
+ "example": "document"
+ }
+ },
+ "type": "object"
+ },
+ "WebsiteSettingsObjectData": {
+ "title": "Website Settings Object Data",
+ "required": [
+ "id",
+ "fullPath"
+ ],
+ "properties": {
+ "id": {
+ "description": "element id",
+ "type": "integer",
+ "example": 1020
+ },
+ "fullPath": {
+ "description": "element fullPath",
+ "type": "string",
+ "example": "/path/to/object"
+ }
+ },
+ "type": "object"
+ },
+ "WebsiteSettingsType": {
+ "title": "Website Settings Type",
+ "required": [
+ "key",
+ "title"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "key": {
+ "description": "Key",
+ "type": "string",
+ "example": "boolean"
+ },
+ "title": {
+ "description": "Title",
+ "type": "string",
+ "example": "Checkbox"
+ }
+ },
+ "type": "object"
+ },
+ "WebsiteSettingsUpdate": {
+ "title": "Website Settings Update",
+ "required": [
+ "name",
+ "language",
+ "data",
+ "siteId"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Updated Setting Title"
+ },
+ "language": {
+ "description": "Language",
+ "type": "string",
+ "example": "en"
+ },
+ "data": {
+ "description": "Data",
+ "example": "{\"id\": 136,\"fullPath\": \"/de\"}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/components/schemas/WebsiteSettingsObjectData"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "siteId": {
+ "description": "Site ID",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "example": 1
+ }
+ },
+ "type": "object"
+ },
+ "WidgetConfig": {
+ "title": "Widget Config",
+ "required": [
+ "id",
+ "name",
+ "widgetType",
+ "icon",
+ "onlyWrapper"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Widget ID",
+ "type": "string",
+ "example": "5026c239_eb75_499a_8576_841bca283350"
+ },
+ "name": {
+ "description": "Name",
+ "type": "string",
+ "example": "Cars"
+ },
+ "widgetType": {
+ "description": "Widget Type",
+ "type": "string",
+ "example": "element_trees"
+ },
+ "icon": {
+ "$ref": "#/components/schemas/ElementIcon",
+ "description": "Icon"
+ },
+ "onlyWrapper": {
+ "description": "If widget is only wrapper of another configuration",
+ "type": "boolean",
+ "example": false
+ }
+ },
+ "type": "object"
+ },
+ "WidgetType": {
+ "title": "WidgetType",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "id",
+ "type": "string",
+ "example": "info"
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerDetail": {
+ "title": "Workflow Detail",
+ "required": [
+ "name",
+ "workflow",
+ "places",
+ "transitions",
+ "diagram"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "Workflow internal name",
+ "type": "string",
+ "example": "wfdesigner_my_workflow"
+ },
+ "workflow": {
+ "description": "Workflow configuration",
+ "type": "object"
+ },
+ "places": {
+ "description": "Workflow places configuration",
+ "type": "object"
+ },
+ "transitions": {
+ "description": "Workflow transitions configuration",
+ "type": "object"
+ },
+ "globalActions": {
+ "description": "Workflow global actions configuration",
+ "type": "object"
+ },
+ "diagram": {
+ "description": "BPMN diagram XML",
+ "type": "string",
+ "example": ""
+ }
+ },
+ "type": "object"
+ },
+ "BundleWorkflowDesignerListItem": {
+ "title": "Workflow List Item",
+ "required": [
+ "id",
+ "text",
+ "expandable",
+ "leaf"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "id": {
+ "description": "Unique identifier",
+ "type": "string",
+ "example": "wfdesigner_my_workflow"
+ },
+ "text": {
+ "description": "Display text / label",
+ "type": "string",
+ "example": "My Workflow"
+ },
+ "expandable": {
+ "description": "Whether the node is expandable (folder)",
+ "type": "boolean",
+ "example": false
+ },
+ "leaf": {
+ "description": "Whether the node is a leaf (workflow)",
+ "type": "boolean",
+ "example": true
+ },
+ "name": {
+ "description": "Workflow name (only for workflow items)",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "wfdesigner_my_workflow"
+ },
+ "iconCls": {
+ "description": "Icon CSS class",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "workflow_designer_icon_workflow"
+ },
+ "allowChildren": {
+ "description": "Whether children are allowed",
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "example": false
+ },
+ "children": {
+ "description": "Child items (only for folders)",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/BundleWorkflowDesignerListItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "WorkflowDetails": {
+ "title": "WorkflowDetails",
+ "required": [
+ "workflowName",
+ "workflowLabel",
+ "workflowStatus",
+ "graph",
+ "workflowLayoutId",
+ "allowedTransitions",
+ "globalActions"
+ ],
+ "properties": {
+ "additionalAttributes": {
+ "description": "AdditionalAttributes",
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "workflowName": {
+ "description": "workflowName",
+ "type": "string",
+ "example": "simple_asset"
+ },
+ "workflowLabel": {
+ "description": "workflowLabel",
+ "type": "string",
+ "example": "Sample Asset Workflow"
+ },
+ "workflowStatus": {
+ "description": "workflowStatus",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WorkflowStatus"
+ }
+ },
+ "graph": {
+ "description": "graph",
+ "type": "string",
+ "example": "... "
+ },
+ "workflowLayoutId": {
+ "description": "workflowLayoutId",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "someWorkflowLayoutId"
+ },
+ "allowedTransitions": {
+ "description": "allowedTransitions",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AllowedTransition"
+ }
+ },
+ "globalActions": {
+ "description": "globalActions",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GlobalAction"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "WorkflowStatus": {
+ "title": "WorkflowStatus",
+ "required": [
+ "color",
+ "colorInverted",
+ "title",
+ "label",
+ "layoutId",
+ "visibleInDetail"
+ ],
+ "properties": {
+ "color": {
+ "description": "color",
+ "type": "string",
+ "example": "#3572b0"
+ },
+ "colorInverted": {
+ "description": "colorInverted",
+ "type": "boolean",
+ "example": false
+ },
+ "title": {
+ "description": "borderColor",
+ "type": "string",
+ "example": "#ffa500"
+ },
+ "label": {
+ "description": "label",
+ "type": "string",
+ "example": "Edit Images"
+ },
+ "layoutId": {
+ "description": "layoutId",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "someStatusLayoutId"
+ },
+ "visibleInDetail": {
+ "description": "visibleInDetail",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ },
+ "WysiwygWidgetConfig": {
+ "title": "Wysiwyg Widget Config",
+ "required": [
+ "color",
+ "wysiwyg",
+ "isWriteable"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/DashboardsWidgetConfig"
+ },
+ {
+ "properties": {
+ "color": {
+ "description": "Widget Color",
+ "type": "string",
+ "example": "#FF5733"
+ },
+ "wysiwyg": {
+ "description": "Wysiwyg Content",
+ "type": [
+ "string",
+ "null"
+ ],
+ "example": "Hello World
"
+ },
+ "isWriteable": {
+ "description": "Is Writeable",
+ "type": "boolean",
+ "example": true
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "Assets",
+ "description": "Asset operations to get/update/create/delete assets"
+ },
+ {
+ "name": "Asset Grid",
+ "description": "Asset Grid operations"
+ },
+ {
+ "name": "Asset Thumbnails",
+ "description": "List thumbnails for assets like videos and images"
+ },
+ {
+ "name": "Authorization",
+ "description": "Session-based login via username and password or logout and invalidate the session"
+ },
+ {
+ "name": "Class Definition",
+ "description": "Class definition operations"
+ },
+ {
+ "name": "Classification Store",
+ "description": "Classification store operations"
+ },
+ {
+ "name": "Data Objects",
+ "description": "DataObject operations to get/update/create/delete data objects"
+ },
+ {
+ "name": "Data Object Grid",
+ "description": "DataObject Grid operations"
+ },
+ {
+ "name": "Dependencies",
+ "description": "Get dependencies for a single element"
+ },
+ {
+ "name": "Documents",
+ "description": "Document operations to get/update/create/delete documents"
+ },
+ {
+ "name": "Elements",
+ "description": "Get element properties for a single element based on its type and provided parameters"
+ },
+ {
+ "name": "Execution Engine",
+ "description": "Execution engine operations related to job runs"
+ },
+ {
+ "name": "E-Mails",
+ "description": "E-mail operations to get/update/create/delete/test emails and E-mail blocklist"
+ },
+ {
+ "name": "Export",
+ "description": "Export"
+ },
+ {
+ "name": "GDPR Data Extractor",
+ "description": "All operations related to GDPR data search and export."
+ },
+ {
+ "name": "Mercure",
+ "description": "Retrieve JWT token for Mercure hub as cookie"
+ },
+ {
+ "name": "Metadata",
+ "description": "Metadata operations to get/update/create/delete metadata"
+ },
+ {
+ "name": "Notes",
+ "description": "Note operations to list/delete notes"
+ },
+ {
+ "name": "Notifications",
+ "description": "Notification operations to get/delete/send notifications"
+ },
+ {
+ "name": "Perspectives",
+ "description": "Operations to get/update/create/delete properties and widgets"
+ },
+ {
+ "name": "Properties",
+ "description": "Property operations to get/update/create/delete properties"
+ },
+ {
+ "name": "Recycle Bin",
+ "description": "Recycle bin operations to list/restore/flush deleted elements"
+ },
+ {
+ "name": "Role Management",
+ "description": "Role Management operations"
+ },
+ {
+ "name": "Schedule",
+ "description": "Get schedules for an element"
+ },
+ {
+ "name": "Search",
+ "description": "Operations to get search configuration, search elements and get search result previews"
+ },
+ {
+ "name": "Settings",
+ "description": "Get System Settings"
+ },
+ {
+ "name": "Tags",
+ "description": "Tag operations to get/list/create/update/delete tags"
+ },
+ {
+ "name": "Tags for Element",
+ "description": "Tag operations to get tags for an element"
+ },
+ {
+ "name": "Translation",
+ "description": "Get translations either for a single key or multiple keys"
+ },
+ {
+ "name": "Units",
+ "description": "Units operations like convert and get all units"
+ },
+ {
+ "name": "User Management",
+ "description": "User Management operations"
+ },
+ {
+ "name": "Versions",
+ "description": "Versions operations to get/list/publish/delete and cleanup versions"
+ },
+ {
+ "name": "Website Settings",
+ "description": "Website settings operations to list/update/create/delete website settings"
+ },
+ {
+ "name": "Workflows",
+ "description": "Workflows operations to get element workflow details"
+ },
+ {
+ "name": "Settings Admin",
+ "description": "Settings Admin"
+ },
+ {
+ "name": "Bundle Application Logger",
+ "description": "Application logger operations to list/get log entries"
+ },
+ {
+ "name": "Bundle Asset Metadata Class Definitions",
+ "description": "Get/update/delete configs and metadata"
+ },
+ {
+ "name": "Bundle Backend Power Tools",
+ "description": "Operations related to the Backend Power Tools Bundle"
+ },
+ {
+ "name": "Bundle CMF",
+ "description": "Customer Management Framework bundle endpoints"
+ },
+ {
+ "name": "Bundle Copilot",
+ "description": "Operations related to the Copilot Bundle"
+ },
+ {
+ "name": "Bundle Custom Reports",
+ "description": "Custom reports bundle operations to e.g. list reports and their configurations"
+ },
+ {
+ "name": "Bundle Data Hub",
+ "description": "Operations related to Data Hub Bundle"
+ },
+ {
+ "name": "Bundle Data Hub File Export",
+ "description": "Operations related to Data Hub File Export Bundle"
+ },
+ {
+ "name": "Bundle Data Hub Simple Rest",
+ "description": "Operations related to Data Hub Simple Rest Bundle"
+ },
+ {
+ "name": "Bundle Data Hub Webhooks",
+ "description": "Operations related to Data Hub Webhooks Bundle"
+ },
+ {
+ "name": "Bundle Data Importer",
+ "description": "Operations related to Data Importer Bundle"
+ },
+ {
+ "name": "Bundle Data Quality Management",
+ "description": "Operations related to the Data Quality Management Bundle"
+ },
+ {
+ "name": "Bundle Direct Edit",
+ "description": "Operations related to Direct Edit Bundle"
+ },
+ {
+ "name": "Bundle Ecommerce",
+ "description": "Operations related to Ecommerce Framework Bundle"
+ },
+ {
+ "name": "Bundle Enterprise Subscription Tools",
+ "description": "Enterprise Subscription Tools"
+ },
+ {
+ "name": "Bundle Headless Documents",
+ "description": "Operations related to Headless Documents Bundle"
+ },
+ {
+ "name": "Bundle OpenID Connect",
+ "description": "OpenID Connect bundle endpoints"
+ },
+ {
+ "name": "Bundle Personalization",
+ "description": "Operations related to the Personalization Bundle"
+ },
+ {
+ "name": "Bundle Portal Engine",
+ "description": "Portal Engine Bundle"
+ },
+ {
+ "name": "Bundle Seo",
+ "description": "Seo bundle related operations (e.g. add/remove/list redirects)"
+ },
+ {
+ "name": "Bundle Statistics Explorer",
+ "description": "Operations related to Statistics Explorer Bundle"
+ },
+ {
+ "name": "Bundle Studio Dashboards",
+ "description": "Operations related to the Studio Dashboards Bundle"
+ },
+ {
+ "name": "Bundle Translations Provider Interfaces",
+ "description": "Operations related to Translations Provider Interfaces Bundle"
+ },
+ {
+ "name": "Bundle Web To Print",
+ "description": "Operations related to the Web to Print Bundle"
+ },
+ {
+ "name": "Bundle Workflow Automation Integration",
+ "description": "Workflow Automation Integration bundle endpoints for managing N8N workflow exports and DataHub configurations"
+ },
+ {
+ "name": "Bundle Workflow Designer",
+ "description": "Operations related to Workflow Designer Bundle"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/assets/build/api/openapi-config.ts b/assets/build/api/openapi-config.ts
index 5c82456deb..2c35a97ada 100644
--- a/assets/build/api/openapi-config.ts
+++ b/assets/build/api/openapi-config.ts
@@ -193,7 +193,7 @@ const config: ConfigFile = {
filterEndpoints: pathMatcher(/api\/thumbnails/i)
},
'../../js/src/core/modules/auth/authorization-api-slice.gen.ts': {
- filterEndpoints: pathMatcher(/(login|logout)/i)
+ filterEndpoints: pathMatcher(/\/api\/(login|logout)/i)
},
'../../js/src/core/modules/class-definition/class-definition-slice.gen.ts': {
filterEndpoints: pathMatcher(/api\/class\//i)
diff --git a/assets/js/src/core/modules/asset/asset-api-slice.gen.ts b/assets/js/src/core/modules/asset/asset-api-slice.gen.ts
index 794d0d3afb..65dbafdff8 100644
--- a/assets/js/src/core/modules/asset/asset-api-slice.gen.ts
+++ b/assets/js/src/core/modules/asset/asset-api-slice.gen.ts
@@ -345,7 +345,7 @@ const injectedRtkApi = api
}),
assetPatchFolderById: build.mutation({
query: (queryArg) => ({
- url: `/pimcore-studio/api/assets/folder`,
+ url: `/pimcore-studio/api/assets/folder/${queryArg.id}`,
method: "PATCH",
body: queryArg.body,
}),
@@ -876,15 +876,15 @@ export type AssetPatchFolderByIdApiResponse =
jobRunId: number;
};
export type AssetPatchFolderByIdApiArg = {
+ /** Id of the folder */
+ id: number;
body: {
data: {
- /** Folder ID */
- folderId: number;
parentId?: number | null;
key?: string | null;
locked?: string | null;
metadata?: PatchCustomMetadata[] | null;
- }[];
+ };
filters?: ExportAllFilter;
};
};
diff --git a/assets/js/src/core/modules/class-definition/class-definition-slice.gen.ts b/assets/js/src/core/modules/class-definition/class-definition-slice.gen.ts
index 4ce299cb53..021d060e61 100644
--- a/assets/js/src/core/modules/class-definition/class-definition-slice.gen.ts
+++ b/assets/js/src/core/modules/class-definition/class-definition-slice.gen.ts
@@ -1160,7 +1160,7 @@ export type CustomLayouts = {
/** Modification date timestamp */
modificationDate: number;
/** User id of owner */
- userOwner: number;
+ userOwner: number | null;
/** Class id */
classId: string;
/** Whether it is the default layout */
@@ -1226,7 +1226,7 @@ export type ClassDefinition = {
/** Modification date timestamp */
modificationDate: number | null;
/** User id of owner */
- userOwner: number;
+ userOwner: number | null;
/** Namespace of parent class */
parentClass: string;
/** Interface implementations */
diff --git a/assets/js/src/core/modules/data-object/data-object-api-slice.gen.ts b/assets/js/src/core/modules/data-object/data-object-api-slice.gen.ts
index b3e41a5888..d0f323b30a 100644
--- a/assets/js/src/core/modules/data-object/data-object-api-slice.gen.ts
+++ b/assets/js/src/core/modules/data-object/data-object-api-slice.gen.ts
@@ -186,7 +186,7 @@ const injectedRtkApi = api
DataObjectPatchFolderByIdApiArg
>({
query: (queryArg) => ({
- url: `/pimcore-studio/api/data-objects/folder`,
+ url: `/pimcore-studio/api/data-objects/folder/${queryArg.id}`,
method: "PATCH",
body: queryArg.body,
}),
@@ -476,10 +476,10 @@ export type DataObjectPatchFolderByIdApiResponse =
jobRunId: number;
};
export type DataObjectPatchFolderByIdApiArg = {
+ /** Id of the folder */
+ id: number;
body: {
data: {
- /** Folder ID */
- folderId: number;
parentId?: number | null;
index?: number | null;
key?: string | null;
@@ -488,7 +488,7 @@ export type DataObjectPatchFolderByIdApiArg = {
childrenSortOrder?: string | null;
published?: boolean | null;
editableData?: object | null;
- }[];
+ };
filters?: ExportAllFilter;
classId: string;
};
diff --git a/assets/js/src/core/modules/element/export-api-slice.gen.ts b/assets/js/src/core/modules/element/export-api-slice.gen.ts
index 71b999fec6..b715d5cfbd 100644
--- a/assets/js/src/core/modules/element/export-api-slice.gen.ts
+++ b/assets/js/src/core/modules/element/export-api-slice.gen.ts
@@ -23,7 +23,7 @@ const injectedRtkApi = api
}),
exportCsvFolder: build.mutation({
query: (queryArg) => ({
- url: `/pimcore-studio/api/export/csv/folder`,
+ url: `/pimcore-studio/api/export/csv/folder/${queryArg.id}`,
method: "POST",
body: queryArg.body,
}),
@@ -46,7 +46,7 @@ const injectedRtkApi = api
}),
exportXlsxFolder: build.mutation({
query: (queryArg) => ({
- url: `/pimcore-studio/api/export/xlsx/folder`,
+ url: `/pimcore-studio/api/export/xlsx/folder/${queryArg.id}`,
method: "POST",
body: queryArg.body,
}),
@@ -80,8 +80,9 @@ export type ExportCsvApiArg = {
| "custom_report_config"
| "custom_report_to_export"
| "element_class_id"
- | "element_to_export"
+ | "elements_to_export"
| "element_type"
+ | "export_format"
| "folder_to_export"
| "grid_export_data"
| "grid_export_data_info"
@@ -101,6 +102,7 @@ export type ExportCsvApiArg = {
delimiter?: string;
};
elementType?: "data-object" | "object" | "asset" | "document";
+ classId?: string | null;
};
};
export type ExportCsvFolderApiResponse = /** status 201 Successfully created jobRun for csv export */ {
@@ -108,8 +110,9 @@ export type ExportCsvFolderApiResponse = /** status 201 Successfully created {
const job = new DownloadJob({
title: t('jobs.csv-job.title', { title: jobTitle }),
downloadUrl: `${getPrefix()}/export/download/csv/{jobRunId}`,
- action: async () => await getDownloadAction(values.delimiter, values.header)
+ action: async () => await getDownloadAction(values.delimiter, values.header),
+ ...(numberedSelectedRows.length === 0 && { hasChildJob: true })
})
void executionEngine.runJob(job)
@@ -148,8 +149,8 @@ export const CsvModal = (props: CsvModalProps): React.JSX.Element => {
}
const promise = fetchCreateFolderCsv({
+ id,
body: {
- folders: [id],
elementType,
columns: extractedColumnsFromColumnArg,
config: {
@@ -175,7 +176,8 @@ export const CsvModal = (props: CsvModalProps): React.JSX.Element => {
config: {
delimiter,
header
- }
+ },
+ ...(!isNil(selectedClassDefinition?.id) && { classId: selectedClassDefinition.id })
}
})
diff --git a/assets/js/src/core/modules/element/listing/batch-actions/xlsx-modal/xlsx-modal.tsx b/assets/js/src/core/modules/element/listing/batch-actions/xlsx-modal/xlsx-modal.tsx
index 36d9383cf6..4e611f2837 100644
--- a/assets/js/src/core/modules/element/listing/batch-actions/xlsx-modal/xlsx-modal.tsx
+++ b/assets/js/src/core/modules/element/listing/batch-actions/xlsx-modal/xlsx-modal.tsx
@@ -112,7 +112,8 @@ export const XlsxModal = (props: XlsxModalProps): React.JSX.Element => {
const job = new DownloadJob({
title: t('jobs.xlsx-job.title', { title: jobTitle }),
downloadUrl: `${getPrefix()}/export/download/xlsx/{jobRunId}`,
- action: async () => await getDownloadAction(values.header)
+ action: async () => await getDownloadAction(values.header),
+ ...(numberedSelectedRows.length === 0 && { hasChildJob: true })
})
void executionEngine.runJob(job)
@@ -146,8 +147,8 @@ export const XlsxModal = (props: XlsxModalProps): React.JSX.Element => {
}
const promise = fetchCreateFolderXlsx({
+ id,
body: {
- folders: [id],
elementType,
columns: extractedColumnsFromColumnArg,
config: {
@@ -171,7 +172,8 @@ export const XlsxModal = (props: XlsxModalProps): React.JSX.Element => {
columns: extractedColumnsFromColumnArg,
config: {
header
- }
+ },
+ ...(!isNil(selectedClassDefinition?.id) && { classId: selectedClassDefinition.id })
}
})
diff --git a/assets/js/src/core/modules/execution-engine/jobs/batch-delete/abstract-batch-delete-job.ts b/assets/js/src/core/modules/execution-engine/jobs/batch-delete/abstract-batch-delete-job.ts
index cc725c05cb..30f921d5be 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/batch-delete/abstract-batch-delete-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/batch-delete/abstract-batch-delete-job.ts
@@ -12,6 +12,7 @@ import { isNil } from 'lodash'
import trackError, { GeneralError } from '@Pimcore/modules/app/error-handler'
import { type JobInterface, type JobRunOptions } from '../job-interface'
import { MessageBusJobHandler, type JobCompletionData } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { StepCompletionCalculator } from '../../message-handlers/message-bus-job/progress-calculator/step-completion-calculator'
export interface AbstractBatchDeleteJobOptions {
itemIds: number[]
@@ -44,6 +45,7 @@ export abstract class AbstractBatchDeleteJob implements JobInterface {
const handler = new MessageBusJobHandler({
jobRunId,
title: this.title,
+ progressCalculator: new StepCompletionCalculator(),
onJobCompletion: async (data: JobCompletionData) => {
if (data.isFinished) {
try {
diff --git a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-batch-edit-job.ts b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-batch-edit-job.ts
index 576ad9121d..b97444fd3e 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-batch-edit-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-batch-edit-job.ts
@@ -11,7 +11,7 @@
import { isNil } from 'lodash'
import trackError, { GeneralError } from '@Pimcore/modules/app/error-handler'
import { type JobInterface, type JobRunOptions } from '../job-interface'
-import { MessageBusJobHandler, type JobCompletionData } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { MessageBusJobHandler, type JobCompletionData, type MessageBusJobHandlerOptions } from '../../message-handlers/message-bus-job/message-bus-job-handler'
import { type JobButtonCustomizationContext } from '../../message-handlers/message-bus-job/message-bus-job-notification'
import { t } from 'i18next'
@@ -46,7 +46,7 @@ export abstract class AbstractBatchEditJob implements JobInterface {
return
}
- const handler = new MessageBusJobHandler({
+ const handler = this.createHandler({
jobRunId,
title: this.title,
onJobCompletion: async (data: JobCompletionData) => {
@@ -83,6 +83,10 @@ export abstract class AbstractBatchEditJob implements JobInterface {
}
}
+ protected createHandler (options: MessageBusJobHandlerOptions): MessageBusJobHandler {
+ return new MessageBusJobHandler(options)
+ }
+
protected abstract executeEditRequest (): Promise
protected async handleCompletion (): Promise {
diff --git a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-folder-batch-edit-job.ts b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-folder-batch-edit-job.ts
new file mode 100644
index 0000000000..46e252ef18
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-folder-batch-edit-job.ts
@@ -0,0 +1,30 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { AbstractBatchEditJob, type AbstractBatchEditJobOptions } from './abstract-batch-edit-job'
+import { MessageBusJobHandler, type MessageBusJobHandlerOptions } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { ProgressFieldCalculator } from '../../message-handlers/message-bus-job/progress-calculator/progress-field-calculator'
+import { DefaultStepTracker } from '../../message-handlers/message-bus-job/step-tracker/default-step-tracker'
+
+export type AbstractFolderBatchEditJobOptions = AbstractBatchEditJobOptions
+
+export abstract class AbstractFolderBatchEditJob extends AbstractBatchEditJob {
+ protected override createHandler (options: MessageBusJobHandlerOptions): MessageBusJobHandler {
+ return new MessageBusJobHandler({
+ ...options,
+ stepDescriptions: {
+ 1: 'jobs.job.step.batch-edit.preparing',
+ 2: 'jobs.job.step.batch-edit.applying'
+ },
+ stepTracker: new DefaultStepTracker({ showStepLabel: true }),
+ progressCalculator: new ProgressFieldCalculator()
+ })
+ }
+}
diff --git a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/asset-folder-batch-edit-job.ts b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/asset-folder-batch-edit-job.ts
index 37f653cc37..bb534de0dd 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/asset-folder-batch-edit-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/asset-folder-batch-edit-job.ts
@@ -8,7 +8,8 @@
* @license Pimcore Open Core License (POCL)
*/
-import { AbstractBatchEditJob, type AbstractBatchEditJobOptions } from './abstract-batch-edit-job'
+import { AbstractFolderBatchEditJob } from './abstract-folder-batch-edit-job'
+import { type AbstractBatchEditJobOptions } from './abstract-batch-edit-job'
export interface AssetFolderBatchEditJobOptions extends AbstractBatchEditJobOptions {
patchAssetsInFolder: (args: any) => Promise
@@ -17,7 +18,7 @@ export interface AssetFolderBatchEditJobOptions extends AbstractBatchEditJobOpti
filters: any
}
-export class AssetFolderBatchEditJob extends AbstractBatchEditJob {
+export class AssetFolderBatchEditJob extends AbstractFolderBatchEditJob {
private readonly patchAssetsInFolder: (args: any) => Promise
private readonly folderId: number
private readonly patches: any[]
@@ -33,13 +34,11 @@ export class AssetFolderBatchEditJob extends AbstractBatchEditJob {
protected async executeEditRequest (): Promise {
const response = await this.patchAssetsInFolder({
+ id: this.folderId,
body: {
- data: [
- {
- folderId: this.folderId,
- metadata: this.patches
- }
- ],
+ data: {
+ metadata: this.patches
+ },
filters: this.filters
}
})
diff --git a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/data-object-folder-batch-edit-job.ts b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/data-object-folder-batch-edit-job.ts
index 194e6d2ae0..63614b9e09 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/batch-edit/data-object-folder-batch-edit-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/batch-edit/data-object-folder-batch-edit-job.ts
@@ -8,7 +8,8 @@
* @license Pimcore Open Core License (POCL)
*/
-import { AbstractBatchEditJob, type AbstractBatchEditJobOptions } from './abstract-batch-edit-job'
+import { AbstractFolderBatchEditJob } from './abstract-folder-batch-edit-job'
+import { type AbstractBatchEditJobOptions } from './abstract-batch-edit-job'
export interface DataObjectFolderBatchEditJobOptions extends AbstractBatchEditJobOptions {
patchObjectsInFolder: (args: any) => Promise
@@ -18,7 +19,7 @@ export interface DataObjectFolderBatchEditJobOptions extends AbstractBatchEditJo
classId: string
}
-export class DataObjectFolderBatchEditJob extends AbstractBatchEditJob {
+export class DataObjectFolderBatchEditJob extends AbstractFolderBatchEditJob {
private readonly patchObjectsInFolder: (args: any) => Promise
private readonly folderId: number
private readonly values: any
@@ -36,13 +37,11 @@ export class DataObjectFolderBatchEditJob extends AbstractBatchEditJob {
protected async executeEditRequest (): Promise {
const response = await this.patchObjectsInFolder({
+ id: this.folderId,
body: {
- data: [
- {
- folderId: this.folderId,
- editableData: this.values
- }
- ],
+ data: {
+ editableData: this.values
+ },
filters: this.filters,
classId: this.classId
}
diff --git a/assets/js/src/core/modules/execution-engine/jobs/clone/abstract-clone-job.ts b/assets/js/src/core/modules/execution-engine/jobs/clone/abstract-clone-job.ts
index 550878a87b..c38b064327 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/clone/abstract-clone-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/clone/abstract-clone-job.ts
@@ -13,6 +13,8 @@ import { store } from '@Pimcore/app/store'
import { setNodeFetching, refreshNodeChildren } from '@Pimcore/components/element-tree/element-tree-slice'
import trackError, { GeneralError } from '@Pimcore/modules/app/error-handler'
import { MessageBusJobHandler, type MessageBusJob } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { ChildJobStepTracker } from '../../message-handlers/message-bus-job/step-tracker/child-job-step-tracker'
+import { StepCompletionCalculator } from '../../message-handlers/message-bus-job/progress-calculator/step-completion-calculator'
import { type JobInterface, type JobRunOptions } from '../job-interface'
import { type ElementType } from '@Pimcore/types/enums/element/element-type'
import { JobStatus } from '../abstact-job'
@@ -67,6 +69,8 @@ export abstract class AbstractCloneJob implements JobInterface {
}
return this.title
},
+ stepTracker: new ChildJobStepTracker(),
+ progressCalculator: new StepCompletionCalculator(),
onJobCompletion: async (data: any) => {
try {
await this.handleCompletion()
diff --git a/assets/js/src/core/modules/execution-engine/jobs/delete/element-delete-job.ts b/assets/js/src/core/modules/execution-engine/jobs/delete/element-delete-job.ts
index ca42fafc89..cb8735b7eb 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/delete/element-delete-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/delete/element-delete-job.ts
@@ -15,6 +15,7 @@ import trackError, { ApiError, GeneralError } from '@Pimcore/modules/app/error-h
import { type JobInterface, type JobRunOptions } from '../job-interface'
import { type ElementType } from '@Pimcore/types/enums/element/element-type'
import { MessageBusJobHandler, type JobCompletionData } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { StepCompletionCalculator } from '../../message-handlers/message-bus-job/progress-calculator/step-completion-calculator'
import { api as elementApi } from '@Pimcore/modules/element/element-api-slice.gen'
export interface DeleteJobOptions {
@@ -68,6 +69,7 @@ export class DeleteJob implements JobInterface {
const handler = new MessageBusJobHandler({
jobRunId,
title: this.title,
+ progressCalculator: new StepCompletionCalculator(),
onJobCompletion: async (data: JobCompletionData) => {
if (data.isFinished) {
try {
diff --git a/assets/js/src/core/modules/execution-engine/jobs/download/download-job.ts b/assets/js/src/core/modules/execution-engine/jobs/download/download-job.ts
index 4e143f56e4..83da795842 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/download/download-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/download/download-job.ts
@@ -10,6 +10,9 @@
import { type JobInterface, type JobRunOptions } from '../job-interface'
import { MessageBusJobHandler } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { ProgressFieldCalculator } from '../../message-handlers/message-bus-job/progress-calculator/progress-field-calculator'
+import { ChildJobStepTracker } from '../../message-handlers/message-bus-job/step-tracker/child-job-step-tracker'
+import { DefaultStepTracker } from '../../message-handlers/message-bus-job/step-tracker/default-step-tracker'
import { type JobButtonCustomizationContext } from '../../message-handlers/message-bus-job/message-bus-job-notification'
import trackError, { GeneralError } from '@Pimcore/modules/app/error-handler'
import { t } from 'i18next'
@@ -19,6 +22,12 @@ export interface DownloadJobOptions {
title: string
action: () => Promise
downloadUrl: string
+ /**
+ * Set to true for folder exports that spawn a child job (collect → create file).
+ * Shows "Step 1/2" / "Step 2/2" in the UI.
+ * Leave unset for selected-row exports (single job run, no child).
+ */
+ hasChildJob?: boolean
}
export class DownloadJob implements JobInterface {
@@ -45,11 +54,15 @@ export class DownloadJob implements JobInterface {
}
private createHandler (jobRunId: number, options: JobRunOptions): MessageBusJobHandler {
- const { title, downloadUrl } = this.options
+ const { title, downloadUrl, hasChildJob } = this.options
return new MessageBusJobHandler({
jobRunId,
title,
+ stepTracker: hasChildJob === true
+ ? new ChildJobStepTracker({ totalSteps: 2 })
+ : new DefaultStepTracker(),
+ progressCalculator: new ProgressFieldCalculator(),
onRetry: async () => {
await this.run(options)
},
@@ -58,7 +71,7 @@ export class DownloadJob implements JobInterface {
label: t('jobs.job.button-download'),
handler: () => {
const a = document.createElement('a')
- a.href = downloadUrl.replace('{jobRunId}', jobRunId.toString())
+ a.href = downloadUrl.replace('{jobRunId}', context.jobRunId.toString())
a.download = ''
a.click()
}
diff --git a/assets/js/src/core/modules/execution-engine/jobs/zip-upload/zip-upload-job.ts b/assets/js/src/core/modules/execution-engine/jobs/zip-upload/zip-upload-job.ts
index 8849f90e37..4eb84cdf67 100644
--- a/assets/js/src/core/modules/execution-engine/jobs/zip-upload/zip-upload-job.ts
+++ b/assets/js/src/core/modules/execution-engine/jobs/zip-upload/zip-upload-job.ts
@@ -10,6 +10,8 @@
import { type JobInterface, type JobRunOptions } from '../job-interface'
import { MessageBusJobHandler, type MessageBusJob } from '../../message-handlers/message-bus-job/message-bus-job-handler'
+import { ProgressFieldCalculator } from '../../message-handlers/message-bus-job/progress-calculator/progress-field-calculator'
+import { ChildJobStepTracker } from '../../message-handlers/message-bus-job/step-tracker/child-job-step-tracker'
import { isNumber, isUndefined } from 'lodash'
import { getPrefix } from '@Pimcore/app/api/pimcore/route'
import { JobStatus } from '../abstact-job'
@@ -40,7 +42,9 @@ export class ZipUploadJob implements JobInterface {
if (isNumber(jobRunId)) {
const handler = new MessageBusJobHandler({
jobRunId: Number(jobRunId),
- totalSteps: 2,
+
+ stepTracker: new ChildJobStepTracker({ totalSteps: 2 }),
+ progressCalculator: new ProgressFieldCalculator(),
onJobCompletion: async (data) => {
if (data.isFinished && !isUndefined(onJobCompletion)) {
await onJobCompletion()
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler-types.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler-types.ts
new file mode 100644
index 0000000000..e2317e1a7e
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler-types.ts
@@ -0,0 +1,45 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { type JobStatus, type AbstractJob } from '@Pimcore/modules/execution-engine/jobs/abstact-job'
+import { type JobButtonCustomizationContext } from './message-bus-job-notification'
+import { type ProgressCalculator } from './progress-calculator/progress-calculator.interface'
+import { type StepTracker } from './step-tracker/step-tracker.interface'
+
+export interface MessageBusJob extends AbstractJob {
+ progress?: number
+ indeterminate?: boolean
+ currentStep?: number
+ totalSteps?: number
+ stepDescriptionKey?: string
+ onRetry?: () => void | Promise
+ onCustomizeButtons?: (context: JobButtonCustomizationContext) => void
+ messages?: string[]
+ jobRunId: number
+}
+
+export interface JobCompletionData {
+ isSuccessful: boolean
+ isFinished: boolean
+ isFailed: boolean
+ status: JobStatus
+ payload: any
+}
+
+export interface MessageBusJobHandlerOptions {
+ jobRunId: number
+ title: string | ((job: MessageBusJob) => string)
+ stepDescriptions?: Record
+ stepTracker?: StepTracker
+ progressCalculator?: ProgressCalculator
+ onJobCompletion?: (data: JobCompletionData) => void | Promise
+ onRetry?: () => void | Promise
+ onCustomizeButtons?: (context: JobButtonCustomizationContext) => void
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler.ts
index e83e78ada2..b6c86260d5 100644
--- a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler.ts
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-handler.ts
@@ -8,11 +8,12 @@
* @license Pimcore Open Core License (POCL)
*/
+/* eslint-disable max-lines */
import { AbstractMessageHandler } from '@Pimcore/modules/global-message-bus/message-handlers/abstract-message-handler'
import { type AbstractMercureMessage } from '@Pimcore/modules/background-processor/process/abstract-mercure-process'
import { store } from '@Pimcore/app/store'
import { jobReceived, jobUpdated } from '@Pimcore/modules/execution-engine/execution-engine-slice'
-import { JobStatus, type AbstractJob } from '@Pimcore/modules/execution-engine/jobs/abstact-job'
+import { JobStatus } from '@Pimcore/modules/execution-engine/jobs/abstact-job'
import { getUniqueId } from '@Pimcore/modules/execution-engine/jobs/factory-helper'
import { isFunction, isNil, throttle } from 'lodash'
import { container } from '@Pimcore/app/depency-injection'
@@ -20,11 +21,14 @@ import { serviceIds } from '@Pimcore/app/config/services/service-ids'
import { type GlobalMessageBus } from '@Pimcore/modules/global-message-bus/services/global-message-bus'
import { type JobButtonCustomizationContext } from './message-bus-job-notification'
import { JobRunPolling, type JobStatusUpdateData } from './job-run-polling'
+import { type MessageBusJob, type JobCompletionData, type MessageBusJobHandlerOptions } from './message-bus-job-handler-types'
+import { DefaultStepTracker } from './step-tracker/default-step-tracker'
+import { type StepTracker } from './step-tracker/step-tracker.interface'
+import { ProgressFieldCalculator } from './progress-calculator/progress-field-calculator'
+import { PROGRESS_NO_UPDATE, type ProgressCalculator } from './progress-calculator/progress-calculator.interface'
+
+export type { MessageBusJob, JobCompletionData, MessageBusJobHandlerOptions } from './message-bus-job-handler-types'
-/**
- * Default job handler that provides common functionality for job management, Redux integration, status mapping, and progress handling
- * Can be used directly or extended by specific job handlers
- */
export class MessageBusJobHandler extends AbstractMessageHandler {
private jobRunId: number
private job: MessageBusJob | null = null
@@ -32,22 +36,27 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
private readonly onRetry?: () => void | Promise
private readonly onCustomizeButtons?: (context: JobButtonCustomizationContext) => void
- private currentStep: number = 1
- private readonly totalSteps?: number
+ private readonly stepTracker: StepTracker
+ private readonly stepDescriptions?: Record
+ private readonly progressCalculator: ProgressCalculator
private lastProgressValue: number = -1
private readonly title: string | ((job: MessageBusJob) => string)
- private readonly polling: JobRunPolling
+ private polling: JobRunPolling
- private readonly throttledProgressUpdate = throttle((progress: number, data: any) => {
+ private readonly throttledProgressUpdate = throttle((progress: number | null, data: any) => {
this.performProgressUpdate(progress, data)
- this.lastProgressValue = progress
+ if (progress !== null) {
+ this.lastProgressValue = progress
+ }
}, 250, { leading: true, trailing: true })
constructor (options: MessageBusJobHandlerOptions) {
super()
this.jobRunId = options.jobRunId
- this.totalSteps = options.totalSteps
this.title = options.title
+ this.stepDescriptions = options.stepDescriptions
+ this.stepTracker = options.stepTracker ?? new DefaultStepTracker()
+ this.progressCalculator = options.progressCalculator ?? new ProgressFieldCalculator()
this.onJobCompletion = options.onJobCompletion
this.onRetry = options.onRetry
@@ -102,22 +111,6 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
return this.title
}
- /**
- * Calculate progress percent from message data
- * Handles both step-based progress (if totalSteps > 1) and direct progress values (0-100)
- */
- private calculateProgress (data: any): number | null {
- if (!isNil(data?.currentStep) && !isNil(data?.totalSteps) && data.totalSteps > 1) {
- return Math.max(0, Math.round(((data.currentStep - 1) / data.totalSteps) * 100))
- }
-
- if (!isNil(data?.progress)) {
- return Math.max(0, Math.min(100, data.progress as number))
- }
-
- return null
- }
-
private async handleJobCompletion (data: JobCompletionData): Promise {
if (!isNil(this.onJobCompletion)) {
await this.onJobCompletion(data)
@@ -130,14 +123,17 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
}
private createJob (): MessageBusJob {
+ const { currentStep, totalSteps } = this.stepTracker.state
+
const job: MessageBusJob = {
id: getUniqueId(),
type: 'default-message-bus',
title: '',
status: JobStatus.QUEUED,
progress: 0,
- currentStep: this.currentStep,
- totalSteps: this.totalSteps,
+ currentStep: this.stepTracker.showStepLabel ? currentStep : undefined,
+ totalSteps: this.stepTracker.showStepLabel ? totalSteps : undefined,
+ stepDescriptionKey: this.stepDescriptions?.[currentStep],
onRetry: this.onRetry,
onCustomizeButtons: this.onCustomizeButtons,
jobRunId: this.jobRunId
@@ -170,47 +166,50 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
const oldJobRunId = this.jobRunId
this.jobRunId = newJobRunId
- if (isNil(this.totalSteps) || this.currentStep < this.totalSteps) {
- this.currentStep++
- }
- // Re-register handler with new ID to ensure proper unregistration later
+ const newState = this.stepTracker.onChildJobTransition()
+
+ // Re-register handler with new ID
const messageBus = container.get(serviceIds.globalMessageBus)
messageBus.unregisterHandler(oldJobRunId)
messageBus.registerHandler(this)
+ // Recreate polling for the child job
+ this.polling = new JobRunPolling(this.jobRunId, {
+ onStatusUpdate: async (data) => { await this.handlePolledStatusUpdate(data) },
+ onError: (error) => { console.error('Job run polling error:', error) }
+ })
+
this.lastProgressValue = -1
+ this.progressCalculator.onStepChange?.()
this.updateJob({
status: JobStatus.RUNNING,
progress: 0,
- currentStep: this.currentStep
+ ...(this.stepTracker.showStepLabel && {
+ currentStep: newState.currentStep,
+ totalSteps: newState.totalSteps,
+ stepDescriptionKey: this.stepDescriptions?.[newState.currentStep]
+ }),
+ jobRunId: newJobRunId
})
}
- private async handleStatusUpdate (data: any): Promise {
+ private async handleStatusUpdate (data: any): Promise {
if (data.status === 'finished' && !isNil(data.messages?.jobRunChildId) && String(data.messages.jobRunChildId) !== String(this.jobRunId)) {
this.transitionToChildJob(Number(data.messages.jobRunChildId))
- return
+ return true
}
const isComplete = ['finished', 'finished_with_errors', 'failed'].includes(String(data.status))
if (isComplete) {
- let jobStatus: JobStatus
- switch (data.status) {
- case 'finished':
- jobStatus = JobStatus.SUCCESS
- break
- case 'finished_with_errors':
- jobStatus = JobStatus.FINISHED_WITH_ERRORS
- break
- case 'failed':
- jobStatus = JobStatus.FAILED
- break
- default:
- jobStatus = JobStatus.FAILED
+ const statusMap: Record = {
+ finished: JobStatus.SUCCESS,
+ finished_with_errors: JobStatus.FINISHED_WITH_ERRORS,
+ failed: JobStatus.FAILED
}
+ const jobStatus = statusMap[data.status] ?? JobStatus.FAILED
const completionData: JobCompletionData = {
isSuccessful: String(data.status) === 'finished',
@@ -222,31 +221,42 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
await this.handleJobCompletion(completionData)
- this.updateJob({ status: jobStatus, messages: data.messages })
+ const messages = Array.isArray(data.messages) ? data.messages as string[] : undefined
+ this.updateJob({ status: jobStatus, messages })
const messageBus = container.get(serviceIds.globalMessageBus)
messageBus.unregisterHandler(this.jobRunId)
} else if (data.status === 'running') {
this.updateJob({ status: JobStatus.RUNNING })
}
+
+ return false
}
- private handleProgressUpdate (progress: number, data: any): void {
- if (Math.abs(progress - this.lastProgressValue) < 1 && progress !== 100) {
- return
+ private handleProgressUpdate (progress: number | null, data: any): void {
+ if (progress !== null) {
+ if (progress < this.lastProgressValue && progress !== 0) {
+ return
+ }
+
+ if (Math.abs(progress - this.lastProgressValue) < 1 && progress !== 100) {
+ return
+ }
}
this.throttledProgressUpdate(progress, data)
}
- private performProgressUpdate (progress: number, data: any): void {
+ private performProgressUpdate (progress: number | null, data: any): void {
if (isNil(data?.status)) {
this.updateJob({ status: JobStatus.RUNNING })
}
- this.updateJob({
- progress
- })
+ if (progress === null) {
+ this.updateJob({ indeterminate: true })
+ } else {
+ this.updateJob({ indeterminate: false, progress })
+ }
}
private async handlePolledStatusUpdate (data: JobStatusUpdateData): Promise {
@@ -262,39 +272,50 @@ export class MessageBusJobHandler extends AbstractMessageHandler {
private async processUpdate (data: any): Promise {
if (!isNil(data?.status)) {
- await this.handleStatusUpdate(data)
+ const transitioned = await this.handleStatusUpdate(data)
+ if (transitioned) {
+ return
+ }
}
- const progress = this.calculateProgress(data)
- if (!isNil(progress)) {
- this.handleProgressUpdate(progress, data)
+ // Notify the step tracker of incoming backend step data
+ if (!isNil(data?.currentStep)) {
+ const newState = this.stepTracker.onBackendStep(data.currentStep as number)
+
+ if (newState !== null) {
+ // Step advanced — notify calculator and reset progress tracking
+ this.progressCalculator.onStepChange?.()
+ this.lastProgressValue = -1
+
+ if (this.stepTracker.showStepLabel) {
+ // Also pick up totalSteps from backend if the tracker now knows it
+ this.updateJob({
+ currentStep: newState.currentStep,
+ totalSteps: newState.totalSteps,
+ stepDescriptionKey: this.stepDescriptions?.[newState.currentStep]
+ })
+ }
+ }
}
- }
-}
-export interface MessageBusJob extends AbstractJob {
- progress?: number
- currentStep?: number
- totalSteps?: number
- onRetry?: () => void | Promise
- onCustomizeButtons?: (context: JobButtonCustomizationContext) => void
- messages?: string[]
- jobRunId: number
-}
+ // For DefaultStepTracker: pick up totalSteps from backend on first message
+ if (!isNil(data?.totalSteps) && this.stepTracker.showStepLabel) {
+ const currentTrackerState = this.stepTracker.state
+ if (isNil(currentTrackerState.totalSteps) && 'onBackendTotalSteps' in this.stepTracker) {
+ (this.stepTracker as any).onBackendTotalSteps(data.totalSteps as number)
+ this.updateJob({ totalSteps: data.totalSteps as number })
+ }
+ }
-export interface JobCompletionData {
- isSuccessful: boolean
- isFinished: boolean
- isFailed: boolean
- status: JobStatus
- payload: any
-}
+ const { currentStep, totalSteps } = this.stepTracker.state
+ const result = this.progressCalculator.calculateProgress(data, {
+ currentStep,
+ totalSteps,
+ lastProgressValue: this.lastProgressValue
+ })
-export interface MessageBusJobHandlerOptions {
- jobRunId: number
- title: string | ((job: MessageBusJob) => string)
- totalSteps?: number
- onJobCompletion?: (data: JobCompletionData) => void | Promise
- onRetry?: () => void | Promise
- onCustomizeButtons?: (context: JobButtonCustomizationContext) => void
+ if (result !== PROGRESS_NO_UPDATE) {
+ this.handleProgressUpdate(result, data)
+ }
+ }
}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-notification.tsx b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-notification.tsx
index b39fbf4022..c629cadaac 100644
--- a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-notification.tsx
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/message-bus-job-notification.tsx
@@ -22,6 +22,7 @@ import { type GlobalMessageBus } from '@Pimcore/modules/global-message-bus/servi
import trackError, { ApiError } from '@Pimcore/modules/app/error-handler'
export interface JobButtonCustomizationContext {
+ jobRunId: number
addSuccessButton: (action: ButtonAction, position?: 'start' | 'end') => void
addFinishedWithErrorsButton: (action: ButtonAction, position?: 'start' | 'end') => void
addFailureButton: (action: ButtonAction, position?: 'start' | 'end') => void
@@ -69,6 +70,7 @@ export const MessageBusJobNotification = (props: MessageBusJobProps): React.JSX.
if (!isUndefined(props.onCustomizeButtons)) {
const context: JobButtonCustomizationContext = {
+ jobRunId: props.jobRunId,
addSuccessButton: (action, position) => { addButton(successButtonActions, action, position) },
addFinishedWithErrorsButton: (action, position) => { addButton(finishedWithErrorsButtonActions, action, position) },
addFailureButton: (action, position) => { addButton(failureButtonActions, action, position) }
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-calculator.interface.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-calculator.interface.ts
new file mode 100644
index 0000000000..4921d364c5
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-calculator.interface.ts
@@ -0,0 +1,51 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+/**
+ * Sentinel value returned by a ProgressCalculator to signal that the progress
+ * bar should not be updated at all (e.g. no relevant data in the message).
+ *
+ * Distinct from `null` which signals an indeterminate (spinner) state.
+ */
+export const PROGRESS_NO_UPDATE = Symbol('progress-no-update')
+
+/**
+ * The result of a progress calculation:
+ *
+ * - `number` – determinate progress value (0–100)
+ * - `null` – indeterminate state (show spinner)
+ * - `PROGRESS_NO_UPDATE` – skip update entirely, leave bar as-is
+ */
+export type ProgressResult = number | null | typeof PROGRESS_NO_UPDATE
+
+export interface ProgressCalculatorContext {
+ /** Current step as tracked by the step tracker */
+ currentStep: number
+ /** Total steps if known */
+ totalSteps?: number
+ /** Last progress value successfully applied (-1 if none yet) */
+ lastProgressValue: number
+}
+
+export interface ProgressCalculator {
+ /**
+ * Calculate the progress result from a raw SSE message payload.
+ *
+ * @param data Raw message payload from the backend
+ * @param context Current handler state
+ */
+ calculateProgress: (data: any, context: ProgressCalculatorContext) => ProgressResult
+
+ /**
+ * Called when the step advances (same-job step change or child job transition).
+ * Calculators that maintain internal state should reset it here.
+ */
+ onStepChange?: () => void
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-field-calculator.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-field-calculator.ts
new file mode 100644
index 0000000000..0d7d530fe0
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-field-calculator.ts
@@ -0,0 +1,72 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { isNil } from 'lodash'
+import { PROGRESS_NO_UPDATE, type ProgressCalculator, type ProgressCalculatorContext, type ProgressResult } from './progress-calculator.interface'
+
+/**
+ * Reads the backend `progress` field (0–100) directly.
+ *
+ * Distinguishes between gradual steps and instant steps:
+ * - Gradual step: backend sends progress 0 → 100 over multiple messages → smooth bar
+ * - Instant step: backend sends only progress 100 in one message → spinner (null)
+ *
+ * When the step tracker has a known totalSteps and the backend reports finer-grained
+ * sub-steps within a child job (different totalSteps value), the two are combined:
+ * combined = ((subStep - 1) / subTotal) * 100 + progress / subTotal
+ *
+ * Internal gradual-progress state resets on every step change via onStepChange().
+ *
+ * Used for: batch-edit folder, zip-upload, CSV/XLSX export (all variants).
+ */
+export class ProgressFieldCalculator implements ProgressCalculator {
+ private hadGradualProgress: boolean = false
+
+ calculateProgress (data: any, context: ProgressCalculatorContext): ProgressResult {
+ if (isNil(data?.progress)) {
+ return PROGRESS_NO_UPDATE
+ }
+
+ const progress = data.progress as number
+
+ // Combine handler-owned step counter with backend sub-steps inside a child job.
+ // Only triggers when backend totalSteps differs from the handler-known totalSteps,
+ // meaning the backend is reporting finer granularity inside one of our steps.
+ if (!isNil(context.totalSteps)) {
+ const hasSubSteps = !isNil(data?.currentStep) && !isNil(data?.totalSteps) &&
+ (data.totalSteps as number) > 1 &&
+ (data.totalSteps as number) !== context.totalSteps
+
+ if (hasSubSteps) {
+ const subStep = data.currentStep as number
+ const subTotal = data.totalSteps as number
+ const combined = ((subStep - 1) / subTotal) * 100 + progress / subTotal
+ this.hadGradualProgress = true
+ return Math.max(0, Math.min(100, combined))
+ }
+ }
+
+ if (progress < 100) {
+ this.hadGradualProgress = true
+ return Math.max(0, Math.min(100, progress))
+ }
+
+ if (progress === 100 && this.hadGradualProgress) {
+ return 100
+ }
+
+ // progress === 100 with no prior gradual progress → instant step → spinner
+ return null
+ }
+
+ onStepChange (): void {
+ this.hadGradualProgress = false
+ }
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/step-completion-calculator.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/step-completion-calculator.ts
new file mode 100644
index 0000000000..9b323048e1
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/step-completion-calculator.ts
@@ -0,0 +1,53 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { isNil } from 'lodash'
+import { PROGRESS_NO_UPDATE, type ProgressCalculator, type ProgressCalculatorContext, type ProgressResult } from './progress-calculator.interface'
+
+/**
+ * Calculates progress from completed steps: step N done = N / totalSteps * 100%.
+ *
+ * Each step is considered complete when the backend sends progress: 100.
+ * While a step is still running (progress < 100), the bar holds at the
+ * previous step boundary.
+ *
+ * step 1/7 completes → 14%
+ * step 2/7 completes → 29%
+ * step 7/7 completes → 100%
+ *
+ * Falls back to the raw progress field for single-step jobs (totalSteps === 1
+ * or totalSteps unknown).
+ *
+ * Used for: delete, batch-delete — one step per element, instant completion.
+ */
+export class StepCompletionCalculator implements ProgressCalculator {
+ calculateProgress (data: any, context: ProgressCalculatorContext): ProgressResult {
+ const hasSteps = !isNil(data?.currentStep) && !isNil(data?.totalSteps) &&
+ (data.totalSteps as number) > 1
+
+ if (hasSteps) {
+ const currentStep = data.currentStep as number
+ const totalSteps = data.totalSteps as number
+ const stepProgress = !isNil(data?.progress) ? (data.progress as number) : 100
+
+ if (stepProgress >= 100) {
+ return Math.round((currentStep / totalSteps) * 100)
+ }
+
+ return Math.round(((currentStep - 1) / totalSteps) * 100)
+ }
+
+ if (!isNil(data?.progress)) {
+ return Math.max(0, Math.min(100, data.progress as number))
+ }
+
+ return PROGRESS_NO_UPDATE
+ }
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/child-job-step-tracker.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/child-job-step-tracker.ts
new file mode 100644
index 0000000000..f2d09f4d6f
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/child-job-step-tracker.ts
@@ -0,0 +1,58 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { type StepTracker, type StepTrackerState } from './step-tracker.interface'
+
+export interface ChildJobStepTrackerOptions {
+ /**
+ * Total number of steps if known upfront (e.g. 2 for jobs that always
+ * spawn exactly one child job). When omitted the total is unknown and
+ * the UI will show "Step 1", "Step 2" etc. without a fraction.
+ */
+ totalSteps?: number
+}
+
+/**
+ * Step tracker for jobs that spawn child job runs via transitionToChildJob.
+ *
+ * Each child job transition advances the step counter by one. Backend step
+ * messages from the child job (which reset to step 1) are intentionally
+ * ignored — this tracker owns the step counter exclusively.
+ *
+ * Always shows the step label in the UI.
+ *
+ * Used for:
+ * - zip-upload: parent extracts (step 1) → child creates assets (step 2)
+ * - CSV/XLSX folder export: parent collects (step 1) → child creates file (step 2)
+ * - clone: may or may not spawn a child (totalSteps omitted when unknown)
+ */
+export class ChildJobStepTracker implements StepTracker {
+ readonly showStepLabel = true
+ private _state: StepTrackerState
+
+ constructor (options: ChildJobStepTrackerOptions = {}) {
+ this._state = { currentStep: 1, totalSteps: options.totalSteps }
+ }
+
+ get state (): StepTrackerState {
+ return this._state
+ }
+
+ onBackendStep (_backendStep: number): StepTrackerState | null {
+ // Intentionally ignored — this tracker owns the step counter.
+ // Child jobs reset currentStep to 1 which must not overwrite our counter.
+ return null
+ }
+
+ onChildJobTransition (): StepTrackerState {
+ this._state = { ...this._state, currentStep: this._state.currentStep + 1 }
+ return this._state
+ }
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/default-step-tracker.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/default-step-tracker.ts
new file mode 100644
index 0000000000..dabc20d555
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/default-step-tracker.ts
@@ -0,0 +1,71 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+import { type StepTracker, type StepTrackerState } from './step-tracker.interface'
+
+export interface DefaultStepTrackerOptions {
+ /**
+ * Whether to show the step label (Step X/Y) in the UI.
+ * Default: false.
+ *
+ * Set to true for jobs where the backend step structure is meaningful
+ * to the user (e.g. batch-edit: preparing → applying).
+ * Leave false for jobs where backend steps are an internal implementation
+ * detail (e.g. delete: one step per element).
+ */
+ showStepLabel?: boolean
+}
+
+/**
+ * Default step tracker. Follows the backend's currentStep value, accepting
+ * only forward movement (ignores any step that would go backwards).
+ *
+ * totalSteps is derived from the first backend message that carries it —
+ * no hardcoding required in the job definition.
+ *
+ * Used for:
+ * - Jobs with no child job transitions (single job run)
+ * - delete/batch-delete: showStepLabel=false (internal steps, no UI label)
+ * - batch-edit folder: showStepLabel=true (preparing → applying, shown in UI)
+ */
+export class DefaultStepTracker implements StepTracker {
+ readonly showStepLabel: boolean
+ private _state: StepTrackerState = { currentStep: 1 }
+
+ constructor (options: DefaultStepTrackerOptions = {}) {
+ this.showStepLabel = options.showStepLabel ?? false
+ }
+
+ get state (): StepTrackerState {
+ return this._state
+ }
+
+ onBackendStep (backendStep: number): StepTrackerState | null {
+ // Accept only forward movement
+ if (backendStep <= this._state.currentStep) {
+ return null
+ }
+
+ this._state = { ...this._state, currentStep: backendStep }
+ return this._state
+ }
+
+ onChildJobTransition (): StepTrackerState {
+ // Default tracker is not designed for child jobs, but handle gracefully
+ this._state = { ...this._state, currentStep: this._state.currentStep + 1 }
+ return this._state
+ }
+
+ onBackendTotalSteps (totalSteps: number): void {
+ if (this._state.totalSteps === undefined) {
+ this._state = { ...this._state, totalSteps }
+ }
+ }
+}
diff --git a/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/step-tracker.interface.ts b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/step-tracker.interface.ts
new file mode 100644
index 0000000000..0ac8b94cdc
--- /dev/null
+++ b/assets/js/src/core/modules/execution-engine/message-handlers/message-bus-job/step-tracker/step-tracker.interface.ts
@@ -0,0 +1,40 @@
+/**
+ * This source file is available under the terms of the
+ * Pimcore Open Core License (POCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (https://www.pimcore.com)
+ * @license Pimcore Open Core License (POCL)
+ */
+
+export interface StepTrackerState {
+ /** Current step (1-based) */
+ currentStep: number
+ /** Total steps, if known */
+ totalSteps?: number
+}
+
+export interface StepTracker {
+ /**
+ * Called on every incoming backend message that carries a currentStep value.
+ * Returns the new StepTrackerState if it changed, or null if nothing changed.
+ */
+ onBackendStep: (backendStep: number) => StepTrackerState | null
+
+ /**
+ * Called when the handler transitions to a child job run.
+ * Returns the new StepTrackerState.
+ */
+ onChildJobTransition: () => StepTrackerState
+
+ /**
+ * Whether to show the step label (Step X/Y) in the UI.
+ */
+ readonly showStepLabel: boolean
+
+ /**
+ * Current tracked state.
+ */
+ readonly state: StepTrackerState
+}
diff --git a/assets/js/src/core/modules/execution-engine/notification/job/job-view.tsx b/assets/js/src/core/modules/execution-engine/notification/job/job-view.tsx
index 99fbeb9667..45c1d070a0 100644
--- a/assets/js/src/core/modules/execution-engine/notification/job/job-view.tsx
+++ b/assets/js/src/core/modules/execution-engine/notification/job/job-view.tsx
@@ -32,8 +32,10 @@ export interface JobViewProps extends JobProps {
finishedWithErrorsButtonActions?: ButtonAction[]
onAbort?: () => void | Promise
progress: number
+ indeterminate?: boolean
currentStep?: number
totalSteps?: number
+ stepDescriptionKey?: string
}
export const JobView = (props: JobViewProps): React.JSX.Element => {
@@ -51,7 +53,7 @@ export const JobView = (props: JobViewProps): React.JSX.Element => {
return null
}
- if (!isUndefined(props.totalSteps)) {
+ if (!isUndefined(props.totalSteps) && props.totalSteps > 1) {
return { t('jobs.job.step_hint', { step: props.currentStep, total: props.totalSteps }) }:
}
@@ -108,7 +110,26 @@ export const JobView = (props: JobViewProps): React.JSX.Element => {
) }
- { props.status === JobStatus.RUNNING && (
+ { props.status === JobStatus.RUNNING && props.indeterminate === true && (
+
+
+
+
+ {stepHint}
+ { !isUndefined(props.stepDescriptionKey) ? t(props.stepDescriptionKey) : t('jobs.job.in-progress', { title: props.title }) }
+
+
+ { renderAbortButton() }
+
+ ) }
+
+ { props.status === JobStatus.RUNNING && props.indeterminate !== true && (
{stepHint}{t('jobs.job.in-progress', { title: props.title })}> }
descriptionAction={ renderAbortButton() }
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/entrypoints.json b/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/entrypoints.json
deleted file mode 100644
index 23d6c305e0..0000000000
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/entrypoints.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "entrypoints": {
- "main": {
- "js": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js"
- ],
- "css": []
- },
- "documentEditorIframe": {
- "js": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js"
- ],
- "css": []
- },
- "exposeRemote": {
- "js": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/exposeRemote.js"
- ],
- "css": []
- }
- }
-}
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/manifest.json b/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/manifest.json
deleted file mode 100644
index 96728e812b..0000000000
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/manifest.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "allFiles": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js",
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js",
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-stats.json",
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-manifest.json",
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/documentEditorIframe.html",
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/main.html"
- ],
- "entries": {
- "main": {
- "html": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/main.html"
- ],
- "initial": {
- "js": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js"
- ]
- }
- },
- "documentEditorIframe": {
- "html": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/documentEditorIframe.html"
- ],
- "initial": {
- "js": [
- "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js"
- ]
- }
- }
- },
- "integrity": {}
-}
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/documentEditorIframe.html b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/documentEditorIframe.html
similarity index 61%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/documentEditorIframe.html
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/documentEditorIframe.html
index c81673710a..f640a1b978 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/documentEditorIframe.html
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/documentEditorIframe.html
@@ -1 +1 @@
-Rsbuild App
\ No newline at end of file
+Rsbuild App
\ No newline at end of file
diff --git a/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/entrypoints.json b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/entrypoints.json
new file mode 100644
index 0000000000..598e3248fd
--- /dev/null
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/entrypoints.json
@@ -0,0 +1,22 @@
+{
+ "entrypoints": {
+ "main": {
+ "js": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js"
+ ],
+ "css": []
+ },
+ "documentEditorIframe": {
+ "js": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js"
+ ],
+ "css": []
+ },
+ "exposeRemote": {
+ "js": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/exposeRemote.js"
+ ],
+ "css": []
+ }
+ }
+}
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/exposeRemote.js b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/exposeRemote.js
similarity index 100%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/exposeRemote.js
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/exposeRemote.js
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/main.html b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/main.html
similarity index 79%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/main.html
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/main.html
index 14583eccc5..2ce87608d9 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/main.html
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/main.html
@@ -1 +1 @@
-Rsbuild App
\ No newline at end of file
+Rsbuild App
\ No newline at end of file
diff --git a/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/manifest.json b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/manifest.json
new file mode 100644
index 0000000000..f5d79fabf5
--- /dev/null
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/manifest.json
@@ -0,0 +1,33 @@
+{
+ "allFiles": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js",
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js",
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-stats.json",
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-manifest.json",
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/documentEditorIframe.html",
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/main.html"
+ ],
+ "entries": {
+ "main": {
+ "html": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/main.html"
+ ],
+ "initial": {
+ "js": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js"
+ ]
+ }
+ },
+ "documentEditorIframe": {
+ "html": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/documentEditorIframe.html"
+ ],
+ "initial": {
+ "js": [
+ "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js"
+ ]
+ }
+ }
+ },
+ "integrity": {}
+}
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-manifest.json b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-manifest.json
similarity index 96%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-manifest.json
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-manifest.json
index cbf5bf1f2c..cbb35a642f 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-manifest.json
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-manifest.json
@@ -22,7 +22,7 @@
"globalName": "pimcore_studio_ui_bundle_core",
"pluginVersion": "2.2.3",
"prefetchInterface": false,
- "publicPath": "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/"
+ "publicPath": "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/"
},
"shared": [],
"remotes": [
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-stats.json b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-stats.json
similarity index 96%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-stats.json
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-stats.json
index 93befd9fb0..b5e2ea5b15 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/mf-stats.json
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/mf-stats.json
@@ -22,7 +22,7 @@
"globalName": "pimcore_studio_ui_bundle_core",
"pluginVersion": "2.2.3",
"prefetchInterface": false,
- "publicPath": "/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/"
+ "publicPath": "/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/"
},
"shared": [],
"remotes": [
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js
similarity index 98%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js
index 73da3c69b0..b17e2b3840 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js
@@ -1,7 +1,7 @@
-/*! For license information please see documentEditorIframe.571a0a52.js.LICENSE.txt */
+/*! For license information please see documentEditorIframe.f64b9f98.js.LICENSE.txt */
(()=>{var __webpack_modules__={7570(e,t,r){r.e("742").then(r.t.bind(r,9005,23))},6619(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8130);t.logAndReport=function(e,t,r,n,a,i){return n(o.getShortErrorMsg(e,t,r,a))}},9810(e,t,r){let o=r(924),n={[o.RUNTIME_001]:"Failed to get remoteEntry exports.",[o.RUNTIME_002]:'The remote entry interface does not contain "init"',[o.RUNTIME_003]:"Failed to get manifest.",[o.RUNTIME_004]:"Failed to locate remote.",[o.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[o.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[o.RUNTIME_007]:"Failed to get remote snapshot.",[o.RUNTIME_008]:"Failed to load script resources.",[o.RUNTIME_009]:"Please call createInstance first.",[o.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[o.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},a={[o.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},i={[o.BUILD_001]:"Failed to find expose module.",[o.BUILD_002]:"PublicPath is required in prod mode."},s={...n,...a,...i};t.buildDescMap=i,t.errorDescMap=s,t.runtimeDescMap=n,t.typeDescMap=a},924(e,t){let r="RUNTIME-001",o="RUNTIME-002",n="RUNTIME-003",a="RUNTIME-004",i="RUNTIME-005",s="RUNTIME-006",l="RUNTIME-007",u="RUNTIME-008",c="RUNTIME-009",d="RUNTIME-010",f="RUNTIME-011",p="TYPE-001",h="BUILD-002";t.BUILD_001="BUILD-001",t.BUILD_002=h,t.RUNTIME_001=r,t.RUNTIME_002=o,t.RUNTIME_003=n,t.RUNTIME_004=a,t.RUNTIME_005=i,t.RUNTIME_006=s,t.RUNTIME_007=l,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=d,t.RUNTIME_011=f,t.TYPE_001=p},8130(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:
- ${n}`),a.join("\n")}},4363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(924),n=r(8130),a=r(9810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},2926(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},5871(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(7829),s=r(8457),l=r(556);r(1132);let u=r(2003),c=r(6227),d=r(2964),f=r(2593),p=r(2299),h=r(317);r(4317);let m=r(4260),g=r(4710),y=r(9152),E=r(7300),_=r(1777),b=r(630),S=r(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,S.getShortErrorMsg)(S.RUNTIME_010,S.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new h.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook("beforeInitContainer"),initContainer:new p.AsyncWaterfallHook("initContainer")}),this.version="2.2.3",this.moduleCache=new Map,this.loaderHook=new h.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new h.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:b.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new _.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},4391(e,t,r){let o=r(8628),n=r(9350),a=r(630),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function p(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function h(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.3")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,_=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},b=e=>_(e,s.__FEDERATION__.moduleInfo),S=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},M=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,N=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=M,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=b,t.getInfoWithoutType=y,t.getPreloaded=N,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=_,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=h,t.setGlobalSnapshotInfoByModuleInfo=S,t.setPreloaded=T},3509(e,t,r){let o=r(4391),n=r(8369),a=r(6079),i=r(556);r(1132);let s=r(9599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},5922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8628),n=r(9350),a=r(4391),i=r(3957),s=r(8369),l=r(6079),u=r(556);r(1132);let c=r(3509),d=r(2003),f=r(5871),p=r(7703),h=r(630),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return h.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return h.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,r){let o=r(8628),n=r(9350),a=r(556),i=r(8393);r(1132);let s=r(630),l=r(4363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
- ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,r){let o=r(9350),n=r(4391),a=r(8369);r(1132);let i=r(9599),s=r(4260),l=r(630);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],p=[],h=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:_}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(_)){let e=_.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==_)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&h.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let b=p.filter(e=>!m.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:b,entryAssets:h.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(8393);r(1132);let s=r(2964),l=r(2299),u=r(317);r(4317);let c=r(630),d=r(4363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&"remotesInfo"in p&&!a.getInfoWithoutType(p.remotesInfo,s.name).value&&("version"in s||"entry"in s)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[s.name]:{matchedVersion:"version"in s?s.version:s.entry}});let{hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new l.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new l.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new l.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},4260(e,t,r){let o=r(8628),n=r(9350);r(1132);let a=r(9599),i=r(630),s=r(4363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},1777(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(8369),s=r(6079),l=r(556),u=r(8393);r(1132);let c=r(9599),d=r(2003),f=r(6227),p=r(2964),h=r(2593),m=r(2299),g=r(317);r(4317);let y=r(9152),E=r(630),_=r(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof p)return p;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(_.RUNTIME_004,_.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),p=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:h,expose:m}=p;o.assert(h&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(h.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(h.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new h.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new h.SyncWaterfallHook("registerRemote"),beforeRequest:new m.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(8393);r(1132);let s=r(2964),l=r(2593),u=r(2299),c=r(317);r(4317);let d=r(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},p=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(p(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];p(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,r){var o=r(1748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},8393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},7829(e,t,r){r(630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle_core:0.0.1"}},2964(e,t,r){let o=r(6227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o0){let t=0,o=e=>!1!==e&&(t0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,r){let o=r(8628),n=r(9350),a=r(6227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},1132(e,t,r){r(8628),r(9350),r(7829),r(6079),r(8457),r(556),r(8393),r(630)},556(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(630),s=r(4363),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function p(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function h(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&"url"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):h({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},8628(e,t,r){let o=r(630),n=r(6619),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8457(e,t,r){let o=r(4391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},9599(e,t,r){let o=r(8628),n=r(6079),a=r(556),i=r(630);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:"preload",as:"style"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:"stylesheet",type:"text/css"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:"preload",as:"script"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,p=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,h=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,m="((?:<|>)?=?)",g=`(\\s*)${m}\\s*(${h}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,_="(?:\\^)",b=`(\\s*)${_}\\s+`,S="(<|>)?=?\\s*\\*",v=`^${_}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,M=`^${m}\\s*${f}$`,N=`^${m}\\s*(${R})$|^$`,T="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=b,t.comparator=N,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=S,t.tilde=I,t.tildeTrim=E,t.xRange=M},3957(e,t,r){let o=r(78),n=r(3810),a=r(632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,p={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},3810(e,t,r){let o=r(9570),n=r(78);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},78(e,t,r){let o=r(9570);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;rt.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(2926),s=r(3957),l=r(630);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let p=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},h=e=>!!e.loaded||"function"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!h(n[e].treeShaking)&&f(e,t):!h(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}let E=e=>h(e)||m(e);function _(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}function b(e){return"loaded-first"===e?_:y}function S(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:p,useTreesShaking:h}=b(c)(e,i,t,f),m=()=>{let n=e[i][t][p];if(l.singleton){if("string"==typeof u&&!s.satisfy(p,u)){let e=`Version ${p} from ${p&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:h}}{if(!1===u||"*"===u||s.satisfy(p,u))return{shared:n,useTreesShaking:h};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!h(t[e])&&f(e,r)};return t[p(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=S,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(8628),n=r(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function p(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function h(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=h,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},3129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(3544);let o=r(9577),n=r(5922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},9782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(3544);let o=r(9577),n=r(5922),a=r(4363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},7688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},586(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",p="ENCODE_NAME_PREFIX",h=".federation",m={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},g=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=m,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=h,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(3417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},6883(e,t,r){let o=r(586),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},7016(e,t,r){let o=r(586),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),p={};Object.keys(l).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>p[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:h,name:m,type:g},types:y={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:E},globalName:_,ssrRemoteEntry:b}=e.metaData,{exposes:S}=e,v={version:c||"",buildVersion:E,globalName:_,remoteEntry:n(h,m),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||"",remoteTypesAPI:y.api||"",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==S?void 0:S.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if("publicPath"in e.metaData?(i={...v,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},b){let e=n(b.path,b.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=b.type||"commonjs-module"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(586),n=r(8841),a=r(8798),i=r(7765),s=r(1993),l=r(7345),u=r(5448),c=r(6883),d=r(3417),f=r(7016),p=r(3910),h=r(6302),m=r(638),g=r(6967),y=r(1483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=h.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=h.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=h.isStaticResourcesEqual,t.loadScript=h.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=h.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},3910(e,t,r){let o=r(6883),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
+ ${n}`),a.join("\n")}},4363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(924),n=r(8130),a=r(9810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},2926(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},5871(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(7829),s=r(8457),l=r(556);r(1132);let u=r(2003),c=r(6227),d=r(2964),f=r(2593),p=r(2299),h=r(317);r(4317);let m=r(4260),g=r(4710),y=r(9152),E=r(7300),_=r(1777),S=r(630),b=r(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,b.getShortErrorMsg)(b.RUNTIME_010,b.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new h.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook("beforeInitContainer"),initContainer:new p.AsyncWaterfallHook("initContainer")}),this.version="2.2.3",this.moduleCache=new Map,this.loaderHook=new h.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new h.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:S.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new _.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},4391(e,t,r){let o=r(8628),n=r(9350),a=r(630),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function p(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function h(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.3")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,_=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},S=e=>_(e,s.__FEDERATION__.moduleInfo),b=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},M=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,N=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=M,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=S,t.getInfoWithoutType=y,t.getPreloaded=N,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=_,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=h,t.setGlobalSnapshotInfoByModuleInfo=b,t.setPreloaded=T},3509(e,t,r){let o=r(4391),n=r(8369),a=r(6079),i=r(556);r(1132);let s=r(9599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},5922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8628),n=r(9350),a=r(4391),i=r(3957),s=r(8369),l=r(6079),u=r(556);r(1132);let c=r(3509),d=r(2003),f=r(5871),p=r(7703),h=r(630),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return h.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return h.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,r){let o=r(8628),n=r(9350),a=r(556),i=r(8393);r(1132);let s=r(630),l=r(4363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
+ ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,r){let o=r(9350),n=r(4391),a=r(8369);r(1132);let i=r(9599),s=r(4260),l=r(630);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],p=[],h=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:_}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(_)){let e=_.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==_)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&h.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let S=p.filter(e=>!m.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:S,entryAssets:h.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(8393);r(1132);let s=r(2964),l=r(2299),u=r(317);r(4317);let c=r(630),d=r(4363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&"remotesInfo"in p&&!a.getInfoWithoutType(p.remotesInfo,s.name).value&&("version"in s||"entry"in s)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[s.name]:{matchedVersion:"version"in s?s.version:s.entry}});let{hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new l.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new l.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new l.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},4260(e,t,r){let o=r(8628),n=r(9350);r(1132);let a=r(9599),i=r(630),s=r(4363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},1777(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(8369),s=r(6079),l=r(556),u=r(8393);r(1132);let c=r(9599),d=r(2003),f=r(6227),p=r(2964),h=r(2593),m=r(2299),g=r(317);r(4317);let y=r(9152),E=r(630),_=r(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof p)return p;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(_.RUNTIME_004,_.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),p=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:h,expose:m}=p;o.assert(h&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(h.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(h.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new h.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new h.SyncWaterfallHook("registerRemote"),beforeRequest:new m.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(8393);r(1132);let s=r(2964),l=r(2593),u=r(2299),c=r(317);r(4317);let d=r(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},p=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(p(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];p(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,r){var o=r(1748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},8393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},7829(e,t,r){r(630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle_core:0.0.1"}},2964(e,t,r){let o=r(6227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o0){let t=0,o=e=>!1!==e&&(t0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,r){let o=r(8628),n=r(9350),a=r(6227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},1132(e,t,r){r(8628),r(9350),r(7829),r(6079),r(8457),r(556),r(8393),r(630)},556(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(630),s=r(4363),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function p(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function h(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&"url"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):h({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},8628(e,t,r){let o=r(630),n=r(6619),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8457(e,t,r){let o=r(4391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},9599(e,t,r){let o=r(8628),n=r(6079),a=r(556),i=r(630);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:"preload",as:"style"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:"stylesheet",type:"text/css"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:"preload",as:"script"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,p=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,h=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,m="((?:<|>)?=?)",g=`(\\s*)${m}\\s*(${h}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,_="(?:\\^)",S=`(\\s*)${_}\\s+`,b="(<|>)?=?\\s*\\*",v=`^${_}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,M=`^${m}\\s*${f}$`,N=`^${m}\\s*(${R})$|^$`,T="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=S,t.comparator=N,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=b,t.tilde=I,t.tildeTrim=E,t.xRange=M},3957(e,t,r){let o=r(78),n=r(3810),a=r(632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,p={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},3810(e,t,r){let o=r(9570),n=r(78);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},78(e,t,r){let o=r(9570);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;rt.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(2926),s=r(3957),l=r(630);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let p=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},h=e=>!!e.loaded||"function"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!h(n[e].treeShaking)&&f(e,t):!h(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}let E=e=>h(e)||m(e);function _(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}function S(e){return"loaded-first"===e?_:y}function b(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:p,useTreesShaking:h}=S(c)(e,i,t,f),m=()=>{let n=e[i][t][p];if(l.singleton){if("string"==typeof u&&!s.satisfy(p,u)){let e=`Version ${p} from ${p&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:h}}{if(!1===u||"*"===u||s.satisfy(p,u))return{shared:n,useTreesShaking:h};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!h(t[e])&&f(e,r)};return t[p(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=b,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(8628),n=r(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function p(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function h(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=h,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},3129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(3544);let o=r(9577),n=r(5922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},9782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(3544);let o=r(9577),n=r(5922),a=r(4363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},7688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},586(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",p="ENCODE_NAME_PREFIX",h=".federation",m={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},g=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=m,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=h,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(3417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},6883(e,t,r){let o=r(586),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},7016(e,t,r){let o=r(586),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),p={};Object.keys(l).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>p[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:h,name:m,type:g},types:y={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:E},globalName:_,ssrRemoteEntry:S}=e.metaData,{exposes:b}=e,v={version:c||"",buildVersion:E,globalName:_,remoteEntry:n(h,m),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||"",remoteTypesAPI:y.api||"",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==b?void 0:b.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if("publicPath"in e.metaData?(i={...v,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},S){let e=n(S.path,S.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=S.type||"commonjs-module"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(586),n=r(8841),a=r(8798),i=r(7765),s=r(1993),l=r(7345),u=r(5448),c=r(6883),d=r(3417),f=r(7016),p=r(3910),h=r(6302),m=r(638),g=r(6967),y=r(1483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=h.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=h.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=h.isStaticResourcesEqual,t.loadScript=h.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=h.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},3910(e,t,r){let o=r(6883),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
${r.slice(0,5).join("\n")}`}catch{return}}var l=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let r=this.delegate,n=o.isDebugMode()?s():void 0,i=n?[...t,n]:t,l=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of l){let t=r[e];if("function"==typeof t)return void t.call(r,this.prefix,...i)}for(let e of l){let t=a[e];if("function"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),r=0;re).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let o=(e,t)=>r.lifecycle.fetch.emit(e,t),n=await o(e,t||{});return n&&n instanceof Response?n:("u"{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval("require"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,o)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"new Promise((r,o)=>{createScriptNode(e,(e,n)=>{if(e)o(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;r(globalThis[e]=n)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:o}=t,n=await (await r(e)).text(),a=new o.SourceTextModule(n,{importModuleDynamically:async(r,o)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let o=new URL(r,e).href;return await loadModule(o,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},6967(e,t){t.normalizeOptions=function(e,t,r){return function(o){if(!1===o)return!1;if(void 0===o)if(e)return t;else return!1;if(!0===o)return t;if(o&&"object"==typeof o)return{...t,...o};throw Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof o}`)}}},7345(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},8841(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ContainerPlugin_exports",{enumerable:!0,get:function(){return o}})},8798(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return o}})},7765(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return o}})},5448(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},1993(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"SharePlugin_exports",{enumerable:!0,get:function(){return o}})},3417(e,t,r){let o=r(586),n=r(6883),a="[ Federation Runtime ]",i=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.SEPARATOR,a=e.split(r),i="development"===n.getProcessEnv().NODE_ENV&&t,s="*",l=e=>e.startsWith("http")||e.includes(o.MANIFEST_EXT);if(a.length>=2){let[t,...o]=a;e.startsWith(r)&&(t=a.slice(0,2).join(r),o=[i||a.slice(2).join(r)]);let n=i||o.join(r);return l(n)?{name:t,entry:n}:{name:t,version:n||s}}if(1===a.length){let[e]=a;return i&&l(i)?{name:e,entry:i}:{name:e,version:i||s}}throw`Invalid entry value: ${e}`},s=function(){for(var e=arguments.length,t=Array(e),r=0;rt?e?`${e}${o.SEPARATOR}${t}`:t:e,""):""},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let n=r?".js":"";return`${t}${e.replace(RegExp(`${o.NameTransformSymbol.AT}`,"g"),o.NameTransformMap[o.NameTransformSymbol.AT]).replace(RegExp(`${o.NameTransformSymbol.HYPHEN}`,"g"),o.NameTransformMap[o.NameTransformSymbol.HYPHEN]).replace(RegExp(`${o.NameTransformSymbol.SLASH}`,"g"),o.NameTransformMap[o.NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},u=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,"g"),"")}return n=n.replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.AT]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.AT]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.SLASH]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.SLASH]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.HYPHEN]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(e){throw e}},c=(e,t)=>{if(!e)return"";let r=e;return"."===r&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),l(r,"__federation_expose_",t)},d=(e,t)=>e?l(e,"__federation_shared_",t):"",f=(e,t)=>{if("getPublicPath"in e){let r;return r=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return"publicPath"in e?!n.isBrowserEnv()&&!n.isReactNativeEnv()&&"ssrPublicPath"in e&&"string"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},p=e=>{throw Error(`${a}: ${e}`)},h=e=>{console.warn(`${a}: ${e}`)};function m(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let g=/^([\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||p(t)},t.composeKeyWithSeparator=s,t.decodeName=u,t.encodeName=l,t.error=p,t.generateExposeFilename=c,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=y,t.parseEntry=i,t.safeToString=m,t.warn=h},7363(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},2069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},6897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.FEDERATION_SUPPORTED_TYPES=["script"]},916(e,t,r){let o=r(2069),n=r(5216),a=r(7617);t.consumes=function(e){n.updateConsumeOptions(e);let{chunkId:t,promises:r,installedModules:i,webpackRequire:s,chunkMapping:l,moduleToHandlerMapping:u}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{if(s.o(i,e))return r.push(i[e]);let t=t=>{i[e]=0,s.m[e]=r=>{var o;delete s.c[e];let n=t(),{shareInfo:a}=u[e];if((null==a||null==(o=a.shareConfig)?void 0:o.layer)&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=a.shareConfig.layer)}catch(e){}r.exports=n}},o=t=>{delete i[e],s.m[e]=r=>{throw delete s.c[e],t}};try{let n=s.federation.instance;if(!n)throw Error("Federation instance not found!");let{shareKey:l,getter:c,shareInfo:d,treeShakingGetter:f}=u[e],p=a.getUsedExports(s,l),h={...d};Array.isArray(h.scope)&&Array.isArray(h.scope[0])&&(h.scope=h.scope[0]),p&&(h.treeShaking={usedExports:p,useIn:[n.options.name]});let m=n.loadShare(l,{customShareInfo:h}).then(e=>!1===e?(null==f?void 0:f())||c():e);m.then?r.push(i[e]=m.then(t).catch(o)):t(m)}catch(e){o(e)}})}},8167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:r,version:o,webpackRequire:n,libraryType:a="global"}=e,{runtime:i,instance:s,bundlerRuntime:l,sharedFallback:u}=n.federation;if(!u)return r;let c=u[t];if(!c)return r;let d=o?c.find(e=>e[1]===o):c[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${o}`);return()=>i.getRemoteEntry({origin:n.federation.instance,remoteInfo:{name:d[2],entry:`${n.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:"default"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${o}`);return e.init(n.federation.instance,l).then(()=>e.get())})}},7617(e,t){t.getUsedExports=function(e,t){let r=e.federation.usedExports;if(r)return r[t]}},6927(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let o=r(7363),n=r(2069),a=r(6310),i=r(916),s=r(6777),l=r(1735),u=r(7440),c=r(8531),d=r(8167),f=r(9782),p={runtime:f=o.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:s.initializeSharing,S:{},installInitialConsumes:l.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:n.attachShareScopeMap,bundlerRuntimeOptions:{}},h=p.instance,m=p.initOptions,g=p.bundlerRuntime,y=p.bundlerRuntimeOptions;t.attachShareScopeMap=n.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=p,t.initOptions=m,t.instance=h,Object.defineProperty(t,"runtime",{enumerable:!0,get:function(){return f}})},8531(e,t,r){let o=r(7363),n=r(9782),a=r(3129);a=o.__toESM(a),t.init=function(e){var t;let{webpackRequire:o}=e,{initOptions:i,runtime:s,sharedFallback:l,bundlerRuntime:u,libraryType:c}=o.federation;if(!i)throw Error("initOptions is required!");let d=function(){return{name:"tree-shake-plugin",beforeInit(e){let{userOptions:t,origin:i,options:s}=e,d=t.version||s.version;if(!l)return e;let f=t.shared||{},p=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(p.push([e,t]),"get"in t){var r;(r=t).treeShaking||(r.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:o,libraryType:c,version:t.version})}})});let h=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!h||!("shared"in h))return e;Object.keys(s.shared||{}).forEach(e=>{s.shared[e].forEach(t=>{p.push([e,t])})});let m=(e,t)=>{let o=h.shared.find(t=>t.sharedName===e);if(!o)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:s,secondarySharedTreeShakingEntry:l,treeShakingStatus:u}=o;a.status!==u&&(a.status=u,l&&c&&s&&(a.get=async()=>{let e=await (0,n.getRemoteEntry)({origin:i,remoteInfo:{name:s,entry:l,type:c,entryGlobalName:s,shareScope:"default"}});return await e.init(i,r.federation.bundlerRuntime),e.get()}))};return p.forEach(e=>{let[t,r]=e;m(t,r)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),s.init(i)}},7440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:r,initScope:o,shareScopeKey:n,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let s=null==a?void 0:a.shareScopeKeys,l=null==a?void 0:a.shareScopeMap;if(n&&"string"!=typeof n)n.forEach(e=>{if(!s||!l)return void i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=n||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(n))?t.federation.initOptions.shared?t.I(n,o):Promise.all(n.map(e=>t.I(e,o))).then(()=>!0):t.I(n||"default",o)}},6777(e,t,r){let o=r(2069),n=r(6897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:r,initPromises:a,initTokens:i,initScope:s}=e,l=Array.isArray(t)?t:[t];var u=[],c=function(e){s||(s=[]);let l=r.federation.instance;var u=i[e];if(u||(u=i[e]={from:l.name}),s.indexOf(u)>=0)return;s.push(u);let c=a[e];if(c)return c;var d=e=>"u">typeof console&&console.warn&&console.warn(e),f=o=>{var n=e=>d("Initialization of sharing external failed: "+e);try{var a=r(o);if(!a)return;var i=o=>o&&o.init&&o.init(r.S[e],s,{shareScopeMap:r.S||{},shareScopeKeys:t});if(a.then)return p.push(a.then(i,n));var l=i(a);if(l&&"boolean"!=typeof l&&l.then)return p.push(l.catch(n))}catch(e){n(e)}};let p=l.initializeSharing(e,{strategy:l.options.shareStrategy,initScope:s,from:"build"});o.attachShareScopeMap(r);let h=r.federation.bundlerRuntimeOptions.remotes;return(h&&Object.keys(h.idToRemoteMap).forEach(e=>{let t=h.idToRemoteMap[e],r=h.idToExternalAndNameMapping[e][2];if(t.length>1)f(r);else if(1===t.length){let e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(r)}}),p.length)?a[e]=Promise.all(p).then(()=>a[e]=!0):a[e]=!0};return l.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},1735(e,t,r){let o=r(5216),n=r(7617);function a(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:o,asyncLoad:a}=e,i=o.federation.instance;if(!i)throw Error("Federation instance not found!");let{shareKey:s,shareInfo:l}=r[t];try{let e=n.getUsedExports(o,s),t={...l};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(s,{customShareInfo:t});return i.loadShareSync(s,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}t.installInitialConsumes=function(e){o.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:r,installedModules:n,initialConsumes:i,asyncLoad:s}=e,l=[];i.forEach(e=>{let o=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:r,asyncLoad:s});l.push([e,o])});let u=(e,o)=>{r.m[e]=a=>{var i;n[e]=0,delete r.c[e];let s=o();if("function"!=typeof s)throw Error(`Shared module is not available for eager consumption: ${e}`);let l=s(),{shareInfo:u}=t[e];if((null==u||null==(i=u.shareConfig)?void 0:i.layer)&&l&&"object"==typeof l)try{l.hasOwnProperty("layer")&&void 0!==l.layer||(l.layer=u.shareConfig.layer)}catch(e){}a.exports=l}};if(s)return Promise.all(l.map(async e=>{let[t,r]=e,o=await r();u(t,()=>o)}));l.forEach(e=>{let[t,r]=e;u(t,r)})}},6310(e,t,r){r(7363);let o=r(2069),n=r(6897),a=r(5216),i=r(630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:r,webpackRequire:s,chunkMapping:l,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{let t=s.R;t||(t=[]);let o=u[e],a=c[e]||[];if(t.indexOf(o)>=0)return;if(t.push(o),o.p)return r.push(o.p);let l=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
-while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,p,r):l();var p=(e,r,n)=>d(r.get,o[1],t,0,h,n),h=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,h,1):d(s,o[2],0,0,f,1)})}},5216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=c;if(f&&p){for(let[e,t]of Object.entries(p))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},4043(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,p,h,m=r(6927),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={"@sdk":[{alias:"@sdk",externalType:"promise",shareScope:"default"}]},_="pimcore_studio_ui_bundle_core",b="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},S=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},M=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},N={},T=[],O={},A=null==(p=r.initializeExposesData)?void 0:p.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(M))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,"initOptions",()=>({})),m(r.federation.initOptions,"name",()=>_),m(r.federation.initOptions,"shareStrategy",()=>b),m(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),m(r.federation,"bundlerRuntimeOptions",()=>({})),m(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),m(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(h=r.consumesLoadingData)?void 0:h.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:N,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}},8448(e){"use strict";e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl,r=document.createElement("script");r.src=t,r.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},document.head.appendChild(r)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(7570),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return 544==e},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var n=Object.create(null);__webpack_require__.r(n);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&r;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,__webpack_require__.d(n,a),n}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".javascript"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle_core:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[8448]},uniqueName:"pimcore_studio_ui_bundle_core"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={544:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(544==t){var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}else e[t]=0};var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);s&&s(__webpack_require__)}for(t&&t(r);l{__webpack_require__.remotesLoadingData={chunkMapping:{742:["9005"]},moduleIdToRemoteDataMapping:{9005:{shareScope:"default",name:"./_internal_/mf-bootstrap-document-editor-iframe",externalModuleId:8448,remoteName:"@sdk"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(4043)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
+while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,p,r):l();var p=(e,r,n)=>d(r.get,o[1],t,0,h,n),h=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,h,1):d(s,o[2],0,0,f,1)})}},5216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=c;if(f&&p){for(let[e,t]of Object.entries(p))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},4043(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,p,h,m=r(6927),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={"@sdk":[{alias:"@sdk",externalType:"promise",shareScope:"default"}]},_="pimcore_studio_ui_bundle_core",S="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},b=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},M=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},N={},T=[],O={},A=null==(p=r.initializeExposesData)?void 0:p.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(M))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,"initOptions",()=>({})),m(r.federation.initOptions,"name",()=>_),m(r.federation.initOptions,"shareStrategy",()=>S),m(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),m(r.federation,"bundlerRuntimeOptions",()=>({})),m(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>b),m(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:b,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(h=r.consumesLoadingData)?void 0:h.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:N,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}},8448(e){"use strict";e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl,r=document.createElement("script");r.src=t,r.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},document.head.appendChild(r)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(7570),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return 544==e},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var n=Object.create(null);__webpack_require__.r(n);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&r;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,__webpack_require__.d(n,a),n}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".javascript"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle_core:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[8448]},uniqueName:"pimcore_studio_ui_bundle_core"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={544:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(544==t){var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}else e[t]=0};var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);s&&s(__webpack_require__)}for(t&&t(r);l{__webpack_require__.remotesLoadingData={chunkMapping:{742:["9005"]},moduleIdToRemoteDataMapping:{9005:{shareScope:"default",name:"./_internal_/mf-bootstrap-document-editor-iframe",externalModuleId:8448,remoteName:"@sdk"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(4043)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js.LICENSE.txt b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js.LICENSE.txt
similarity index 100%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/documentEditorIframe.571a0a52.js.LICENSE.txt
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/documentEditorIframe.f64b9f98.js.LICENSE.txt
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js
similarity index 98%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js
index 33e8a7692e..0e1e5c35e9 100644
--- a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js
+++ b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js
@@ -1,7 +1,7 @@
-/*! For license information please see main.55c45e2c.js.LICENSE.txt */
+/*! For license information please see main.812214cd.js.LICENSE.txt */
(()=>{var __webpack_modules__={5095(e,t,r){r.e("517").then(r.t.bind(r,8476,23))},6619(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8130);t.logAndReport=function(e,t,r,n,a,i){return n(o.getShortErrorMsg(e,t,r,a))}},9810(e,t,r){let o=r(924),n={[o.RUNTIME_001]:"Failed to get remoteEntry exports.",[o.RUNTIME_002]:'The remote entry interface does not contain "init"',[o.RUNTIME_003]:"Failed to get manifest.",[o.RUNTIME_004]:"Failed to locate remote.",[o.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[o.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[o.RUNTIME_007]:"Failed to get remote snapshot.",[o.RUNTIME_008]:"Failed to load script resources.",[o.RUNTIME_009]:"Please call createInstance first.",[o.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[o.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},a={[o.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},i={[o.BUILD_001]:"Failed to find expose module.",[o.BUILD_002]:"PublicPath is required in prod mode."},s={...n,...a,...i};t.buildDescMap=i,t.errorDescMap=s,t.runtimeDescMap=n,t.typeDescMap=a},924(e,t){let r="RUNTIME-001",o="RUNTIME-002",n="RUNTIME-003",a="RUNTIME-004",i="RUNTIME-005",s="RUNTIME-006",l="RUNTIME-007",u="RUNTIME-008",c="RUNTIME-009",d="RUNTIME-010",f="RUNTIME-011",p="TYPE-001",h="BUILD-002";t.BUILD_001="BUILD-001",t.BUILD_002=h,t.RUNTIME_001=r,t.RUNTIME_002=o,t.RUNTIME_003=n,t.RUNTIME_004=a,t.RUNTIME_005=i,t.RUNTIME_006=s,t.RUNTIME_007=l,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=d,t.RUNTIME_011=f,t.TYPE_001=p},8130(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:
- ${n}`),a.join("\n")}},4363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(924),n=r(8130),a=r(9810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},2926(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},5871(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(7829),s=r(8457),l=r(556);r(1132);let u=r(2003),c=r(6227),d=r(2964),f=r(2593),p=r(2299),h=r(317);r(4317);let m=r(4260),g=r(4710),y=r(9152),E=r(7300),_=r(1777),b=r(630),S=r(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,S.getShortErrorMsg)(S.RUNTIME_010,S.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new h.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook("beforeInitContainer"),initContainer:new p.AsyncWaterfallHook("initContainer")}),this.version="2.2.3",this.moduleCache=new Map,this.loaderHook=new h.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new h.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:b.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new _.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},4391(e,t,r){let o=r(8628),n=r(9350),a=r(630),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function p(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function h(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.3")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,_=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},b=e=>_(e,s.__FEDERATION__.moduleInfo),S=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},M=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,N=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=M,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=b,t.getInfoWithoutType=y,t.getPreloaded=N,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=_,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=h,t.setGlobalSnapshotInfoByModuleInfo=S,t.setPreloaded=T},3509(e,t,r){let o=r(4391),n=r(8369),a=r(6079),i=r(556);r(1132);let s=r(9599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},5922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8628),n=r(9350),a=r(4391),i=r(3957),s=r(8369),l=r(6079),u=r(556);r(1132);let c=r(3509),d=r(2003),f=r(5871),p=r(7703),h=r(630),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return h.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return h.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,r){let o=r(8628),n=r(9350),a=r(556),i=r(8393);r(1132);let s=r(630),l=r(4363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
- ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,r){let o=r(9350),n=r(4391),a=r(8369);r(1132);let i=r(9599),s=r(4260),l=r(630);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],p=[],h=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:_}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(_)){let e=_.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==_)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&h.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let b=p.filter(e=>!m.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:b,entryAssets:h.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(8393);r(1132);let s=r(2964),l=r(2299),u=r(317);r(4317);let c=r(630),d=r(4363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&"remotesInfo"in p&&!a.getInfoWithoutType(p.remotesInfo,s.name).value&&("version"in s||"entry"in s)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[s.name]:{matchedVersion:"version"in s?s.version:s.entry}});let{hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new l.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new l.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new l.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},4260(e,t,r){let o=r(8628),n=r(9350);r(1132);let a=r(9599),i=r(630),s=r(4363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},1777(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(8369),s=r(6079),l=r(556),u=r(8393);r(1132);let c=r(9599),d=r(2003),f=r(6227),p=r(2964),h=r(2593),m=r(2299),g=r(317);r(4317);let y=r(9152),E=r(630),_=r(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof p)return p;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(_.RUNTIME_004,_.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),p=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:h,expose:m}=p;o.assert(h&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(h.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(h.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new h.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new h.SyncWaterfallHook("registerRemote"),beforeRequest:new m.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(8393);r(1132);let s=r(2964),l=r(2593),u=r(2299),c=r(317);r(4317);let d=r(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},p=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(p(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];p(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,r){var o=r(1748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},8393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},7829(e,t,r){r(630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle_core:0.0.1"}},2964(e,t,r){let o=r(6227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o0){let t=0,o=e=>!1!==e&&(t0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,r){let o=r(8628),n=r(9350),a=r(6227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},1132(e,t,r){r(8628),r(9350),r(7829),r(6079),r(8457),r(556),r(8393),r(630)},556(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(630),s=r(4363),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function p(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function h(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&"url"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):h({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},8628(e,t,r){let o=r(630),n=r(6619),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8457(e,t,r){let o=r(4391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},9599(e,t,r){let o=r(8628),n=r(6079),a=r(556),i=r(630);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:"preload",as:"style"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:"stylesheet",type:"text/css"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:"preload",as:"script"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,p=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,h=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,m="((?:<|>)?=?)",g=`(\\s*)${m}\\s*(${h}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,_="(?:\\^)",b=`(\\s*)${_}\\s+`,S="(<|>)?=?\\s*\\*",v=`^${_}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,M=`^${m}\\s*${f}$`,N=`^${m}\\s*(${R})$|^$`,T="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=b,t.comparator=N,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=S,t.tilde=I,t.tildeTrim=E,t.xRange=M},3957(e,t,r){let o=r(78),n=r(3810),a=r(632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,p={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},3810(e,t,r){let o=r(9570),n=r(78);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},78(e,t,r){let o=r(9570);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;rt.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(2926),s=r(3957),l=r(630);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let p=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},h=e=>!!e.loaded||"function"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!h(n[e].treeShaking)&&f(e,t):!h(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}let E=e=>h(e)||m(e);function _(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}function b(e){return"loaded-first"===e?_:y}function S(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:p,useTreesShaking:h}=b(c)(e,i,t,f),m=()=>{let n=e[i][t][p];if(l.singleton){if("string"==typeof u&&!s.satisfy(p,u)){let e=`Version ${p} from ${p&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:h}}{if(!1===u||"*"===u||s.satisfy(p,u))return{shared:n,useTreesShaking:h};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!h(t[e])&&f(e,r)};return t[p(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=S,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(8628),n=r(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function p(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function h(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=h,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},3129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(3544);let o=r(9577),n=r(5922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},9782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(3544);let o=r(9577),n=r(5922),a=r(4363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},7688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},586(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",p="ENCODE_NAME_PREFIX",h=".federation",m={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},g=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=m,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=h,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(3417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},6883(e,t,r){let o=r(586),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},7016(e,t,r){let o=r(586),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),p={};Object.keys(l).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>p[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:h,name:m,type:g},types:y={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:E},globalName:_,ssrRemoteEntry:b}=e.metaData,{exposes:S}=e,v={version:c||"",buildVersion:E,globalName:_,remoteEntry:n(h,m),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||"",remoteTypesAPI:y.api||"",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==S?void 0:S.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if("publicPath"in e.metaData?(i={...v,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},b){let e=n(b.path,b.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=b.type||"commonjs-module"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(586),n=r(8841),a=r(8798),i=r(7765),s=r(1993),l=r(7345),u=r(5448),c=r(6883),d=r(3417),f=r(7016),p=r(3910),h=r(6302),m=r(638),g=r(6967),y=r(1483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=h.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=h.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=h.isStaticResourcesEqual,t.loadScript=h.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=h.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},3910(e,t,r){let o=r(6883),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
+ ${n}`),a.join("\n")}},4363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(924),n=r(8130),a=r(9810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},2926(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},5871(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(7829),s=r(8457),l=r(556);r(1132);let u=r(2003),c=r(6227),d=r(2964),f=r(2593),p=r(2299),h=r(317);r(4317);let m=r(4260),g=r(4710),y=r(9152),E=r(7300),_=r(1777),S=r(630),b=r(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,b.getShortErrorMsg)(b.RUNTIME_010,b.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new h.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook("beforeInitContainer"),initContainer:new p.AsyncWaterfallHook("initContainer")}),this.version="2.2.3",this.moduleCache=new Map,this.loaderHook=new h.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new h.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:S.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new _.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},4391(e,t,r){let o=r(8628),n=r(9350),a=r(630),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function p(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function h(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.3")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,_=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},S=e=>_(e,s.__FEDERATION__.moduleInfo),b=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},M=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,N=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=M,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=S,t.getInfoWithoutType=y,t.getPreloaded=N,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=_,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=h,t.setGlobalSnapshotInfoByModuleInfo=b,t.setPreloaded=T},3509(e,t,r){let o=r(4391),n=r(8369),a=r(6079),i=r(556);r(1132);let s=r(9599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},5922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(8628),n=r(9350),a=r(4391),i=r(3957),s=r(8369),l=r(6079),u=r(556);r(1132);let c=r(3509),d=r(2003),f=r(5871),p=r(7703),h=r(630),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return h.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return h.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,r){let o=r(8628),n=r(9350),a=r(556),i=r(8393);r(1132);let s=r(630),l=r(4363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
+ ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,r){let o=r(9350),n=r(4391),a=r(8369);r(1132);let i=r(9599),s=r(4260),l=r(630);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],p=[],h=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:_}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(_)){let e=_.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==_)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&h.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let S=p.filter(e=>!m.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:S,entryAssets:h.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(8393);r(1132);let s=r(2964),l=r(2299),u=r(317);r(4317);let c=r(630),d=r(4363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&"remotesInfo"in p&&!a.getInfoWithoutType(p.remotesInfo,s.name).value&&("version"in s||"entry"in s)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[s.name]:{matchedVersion:"version"in s?s.version:s.entry}});let{hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new l.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new l.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new l.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},4260(e,t,r){let o=r(8628),n=r(9350);r(1132);let a=r(9599),i=r(630),s=r(4363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},1777(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(8369),s=r(6079),l=r(556),u=r(8393);r(1132);let c=r(9599),d=r(2003),f=r(6227),p=r(2964),h=r(2593),m=r(2299),g=r(317);r(4317);let y=r(9152),E=r(630),_=r(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof p)return p;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(_.RUNTIME_004,_.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),p=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:h,expose:m}=p;o.assert(h&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(h.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(h.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new h.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new h.SyncWaterfallHook("registerRemote"),beforeRequest:new m.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(8393);r(1132);let s=r(2964),l=r(2593),u=r(2299),c=r(317);r(4317);let d=r(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},p=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(p(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];p(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,r){var o=r(1748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},8393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},7829(e,t,r){r(630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle_core:0.0.1"}},2964(e,t,r){let o=r(6227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o0){let t=0,o=e=>!1!==e&&(t0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,r){let o=r(8628),n=r(9350),a=r(6227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},1132(e,t,r){r(8628),r(9350),r(7829),r(6079),r(8457),r(556),r(8393),r(630)},556(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(630),s=r(4363),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function p(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function h(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&"url"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):h({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},8628(e,t,r){let o=r(630),n=r(6619),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8457(e,t,r){let o=r(4391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},9599(e,t,r){let o=r(8628),n=r(6079),a=r(556),i=r(630);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:"preload",as:"style"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:"stylesheet",type:"text/css"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:"preload",as:"script"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,p=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,h=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,m="((?:<|>)?=?)",g=`(\\s*)${m}\\s*(${h}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,_="(?:\\^)",S=`(\\s*)${_}\\s+`,b="(<|>)?=?\\s*\\*",v=`^${_}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,M=`^${m}\\s*${f}$`,N=`^${m}\\s*(${R})$|^$`,T="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=S,t.comparator=N,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=b,t.tilde=I,t.tildeTrim=E,t.xRange=M},3957(e,t,r){let o=r(78),n=r(3810),a=r(632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,p={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},3810(e,t,r){let o=r(9570),n=r(78);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},78(e,t,r){let o=r(9570);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;rt.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(2926),s=r(3957),l=r(630);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let p=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},h=e=>!!e.loaded||"function"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!h(n[e].treeShaking)&&f(e,t):!h(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}let E=e=>h(e)||m(e);function _(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}function S(e){return"loaded-first"===e?_:y}function b(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:p,useTreesShaking:h}=S(c)(e,i,t,f),m=()=>{let n=e[i][t][p];if(l.singleton){if("string"==typeof u&&!s.satisfy(p,u)){let e=`Version ${p} from ${p&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:h}}{if(!1===u||"*"===u||s.satisfy(p,u))return{shared:n,useTreesShaking:h};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!h(t[e])&&f(e,r)};return t[p(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=b,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(8628),n=r(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function p(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function h(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=h,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},3129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(3544);let o=r(9577),n=r(5922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},9782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(3544);let o=r(9577),n=r(5922),a=r(4363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},7688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},586(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",p="ENCODE_NAME_PREFIX",h=".federation",m={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},g=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=m,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=h,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(3417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},6883(e,t,r){let o=r(586),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},7016(e,t,r){let o=r(586),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),p={};Object.keys(l).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>p[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:h,name:m,type:g},types:y={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:E},globalName:_,ssrRemoteEntry:S}=e.metaData,{exposes:b}=e,v={version:c||"",buildVersion:E,globalName:_,remoteEntry:n(h,m),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||"",remoteTypesAPI:y.api||"",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==b?void 0:b.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if("publicPath"in e.metaData?(i={...v,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},S){let e=n(S.path,S.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=S.type||"commonjs-module"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(586),n=r(8841),a=r(8798),i=r(7765),s=r(1993),l=r(7345),u=r(5448),c=r(6883),d=r(3417),f=r(7016),p=r(3910),h=r(6302),m=r(638),g=r(6967),y=r(1483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=h.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=h.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=h.isStaticResourcesEqual,t.loadScript=h.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=h.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},3910(e,t,r){let o=r(6883),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
${r.slice(0,5).join("\n")}`}catch{return}}var l=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let r=this.delegate,n=o.isDebugMode()?s():void 0,i=n?[...t,n]:t,l=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of l){let t=r[e];if("function"==typeof t)return void t.call(r,this.prefix,...i)}for(let e of l){let t=a[e];if("function"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),r=0;re).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let o=(e,t)=>r.lifecycle.fetch.emit(e,t),n=await o(e,t||{});return n&&n instanceof Response?n:("u"{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval("require"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,o)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"new Promise((r,o)=>{createScriptNode(e,(e,n)=>{if(e)o(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;r(globalThis[e]=n)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:o}=t,n=await (await r(e)).text(),a=new o.SourceTextModule(n,{importModuleDynamically:async(r,o)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let o=new URL(r,e).href;return await loadModule(o,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},6967(e,t){t.normalizeOptions=function(e,t,r){return function(o){if(!1===o)return!1;if(void 0===o)if(e)return t;else return!1;if(!0===o)return t;if(o&&"object"==typeof o)return{...t,...o};throw Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof o}`)}}},7345(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},8841(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ContainerPlugin_exports",{enumerable:!0,get:function(){return o}})},8798(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return o}})},7765(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return o}})},5448(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},1993(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,"SharePlugin_exports",{enumerable:!0,get:function(){return o}})},3417(e,t,r){let o=r(586),n=r(6883),a="[ Federation Runtime ]",i=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.SEPARATOR,a=e.split(r),i="development"===n.getProcessEnv().NODE_ENV&&t,s="*",l=e=>e.startsWith("http")||e.includes(o.MANIFEST_EXT);if(a.length>=2){let[t,...o]=a;e.startsWith(r)&&(t=a.slice(0,2).join(r),o=[i||a.slice(2).join(r)]);let n=i||o.join(r);return l(n)?{name:t,entry:n}:{name:t,version:n||s}}if(1===a.length){let[e]=a;return i&&l(i)?{name:e,entry:i}:{name:e,version:i||s}}throw`Invalid entry value: ${e}`},s=function(){for(var e=arguments.length,t=Array(e),r=0;rt?e?`${e}${o.SEPARATOR}${t}`:t:e,""):""},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let n=r?".js":"";return`${t}${e.replace(RegExp(`${o.NameTransformSymbol.AT}`,"g"),o.NameTransformMap[o.NameTransformSymbol.AT]).replace(RegExp(`${o.NameTransformSymbol.HYPHEN}`,"g"),o.NameTransformMap[o.NameTransformSymbol.HYPHEN]).replace(RegExp(`${o.NameTransformSymbol.SLASH}`,"g"),o.NameTransformMap[o.NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},u=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,"g"),"")}return n=n.replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.AT]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.AT]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.SLASH]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.SLASH]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.HYPHEN]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(e){throw e}},c=(e,t)=>{if(!e)return"";let r=e;return"."===r&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),l(r,"__federation_expose_",t)},d=(e,t)=>e?l(e,"__federation_shared_",t):"",f=(e,t)=>{if("getPublicPath"in e){let r;return r=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return"publicPath"in e?!n.isBrowserEnv()&&!n.isReactNativeEnv()&&"ssrPublicPath"in e&&"string"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},p=e=>{throw Error(`${a}: ${e}`)},h=e=>{console.warn(`${a}: ${e}`)};function m(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let g=/^([\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||p(t)},t.composeKeyWithSeparator=s,t.decodeName=u,t.encodeName=l,t.error=p,t.generateExposeFilename=c,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=y,t.parseEntry=i,t.safeToString=m,t.warn=h},7363(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},2069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},6897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.FEDERATION_SUPPORTED_TYPES=["script"]},916(e,t,r){let o=r(2069),n=r(5216),a=r(7617);t.consumes=function(e){n.updateConsumeOptions(e);let{chunkId:t,promises:r,installedModules:i,webpackRequire:s,chunkMapping:l,moduleToHandlerMapping:u}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{if(s.o(i,e))return r.push(i[e]);let t=t=>{i[e]=0,s.m[e]=r=>{var o;delete s.c[e];let n=t(),{shareInfo:a}=u[e];if((null==a||null==(o=a.shareConfig)?void 0:o.layer)&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=a.shareConfig.layer)}catch(e){}r.exports=n}},o=t=>{delete i[e],s.m[e]=r=>{throw delete s.c[e],t}};try{let n=s.federation.instance;if(!n)throw Error("Federation instance not found!");let{shareKey:l,getter:c,shareInfo:d,treeShakingGetter:f}=u[e],p=a.getUsedExports(s,l),h={...d};Array.isArray(h.scope)&&Array.isArray(h.scope[0])&&(h.scope=h.scope[0]),p&&(h.treeShaking={usedExports:p,useIn:[n.options.name]});let m=n.loadShare(l,{customShareInfo:h}).then(e=>!1===e?(null==f?void 0:f())||c():e);m.then?r.push(i[e]=m.then(t).catch(o)):t(m)}catch(e){o(e)}})}},8167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:r,version:o,webpackRequire:n,libraryType:a="global"}=e,{runtime:i,instance:s,bundlerRuntime:l,sharedFallback:u}=n.federation;if(!u)return r;let c=u[t];if(!c)return r;let d=o?c.find(e=>e[1]===o):c[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${o}`);return()=>i.getRemoteEntry({origin:n.federation.instance,remoteInfo:{name:d[2],entry:`${n.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:"default"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${o}`);return e.init(n.federation.instance,l).then(()=>e.get())})}},7617(e,t){t.getUsedExports=function(e,t){let r=e.federation.usedExports;if(r)return r[t]}},6927(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let o=r(7363),n=r(2069),a=r(6310),i=r(916),s=r(6777),l=r(1735),u=r(7440),c=r(8531),d=r(8167),f=r(9782),p={runtime:f=o.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:s.initializeSharing,S:{},installInitialConsumes:l.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:n.attachShareScopeMap,bundlerRuntimeOptions:{}},h=p.instance,m=p.initOptions,g=p.bundlerRuntime,y=p.bundlerRuntimeOptions;t.attachShareScopeMap=n.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=p,t.initOptions=m,t.instance=h,Object.defineProperty(t,"runtime",{enumerable:!0,get:function(){return f}})},8531(e,t,r){let o=r(7363),n=r(9782),a=r(3129);a=o.__toESM(a),t.init=function(e){var t;let{webpackRequire:o}=e,{initOptions:i,runtime:s,sharedFallback:l,bundlerRuntime:u,libraryType:c}=o.federation;if(!i)throw Error("initOptions is required!");let d=function(){return{name:"tree-shake-plugin",beforeInit(e){let{userOptions:t,origin:i,options:s}=e,d=t.version||s.version;if(!l)return e;let f=t.shared||{},p=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(p.push([e,t]),"get"in t){var r;(r=t).treeShaking||(r.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:o,libraryType:c,version:t.version})}})});let h=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!h||!("shared"in h))return e;Object.keys(s.shared||{}).forEach(e=>{s.shared[e].forEach(t=>{p.push([e,t])})});let m=(e,t)=>{let o=h.shared.find(t=>t.sharedName===e);if(!o)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:s,secondarySharedTreeShakingEntry:l,treeShakingStatus:u}=o;a.status!==u&&(a.status=u,l&&c&&s&&(a.get=async()=>{let e=await (0,n.getRemoteEntry)({origin:i,remoteInfo:{name:s,entry:l,type:c,entryGlobalName:s,shareScope:"default"}});return await e.init(i,r.federation.bundlerRuntime),e.get()}))};return p.forEach(e=>{let[t,r]=e;m(t,r)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),s.init(i)}},7440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:r,initScope:o,shareScopeKey:n,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let s=null==a?void 0:a.shareScopeKeys,l=null==a?void 0:a.shareScopeMap;if(n&&"string"!=typeof n)n.forEach(e=>{if(!s||!l)return void i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=n||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(n))?t.federation.initOptions.shared?t.I(n,o):Promise.all(n.map(e=>t.I(e,o))).then(()=>!0):t.I(n||"default",o)}},6777(e,t,r){let o=r(2069),n=r(6897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:r,initPromises:a,initTokens:i,initScope:s}=e,l=Array.isArray(t)?t:[t];var u=[],c=function(e){s||(s=[]);let l=r.federation.instance;var u=i[e];if(u||(u=i[e]={from:l.name}),s.indexOf(u)>=0)return;s.push(u);let c=a[e];if(c)return c;var d=e=>"u">typeof console&&console.warn&&console.warn(e),f=o=>{var n=e=>d("Initialization of sharing external failed: "+e);try{var a=r(o);if(!a)return;var i=o=>o&&o.init&&o.init(r.S[e],s,{shareScopeMap:r.S||{},shareScopeKeys:t});if(a.then)return p.push(a.then(i,n));var l=i(a);if(l&&"boolean"!=typeof l&&l.then)return p.push(l.catch(n))}catch(e){n(e)}};let p=l.initializeSharing(e,{strategy:l.options.shareStrategy,initScope:s,from:"build"});o.attachShareScopeMap(r);let h=r.federation.bundlerRuntimeOptions.remotes;return(h&&Object.keys(h.idToRemoteMap).forEach(e=>{let t=h.idToRemoteMap[e],r=h.idToExternalAndNameMapping[e][2];if(t.length>1)f(r);else if(1===t.length){let e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(r)}}),p.length)?a[e]=Promise.all(p).then(()=>a[e]=!0):a[e]=!0};return l.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},1735(e,t,r){let o=r(5216),n=r(7617);function a(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:o,asyncLoad:a}=e,i=o.federation.instance;if(!i)throw Error("Federation instance not found!");let{shareKey:s,shareInfo:l}=r[t];try{let e=n.getUsedExports(o,s),t={...l};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(s,{customShareInfo:t});return i.loadShareSync(s,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}t.installInitialConsumes=function(e){o.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:r,installedModules:n,initialConsumes:i,asyncLoad:s}=e,l=[];i.forEach(e=>{let o=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:r,asyncLoad:s});l.push([e,o])});let u=(e,o)=>{r.m[e]=a=>{var i;n[e]=0,delete r.c[e];let s=o();if("function"!=typeof s)throw Error(`Shared module is not available for eager consumption: ${e}`);let l=s(),{shareInfo:u}=t[e];if((null==u||null==(i=u.shareConfig)?void 0:i.layer)&&l&&"object"==typeof l)try{l.hasOwnProperty("layer")&&void 0!==l.layer||(l.layer=u.shareConfig.layer)}catch(e){}a.exports=l}};if(s)return Promise.all(l.map(async e=>{let[t,r]=e,o=await r();u(t,()=>o)}));l.forEach(e=>{let[t,r]=e;u(t,r)})}},6310(e,t,r){r(7363);let o=r(2069),n=r(6897),a=r(5216),i=r(630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:r,webpackRequire:s,chunkMapping:l,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{let t=s.R;t||(t=[]);let o=u[e],a=c[e]||[];if(t.indexOf(o)>=0)return;if(t.push(o),o.p)return r.push(o.p);let l=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
-while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,p,r):l();var p=(e,r,n)=>d(r.get,o[1],t,0,h,n),h=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,h,1):d(s,o[2],0,0,f,1)})}},5216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=c;if(f&&p){for(let[e,t]of Object.entries(p))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},4043(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,p,h,m=r(6927),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={"@sdk":[{alias:"@sdk",externalType:"promise",shareScope:"default"}]},_="pimcore_studio_ui_bundle_core",b="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},S=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},M=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},N={},T=[],O={},A=null==(p=r.initializeExposesData)?void 0:p.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(M))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,"initOptions",()=>({})),m(r.federation.initOptions,"name",()=>_),m(r.federation.initOptions,"shareStrategy",()=>b),m(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),m(r.federation,"bundlerRuntimeOptions",()=>({})),m(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),m(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(h=r.consumesLoadingData)?void 0:h.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:N,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}},8448(e){"use strict";e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl,r=document.createElement("script");r.src=t,r.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},document.head.appendChild(r)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(5095),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return 889==e},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var n=Object.create(null);__webpack_require__.r(n);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&r;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,__webpack_require__.d(n,a),n}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".javascript"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle_core:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/0c54e122-004b-447b-9ce6-b96b089f89b8/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[8448]},uniqueName:"pimcore_studio_ui_bundle_core"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={889:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(889==t){var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}else e[t]=0};var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);s&&s(__webpack_require__)}for(t&&t(r);l{__webpack_require__.remotesLoadingData={chunkMapping:{517:["8476"]},moduleIdToRemoteDataMapping:{8476:{shareScope:"default",name:"./_internal_/mf-bootstrap",externalModuleId:8448,remoteName:"@sdk"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(4043)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
+while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,p,r):l();var p=(e,r,n)=>d(r.get,o[1],t,0,h,n),h=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,h,1):d(s,o[2],0,0,f,1)})}},5216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=c;if(f&&p){for(let[e,t]of Object.entries(p))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},4043(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,p,h,m=r(6927),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={"@sdk":[{alias:"@sdk",externalType:"promise",shareScope:"default"}]},_="pimcore_studio_ui_bundle_core",S="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},b=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},M=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},N={},T=[],O={},A=null==(p=r.initializeExposesData)?void 0:p.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(M))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,"initOptions",()=>({})),m(r.federation.initOptions,"name",()=>_),m(r.federation.initOptions,"shareStrategy",()=>S),m(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),m(r.federation,"bundlerRuntimeOptions",()=>({})),m(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>b),m(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:b,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(h=r.consumesLoadingData)?void 0:h.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:N,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}},8448(e){"use strict";e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl,r=document.createElement("script");r.src=t,r.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},document.head.appendChild(r)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(5095),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return 889==e},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var n=Object.create(null);__webpack_require__.r(n);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&r;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,__webpack_require__.d(n,a),n}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".javascript"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle_core:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[8448]},uniqueName:"pimcore_studio_ui_bundle_core"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={889:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(889==t){var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}else e[t]=0};var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);s&&s(__webpack_require__)}for(t&&t(r);l{__webpack_require__.remotesLoadingData={chunkMapping:{517:["8476"]},moduleIdToRemoteDataMapping:{8476:{shareScope:"default",name:"./_internal_/mf-bootstrap",externalModuleId:8448,remoteName:"@sdk"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(4043)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
diff --git a/public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js.LICENSE.txt b/public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js.LICENSE.txt
similarity index 100%
rename from public/build/0c54e122-004b-447b-9ce6-b96b089f89b8/static/js/main.55c45e2c.js.LICENSE.txt
rename to public/build/4e0c2b77-cf33-40ee-8d04-29307f134f61/static/js/main.812214cd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/entrypoints.json b/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/entrypoints.json
deleted file mode 100644
index 9c5a78b218..0000000000
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/entrypoints.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "entrypoints": {
- "index": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js"
- ],
- "css": []
- },
- "pimcore_studio_ui_bundle": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js"
- ],
- "css": []
- },
- "exposeRemote": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/exposeRemote.js"
- ],
- "css": []
- }
- }
-}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/manifest.json b/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/manifest.json
deleted file mode 100644
index 7d13fdbf2e..0000000000
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/manifest.json
+++ /dev/null
@@ -1,811 +0,0 @@
-{
- "allFiles": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/6411.6325817d.css",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-stats.json",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-manifest.json",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Light.bec6f0ae.ttf",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Regular.4291f48c.ttf",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/svg/spritesheet.ac8b36fa.svg",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/index.html"
- ],
- "entries": {
- "index": {
- "html": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/index.html"
- ],
- "initial": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js"
- ]
- },
- "async": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js"
- ]
- }
- },
- "pimcore_studio_ui_bundle": {
- "assets": [
- "static/font/Lato-Light.bec6f0ae.ttf",
- "static/font/Lato-Bold.2c00c297.ttf",
- "static/font/Lato-Regular.4291f48c.ttf",
- "static/svg/spritesheet.ac8b36fa.svg"
- ],
- "initial": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js"
- ]
- },
- "async": {
- "js": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js"
- ],
- "css": [
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/6411.6325817d.css",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css",
- "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
- ]
- }
- }
- },
- "integrity": {}
-}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js b/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js
deleted file mode 100644
index 337fd61d80..0000000000
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/*! For license information please see __federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["9615"],{96232(e,t,i){i.a(e,async function(n,r){try{i.r(t),i(5970);var a=i(80323),o=i(27755),s=i(82189);e=i.hmd(e),void 0!==e.hot&&e.hot.accept(),window.Pimcore=(await i.e("4530").then(i.bind(i,21849))).Pimcore,window.PimcoreDocumentEditor=(await i.e("2103").then(i.bind(i,18346))).PimcoreDocumentEditor,window.addEventListener("load",async()=>{await a.f.loadPlugins(),a.f.initPlugins(),a.f.startupPlugins(),o.s.initModules(),(0,s.T)()}),r()}catch(e){r(e)}},1)},82189(e,t,i){i.d(t,{T:()=>_});var n=i(74848),r=i(47867),a=i(5338),o=i(55638),s=i(35864),d=i(63364),l=i(10600),u=i(57180),c=i(15789),f=i(25765),m=i.n(f),p=i(11774);let h=e=>{let{editableDefinitions:t}=e,i=(0,r.useRef)({});return t.forEach(e=>{(0,s.isUndefined)(i.current[e.id])&&(i.current[e.id]=(0,r.createRef)())}),(0,n.jsx)(n.Fragment,{children:t.map(e=>{let t=document.getElementById(e.id);return(0,s.isNull)(t)?null:(!(0,s.isNull)(i.current[e.id])&&(0,s.isNull)(i.current[e.id].current)&&(i.current[e.id].current=t),m().createPortal((0,n.jsx)(p.t,{containerRef:i.current[e.id],editableDefinition:e},e.id),t))})})},g=e=>{let{editableDefinitions:t}=e,i=(0,d.Lt)(l.K["DynamicTypes/DocumentEditableRegistry"]),a=(0,r.useRef)(!1),[o,f]=(0,r.useState)(!1),{initializeData:m,notifyReady:p,initializeInheritanceState:g}=(0,u.U)(),{id:y}=(0,r.useContext)(c.T);return((0,r.useEffect)(()=>{if(!a.current){let e,n;m((e={},t.forEach(t=>{let n=i.hasDynamicType(t.type)?i.getDynamicType(t.type):void 0;e[t.name]={type:t.type,data:(0,s.isUndefined)(n)?t.data??null:n.transformValue(t.data,t)}}),e)),g((n={},t.forEach(e=>{n[e.name]=e.inherited}),n)),a.current=!0,f(!0)}},[t,m,g]),(0,r.useEffect)(()=>{if(a.current){p();try{i.notifyDocumentReady(y,t)}catch(e){console.warn("Could not process document ready events:",e)}}},[p,t,y,i]),o)?(0,n.jsx)(h,{editableDefinitions:t}):(0,n.jsx)(n.Fragment,{})};var y=i(64471),w=i(75240),x=i(86569),b=i(37327),v=i(13947),E=i(60142),R=i.n(E),j=i(21429),D=i(46096),S=i(11207),I=i(25085);let N=(e,t)=>{if((0,I.isNonEmptyString)(e)&&e!==t)return e},k=async()=>{try{let{i18n:e}=(0,D.qH)(),t=e.getTranslationResources(),i=e.getCurrentLanguage(),n=e.getFallbackLanguage(),r={};Object.keys(t).forEach(e=>{r[e]={translation:{...t[e]??{}}}}),await R().use(j.initReactI18next).init({lng:i,fallbackLng:n,ns:["translation"],defaultNS:"translation",keySeparator:!1,resources:r,saveMissing:!0,postProcess:["returnKeyIfEmpty"],interpolation:{escapeValue:!1}}),R().use(S.K),R().on("missingKey",(t,r,a,o)=>{if((0,I.isNonEmptyString)(a))try{let t=e.getTranslationResources(),o=((e,t,i,n)=>{var r,a;let o=N(null==(r=e[i])?void 0:r[t],t);if(void 0!==o)return o;let s=N(null==(a=e[n])?void 0:a[t],t);if(void 0!==s)return s})(t,a,i,n);void 0!==o?(R().addResource(i,r,a,o),i!==n&&R().addResource(n,r,a,o),console.warn("[iframe-i18n] missingKey but translation exists in parent catalog",{key:a,currentLanguage:i,fallbackLanguage:n,translatedValue:o})):e.reportMissingTranslation(a)}catch(e){console.warn(`Could not report missing translation key '${a}' to parent window:`,e)}})}catch(e){console.warn("Could not initialize iframe i18n from parent window, falling back to basic setup:",e),await R().use(j.initReactI18next).init({lng:"en",fallbackLng:"en",keySeparator:!1,ns:["translation"],resources:{},saveMissing:!1})}};var P=i(5481),q=i(44241);let L=(0,q.createGlobalStyle)`
- /* Required field styling for document editables - Default behavior: style direct children of wrapper */
- [data-required-active="true"]:not(:has(.studio-required-field-target)) .studio-required-field-wrapper > * {
- outline: 2px dashed ${e=>e.theme.colorError} !important;
- outline-offset: 5px !important;
- }
-
- /* Required field styling for document editables - Custom target behavior: style specific target element */
- [data-required-active="true"] .studio-required-field-target {
- outline: 2px dashed ${e=>e.theme.colorError} !important;
- outline-offset: 5px !important;
- }
-
- .ant-dropdown-menu,
- .ant-dropdown-menu-sub {
- overflow: auto;
- max-height: 48vh;
- }
-
- .ant-dropdown-menu-submenu-popup {
- box-shadow: ${e=>e.theme.boxShadowSecondary};
- }
-`,T=()=>{let e=window.editableDefinitions??[],{isInitialized:t}=(()=>{let[e,t]=(0,r.useState)(!1),[i,n]=(0,r.useState)(null);return(0,r.useEffect)(()=>{(async()=>{try{await k(),t(!0)}catch(i){let e=i instanceof Error?i:Error("Failed to initialize iframe i18n");console.error("Failed to initialize iframe i18n:",e),n(e),t(!0)}})()},[]),{isInitialized:e,error:i}})(),i=new URLSearchParams(window.location.search).get("documentId"),a=(0,s.isNil)(i)?void 0:parseInt(i,10);return t?(0,s.isNil)(a)||!(0,s.isNumber)(a)||(0,s.isNaN)(a)||a<=0?(0,n.jsx)(w.F,{description:"A valid documentId parameter is required in the URL.",message:"Error: Invalid Document ID",showIcon:!0,type:"error"}):(0,n.jsx)(r.StrictMode,{children:(0,n.jsx)(v.A,{children:(0,n.jsx)(y.D,{children:(0,n.jsxs)(x.App,{children:[(0,n.jsx)(L,{}),(0,n.jsx)(P.Y,{children:(0,n.jsx)(b.M,{children:(0,n.jsx)(c.f,{id:a,children:(0,n.jsx)(g,{editableDefinitions:e})})})})]})})})}):(0,n.jsx)("div",{style:{padding:"20px",textAlign:"center"},children:"Loading translations..."})};function _(){let e=document.getElementById("pimcore-studio-app");null===e?(0,o.Ay)(new o.$g("Root element not found")):(0,a.createRoot)(e).render((0,n.jsx)(T,{}))}}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js b/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js
deleted file mode 100644
index df0447a7ef..0000000000
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see __federation_expose_modules__asset.51999de9.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["9800"],{74718(t,e,n){n.d(e,{w:()=>i});var o=n(82763),r=n(55638),s=n(60142),c=n(35864);class i{async run(t){let{messageBus:e}=t,n=await this.executeAction();if(!(0,c.isNull)(n)){let o=this.createHandler(n,t);e.registerHandler(o)}}async executeAction(){try{return await this.options.action()}catch(t){return console.error(t),(0,r.Ay)(new r.$g((0,s.t)("jobs.job.download-error"))),null}}createHandler(t,e){let{title:n,downloadUrl:r}=this.options;return new o.j({jobRunId:t,title:n,onRetry:async()=>{await this.run(e)},onCustomizeButtons:e=>{e.addSuccessButton({label:(0,s.t)("jobs.job.button-download"),handler:()=>{let e=document.createElement("a");e.href=r.replace("{jobRunId}",t.toString()),e.download="",e.click()}})}})}constructor(t){this.options=t}}}}]);
\ No newline at end of file
diff --git a/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/entrypoints.json b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/entrypoints.json
new file mode 100644
index 0000000000..6227bf6e6f
--- /dev/null
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/entrypoints.json
@@ -0,0 +1,23 @@
+{
+ "entrypoints": {
+ "index": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js"
+ ],
+ "css": []
+ },
+ "pimcore_studio_ui_bundle": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js"
+ ],
+ "css": []
+ },
+ "exposeRemote": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/exposeRemote.js"
+ ],
+ "css": []
+ }
+ }
+}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/exposeRemote.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/exposeRemote.js
similarity index 53%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/exposeRemote.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/exposeRemote.js
index 759c027793..b5a2e451d1 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/exposeRemote.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/exposeRemote.js
@@ -1,3 +1,3 @@
- window.StudioUIBundleRemoteUrl = '/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js'
+ window.StudioUIBundleRemoteUrl = '/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js'
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/index.html b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/index.html
similarity index 56%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/index.html
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/index.html
index d73cee608e..4ce0ab3156 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/index.html
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/index.html
@@ -1 +1 @@
-Rsbuild App
\ No newline at end of file
+Rsbuild App
\ No newline at end of file
diff --git a/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/manifest.json b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/manifest.json
new file mode 100644
index 0000000000..a1ed7f7437
--- /dev/null
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/manifest.json
@@ -0,0 +1,811 @@
+{
+ "allFiles": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/6411.97bc9302.css",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-stats.json",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-manifest.json",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Light.bec6f0ae.ttf",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Regular.4291f48c.ttf",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/svg/spritesheet.ac8b36fa.svg",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/index.html"
+ ],
+ "entries": {
+ "index": {
+ "html": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/index.html"
+ ],
+ "initial": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js"
+ ]
+ },
+ "async": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js"
+ ]
+ }
+ },
+ "pimcore_studio_ui_bundle": {
+ "assets": [
+ "static/font/Lato-Light.bec6f0ae.ttf",
+ "static/font/Lato-Bold.2c00c297.ttf",
+ "static/font/Lato-Regular.4291f48c.ttf",
+ "static/svg/spritesheet.ac8b36fa.svg"
+ ],
+ "initial": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js"
+ ]
+ },
+ "async": {
+ "js": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js"
+ ],
+ "css": [
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/6411.97bc9302.css",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css",
+ "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
+ ]
+ }
+ }
+ },
+ "integrity": {}
+}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-manifest.json b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-manifest.json
similarity index 97%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-manifest.json
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-manifest.json
index 2e13539b1d..94f1219ef2 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-manifest.json
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-manifest.json
@@ -22,7 +22,7 @@
"globalName": "pimcore_studio_ui_bundle",
"pluginVersion": "2.2.3",
"prefetchInterface": false,
- "publicPath": "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/"
+ "publicPath": "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/"
},
"shared": [
{
@@ -789,7 +789,7 @@
"css": {
"async": [],
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
]
}
},
@@ -831,18 +831,18 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js"
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -1108,8 +1108,8 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
],
"async": []
}
@@ -1132,17 +1132,17 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js"
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -1415,28 +1415,28 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
},
@@ -1473,21 +1473,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -1769,29 +1769,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
},
@@ -1813,23 +1813,23 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_api__asset.9dee10b3.js",
"static/js/async/__federation_expose_api__class_definition.6192771c.js",
"static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
- "static/js/async/__federation_expose_api__data_object.160792b1.js",
+ "static/js/async/__federation_expose_api__data_object.23ff06e0.js",
"static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
"static/js/async/__federation_expose_api__documents.8a5c66b8.js",
"static/js/async/__federation_expose_api__elements.5babca9f.js",
@@ -1847,7 +1847,7 @@
"static/js/async/__federation_expose_api__workflow.ad14d72f.js",
"static/js/async/__federation_expose_api__reports.50fc5ca0.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
@@ -1872,21 +1872,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -2159,14 +2159,14 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
]
}
},
@@ -2181,7 +2181,7 @@
"static/js/async/4693.552164ec.js",
"static/js/async/385.d9b4f6a1.js",
"static/js/async/__federation_expose_api.fbe2c7c1.js",
- "static/js/async/175.bd0ef661.js",
+ "static/js/async/175.780b640e.js",
"static/js/async/__federation_expose_api__asset.9dee10b3.js"
],
"async": []
@@ -2243,7 +2243,7 @@
"static/js/async/4693.552164ec.js",
"static/js/async/385.d9b4f6a1.js",
"static/js/async/__federation_expose_api.fbe2c7c1.js",
- "static/js/async/__federation_expose_api__data_object.160792b1.js"
+ "static/js/async/__federation_expose_api__data_object.23ff06e0.js"
],
"async": []
},
@@ -2604,8 +2604,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js"
],
@@ -2872,7 +2872,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -2894,11 +2894,11 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js"
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -3163,7 +3163,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -3207,19 +3207,19 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__document.5167229e.js"
],
"async": [
@@ -3493,29 +3493,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
},
@@ -3536,8 +3536,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/1693.48c272d7.js",
@@ -3806,7 +3806,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -3844,19 +3844,19 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js"
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -4129,29 +4129,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
},
@@ -4172,8 +4172,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js"
],
"async": [
@@ -4439,7 +4439,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -4479,9 +4479,9 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js"
],
"async": [
@@ -4748,7 +4748,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -4770,8 +4770,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__rule_builder.f77a657a.js"
],
"async": [
@@ -5037,7 +5037,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5079,8 +5079,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__user.1df0f8e6.js"
],
"async": [
@@ -5346,7 +5346,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5368,8 +5368,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js"
],
"async": [
@@ -5635,7 +5635,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5687,8 +5687,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__notifications.212009d9.js"
],
"async": [
@@ -5954,7 +5954,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5976,8 +5976,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__perspectives.ea16786c.js"
],
"async": [
@@ -6243,7 +6243,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6283,8 +6283,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js"
],
"async": [
@@ -6550,7 +6550,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6577,21 +6577,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -6606,9 +6606,9 @@
"css": {
"sync": [],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
]
}
},
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-stats.json b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-stats.json
similarity index 97%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-stats.json
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-stats.json
index 93c39556fe..9c05ba0e3f 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/mf-stats.json
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/mf-stats.json
@@ -22,7 +22,7 @@
"globalName": "pimcore_studio_ui_bundle",
"pluginVersion": "2.2.3",
"prefetchInterface": false,
- "publicPath": "/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/"
+ "publicPath": "/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/"
},
"shared": [
{
@@ -1004,7 +1004,7 @@
"css": {
"async": [],
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
]
}
},
@@ -1053,18 +1053,18 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js"
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -1330,8 +1330,8 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
],
"async": []
}
@@ -1356,17 +1356,17 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js"
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -1639,28 +1639,28 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
}
@@ -1710,21 +1710,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -2006,29 +2006,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
}
@@ -2052,23 +2052,23 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_api__asset.9dee10b3.js",
"static/js/async/__federation_expose_api__class_definition.6192771c.js",
"static/js/async/__federation_expose_api__custom_metadata.10d73b97.js",
- "static/js/async/__federation_expose_api__data_object.160792b1.js",
+ "static/js/async/__federation_expose_api__data_object.23ff06e0.js",
"static/js/async/__federation_expose_api__dependencies.a9508cf9.js",
"static/js/async/__federation_expose_api__documents.8a5c66b8.js",
"static/js/async/__federation_expose_api__elements.5babca9f.js",
@@ -2086,7 +2086,7 @@
"static/js/async/__federation_expose_api__workflow.ad14d72f.js",
"static/js/async/__federation_expose_api__reports.50fc5ca0.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__class_definitions.009acac4.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
@@ -2111,21 +2111,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -2398,14 +2398,14 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
]
}
}
@@ -2422,7 +2422,7 @@
"static/js/async/4693.552164ec.js",
"static/js/async/385.d9b4f6a1.js",
"static/js/async/__federation_expose_api.fbe2c7c1.js",
- "static/js/async/175.bd0ef661.js",
+ "static/js/async/175.780b640e.js",
"static/js/async/__federation_expose_api__asset.9dee10b3.js"
],
"async": []
@@ -2490,7 +2490,7 @@
"static/js/async/4693.552164ec.js",
"static/js/async/385.d9b4f6a1.js",
"static/js/async/__federation_expose_api.fbe2c7c1.js",
- "static/js/async/__federation_expose_api__data_object.160792b1.js"
+ "static/js/async/__federation_expose_api__data_object.23ff06e0.js"
],
"async": []
},
@@ -2887,8 +2887,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js"
],
@@ -3155,7 +3155,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -3179,11 +3179,11 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js"
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -3448,7 +3448,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -3498,19 +3498,19 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__document.5167229e.js"
],
"async": [
@@ -3784,29 +3784,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
}
@@ -3832,8 +3832,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/1693.48c272d7.js",
@@ -4102,7 +4102,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -4148,19 +4148,19 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js"
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js"
],
"async": [
"static/js/async/9765.07ec2c12.js",
@@ -4433,29 +4433,29 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
+ "static/js/async/2104.fed84d91.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
"static/js/async/2103.0449b778.js"
]
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css"
]
}
}
@@ -4478,8 +4478,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js"
],
"async": [
@@ -4745,7 +4745,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -4789,9 +4789,9 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js"
],
"async": [
@@ -5058,7 +5058,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5092,8 +5092,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__rule_builder.f77a657a.js"
],
"async": [
@@ -5359,7 +5359,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5405,8 +5405,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__user.1df0f8e6.js"
],
"async": [
@@ -5672,7 +5672,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -5696,8 +5696,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js"
],
"async": [
@@ -5963,7 +5963,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6023,8 +6023,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__notifications.212009d9.js"
],
"async": [
@@ -6290,7 +6290,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6314,8 +6314,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__perspectives.ea16786c.js"
],
"async": [
@@ -6581,7 +6581,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6625,8 +6625,8 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js"
],
"async": [
@@ -6892,7 +6892,7 @@
},
"css": {
"sync": [
- "static/css/async/6411.6325817d.css"
+ "static/css/async/6411.97bc9302.css"
],
"async": []
}
@@ -6924,21 +6924,21 @@
"static/js/async/2188.72e65c95.js",
"static/js/async/3902.5873a27f.js",
"static/js/async/7442.636a9ffa.js",
- "static/js/async/175.bd0ef661.js",
- "static/js/async/__federation_expose_app.9a31719b.js",
+ "static/js/async/175.780b640e.js",
+ "static/js/async/__federation_expose_app.f6074673.js",
"static/js/async/9454.03f9cbf9.js",
"static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js",
"static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js",
- "static/js/async/4596.13ba10c0.js",
+ "static/js/async/4596.0f590c31.js",
"static/js/async/1693.48c272d7.js",
"static/js/async/2843.e1d9c7bc.js",
"static/js/async/2545.dcb1e512.js",
- "static/js/async/616.2ffecb95.js",
+ "static/js/async/2104.fed84d91.js",
"static/js/async/4530.72904f19.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js",
- "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js",
+ "static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js",
"static/js/async/__federation_expose_modules__application_logger.fc080c19.js",
- "static/js/async/__federation_expose_modules__asset.51999de9.js",
+ "static/js/async/__federation_expose_modules__asset.8cd128af.js",
"static/js/async/__federation_expose_modules__document.5167229e.js",
"static/js/async/__federation_expose_modules__auth.65d96793.js",
"static/js/async/__federation_expose_modules__reports.f35bbd3d.js",
@@ -6953,9 +6953,9 @@
"css": {
"sync": [],
"async": [
- "static/css/async/6411.6325817d.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css",
- "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css"
+ "static/css/async/6411.97bc9302.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css",
+ "static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css"
]
}
}
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/6411.6325817d.css b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/6411.97bc9302.css
similarity index 98%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/6411.6325817d.css
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/6411.97bc9302.css
index 735a2482cc..d3cab63e03 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/6411.6325817d.css
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/6411.97bc9302.css
@@ -11,4 +11,4 @@
* * /
*
*/
-.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107,M12=.707107,M21=-.707107,M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/svg/spritesheet.ac8b36fa.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/svg/spritesheet.ac8b36fa.svg)}.leaflet-draw a{text-align:center;text-decoration:none;display:block}.leaflet-draw a .sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.leaflet-draw-actions{white-space:nowrap;margin:0;padding:0;list-style:none;display:none;position:absolute;top:0;left:26px}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{left:auto;right:26px}.leaflet-touch .leaflet-right .leaflet-draw-actions{left:auto;right:32px}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{color:#fff;background-color:#919187;border-left:1px solid #aaa;height:28px;padding-left:10px;padding-right:10px;font:11px/28px Helvetica Neue,Arial,Helvetica,sans-serif;text-decoration:none}.leaflet-touch .leaflet-draw-actions a{height:30px;font-size:12px;line-height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{cursor:crosshair;background-color:#fff}.leaflet-draw-tooltip{color:#fff;visibility:hidden;white-space:nowrap;z-index:6;background:#00000080;border:1px solid #0000;border-radius:4px;margin-top:-21px;margin-left:20px;padding:4px 8px;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;position:absolute}.leaflet-draw-tooltip:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:6px solid #00000080;position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{color:#b94a48;background-color:#f2dede;border:1px solid #e6b6bd}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{opacity:.6;width:5px;height:5px;font-size:1%;position:absolute}.leaflet-edit-marker-selected{box-sizing:content-box;background-color:#fe57a11a;border:4px dashed #fe57a199;border-radius:4px}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
\ No newline at end of file
+.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107,M12=.707107,M21=-.707107,M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/svg/spritesheet.ac8b36fa.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/svg/spritesheet.ac8b36fa.svg)}.leaflet-draw a{text-align:center;text-decoration:none;display:block}.leaflet-draw a .sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.leaflet-draw-actions{white-space:nowrap;margin:0;padding:0;list-style:none;display:none;position:absolute;top:0;left:26px}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{left:auto;right:26px}.leaflet-touch .leaflet-right .leaflet-draw-actions{left:auto;right:32px}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{color:#fff;background-color:#919187;border-left:1px solid #aaa;height:28px;padding-left:10px;padding-right:10px;font:11px/28px Helvetica Neue,Arial,Helvetica,sans-serif;text-decoration:none}.leaflet-touch .leaflet-draw-actions a{height:30px;font-size:12px;line-height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{cursor:crosshair;background-color:#fff}.leaflet-draw-tooltip{color:#fff;visibility:hidden;white-space:nowrap;z-index:6;background:#00000080;border:1px solid #0000;border-radius:4px;margin-top:-21px;margin-left:20px;padding:4px 8px;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;position:absolute}.leaflet-draw-tooltip:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:6px solid #00000080;position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{color:#b94a48;background-color:#f2dede;border:1px solid #e6b6bd}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{opacity:.6;width:5px;height:5px;font-size:1%;position:absolute}.leaflet-edit-marker-selected{box-sizing:content-box;background-color:#fe57a11a;border:4px dashed #fe57a199;border-radius:4px}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css
similarity index 96%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css
index 73c01d0353..02ff2fb9f9 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap.d6fddc56.css
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap.37f87737.css
@@ -11,4 +11,4 @@
* * /
*
*/
-.flexlayout__layout{--color-text:black;--color-background:white;--color-base:white;--color-1:#f7f7f7;--color-2:#f0f0f0;--color-3:#e9e9e9;--color-4:#e2e2e2;--color-5:#dbdbdb;--color-6:#d4d4d4;--color-drag1:#5f86c4;--color-drag2:#77a677;--color-drag1-background:#5f86c41a;--color-drag2-background:#77a67713;--font-size:medium;--font-family:Roboto,Arial,sans-serif;--color-overflow:gray;--color-icon:gray;--color-tabset-background:var(--color-background);--color-tabset-background-selected:var(--color-1);--color-tabset-background-maximized:var(--color-6);--color-tabset-divider-line:var(--color-4);--color-tabset-header-background:var(--color-background);--color-tabset-header:var(--color-text);--color-border-background:var(--color-background);--color-border-divider-line:var(--color-4);--color-tab-selected:var(--color-text);--color-tab-selected-background:var(--color-4);--color-tab-unselected:gray;--color-tab-unselected-background:transparent;--color-tab-textbox:var(--color-text);--color-tab-textbox-background:var(--color-3);--color-border-tab-selected:var(--color-text);--color-border-tab-selected-background:var(--color-4);--color-border-tab-unselected:gray;--color-border-tab-unselected-background:var(--color-2);--color-splitter:var(--color-1);--color-splitter-hover:var(--color-4);--color-splitter-drag:var(--color-4);--color-drag-rect-border:var(--color-6);--color-drag-rect-background:var(--color-4);--color-drag-rect:var(--color-text);--color-popup-border:var(--color-6);--color-popup-unselected:var(--color-text);--color-popup-unselected-background:white;--color-popup-selected:var(--color-text);--color-popup-selected-background:var(--color-3);--color-edge-marker:#aaa;--color-edge-icon:#555;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover:hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color .1s ease-in 50ms}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:#0000}.flexlayout__outline_rect{pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);z-index:1000;border-radius:5px;position:absolute}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);z-index:1000;box-sizing:border-box;border-radius:5px}.flexlayout__edge_rect{z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.flexlayout__drag_rect{cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family);border-radius:5px;flex-direction:column;justify-content:center;padding:.3em 1em;display:flex;position:absolute;overflow:hidden}.flexlayout__tabset{background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);flex-direction:column;display:flex;overflow:hidden}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{flex-grow:1;justify-content:center;align-items:center;display:flex}.flexlayout__tabset_header{box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background);align-items:center;padding:3px 3px 3px 5px;display:flex}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);display:flex;overflow:hidden}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{box-sizing:border-box;width:10000px;padding-left:4px;padding-right:4px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid #0000}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid #0000}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{white-space:nowrap;box-sizing:border-box;align-items:center;gap:.3em;display:inline-flex}.flexlayout__tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;overflow:auto}.flexlayout__tab_button{box-sizing:border-box;cursor:pointer;align-items:center;gap:.3em;padding:3px .5em;display:flex}.flexlayout__tab_button_stretch{color:var(--color-tab-selected);text-wrap:nowrap;box-sizing:border-box;cursor:pointer;background-color:#0000;align-items:center;gap:.3em;width:100%;padding:3px 0;display:flex}@media (hover:hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover:hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:none;border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__tab_toolbar{align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em;display:flex}.flexlayout__tab_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;margin:0;padding:1px}@media (hover:hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{align-items:center;gap:.3em;padding-left:5px;display:flex}.flexlayout__tab_floating{box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);justify-content:center;align-items:center;display:flex;position:absolute;overflow:auto}.flexlayout__tab_floating_inner{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:auto}.flexlayout__tab_floating_inner div{text-align:center;margin-bottom:5px}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background);display:flex;overflow:hidden}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__border_inner_tab_container{white-space:nowrap;box-sizing:border-box;width:10000px;padding-left:2px;padding-right:2px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__border_inner_tab_container_right{transform-origin:0 0;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{transform-origin:100% 0;flex-direction:row-reverse;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{cursor:pointer;box-sizing:border-box;white-space:nowrap;align-items:center;gap:.3em;margin:2px 0;padding:3px .5em;display:flex}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover:hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{align-items:center;gap:.3em;display:flex}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;padding:1px}@media (hover:hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{white-space:nowrap;cursor:pointer;border-radius:2px;padding:2px .5em}@media (hover:hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);z-index:1000;border-radius:3px;min-width:100px;max-height:50%;padding:2px;position:absolute;overflow:auto;box-shadow:inset 0 0 5px #00000026}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__floating_window_tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.flexlayout__error_boundary_container{justify-content:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__error_boundary_content{align-items:center;display:flex}.flexlayout__tabset_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:5px;padding-bottom:3px}.flexlayout__tabset_header_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:3px;padding-bottom:3px}.flexlayout__border_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:6px;padding-bottom:5px}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Regular.4291f48c.ttf)}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Light.bec6f0ae.ttf);font-weight:300}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf);font-weight:600}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf);font-weight:700}
\ No newline at end of file
+.flexlayout__layout{--color-text:black;--color-background:white;--color-base:white;--color-1:#f7f7f7;--color-2:#f0f0f0;--color-3:#e9e9e9;--color-4:#e2e2e2;--color-5:#dbdbdb;--color-6:#d4d4d4;--color-drag1:#5f86c4;--color-drag2:#77a677;--color-drag1-background:#5f86c41a;--color-drag2-background:#77a67713;--font-size:medium;--font-family:Roboto,Arial,sans-serif;--color-overflow:gray;--color-icon:gray;--color-tabset-background:var(--color-background);--color-tabset-background-selected:var(--color-1);--color-tabset-background-maximized:var(--color-6);--color-tabset-divider-line:var(--color-4);--color-tabset-header-background:var(--color-background);--color-tabset-header:var(--color-text);--color-border-background:var(--color-background);--color-border-divider-line:var(--color-4);--color-tab-selected:var(--color-text);--color-tab-selected-background:var(--color-4);--color-tab-unselected:gray;--color-tab-unselected-background:transparent;--color-tab-textbox:var(--color-text);--color-tab-textbox-background:var(--color-3);--color-border-tab-selected:var(--color-text);--color-border-tab-selected-background:var(--color-4);--color-border-tab-unselected:gray;--color-border-tab-unselected-background:var(--color-2);--color-splitter:var(--color-1);--color-splitter-hover:var(--color-4);--color-splitter-drag:var(--color-4);--color-drag-rect-border:var(--color-6);--color-drag-rect-background:var(--color-4);--color-drag-rect:var(--color-text);--color-popup-border:var(--color-6);--color-popup-unselected:var(--color-text);--color-popup-unselected-background:white;--color-popup-selected:var(--color-text);--color-popup-selected-background:var(--color-3);--color-edge-marker:#aaa;--color-edge-icon:#555;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover:hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color .1s ease-in 50ms}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:#0000}.flexlayout__outline_rect{pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);z-index:1000;border-radius:5px;position:absolute}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);z-index:1000;box-sizing:border-box;border-radius:5px}.flexlayout__edge_rect{z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.flexlayout__drag_rect{cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family);border-radius:5px;flex-direction:column;justify-content:center;padding:.3em 1em;display:flex;position:absolute;overflow:hidden}.flexlayout__tabset{background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);flex-direction:column;display:flex;overflow:hidden}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{flex-grow:1;justify-content:center;align-items:center;display:flex}.flexlayout__tabset_header{box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background);align-items:center;padding:3px 3px 3px 5px;display:flex}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);display:flex;overflow:hidden}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{box-sizing:border-box;width:10000px;padding-left:4px;padding-right:4px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid #0000}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid #0000}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{white-space:nowrap;box-sizing:border-box;align-items:center;gap:.3em;display:inline-flex}.flexlayout__tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;overflow:auto}.flexlayout__tab_button{box-sizing:border-box;cursor:pointer;align-items:center;gap:.3em;padding:3px .5em;display:flex}.flexlayout__tab_button_stretch{color:var(--color-tab-selected);text-wrap:nowrap;box-sizing:border-box;cursor:pointer;background-color:#0000;align-items:center;gap:.3em;width:100%;padding:3px 0;display:flex}@media (hover:hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover:hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:none;border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__tab_toolbar{align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em;display:flex}.flexlayout__tab_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;margin:0;padding:1px}@media (hover:hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{align-items:center;gap:.3em;padding-left:5px;display:flex}.flexlayout__tab_floating{box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);justify-content:center;align-items:center;display:flex;position:absolute;overflow:auto}.flexlayout__tab_floating_inner{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:auto}.flexlayout__tab_floating_inner div{text-align:center;margin-bottom:5px}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background);display:flex;overflow:hidden}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__border_inner_tab_container{white-space:nowrap;box-sizing:border-box;width:10000px;padding-left:2px;padding-right:2px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__border_inner_tab_container_right{transform-origin:0 0;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{transform-origin:100% 0;flex-direction:row-reverse;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{cursor:pointer;box-sizing:border-box;white-space:nowrap;align-items:center;gap:.3em;margin:2px 0;padding:3px .5em;display:flex}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover:hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{align-items:center;gap:.3em;display:flex}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;padding:1px}@media (hover:hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{white-space:nowrap;cursor:pointer;border-radius:2px;padding:2px .5em}@media (hover:hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);z-index:1000;border-radius:3px;min-width:100px;max-height:50%;padding:2px;position:absolute;overflow:auto;box-shadow:inset 0 0 5px #00000026}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__floating_window_tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.flexlayout__error_boundary_container{justify-content:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__error_boundary_content{align-items:center;display:flex}.flexlayout__tabset_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:5px;padding-bottom:3px}.flexlayout__tabset_header_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:3px;padding-bottom:3px}.flexlayout__border_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:6px;padding-bottom:5px}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Regular.4291f48c.ttf)}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Light.bec6f0ae.ttf);font-weight:300}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf);font-weight:600}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf);font-weight:700}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css
similarity index 96%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css
index 73c01d0353..02ff2fb9f9 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d6fddc56.css
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/css/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.37f87737.css
@@ -11,4 +11,4 @@
* * /
*
*/
-.flexlayout__layout{--color-text:black;--color-background:white;--color-base:white;--color-1:#f7f7f7;--color-2:#f0f0f0;--color-3:#e9e9e9;--color-4:#e2e2e2;--color-5:#dbdbdb;--color-6:#d4d4d4;--color-drag1:#5f86c4;--color-drag2:#77a677;--color-drag1-background:#5f86c41a;--color-drag2-background:#77a67713;--font-size:medium;--font-family:Roboto,Arial,sans-serif;--color-overflow:gray;--color-icon:gray;--color-tabset-background:var(--color-background);--color-tabset-background-selected:var(--color-1);--color-tabset-background-maximized:var(--color-6);--color-tabset-divider-line:var(--color-4);--color-tabset-header-background:var(--color-background);--color-tabset-header:var(--color-text);--color-border-background:var(--color-background);--color-border-divider-line:var(--color-4);--color-tab-selected:var(--color-text);--color-tab-selected-background:var(--color-4);--color-tab-unselected:gray;--color-tab-unselected-background:transparent;--color-tab-textbox:var(--color-text);--color-tab-textbox-background:var(--color-3);--color-border-tab-selected:var(--color-text);--color-border-tab-selected-background:var(--color-4);--color-border-tab-unselected:gray;--color-border-tab-unselected-background:var(--color-2);--color-splitter:var(--color-1);--color-splitter-hover:var(--color-4);--color-splitter-drag:var(--color-4);--color-drag-rect-border:var(--color-6);--color-drag-rect-background:var(--color-4);--color-drag-rect:var(--color-text);--color-popup-border:var(--color-6);--color-popup-unselected:var(--color-text);--color-popup-unselected-background:white;--color-popup-selected:var(--color-text);--color-popup-selected-background:var(--color-3);--color-edge-marker:#aaa;--color-edge-icon:#555;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover:hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color .1s ease-in 50ms}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:#0000}.flexlayout__outline_rect{pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);z-index:1000;border-radius:5px;position:absolute}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);z-index:1000;box-sizing:border-box;border-radius:5px}.flexlayout__edge_rect{z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.flexlayout__drag_rect{cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family);border-radius:5px;flex-direction:column;justify-content:center;padding:.3em 1em;display:flex;position:absolute;overflow:hidden}.flexlayout__tabset{background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);flex-direction:column;display:flex;overflow:hidden}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{flex-grow:1;justify-content:center;align-items:center;display:flex}.flexlayout__tabset_header{box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background);align-items:center;padding:3px 3px 3px 5px;display:flex}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);display:flex;overflow:hidden}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{box-sizing:border-box;width:10000px;padding-left:4px;padding-right:4px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid #0000}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid #0000}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{white-space:nowrap;box-sizing:border-box;align-items:center;gap:.3em;display:inline-flex}.flexlayout__tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;overflow:auto}.flexlayout__tab_button{box-sizing:border-box;cursor:pointer;align-items:center;gap:.3em;padding:3px .5em;display:flex}.flexlayout__tab_button_stretch{color:var(--color-tab-selected);text-wrap:nowrap;box-sizing:border-box;cursor:pointer;background-color:#0000;align-items:center;gap:.3em;width:100%;padding:3px 0;display:flex}@media (hover:hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover:hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:none;border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__tab_toolbar{align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em;display:flex}.flexlayout__tab_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;margin:0;padding:1px}@media (hover:hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{align-items:center;gap:.3em;padding-left:5px;display:flex}.flexlayout__tab_floating{box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);justify-content:center;align-items:center;display:flex;position:absolute;overflow:auto}.flexlayout__tab_floating_inner{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:auto}.flexlayout__tab_floating_inner div{text-align:center;margin-bottom:5px}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background);display:flex;overflow:hidden}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__border_inner_tab_container{white-space:nowrap;box-sizing:border-box;width:10000px;padding-left:2px;padding-right:2px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__border_inner_tab_container_right{transform-origin:0 0;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{transform-origin:100% 0;flex-direction:row-reverse;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{cursor:pointer;box-sizing:border-box;white-space:nowrap;align-items:center;gap:.3em;margin:2px 0;padding:3px .5em;display:flex}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover:hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{align-items:center;gap:.3em;display:flex}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;padding:1px}@media (hover:hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{white-space:nowrap;cursor:pointer;border-radius:2px;padding:2px .5em}@media (hover:hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);z-index:1000;border-radius:3px;min-width:100px;max-height:50%;padding:2px;position:absolute;overflow:auto;box-shadow:inset 0 0 5px #00000026}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__floating_window_tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.flexlayout__error_boundary_container{justify-content:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__error_boundary_content{align-items:center;display:flex}.flexlayout__tabset_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:5px;padding-bottom:3px}.flexlayout__tabset_header_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:3px;padding-bottom:3px}.flexlayout__border_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:6px;padding-bottom:5px}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Regular.4291f48c.ttf)}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Light.bec6f0ae.ttf);font-weight:300}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf);font-weight:600}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf);font-weight:700}
\ No newline at end of file
+.flexlayout__layout{--color-text:black;--color-background:white;--color-base:white;--color-1:#f7f7f7;--color-2:#f0f0f0;--color-3:#e9e9e9;--color-4:#e2e2e2;--color-5:#dbdbdb;--color-6:#d4d4d4;--color-drag1:#5f86c4;--color-drag2:#77a677;--color-drag1-background:#5f86c41a;--color-drag2-background:#77a67713;--font-size:medium;--font-family:Roboto,Arial,sans-serif;--color-overflow:gray;--color-icon:gray;--color-tabset-background:var(--color-background);--color-tabset-background-selected:var(--color-1);--color-tabset-background-maximized:var(--color-6);--color-tabset-divider-line:var(--color-4);--color-tabset-header-background:var(--color-background);--color-tabset-header:var(--color-text);--color-border-background:var(--color-background);--color-border-divider-line:var(--color-4);--color-tab-selected:var(--color-text);--color-tab-selected-background:var(--color-4);--color-tab-unselected:gray;--color-tab-unselected-background:transparent;--color-tab-textbox:var(--color-text);--color-tab-textbox-background:var(--color-3);--color-border-tab-selected:var(--color-text);--color-border-tab-selected-background:var(--color-4);--color-border-tab-unselected:gray;--color-border-tab-unselected-background:var(--color-2);--color-splitter:var(--color-1);--color-splitter-hover:var(--color-4);--color-splitter-drag:var(--color-4);--color-drag-rect-border:var(--color-6);--color-drag-rect-background:var(--color-4);--color-drag-rect:var(--color-text);--color-popup-border:var(--color-6);--color-popup-unselected:var(--color-text);--color-popup-unselected-background:white;--color-popup-selected:var(--color-text);--color-popup-selected-background:var(--color-3);--color-edge-marker:#aaa;--color-edge-icon:#555;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover:hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color .1s ease-in 50ms}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:#0000}.flexlayout__outline_rect{pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);z-index:1000;border-radius:5px;position:absolute}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);z-index:1000;box-sizing:border-box;border-radius:5px}.flexlayout__edge_rect{z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.flexlayout__drag_rect{cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family);border-radius:5px;flex-direction:column;justify-content:center;padding:.3em 1em;display:flex;position:absolute;overflow:hidden}.flexlayout__tabset{background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);flex-direction:column;display:flex;overflow:hidden}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{flex-grow:1;justify-content:center;align-items:center;display:flex}.flexlayout__tabset_header{box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background);align-items:center;padding:3px 3px 3px 5px;display:flex}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);display:flex;overflow:hidden}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{box-sizing:border-box;width:10000px;padding-left:4px;padding-right:4px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid #0000}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid #0000}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{white-space:nowrap;box-sizing:border-box;align-items:center;gap:.3em;display:inline-flex}.flexlayout__tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;overflow:auto}.flexlayout__tab_button{box-sizing:border-box;cursor:pointer;align-items:center;gap:.3em;padding:3px .5em;display:flex}.flexlayout__tab_button_stretch{color:var(--color-tab-selected);text-wrap:nowrap;box-sizing:border-box;cursor:pointer;background-color:#0000;align-items:center;gap:.3em;width:100%;padding:3px 0;display:flex}@media (hover:hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover:hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:none;border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__tab_toolbar{align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em;display:flex}.flexlayout__tab_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;margin:0;padding:1px}@media (hover:hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{align-items:center;gap:.3em;padding-left:5px;display:flex}.flexlayout__tab_floating{box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);justify-content:center;align-items:center;display:flex;position:absolute;overflow:auto}.flexlayout__tab_floating_inner{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:auto}.flexlayout__tab_floating_inner div{text-align:center;margin-bottom:5px}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background);display:flex;overflow:hidden}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);flex-direction:column;align-content:center}.flexlayout__border_inner{box-sizing:border-box;flex-grow:1;display:flex;position:relative;overflow:hidden}.flexlayout__border_inner_tab_container{white-space:nowrap;box-sizing:border-box;width:10000px;padding-left:2px;padding-right:2px;display:flex;position:absolute;top:0;bottom:0}.flexlayout__border_inner_tab_container_right{transform-origin:0 0;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{transform-origin:100% 0;flex-direction:row-reverse;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{cursor:pointer;box-sizing:border-box;white-space:nowrap;align-items:center;gap:.3em;margin:2px 0;padding:3px .5em;display:flex}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover:hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{visibility:hidden;border-radius:4px;display:flex}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover:hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{align-items:center;gap:.3em;display:flex}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{font-size:inherit;background-color:#0000;border:none;border-radius:4px;outline:none;padding:1px}@media (hover:hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{color:var(--color-overflow);font-size:inherit;background-color:#0000;border:none;align-items:center;display:flex}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{white-space:nowrap;cursor:pointer;border-radius:2px;padding:2px .5em}@media (hover:hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);z-index:1000;border-radius:3px;min-width:100px;max-height:50%;padding:2px;position:absolute;overflow:auto;box-shadow:inset 0 0 5px #00000026}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__floating_window_tab{box-sizing:border-box;background-color:var(--color-background);color:var(--color-text);position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.flexlayout__error_boundary_container{justify-content:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flexlayout__error_boundary_content{align-items:center;display:flex}.flexlayout__tabset_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:5px;padding-bottom:3px}.flexlayout__tabset_header_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:3px;padding-bottom:3px}.flexlayout__border_sizer{font-size:var(--font-size);font-family:var(--font-family);padding-top:6px;padding-bottom:5px}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Regular.4291f48c.ttf)}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Light.bec6f0ae.ttf);font-weight:300}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf);font-weight:600}@font-face{font-family:Lato;src:url(/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf);font-weight:700}
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Bold.2c00c297.ttf
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Bold.2c00c297.ttf
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Light.bec6f0ae.ttf b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Light.bec6f0ae.ttf
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Light.bec6f0ae.ttf
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Light.bec6f0ae.ttf
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Regular.4291f48c.ttf b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Regular.4291f48c.ttf
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/font/Lato-Regular.4291f48c.ttf
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/font/Lato-Regular.4291f48c.ttf
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/7366.cc04fcb0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/7366.cc04fcb0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1003.469c1fdb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1003.469c1fdb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/101.1b8f34f4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/101.1b8f34f4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1010.af98507b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1010.af98507b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1019.2c88f074.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1019.2c88f074.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/103.3717b318.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/103.3717b318.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1065.5cc838a2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1065.5cc838a2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1102.01cefe38.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1102.01cefe38.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1153.7cbdaf39.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1153.7cbdaf39.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1180.c2738508.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1180.c2738508.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1207.ea0577c0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1207.ea0577c0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1265.d95e4129.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1265.d95e4129.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1270.4a7146b0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1270.4a7146b0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/129.24017dc3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/129.24017dc3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1303.f89c138e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1303.f89c138e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/141.a305e3e9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/141.a305e3e9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1428.b3183de2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1428.b3183de2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1438.67cdf5fd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1438.67cdf5fd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/145.7d13ff5f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/145.7d13ff5f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1472.e37f95af.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1472.e37f95af.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1553.630acce1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1553.630acce1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1567.debd0837.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1567.debd0837.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/157.8615578d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/157.8615578d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1612.54f63d68.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1612.54f63d68.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1635.18d9dd0b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1635.18d9dd0b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1643.b41a359d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1643.b41a359d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1668.120c2fdd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1668.120c2fdd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1688.4626095c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1688.4626095c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1693.48c272d7.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1693.48c272d7.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1708.de5f09b0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1708.de5f09b0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/172.cb77a99e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/172.cb77a99e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1721.fdc19114.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1721.fdc19114.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1742.9207983d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1742.9207983d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js
similarity index 72%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js
index 0d8fb02971..8b38e9fc24 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js
@@ -1,2 +1,2 @@
-/*! For license information please see 175.bd0ef661.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["175"],{73362(e,s,t){t.r(s),t.d(s,{api:()=>i,useAssetBatchDeleteMutation:()=>m,useAssetCloneMutation:()=>p,useAssetCustomMetadataGetByIdQuery:()=>y,useAssetCustomSettingsGetByIdQuery:()=>c,useAssetDeleteGridConfigurationByConfigurationIdMutation:()=>G,useAssetExportZipAssetMutation:()=>A,useAssetExportZipFolderMutation:()=>I,useAssetGetAvailableGridColumnsQuery:()=>E,useAssetGetByIdQuery:()=>o,useAssetGetGridConfigurationByFolderIdQuery:()=>f,useAssetGetGridQuery:()=>T,useAssetGetSavedGridConfigurationsQuery:()=>h,useAssetGetTextDataByIdQuery:()=>l,useAssetGetTreeQuery:()=>r,useAssetPatchByIdMutation:()=>g,useAssetPatchFolderByIdMutation:()=>D,useAssetReplaceMutation:()=>n,useAssetSaveGridConfigurationMutation:()=>q,useAssetSetGridConfigurationAsFavoriteMutation:()=>v,useAssetUpdateByIdMutation:()=>u,useAssetUpdateGridConfigurationMutation:()=>S,useAssetUploadInfoQuery:()=>b,useLazyAssetGetTreeQuery:()=>d});var a=t(53996);let i=t(62843).FH.enhanceEndpoints({addTagTypes:[a.nP.ASSET,a.nP.ASSET_TREE,a.nP.ASSET_DETAIL],endpoints:{assetClone:{invalidatesTags:(e,s,t)=>a.qN.ASSET_TREE_ID(t.parentId)},assetCustomMetadataGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetCustomSettingsGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetTextDataById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetTree:{providesTags:(e,s,t)=>{let i=[];return void 0!==e&&(i=null==e?void 0:e.items.flatMap(e=>a.yc.ASSET_DETAIL_ID(e.id))),i=[...i,...a.yc.ASSET_TREE(),...void 0!==t.parentId?a.yc.ASSET_TREE_ID(t.parentId):[]]}},assetUpdateById:{invalidatesTags:(e,s,t)=>a.qN.ASSET_DETAIL_ID(t.id)},assetAdd:{invalidatesTags:(e,s,t)=>a.qN.ASSET_TREE_ID(t.parentId)},assetPatchById:{invalidatesTags:(e,s,t)=>{let i=[];for(let e of t.body.data)i.push(...a.qN.ASSET_DETAIL_ID(e.id));return i}},assetGetGridConfigurationByFolderId:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_CONFIGURATION_DETAIL(t.configurationId)},assetGetGrid:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_ID(t.body.folderId)},assetSaveGridConfiguration:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_LIST()},assetSetGridConfigurationAsFavorite:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_LIST()},assetUpdateGridConfiguration:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_DETAIL(t.configurationId)},assetDeleteGridConfigurationByConfigurationId:{invalidatesTags:(e,s,t)=>[...a.qN.ASSET_GRID_CONFIGURATION_DETAIL(),...a.qN.ASSET_GRID_CONFIGURATION_LIST()]},assetGetSavedGridConfigurations:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_CONFIGURATION_LIST()}}}),{useAssetGetByIdQuery:o,useAssetGetTreeQuery:r,useLazyAssetGetTreeQuery:d,useAssetUpdateByIdMutation:u,useAssetCloneMutation:p,useAssetReplaceMutation:n,useAssetBatchDeleteMutation:m,useAssetCustomMetadataGetByIdQuery:y,useAssetCustomSettingsGetByIdQuery:c,useAssetGetTextDataByIdQuery:l,useAssetGetGridQuery:T,useAssetPatchByIdMutation:g,useAssetExportZipAssetMutation:A,useAssetExportZipFolderMutation:I,useAssetGetSavedGridConfigurationsQuery:h,useAssetSaveGridConfigurationMutation:q,useAssetSetGridConfigurationAsFavoriteMutation:v,useAssetUpdateGridConfigurationMutation:S,useAssetDeleteGridConfigurationByConfigurationIdMutation:G,useAssetGetGridConfigurationByFolderIdQuery:f,useAssetGetAvailableGridColumnsQuery:E,useAssetPatchFolderByIdMutation:D,useAssetUploadInfoQuery:b}=i},62843(e,s,t){t.d(s,{FH:()=>a,OR:()=>r,Yn:()=>U,ny:()=>i});let a=t(53073).api.enhanceEndpoints({addTagTypes:["Assets","Asset Grid","Metadata"]}).injectEndpoints({endpoints:e=>({assetGetTypes:e.query({query:()=>({url:"/pimcore-studio/api/assets/types"}),providesTags:["Assets"]}),assetBatchDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/batch-delete",method:"DELETE",body:e.body}),invalidatesTags:["Assets"]}),assetClone:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/clone/${e.parentId}`,method:"POST"}),invalidatesTags:["Assets"]}),assetCustomSettingsGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-settings`}),providesTags:["Assets"]}),assetGetTextDataById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/text`}),providesTags:["Assets"]}),assetDocumentDownloadCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/download/custom`,params:{mimeType:e.mimeType,page:e.page,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi}}),providesTags:["Assets"]}),assetDocumentStreamCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/custom`,params:{mimeType:e.mimeType,page:e.page,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetDocumentStreamDynamic:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/dynamic`,params:{config:e.config}}),providesTags:["Assets"]}),assetDocumentStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/pdf-preview`}),providesTags:["Assets"]}),assetDocumentDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/download/thumbnail/${e.thumbnailName}`,params:{page:e.page}}),providesTags:["Assets"]}),assetDocumentStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/thumbnail/${e.thumbnailName}`,params:{page:e.page,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetDownloadZip:e.query({query:e=>({url:`/pimcore-studio/api/assets/download/zip/${e.jobRunId}`}),providesTags:["Assets"]}),assetDeleteZip:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/download/zip/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Assets"]}),assetDownloadById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/download`}),providesTags:["Assets"]}),assetExportZipAsset:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/export/zip/asset",method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetExportZipFolder:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/export/zip/folder",method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}`}),providesTags:["Assets"]}),assetUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Assets"]}),assetDeleteGridConfigurationByConfigurationId:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/${e.configurationId}/delete`,method:"DELETE"}),invalidatesTags:["Asset Grid"]}),assetGetAvailableGridColumns:e.query({query:()=>({url:"/pimcore-studio/api/assets/grid/available-columns"}),providesTags:["Asset Grid"]}),assetGetGridConfigurationByFolderId:e.query({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/${e.folderId}`,params:{configurationId:e.configurationId}}),providesTags:["Asset Grid"]}),assetGetSavedGridConfigurations:e.query({query:()=>({url:"/pimcore-studio/api/assets/grid/configurations"}),providesTags:["Asset Grid"]}),assetRemoveGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/remove-favorite/${e.configurationId}/${e.folderId}`,method:"DELETE"}),invalidatesTags:["Asset Grid"]}),assetSaveGridConfiguration:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/grid/configuration/save",method:"POST",body:e.body}),invalidatesTags:["Asset Grid"]}),assetSetGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/set-as-favorite/${e.configurationId}/${e.folderId}`,method:"POST"}),invalidatesTags:["Asset Grid"]}),assetUpdateGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/update/${e.configurationId}`,method:"PUT",body:e.body}),invalidatesTags:["Asset Grid"]}),assetGetGrid:e.query({query:e=>({url:"/pimcore-studio/api/assets/grid",method:"POST",body:e.body}),providesTags:["Asset Grid"]}),assetImageDownloadCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/custom`,params:{mimeType:e.mimeType,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi}}),providesTags:["Assets"]}),assetImageStreamCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/custom`,params:{mimeType:e.mimeType,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi,contain:e.contain,frame:e.frame,cover:e.cover,forceResize:e.forceResize,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetImageStreamDynamic:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/dynamic`,params:{config:e.config}}),providesTags:["Assets"]}),assetImageDownloadByFormat:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/format/${e.format}`}),providesTags:["Assets"]}),assetImageStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/preview`}),providesTags:["Assets"]}),assetImageStream:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream`}),providesTags:["Assets"]}),assetImageDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/thumbnail/${e.thumbnailName}`}),providesTags:["Assets"]}),assetImageStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/thumbnail/${e.thumbnailName}`,params:{cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft,mimeType:e.mimeType}}),providesTags:["Assets"]}),assetPatchById:e.mutation({query:e=>({url:"/pimcore-studio/api/assets",method:"PATCH",body:e.body}),invalidatesTags:["Assets"]}),assetPatchFolderById:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/folder",method:"PATCH",body:e.body}),invalidatesTags:["Assets"]}),assetClearThumbnail:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/thumbnail/clear`,method:"DELETE"}),invalidatesTags:["Assets"]}),assetGetTree:e.query({query:e=>({url:"/pimcore-studio/api/assets/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants}}),providesTags:["Assets"]}),assetAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/add/${e.parentId}`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetUploadInfo:e.query({query:e=>({url:`/pimcore-studio/api/assets/exists/${e.parentId}`,params:{fileName:e.fileName}}),providesTags:["Assets"]}),assetReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/replace`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetUploadZip:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/add-zip/${e.parentId}`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetVideoImageThumbnailStream:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/stream/image-thumbnail`,params:{width:e.width,height:e.height,aspectRatio:e.aspectRatio,frame:e.frame,async:e.async}}),providesTags:["Assets"]}),assetVideoDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/download/${e.thumbnailName}`}),providesTags:["Assets"]}),assetVideoStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/stream/${e.thumbnailName}`}),providesTags:["Assets"]}),assetGetVideoTypes:e.query({query:()=>({url:"/pimcore-studio/api/assets/video/types"}),providesTags:["Assets"]}),assetCustomMetadataGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-metadata`}),providesTags:["Metadata"]})}),overrideExisting:!1}),{useAssetGetTypesQuery:i,useAssetBatchDeleteMutation:o,useAssetCloneMutation:r,useAssetCustomSettingsGetByIdQuery:d,useAssetGetTextDataByIdQuery:u,useAssetDocumentDownloadCustomQuery:p,useAssetDocumentStreamCustomQuery:n,useAssetDocumentStreamDynamicQuery:m,useAssetDocumentStreamPreviewQuery:y,useAssetDocumentDownloadByThumbnailQuery:c,useAssetDocumentStreamByThumbnailQuery:l,useAssetDownloadZipQuery:T,useAssetDeleteZipMutation:g,useAssetDownloadByIdQuery:A,useAssetExportZipAssetMutation:I,useAssetExportZipFolderMutation:h,useAssetGetByIdQuery:q,useAssetUpdateByIdMutation:v,useAssetDeleteGridConfigurationByConfigurationIdMutation:S,useAssetGetAvailableGridColumnsQuery:G,useAssetGetGridConfigurationByFolderIdQuery:f,useAssetGetSavedGridConfigurationsQuery:E,useAssetRemoveGridConfigurationAsFavoriteMutation:D,useAssetSaveGridConfigurationMutation:b,useAssetSetGridConfigurationAsFavoriteMutation:_,useAssetUpdateGridConfigurationMutation:C,useAssetGetGridQuery:$,useAssetImageDownloadCustomQuery:B,useAssetImageStreamCustomQuery:P,useAssetImageStreamDynamicQuery:w,useAssetImageDownloadByFormatQuery:N,useAssetImageStreamPreviewQuery:R,useAssetImageStreamQuery:L,useAssetImageDownloadByThumbnailQuery:M,useAssetImageStreamByThumbnailQuery:O,useAssetPatchByIdMutation:F,useAssetPatchFolderByIdMutation:z,useAssetClearThumbnailMutation:U,useAssetGetTreeQuery:x,useAssetAddMutation:Q,useAssetUploadInfoQuery:H,useAssetReplaceMutation:W,useAssetUploadZipMutation:Z,useAssetVideoImageThumbnailStreamQuery:V,useAssetVideoDownloadByThumbnailQuery:j,useAssetVideoStreamByThumbnailQuery:k,useAssetGetVideoTypesQuery:Y,useAssetCustomMetadataGetByIdQuery:J}=a}}]);
\ No newline at end of file
+/*! For license information please see 175.780b640e.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["175"],{73362(e,s,t){t.r(s),t.d(s,{api:()=>i,useAssetBatchDeleteMutation:()=>m,useAssetCloneMutation:()=>p,useAssetCustomMetadataGetByIdQuery:()=>y,useAssetCustomSettingsGetByIdQuery:()=>c,useAssetDeleteGridConfigurationByConfigurationIdMutation:()=>G,useAssetExportZipAssetMutation:()=>A,useAssetExportZipFolderMutation:()=>I,useAssetGetAvailableGridColumnsQuery:()=>E,useAssetGetByIdQuery:()=>o,useAssetGetGridConfigurationByFolderIdQuery:()=>f,useAssetGetGridQuery:()=>T,useAssetGetSavedGridConfigurationsQuery:()=>h,useAssetGetTextDataByIdQuery:()=>l,useAssetGetTreeQuery:()=>r,useAssetPatchByIdMutation:()=>g,useAssetPatchFolderByIdMutation:()=>D,useAssetReplaceMutation:()=>n,useAssetSaveGridConfigurationMutation:()=>q,useAssetSetGridConfigurationAsFavoriteMutation:()=>v,useAssetUpdateByIdMutation:()=>u,useAssetUpdateGridConfigurationMutation:()=>S,useAssetUploadInfoQuery:()=>b,useLazyAssetGetTreeQuery:()=>d});var a=t(53996);let i=t(62843).FH.enhanceEndpoints({addTagTypes:[a.nP.ASSET,a.nP.ASSET_TREE,a.nP.ASSET_DETAIL],endpoints:{assetClone:{invalidatesTags:(e,s,t)=>a.qN.ASSET_TREE_ID(t.parentId)},assetCustomMetadataGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetCustomSettingsGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetTextDataById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetById:{providesTags:(e,s,t)=>a.yc.ASSET_DETAIL_ID(t.id)},assetGetTree:{providesTags:(e,s,t)=>{let i=[];return void 0!==e&&(i=null==e?void 0:e.items.flatMap(e=>a.yc.ASSET_DETAIL_ID(e.id))),i=[...i,...a.yc.ASSET_TREE(),...void 0!==t.parentId?a.yc.ASSET_TREE_ID(t.parentId):[]]}},assetUpdateById:{invalidatesTags:(e,s,t)=>a.qN.ASSET_DETAIL_ID(t.id)},assetAdd:{invalidatesTags:(e,s,t)=>a.qN.ASSET_TREE_ID(t.parentId)},assetPatchById:{invalidatesTags:(e,s,t)=>{let i=[];for(let e of t.body.data)i.push(...a.qN.ASSET_DETAIL_ID(e.id));return i}},assetGetGridConfigurationByFolderId:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_CONFIGURATION_DETAIL(t.configurationId)},assetGetGrid:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_ID(t.body.folderId)},assetSaveGridConfiguration:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_LIST()},assetSetGridConfigurationAsFavorite:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_LIST()},assetUpdateGridConfiguration:{invalidatesTags:(e,s,t)=>a.qN.ASSET_GRID_CONFIGURATION_DETAIL(t.configurationId)},assetDeleteGridConfigurationByConfigurationId:{invalidatesTags:(e,s,t)=>[...a.qN.ASSET_GRID_CONFIGURATION_DETAIL(),...a.qN.ASSET_GRID_CONFIGURATION_LIST()]},assetGetSavedGridConfigurations:{providesTags:(e,s,t)=>a.yc.ASSET_GRID_CONFIGURATION_LIST()}}}),{useAssetGetByIdQuery:o,useAssetGetTreeQuery:r,useLazyAssetGetTreeQuery:d,useAssetUpdateByIdMutation:u,useAssetCloneMutation:p,useAssetReplaceMutation:n,useAssetBatchDeleteMutation:m,useAssetCustomMetadataGetByIdQuery:y,useAssetCustomSettingsGetByIdQuery:c,useAssetGetTextDataByIdQuery:l,useAssetGetGridQuery:T,useAssetPatchByIdMutation:g,useAssetExportZipAssetMutation:A,useAssetExportZipFolderMutation:I,useAssetGetSavedGridConfigurationsQuery:h,useAssetSaveGridConfigurationMutation:q,useAssetSetGridConfigurationAsFavoriteMutation:v,useAssetUpdateGridConfigurationMutation:S,useAssetDeleteGridConfigurationByConfigurationIdMutation:G,useAssetGetGridConfigurationByFolderIdQuery:f,useAssetGetAvailableGridColumnsQuery:E,useAssetPatchFolderByIdMutation:D,useAssetUploadInfoQuery:b}=i},62843(e,s,t){t.d(s,{FH:()=>a,OR:()=>r,Yn:()=>U,ny:()=>i});let a=t(53073).api.enhanceEndpoints({addTagTypes:["Assets","Asset Grid","Metadata"]}).injectEndpoints({endpoints:e=>({assetGetTypes:e.query({query:()=>({url:"/pimcore-studio/api/assets/types"}),providesTags:["Assets"]}),assetBatchDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/batch-delete",method:"DELETE",body:e.body}),invalidatesTags:["Assets"]}),assetClone:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/clone/${e.parentId}`,method:"POST"}),invalidatesTags:["Assets"]}),assetCustomSettingsGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-settings`}),providesTags:["Assets"]}),assetGetTextDataById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/text`}),providesTags:["Assets"]}),assetDocumentDownloadCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/download/custom`,params:{mimeType:e.mimeType,page:e.page,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi}}),providesTags:["Assets"]}),assetDocumentStreamCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/custom`,params:{mimeType:e.mimeType,page:e.page,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetDocumentStreamDynamic:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/dynamic`,params:{config:e.config}}),providesTags:["Assets"]}),assetDocumentStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/pdf-preview`}),providesTags:["Assets"]}),assetDocumentDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/download/thumbnail/${e.thumbnailName}`,params:{page:e.page}}),providesTags:["Assets"]}),assetDocumentStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/document/stream/thumbnail/${e.thumbnailName}`,params:{page:e.page,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetDownloadZip:e.query({query:e=>({url:`/pimcore-studio/api/assets/download/zip/${e.jobRunId}`}),providesTags:["Assets"]}),assetDeleteZip:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/download/zip/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Assets"]}),assetDownloadById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/download`}),providesTags:["Assets"]}),assetExportZipAsset:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/export/zip/asset",method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetExportZipFolder:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/export/zip/folder",method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}`}),providesTags:["Assets"]}),assetUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Assets"]}),assetDeleteGridConfigurationByConfigurationId:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/${e.configurationId}/delete`,method:"DELETE"}),invalidatesTags:["Asset Grid"]}),assetGetAvailableGridColumns:e.query({query:()=>({url:"/pimcore-studio/api/assets/grid/available-columns"}),providesTags:["Asset Grid"]}),assetGetGridConfigurationByFolderId:e.query({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/${e.folderId}`,params:{configurationId:e.configurationId}}),providesTags:["Asset Grid"]}),assetGetSavedGridConfigurations:e.query({query:()=>({url:"/pimcore-studio/api/assets/grid/configurations"}),providesTags:["Asset Grid"]}),assetRemoveGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/remove-favorite/${e.configurationId}/${e.folderId}`,method:"DELETE"}),invalidatesTags:["Asset Grid"]}),assetSaveGridConfiguration:e.mutation({query:e=>({url:"/pimcore-studio/api/assets/grid/configuration/save",method:"POST",body:e.body}),invalidatesTags:["Asset Grid"]}),assetSetGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/set-as-favorite/${e.configurationId}/${e.folderId}`,method:"POST"}),invalidatesTags:["Asset Grid"]}),assetUpdateGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/grid/configuration/update/${e.configurationId}`,method:"PUT",body:e.body}),invalidatesTags:["Asset Grid"]}),assetGetGrid:e.query({query:e=>({url:"/pimcore-studio/api/assets/grid",method:"POST",body:e.body}),providesTags:["Asset Grid"]}),assetImageDownloadCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/custom`,params:{mimeType:e.mimeType,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi}}),providesTags:["Assets"]}),assetImageStreamCustom:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/custom`,params:{mimeType:e.mimeType,resizeMode:e.resizeMode,width:e.width,height:e.height,quality:e.quality,dpi:e.dpi,contain:e.contain,frame:e.frame,cover:e.cover,forceResize:e.forceResize,cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft}}),providesTags:["Assets"]}),assetImageStreamDynamic:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/dynamic`,params:{config:e.config}}),providesTags:["Assets"]}),assetImageDownloadByFormat:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/format/${e.format}`}),providesTags:["Assets"]}),assetImageStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/preview`}),providesTags:["Assets"]}),assetImageStream:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream`}),providesTags:["Assets"]}),assetImageDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/download/thumbnail/${e.thumbnailName}`}),providesTags:["Assets"]}),assetImageStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/image/stream/thumbnail/${e.thumbnailName}`,params:{cropPercent:e.cropPercent,cropWidth:e.cropWidth,cropHeight:e.cropHeight,cropTop:e.cropTop,cropLeft:e.cropLeft,mimeType:e.mimeType}}),providesTags:["Assets"]}),assetPatchById:e.mutation({query:e=>({url:"/pimcore-studio/api/assets",method:"PATCH",body:e.body}),invalidatesTags:["Assets"]}),assetPatchFolderById:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/folder/${e.id}`,method:"PATCH",body:e.body}),invalidatesTags:["Assets"]}),assetClearThumbnail:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/thumbnail/clear`,method:"DELETE"}),invalidatesTags:["Assets"]}),assetGetTree:e.query({query:e=>({url:"/pimcore-studio/api/assets/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants}}),providesTags:["Assets"]}),assetAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/add/${e.parentId}`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetUploadInfo:e.query({query:e=>({url:`/pimcore-studio/api/assets/exists/${e.parentId}`,params:{fileName:e.fileName}}),providesTags:["Assets"]}),assetReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/replace`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetUploadZip:e.mutation({query:e=>({url:`/pimcore-studio/api/assets/add-zip/${e.parentId}`,method:"POST",body:e.body}),invalidatesTags:["Assets"]}),assetVideoImageThumbnailStream:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/stream/image-thumbnail`,params:{width:e.width,height:e.height,aspectRatio:e.aspectRatio,frame:e.frame,async:e.async}}),providesTags:["Assets"]}),assetVideoDownloadByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/download/${e.thumbnailName}`}),providesTags:["Assets"]}),assetVideoStreamByThumbnail:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/video/stream/${e.thumbnailName}`}),providesTags:["Assets"]}),assetGetVideoTypes:e.query({query:()=>({url:"/pimcore-studio/api/assets/video/types"}),providesTags:["Assets"]}),assetCustomMetadataGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-metadata`}),providesTags:["Metadata"]})}),overrideExisting:!1}),{useAssetGetTypesQuery:i,useAssetBatchDeleteMutation:o,useAssetCloneMutation:r,useAssetCustomSettingsGetByIdQuery:d,useAssetGetTextDataByIdQuery:u,useAssetDocumentDownloadCustomQuery:p,useAssetDocumentStreamCustomQuery:n,useAssetDocumentStreamDynamicQuery:m,useAssetDocumentStreamPreviewQuery:y,useAssetDocumentDownloadByThumbnailQuery:c,useAssetDocumentStreamByThumbnailQuery:l,useAssetDownloadZipQuery:T,useAssetDeleteZipMutation:g,useAssetDownloadByIdQuery:A,useAssetExportZipAssetMutation:I,useAssetExportZipFolderMutation:h,useAssetGetByIdQuery:q,useAssetUpdateByIdMutation:v,useAssetDeleteGridConfigurationByConfigurationIdMutation:S,useAssetGetAvailableGridColumnsQuery:G,useAssetGetGridConfigurationByFolderIdQuery:f,useAssetGetSavedGridConfigurationsQuery:E,useAssetRemoveGridConfigurationAsFavoriteMutation:D,useAssetSaveGridConfigurationMutation:b,useAssetSetGridConfigurationAsFavoriteMutation:_,useAssetUpdateGridConfigurationMutation:C,useAssetGetGridQuery:$,useAssetImageDownloadCustomQuery:B,useAssetImageStreamCustomQuery:P,useAssetImageStreamDynamicQuery:w,useAssetImageDownloadByFormatQuery:N,useAssetImageStreamPreviewQuery:R,useAssetImageStreamQuery:L,useAssetImageDownloadByThumbnailQuery:M,useAssetImageStreamByThumbnailQuery:O,useAssetPatchByIdMutation:F,useAssetPatchFolderByIdMutation:z,useAssetClearThumbnailMutation:U,useAssetGetTreeQuery:x,useAssetAddMutation:Q,useAssetUploadInfoQuery:H,useAssetReplaceMutation:W,useAssetUploadZipMutation:Z,useAssetVideoImageThumbnailStreamQuery:V,useAssetVideoDownloadByThumbnailQuery:j,useAssetVideoStreamByThumbnailQuery:k,useAssetGetVideoTypesQuery:Y,useAssetCustomMetadataGetByIdQuery:J}=a}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/175.bd0ef661.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/175.780b640e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1750.19b70383.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1750.19b70383.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1762.e6454223.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1762.e6454223.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1797.bc29fd89.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1797.bc29fd89.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1814.16619920.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1814.16619920.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1834.3ea07c1f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1834.3ea07c1f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1851.1528a0c7.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1851.1528a0c7.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/1875.048f7c1f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/1875.048f7c1f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/198.96c8f5d3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/198.96c8f5d3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2015.28b3f667.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2015.28b3f667.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2016.2efa4d68.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2016.2efa4d68.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/206.0227085b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/206.0227085b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2073.0f14210c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2073.0f14210c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2098.4b97bea3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2098.4b97bea3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2103.0449b778.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2103.0449b778.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js
similarity index 90%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js
index b2d780d843..f377976b63 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js
@@ -1,5 +1,5 @@
-/*! For license information please see 616.2ffecb95.js.LICENSE.txt */
-(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["616"],{5338(e,t,i){"use strict";var n=i(25765);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},80323(e,t,i){"use strict";i.d(t,{f:()=>l});var n=i(63364),r=i(27755),a=i(71954);let l=new class{async loadPlugins(){var e;let t=[],i=window.pluginRemotes,n=window.alternativePluginExportPaths;if(void 0===i)return;let r=[];for(let[e,t]of Object.entries(i))void 0!==t&&r.push({name:e,entry:t,alias:e});for(let i of(null==(e=(0,a.getInstance)())||e.registerRemotes(r),r)){let e=(null==n?void 0:n[i.name])??"",r=""!==e?`${i.alias}${e}`:i.alias;t.push((0,a.loadRemote)(r))}for(let e of(await Promise.allSettled(t))){if("fulfilled"!==e.status){console.error("Error loading remote plugin",e);continue}for(let t of Object.values(e.value)){if("object"!=typeof t||void 0===t.name)continue;if(void 0!==this.registry[t.name]){console.error("Plugin already registered",t.name);continue}let e={priority:t.priority??0,...t};this.registerPlugin(e)}}}registerPlugin(e){this.registry[e.name]=e}getOrderedPlugins(){return Object.values(this.registry).sort((e,t)=>(e.priority??0)-(t.priority??0))}initPlugins(){this.getOrderedPlugins().forEach(e=>{void 0!==e.onInit&&e.onInit({container:n.kL})})}startupPlugins(){this.getOrderedPlugins().forEach(e=>{void 0!==e.onStartup&&e.onStartup({moduleSystem:r.s})})}constructor(){this.registry={}}}},5970(e,t,i){"use strict";let n;i(46680);var r,a,l,o,s,d,c,f,u,m,p,g,h,y,v,b,x,j,w,k,T,S,C,D,I,M,L,F,E,P,A,N,R,V,z,B,O,K,_,H,$,W,q,G,U,Q,J,Z,Y,X,ee,et,ei,en,er,ea,el,eo,es,ed,ec,ef,eu,em,ep,eg,eh,ey,ev,eb,ex,ej,ew,ek,eT,eS,eC,eD,eI,eM,eL,eF,eE,eP,eA,eN,eR,eV,ez,eB,eO,eK,e_,eH,e$,eW,eq,eG,eU,eQ,eJ,eZ,eY,eX,e0,e1,e2,e3,e6,e4,e5,e7,e8,e9,te,tt,ti,tn,tr,ta,tl,to=i(34231),ts=i(27755),td=i(10600),tc=i(63364),tf=i(26053),tu=i(77885),tm=i(57885),tp=i(58487),tg=i(86208),th=i(85296),ty=i(61476),tv=i(89446),tb=i(68220),tx=i(84956),tj=i(53152),tw=i(31635),tk=i(62446);class tT{registerComponent(e,t){this.components.set(e,t)}getComponentByType(e){return this.components.get(e)}constructor(){this.components=new Map}}tT=(0,tw.Cg)([(0,tk.injectable)()],tT);class tS{async runJob(e){this.globalProcess.isConnected()||this.globalProcess.start(),await e.run({messageBus:this.messageBus})}constructor(e,t){this.messageBus=e,this.globalProcess=t}}tS=(0,tw.Cg)([(0,tk.injectable)(),(0,tw.Qj)(0,(0,tk.inject)(td.K.globalMessageBus)),(0,tw.Qj)(1,(0,tk.inject)(td.K.globalMessageBusProcess)),(0,tw.Sn)("design:type",Function),(0,tw.Sn)("design:paramtypes",["u"{t in e&&!(0,tI.isNil)(e[t])&&(o[t]=e[t])}),l.set("config",JSON.stringify(o));let s=l.toString();return`${r}${a}?${s}`}generateCustomThumbnailUrl(e){let t,i,{assetId:n,assetType:r}=e,a=`${(0,tD.$)()}/assets/${n}`;"video"===r?(t="/video/stream/image-thumbnail",i=this.buildQueryParams(e,tF)):(t=`/${r}/stream/custom`,i=this.buildQueryParams(e,tL),(0,tI.isUndefined)(e.resizeMode)&&i.set("resizeMode","document"===r?"resize":"none"),(0,tI.isUndefined)(e.mimeType)&&i.set("mimeType","JPEG"));let l=i.toString();return`${a}${t}${!(0,tI.isEmpty)(l)?`?${l}`:""}`}buildQueryParams(e,t){let i=new URLSearchParams;return t.forEach(t=>{let n=e[t];!(0,tI.isNil)(n)&&((0,tI.isBoolean)(n)?n&&i.append(t,"true"):(0,tI.isNumber)(n)?i.append(t,Math.round(n).toString()):i.append(t,String(n)))}),i}}tE=(0,tw.Cg)([(0,tk.injectable)()],tE);var tP=i(23176),tA=i(69186);class tN extends tA.P{}tN=(0,tw.Cg)([(0,tk.injectable)()],tN);class tR{}tR=(0,tw.Cg)([(0,tk.injectable)()],tR);class tV extends tR{constructor(...e){super(...e),this.id="archive"}}tV=(0,tw.Cg)([(0,tk.injectable)()],tV);class tz extends tR{constructor(...e){super(...e),this.id="audio"}}tz=(0,tw.Cg)([(0,tk.injectable)()],tz);class tB extends tR{constructor(...e){super(...e),this.id="document"}}tB=(0,tw.Cg)([(0,tk.injectable)()],tB);class tO extends tR{constructor(...e){super(...e),this.id="folder"}}tO=(0,tw.Cg)([(0,tk.injectable)()],tO);class tK extends tR{constructor(...e){super(...e),this.id="image"}}tK=(0,tw.Cg)([(0,tk.injectable)()],tK);class t_ extends tR{constructor(...e){super(...e),this.id="text"}}t_=(0,tw.Cg)([(0,tk.injectable)()],t_);class tH extends tR{constructor(...e){super(...e),this.id="unknown"}}tH=(0,tw.Cg)([(0,tk.injectable)()],tH);class t$ extends tR{constructor(...e){super(...e),this.id="video"}}t$=(0,tw.Cg)([(0,tk.injectable)()],t$);var tW=i(57697),tq=i(74848),tG=i(47867),tU=i.n(tG),tQ=i(92428),tJ=i(57231);let tZ=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(tJ.lV.Item,{initialValue:!1,name:i,valuePropName:"checked",children:(0,tq.jsx)(tQ.S,{})})},tY=(0,tk.injectable)()(j=class{getBatchEditComponent(e){return(0,tq.jsx)(tZ,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","checkbox")}})||j;var tX=i(81659),t0=i(81215),t1=i(11354);let t2=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(tJ.lV.Item,{name:i,children:(0,tq.jsx)(t1.l,{outputType:"timestamp"})})},t3=(0,tk.injectable)()(w=class{getBatchEditComponent(e){return(0,tq.jsx)(t2,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","datetime")}})||w;var t6=i(74462),t4=i(50094);let t5=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(t4._Y,{fieldWidthValues:{large:9999,medium:9999,small:9999},children:(0,tq.jsx)(tJ.lV.Item,{name:i,children:(0,tq.jsx)(t6.P,{assetsAllowed:!0})})})},t7=(0,tk.injectable)()(k=class{getBatchEditComponent(e){return(0,tq.jsx)(t5,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","element_dropzone")}})||k;var t8=i(1993);let t9=e=>{var t,i;let{batchEdit:n}=e,{key:r,config:a}=n,l="definition"in a&&(0,tI.isArray)(null==a||null==(t=a.definition)?void 0:t.options),o=null==a||null==(i=a.options)?void 0:i.map(e=>({value:e,label:e}));return l&&(o=a.definition.options.map(e=>({value:e.value,label:e.key}))),(0,tq.jsx)(tJ.lV.Item,{name:r,children:(0,tq.jsx)(t8.l,{options:o})})},ie=(0,tk.injectable)()(T=class{getBatchEditComponent(e){return(0,tq.jsx)(t9,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","select")}})||T;var it=i(33473),ii=i(53031),ir=i(78785),ia=i(17044),il=i(16450);let io=e=>{switch(e){case -1:return!1;case 0:default:return null;case 1:return!0}},is=e=>!0===e?1:!1===e?-1:0,id=()=>{var e;let{setData:t,data:i,config:n}=(0,il.F)(),[r,a]=(0,tG.useState)([]),l=[];return l="fieldDefinition"in n&&Array.isArray(null==n||null==(e=n.fieldDefinition)?void 0:e.options)?n.fieldDefinition.options.map(e=>({label:e.key,value:e.value})):[{label:"True",value:1},{label:"False",value:-1},{label:"Empty",value:0}],(0,tG.useEffect)(()=>{a((i??[]).map(is))},[i]),(0,tq.jsx)(t8.l,{mode:"multiple",onChange:e=>{a(e),t(e.map(io))},options:l,style:{width:"100%"},value:r})},ic=(0,tk.injectable)()(S=class extends ia.C{getFieldFilterType(){return"system.boolean"}getFieldFilterComponent(){return(0,tq.jsx)(id,{})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","boolean-select")}})||S,iu=(0,tk.injectable)()(C=class extends ic{constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","boolean")}})||C;var im=i(94652);let ip=(0,tk.injectable)()(D=class extends ia.C{getFieldFilterType(){return"crm.consent"}getFieldFilterComponent(e){return(0,tq.jsx)(im.m,{...e})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","consent")}})||D;var ig=i(86569),ih=i(72928);let iy=()=>{let{config:e}=(0,il.F)(),{getType:t,hasType:i,getComponentRenderer:n}=(0,ih.R)();if(!("fieldDefinition"in e))throw Error("Field definition is missing in config");let{fieldDefinition:r}=e,a=(null==r?void 0:r.fieldType)??(null==r?void 0:r.fieldtype)??"unknown";if(!i({target:"FIELD_FILTER",dynamicTypeIds:[a]}))return(0,tq.jsx)(ig.Alert,{message:`Filter for ${r.fieldtype} is not supported`,type:"error"});let{ComponentRenderer:l}=n({target:"FIELD_FILTER",dynamicTypeIds:[a]}),o=t({target:"FIELD_FILTER",dynamicTypeIds:[a]});return null===l||null!==o&&"dynamicTypeFieldFilterType"in o&&"none"===o.dynamicTypeFieldFilterType.id?(0,tq.jsx)(ig.Alert,{message:`Filter for ${r.fieldtype} is not supported`,type:"error"}):(0,tq.jsx)(tq.Fragment,{children:l(r)})};var iv=i(46881);let ib=(0,tk.injectable)()(I=class extends ia.C{shouldOverrideFilterType(){return!0}isFilterAvailable(e){if(null===e)return!1;let t=iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]);return!!t.hasDynamicType(e)&&t.getDynamicType(e).dynamicTypeFieldFilterType.isFilterAvailable(null)}getFieldFilterComponent(e){return(0,tq.jsx)(iy,{...e})}transformFilterToApiRequest(e){return iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e.meta.fieldDefinition.fieldtype).dynamicTypeFieldFilterType.transformFilterToApiRequest(e)}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.adapter")}})||I,ix=()=>{let{config:e}=(0,il.F)(),{hasType:t,getComponentRenderer:i}=(0,ih.R)();if(!("fieldDefinition"in e))throw Error("Field definition is missing in config");let{fieldDefinition:n}=e,r=(null==n?void 0:n.fieldType)??(null==n?void 0:n.fieldtype)??"unknown";if(!t({target:"FIELD_FILTER",dynamicTypeIds:[r]}))return(0,tq.jsx)(ig.Alert,{message:`Unknown data type: ${r}`,type:"warning"});let{ComponentRenderer:a}=i({target:"FIELD_FILTER",dynamicTypeIds:[r]});return null===a?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:a(n)})},ij=(0,tk.injectable)()(M=class extends ia.C{shouldOverrideFilterType(){return!0}isFilterAvailable(e){return null!==e&&iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e).dynamicTypeFieldFilterType.isFilterAvailable(null)}getFieldFilterComponent(e){return(0,tq.jsx)(ix,{...e})}transformFilterToApiRequest(e){return iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e.meta.fieldDefinition.fieldtype).dynamicTypeFieldFilterType.transformFilterToApiRequest(e)}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.objectbrick")}})||M;var iw=i(46383),ik=i(71916);let iT=(0,tk.injectable)()(L=class extends ia.C{getFieldFilterType(){return"system.number"}getFieldFilterComponent(e){return(0,tq.jsx)(ik.a,{...e})}constructor(...e){super(...e),function(e,t){var i;(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:i+"")in e?Object.defineProperty(e,t,{value:"id",enumerable:!0,configurable:!0,writable:!0}):e[t]="id"}(this,"id")}})||L;var iS=i(13145),iC=i(95433),iD=i(14542);class iI extends ia.C{getFieldFilterComponent(e){return(0,tq.jsx)(iD.i,{...e})}}let iM=(0,tk.injectable)()(F=class extends iI{getFieldFilterType(){return"system.string"}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","string")}})||F;var iL=i(97536),iF=i(30595),iE=i(40917);let iP=(0,tk.injectable)()(E=class extends iF.E{getGridCellComponent(e){return(0,tq.jsx)(iE.e,{...e})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dependency-type-icon")}})||E;var iA=i(31492),iN=i(7814),iR=i(44241);let iV=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{cell:i`
+/*! For license information please see 2104.fed84d91.js.LICENSE.txt */
+(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["2104"],{5338(e,t,i){"use strict";var n=i(25765);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},80323(e,t,i){"use strict";i.d(t,{f:()=>l});var n=i(63364),r=i(27755),a=i(71954);let l=new class{async loadPlugins(){var e;let t=[],i=window.pluginRemotes,n=window.alternativePluginExportPaths;if(void 0===i)return;let r=[];for(let[e,t]of Object.entries(i))void 0!==t&&r.push({name:e,entry:t,alias:e});for(let i of(null==(e=(0,a.getInstance)())||e.registerRemotes(r),r)){let e=(null==n?void 0:n[i.name])??"",r=""!==e?`${i.alias}${e}`:i.alias;t.push((0,a.loadRemote)(r))}for(let e of(await Promise.allSettled(t))){if("fulfilled"!==e.status){console.error("Error loading remote plugin",e);continue}for(let t of Object.values(e.value)){if("object"!=typeof t||void 0===t.name)continue;if(void 0!==this.registry[t.name]){console.error("Plugin already registered",t.name);continue}let e={priority:t.priority??0,...t};this.registerPlugin(e)}}}registerPlugin(e){this.registry[e.name]=e}getOrderedPlugins(){return Object.values(this.registry).sort((e,t)=>(e.priority??0)-(t.priority??0))}initPlugins(){this.getOrderedPlugins().forEach(e=>{void 0!==e.onInit&&e.onInit({container:n.kL})})}startupPlugins(){this.getOrderedPlugins().forEach(e=>{void 0!==e.onStartup&&e.onStartup({moduleSystem:r.s})})}constructor(){this.registry={}}}},71098(e,t,i){"use strict";let n;i(46680);var r,a,l,o,s,d,c,f,u,m,p,g,h,y,v,b,x,j,w,k,T,S,C,D,I,M,L,F,E,P,A,N,R,V,z,B,O,K,_,H,$,W,q,G,U,Q,J,Z,Y,X,ee,et,ei,en,er,ea,el,eo,es,ed,ec,ef,eu,em,ep,eg,eh,ey,ev,eb,ex,ej,ew,ek,eT,eS,eC,eD,eI,eM,eL,eF,eE,eP,eA,eN,eR,eV,ez,eB,eO,eK,e_,eH,e$,eW,eq,eG,eU,eQ,eJ,eZ,eY,eX,e0,e1,e2,e3,e6,e4,e5,e7,e8,e9,te,tt,ti,tn,tr,ta,tl,to=i(34231),ts=i(27755),td=i(10600),tc=i(63364),tf=i(26053),tu=i(77885),tm=i(57885),tp=i(58487),tg=i(86208),th=i(85296),ty=i(61476),tv=i(89446),tb=i(68220),tx=i(84956),tj=i(53152),tw=i(31635),tk=i(62446);class tT{registerComponent(e,t){this.components.set(e,t)}getComponentByType(e){return this.components.get(e)}constructor(){this.components=new Map}}tT=(0,tw.Cg)([(0,tk.injectable)()],tT);class tS{async runJob(e){this.globalProcess.isConnected()||this.globalProcess.start(),await e.run({messageBus:this.messageBus})}constructor(e,t){this.messageBus=e,this.globalProcess=t}}tS=(0,tw.Cg)([(0,tk.injectable)(),(0,tw.Qj)(0,(0,tk.inject)(td.K.globalMessageBus)),(0,tw.Qj)(1,(0,tk.inject)(td.K.globalMessageBusProcess)),(0,tw.Sn)("design:type",Function),(0,tw.Sn)("design:paramtypes",["u"{t in e&&!(0,tI.isNil)(e[t])&&(o[t]=e[t])}),l.set("config",JSON.stringify(o));let s=l.toString();return`${r}${a}?${s}`}generateCustomThumbnailUrl(e){let t,i,{assetId:n,assetType:r}=e,a=`${(0,tD.$)()}/assets/${n}`;"video"===r?(t="/video/stream/image-thumbnail",i=this.buildQueryParams(e,tF)):(t=`/${r}/stream/custom`,i=this.buildQueryParams(e,tL),(0,tI.isUndefined)(e.resizeMode)&&i.set("resizeMode","document"===r?"resize":"none"),(0,tI.isUndefined)(e.mimeType)&&i.set("mimeType","JPEG"));let l=i.toString();return`${a}${t}${!(0,tI.isEmpty)(l)?`?${l}`:""}`}buildQueryParams(e,t){let i=new URLSearchParams;return t.forEach(t=>{let n=e[t];!(0,tI.isNil)(n)&&((0,tI.isBoolean)(n)?n&&i.append(t,"true"):(0,tI.isNumber)(n)?i.append(t,Math.round(n).toString()):i.append(t,String(n)))}),i}}tE=(0,tw.Cg)([(0,tk.injectable)()],tE);var tP=i(23176),tA=i(69186);class tN extends tA.P{}tN=(0,tw.Cg)([(0,tk.injectable)()],tN);class tR{}tR=(0,tw.Cg)([(0,tk.injectable)()],tR);class tV extends tR{constructor(...e){super(...e),this.id="archive"}}tV=(0,tw.Cg)([(0,tk.injectable)()],tV);class tz extends tR{constructor(...e){super(...e),this.id="audio"}}tz=(0,tw.Cg)([(0,tk.injectable)()],tz);class tB extends tR{constructor(...e){super(...e),this.id="document"}}tB=(0,tw.Cg)([(0,tk.injectable)()],tB);class tO extends tR{constructor(...e){super(...e),this.id="folder"}}tO=(0,tw.Cg)([(0,tk.injectable)()],tO);class tK extends tR{constructor(...e){super(...e),this.id="image"}}tK=(0,tw.Cg)([(0,tk.injectable)()],tK);class t_ extends tR{constructor(...e){super(...e),this.id="text"}}t_=(0,tw.Cg)([(0,tk.injectable)()],t_);class tH extends tR{constructor(...e){super(...e),this.id="unknown"}}tH=(0,tw.Cg)([(0,tk.injectable)()],tH);class t$ extends tR{constructor(...e){super(...e),this.id="video"}}t$=(0,tw.Cg)([(0,tk.injectable)()],t$);var tW=i(57697),tq=i(74848),tG=i(47867),tU=i.n(tG),tQ=i(92428),tJ=i(57231);let tZ=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(tJ.lV.Item,{initialValue:!1,name:i,valuePropName:"checked",children:(0,tq.jsx)(tQ.S,{})})},tY=(0,tk.injectable)()(j=class{getBatchEditComponent(e){return(0,tq.jsx)(tZ,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","checkbox")}})||j;var tX=i(81659),t0=i(81215),t1=i(11354);let t2=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(tJ.lV.Item,{name:i,children:(0,tq.jsx)(t1.l,{outputType:"timestamp"})})},t3=(0,tk.injectable)()(w=class{getBatchEditComponent(e){return(0,tq.jsx)(t2,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","datetime")}})||w;var t6=i(74462),t4=i(50094);let t5=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,tq.jsx)(t4._Y,{fieldWidthValues:{large:9999,medium:9999,small:9999},children:(0,tq.jsx)(tJ.lV.Item,{name:i,children:(0,tq.jsx)(t6.P,{assetsAllowed:!0})})})},t7=(0,tk.injectable)()(k=class{getBatchEditComponent(e){return(0,tq.jsx)(t5,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","element_dropzone")}})||k;var t8=i(1993);let t9=e=>{var t,i;let{batchEdit:n}=e,{key:r,config:a}=n,l="definition"in a&&(0,tI.isArray)(null==a||null==(t=a.definition)?void 0:t.options),o=null==a||null==(i=a.options)?void 0:i.map(e=>({value:e,label:e}));return l&&(o=a.definition.options.map(e=>({value:e.value,label:e.key}))),(0,tq.jsx)(tJ.lV.Item,{name:r,children:(0,tq.jsx)(t8.l,{options:o})})},ie=(0,tk.injectable)()(T=class{getBatchEditComponent(e){return(0,tq.jsx)(t9,{...e})}constructor(){!function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","select")}})||T;var it=i(33473),ii=i(53031),ir=i(78785),ia=i(17044),il=i(16450);let io=e=>{switch(e){case -1:return!1;case 0:default:return null;case 1:return!0}},is=e=>!0===e?1:!1===e?-1:0,id=()=>{var e;let{setData:t,data:i,config:n}=(0,il.F)(),[r,a]=(0,tG.useState)([]),l=[];return l="fieldDefinition"in n&&Array.isArray(null==n||null==(e=n.fieldDefinition)?void 0:e.options)?n.fieldDefinition.options.map(e=>({label:e.key,value:e.value})):[{label:"True",value:1},{label:"False",value:-1},{label:"Empty",value:0}],(0,tG.useEffect)(()=>{a((i??[]).map(is))},[i]),(0,tq.jsx)(t8.l,{mode:"multiple",onChange:e=>{a(e),t(e.map(io))},options:l,style:{width:"100%"},value:r})},ic=(0,tk.injectable)()(S=class extends ia.C{getFieldFilterType(){return"system.boolean"}getFieldFilterComponent(){return(0,tq.jsx)(id,{})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","boolean-select")}})||S,iu=(0,tk.injectable)()(C=class extends ic{constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","boolean")}})||C;var im=i(94652);let ip=(0,tk.injectable)()(D=class extends ia.C{getFieldFilterType(){return"crm.consent"}getFieldFilterComponent(e){return(0,tq.jsx)(im.m,{...e})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","consent")}})||D;var ig=i(86569),ih=i(72928);let iy=()=>{let{config:e}=(0,il.F)(),{getType:t,hasType:i,getComponentRenderer:n}=(0,ih.R)();if(!("fieldDefinition"in e))throw Error("Field definition is missing in config");let{fieldDefinition:r}=e,a=(null==r?void 0:r.fieldType)??(null==r?void 0:r.fieldtype)??"unknown";if(!i({target:"FIELD_FILTER",dynamicTypeIds:[a]}))return(0,tq.jsx)(ig.Alert,{message:`Filter for ${r.fieldtype} is not supported`,type:"error"});let{ComponentRenderer:l}=n({target:"FIELD_FILTER",dynamicTypeIds:[a]}),o=t({target:"FIELD_FILTER",dynamicTypeIds:[a]});return null===l||null!==o&&"dynamicTypeFieldFilterType"in o&&"none"===o.dynamicTypeFieldFilterType.id?(0,tq.jsx)(ig.Alert,{message:`Filter for ${r.fieldtype} is not supported`,type:"error"}):(0,tq.jsx)(tq.Fragment,{children:l(r)})};var iv=i(46881);let ib=(0,tk.injectable)()(I=class extends ia.C{shouldOverrideFilterType(){return!0}isFilterAvailable(e){if(null===e)return!1;let t=iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]);return!!t.hasDynamicType(e)&&t.getDynamicType(e).dynamicTypeFieldFilterType.isFilterAvailable(null)}getFieldFilterComponent(e){return(0,tq.jsx)(iy,{...e})}transformFilterToApiRequest(e){return iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e.meta.fieldDefinition.fieldtype).dynamicTypeFieldFilterType.transformFilterToApiRequest(e)}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.adapter")}})||I,ix=()=>{let{config:e}=(0,il.F)(),{hasType:t,getComponentRenderer:i}=(0,ih.R)();if(!("fieldDefinition"in e))throw Error("Field definition is missing in config");let{fieldDefinition:n}=e,r=(null==n?void 0:n.fieldType)??(null==n?void 0:n.fieldtype)??"unknown";if(!t({target:"FIELD_FILTER",dynamicTypeIds:[r]}))return(0,tq.jsx)(ig.Alert,{message:`Unknown data type: ${r}`,type:"warning"});let{ComponentRenderer:a}=i({target:"FIELD_FILTER",dynamicTypeIds:[r]});return null===a?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:a(n)})},ij=(0,tk.injectable)()(M=class extends ia.C{shouldOverrideFilterType(){return!0}isFilterAvailable(e){return null!==e&&iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e).dynamicTypeFieldFilterType.isFilterAvailable(null)}getFieldFilterComponent(e){return(0,tq.jsx)(ix,{...e})}transformFilterToApiRequest(e){return iv.container.get(iv.serviceIds["DynamicTypes/ObjectDataRegistry"]).getDynamicType(e.meta.fieldDefinition.fieldtype).dynamicTypeFieldFilterType.transformFilterToApiRequest(e)}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.objectbrick")}})||M;var iw=i(46383),ik=i(71916);let iT=(0,tk.injectable)()(L=class extends ia.C{getFieldFilterType(){return"system.number"}getFieldFilterComponent(e){return(0,tq.jsx)(ik.a,{...e})}constructor(...e){super(...e),function(e,t){var i;(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:i+"")in e?Object.defineProperty(e,t,{value:"id",enumerable:!0,configurable:!0,writable:!0}):e[t]="id"}(this,"id")}})||L;var iS=i(13145),iC=i(95433),iD=i(14542);class iI extends ia.C{getFieldFilterComponent(e){return(0,tq.jsx)(iD.i,{...e})}}let iM=(0,tk.injectable)()(F=class extends iI{getFieldFilterType(){return"system.string"}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","string")}})||F;var iL=i(97536),iF=i(30595),iE=i(40917);let iP=(0,tk.injectable)()(E=class extends iF.E{getGridCellComponent(e){return(0,tq.jsx)(iE.e,{...e})}constructor(...e){super(...e),function(e,t,i){var n;(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:n+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dependency-type-icon")}})||E;var iA=i(31492),iN=i(7814),iR=i(44241);let iV=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{cell:i`
.pimcore-icon {
color: ${t.Colors.Neutral.Icon.colorIcon};
}
@@ -795,7 +795,7 @@
justify-items: flex-start;
`,"not-first":i`
margin-top: ${t.marginXXS}px;
- `}},{hashPriority:"low"});var St=i(19675),Si=i(90056);let Sn=()=>{let{openModal:e,setTriggeredWorkflowAction:t}=(0,Si.j)(),{submitWorkflowAction:i,submissionLoading:n}=(0,St.d)();return{triggerAction:n=>{var r;t(n),(null==(r=n.notes)?void 0:r.commentEnabled)===!0?e():i(n)},submissionLoading:n}},Sr=e=>{let{workflow:t}=e,{triggerAction:i,submissionLoading:n}=Sn(),r=T9(t),{styles:a}=Se(),{t:l}=(0,iQ.useTranslation)();return n?(0,tq.jsx)(az.$,{loading:n,type:"link"}):(0,tq.jsx)("div",{children:r.map(e=>(0,tq.jsx)(az.$,{className:`${a.button}`,onClick:()=>{i(e)},type:"text",children:l(e.label)}))})},Sa=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=tU().useState([]),{workflowDetailsData:n,isFetchingWorkflowDetails:r}=(0,Si.j)();return(0,tG.useEffect)(()=>{(null==n?void 0:n.items)!==void 0&&n.items.length>0&&i(n.items.flatMap(t=>{var i;let r=[];return r.push({key:(((null==n||null==(i=n.items)?void 0:i.length)??0)+1).toString(),type:"custom",component:(0,tq.jsx)(Sr,{workflow:t})}),{key:t.workflowName,type:"group",label:e(t.workflowLabel),children:r}}))},[n]),(0,tq.jsxs)(ap.s,{align:"center",justify:"flex-end",children:[(0,tq.jsx)(T5.L,{itemGap:"extra-small",list:(null==n?void 0:n.items)!==void 0&&n.items.length>0?[n.items.reduce((t,i)=>(i.workflowStatus.forEach(i=>{if(void 0!==i.visibleInDetail&&i.visibleInDetail){let n=i.colorInverted?{backgroundColor:`${i.color}33`}:{},r={children:e(`${i.label}`),icon:(0,tq.jsx)(T7.E,{color:i.color}),style:n};t.push(r)}}),t),[])]:[[]],wrap:!1}),void 0!==n&&(0,tq.jsx)(pu.m,{disabled:r,menu:{items:t},children:(0,tq.jsx)(pf.g,{children:(0,tq.jsx)(r9.I,{options:{height:16,width:16},value:"workflow"})})})]})};var Sl=i(33142);let So=function(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],[n,{isLoading:r,isSuccess:a,isError:l,error:o}]=(0,iY.Jj)(),[s,d]=(0,tG.useState)(!1),{element:c,schedules:f,resetSchedulesChanges:u}=(0,Sl.D)(t,e),m=(0,uI.J)(),{t:p}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{s&&(i&&m.success(p("save-success")),u())},[s]),(0,tG.useEffect)(()=>{d(a)},[a]),(0,tG.useEffect)(()=>{l&&i&&m.error(p("save-failed"))},[l]),{isLoading:r,isSuccess:s,isError:l,error:o,saveSchedules:async()=>{(null==c?void 0:c.changes.schedules)===void 0?d(!0):await n({elementType:e,id:t,body:{items:null==f?void 0:f.map(e=>({id:e.id>0?e.id:null,date:e.date,action:e.action,version:e.version,active:e.active}))}})}}};var Ss=i(60124),Sd=i(3416);let Sc=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,iZ.J)(),{asset:i,properties:n,removeTrackedChanges:r,customMetadata:a,customSettings:l,imageSettings:o,textData:s}=(0,ks.l)(t),[d,{isLoading:c,isSuccess:f,isError:u,error:m}]=(0,kc.useAssetUpdateByIdMutation)(),{saveSchedules:p,isLoading:g,isSuccess:h,isError:y,error:v}=So("asset",t,!1),b=(0,uI.J)();return(0,tG.useEffect)(()=>{(async()=>{f&&h&&(r(),await b.success(e("save-success")))})().catch(e=>{console.error(e)})},[f,h]),(0,tG.useEffect)(()=>{u&&!(0,tI.isNil)(m)?(0,iX.Ay)(new iX.hD(m)):y&&!(0,tI.isNil)(v)&&(0,iX.Ay)(new iX.hD(v))},[u,y,m,v]),(0,m9.Z)(async()=>{null!=i&&(0,TS.o)(i.permissions,"publish")&&x()},"publish"),(0,m9.Z)(async()=>{null!=i&&(0,TS.o)(i.permissions,"publish")&&x()},"save"),(0,tq.jsx)(tq.Fragment,{children:(0,TS.o)(null==i?void 0:i.permissions,"publish")&&(0,tq.jsx)(az.$,{disabled:c||g,loading:c||g,onClick:x,type:"primary",children:e((null==i?void 0:i.type)==="folder"?"toolbar.save":"toolbar.save-and-publish")})});function x(){if((null==i?void 0:i.changes)===void 0)return;let e={};if(i.changes.properties){let t=null==n?void 0:n.map(e=>{let{rowId:t,...i}=e;if("object"==typeof i.data){var n;return{...i,data:(null==i||null==(n=i.data)?void 0:n.id)??null}}return i});e.properties=null==t?void 0:t.filter(e=>!e.inherited)}i.changes.customMetadata&&(e.metadata=null==a?void 0:a.map(e=>{let{rowId:t,...i}=e;return i.type.startsWith("metadata.")&&(i.type=i.type.replace("metadata.","")),null===i.data&&(("input"===i.type||"textarea"===i.type)&&(i.data=""),"checkbox"===i.type&&(i.data=!1)),i})),i.changes.customSettings&&(e.customSettings=l),i.changes.imageSettings&&(e.image=o),i.changes.textData&&(e.data=s);let r=tc.kL.get(td.K["Asset/ProcessorRegistry/SaveDataProcessor"]),c=new dn.r(t,e);r.executeProcessors(c),Promise.all([d({id:t,body:{data:{...e}}}).then(i=>{if(void 0===i.error){let n={identifier:{type:Sd.m["asset:editor:post-update"],id:String(t)},payload:{id:t,updatedData:e,responseData:i.data}};Ss.B.publish(n)}return i}),p()]).catch(e=>{console.log(e)})}};var Sf=i(11324),Su=i(27918),Sm=i(61923),Sp=i(83547),Sg=i(3257),Sh=i(69634);let Sy=()=>(0,tq.jsx)(pc.M,{children:(0,tq.jsxs)(Sp.F,{children:[(0,tq.jsx)(ap.s,{children:(0,tq.jsx)(Sh.Y,{slot:yl.e.asset.editor.toolbar.slots.left.name})}),(0,tq.jsx)(ap.s,{style:{height:"32px"},vertical:!1,children:(0,tq.jsx)(Sh.Y,{slot:yl.e.asset.editor.toolbar.slots.right.name})}),(0,tq.jsx)(Sg.x,{})]})});var Sv=i(78524),Sb=i(17236);let Sx=e=>{let{id:t}=e,{isLoading:i,isError:n,asset:r,editorType:a,activeTab:l}=(0,ks.l)(t),o=(0,Sf.P)(),{setContext:s,removeContext:d}=(0,Su.k)();return((0,tG.useEffect)(()=>()=>{d()},[]),(0,tG.useEffect)(()=>(o&&s({id:t,...!(0,tI.isNil)(r)&&{contextIdentifiers:(0,Sb.R9)(r,l===kS.h.key)}}),()=>{o||d()}),[o,l,r]),i)?(0,tq.jsx)(uE.U,{loading:!0}):n?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)(kY.F,{message:"Error: Loading of asset failed",type:"error"})}):void 0===r||void 0===a?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(Tw.AssetProvider,{id:t,children:(0,tq.jsx)(Sv.F,{dataTestId:`asset-editor-${(0,pi.Gc)(t)}`,renderTabbar:(0,tq.jsx)(Sm.a,{elementEditorType:a}),renderToolbar:(0,tq.jsx)(Sy,{})})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Asset/Editor/TypeRegistry"]);e.register({name:"image",tabManagerServiceId:"Asset/Editor/ImageTabManager"}),e.register({name:"video",tabManagerServiceId:"Asset/Editor/VideoTabManager"}),e.register({name:"audio",tabManagerServiceId:"Asset/Editor/AudioTabManager"}),e.register({name:"document",tabManagerServiceId:"Asset/Editor/DocumentTabManager"}),e.register({name:"text",tabManagerServiceId:"Asset/Editor/TextTabManager"}),e.register({name:"folder",tabManagerServiceId:"Asset/Editor/FolderTabManager"}),e.register({name:"archive",tabManagerServiceId:"Asset/Editor/ArchiveTabManager"}),e.register({name:"unknown",tabManagerServiceId:"Asset/Editor/UnknownTabManager"}),tc.kL.get(td.K.widgetManager).registerWidget(Tk);let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.register({name:yl.e.asset.editor.container.name,component:Sx}),t.register({name:yl.e.asset.editor.tab.embeddedMetadata.name,component:T3}),t.register({name:yl.e.asset.editor.tab.customMetadata.name,component:TL}),t.register({name:yl.e.asset.editor.tab.versions.name,component:T2}),t.registerToSlot("asset.editor.toolbar.slots.left",{name:"contextMenu",priority:100,component:T4}),t.registerToSlot("asset.editor.toolbar.slots.right",{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot("asset.editor.toolbar.slots.right",{name:"saveButton",priority:200,component:Sc})}});var Sj=i(72681),Sw=i(56177),Sk=i(50744),ST=i(1947),SS=i(36490),SC=i(53894),SD=i(85566),SI=i(79246);let SM=()=>{let{data:e}=(0,hD.E)(),{selectedRows:t}=(0,SC.U)(),{elementType:i}=(0,dR.useElementContext)();return(e=>{let{data:t,selectedRows:i,elementType:n}=e,{context:r,setContext:a}=(0,SD.L)(),{context:l,setContext:o}=(0,Su.k)(),{context:s,setContext:d}=(0,SI.v)(),c=(0,tG.useMemo)(()=>(0,tI.isNil)(i)?[]:Object.keys(i).map(Number),[i]);(0,tG.useEffect)(()=>{var e;if((0,a3.Po)(t))return;let{context:i,setContext:f}=(()=>{switch(n){case sE.W.dataObject:return{context:r,setContext:a};case sE.W.asset:return{context:l,setContext:o};case sE.W.document:return{context:s,setContext:d};default:return{context:r,setContext:a}}})();if((0,tI.isNil)(i))return;let u=null==i||null==(e=i.config)?void 0:e.contextIdentifiers;if(!(0,tI.isObject)(u)||(0,tI.isNull)(u)||!("type"in u)||!("subType"in u)||!("tags"in u))return;let m=(null==u?void 0:u.tags)??[],p=null==u?void 0:u.tags.filter(e=>!e.includes("_selection"));if((0,tI.isEmpty)(c)&&!(0,tI.isNil)(i)&&m.length>p.length)return void f({id:i.config.id,contextIdentifiers:{...u,tags:p}});if(!(0,tI.isEmpty)(c)){let e=[],r=[];if(c.forEach(i=>{let a=(e=>{let t=(0,tI.get)((0,tI.find)(null==e?void 0:e.columns,{key:"type"}),"value"),i=(0,tI.get)((0,tI.find)(null==e?void 0:e.columns,{key:"classname"}),"value");switch(n){case sE.W.dataObject:return(0,a3.Po)(i)?null:`${Sb.v1}_${i}_selection`.toLowerCase();case sE.W.asset:return(0,a3.Po)(t)?null:`${Sb.W4}_${t}_selection`.toLowerCase();case sE.W.document:return(0,a3.Po)(t)?null:`${Sb.fy}_${t}_selection`.toLowerCase();default:return null}})(null==t?void 0:t.find(e=>e.id===i));e.push({id:i,type:null==u?void 0:u.type}),(0,tI.isNull)(a)||r.push(a)}),r.length>0){let t=null==u?void 0:u.tags.filter(e=>!e.endsWith("_selection")),n=(0,tI.uniq)([...t,...r]),a=(0,tI.isEqual)(u.tags,r),l=(0,tI.isEqual)(u.selectedElements,e);a||l||(0,tI.isNil)(i)||f({id:i.config.id,contextIdentifiers:{...u,tags:n,selectedElements:e}})}}},[t,c,n])})({data:null==e?void 0:e.items,selectedRows:t,elementType:i}),(0,tq.jsx)(tq.Fragment,{})},SL=e=>{let{ViewComponent:t}={...e};return{...e,ViewComponent:()=>{let{data:e}=(0,hD.E)();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(t,{}),void 0!==e&&(0,tq.jsx)(SM,{})]})}}};var SF=i(56993);let SE=e=>{let{ContextComponent:t,...i}=e;return{...i,ContextComponent:()=>(0,tq.jsx)(dR.DynamicTypeRegistryProvider,{serviceIds:["DynamicTypes/GridCellRegistry","DynamicTypes/MetadataRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(t,{})})}},SP=()=>(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]});var SA=i(52185),SN=i(8412);let SR=(0,tG.createContext)({batchEdits:[],setBatchEdits:()=>{}}),SV=e=>{let{children:t}=e,[i,n]=(0,tG.useState)([]);return(0,tG.useMemo)(()=>(0,tq.jsx)(SR.Provider,{value:{batchEdits:i,setBatchEdits:n},children:t}),[i,t])};var Sz=i(23558),SB=i(66634);let SO=()=>{let{batchEdits:e,setBatchEdits:t}=(0,tG.useContext)(SR);return{batchEdits:e,setBatchEdits:t,updateLocale:(i,n)=>{t(e.map(e=>e.key===i?{...e,locale:n}:e))},resetBatchEdits:()=>{t([])},removeBatchEdit:i=>{t(e.filter(e=>e.key!==i))},addOrUpdateBatchEdit:i=>{let n=[...e],r=e.findIndex(e=>e.key===i.key);-1!==r?n[r]=i:n.push(i),t(n)}}};var SK=i(32773),S_=i(68901);let SH=e=>{let{batchEdit:t}=e,{frontendType:i,type:n}=t,{getComponentRenderer:r}=(0,ih.R)(),{ComponentRenderer:a}=r({dynamicTypeIds:[n,i],target:"BATCH_EDIT"});return null===a?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:a({batchEdit:t})})},S$=()=>{let{batchEdits:e,removeBatchEdit:t}=SO(),{updateLocale:i}=SO(),n=["-",...(0,p3.t)().requiredLanguages],r=e.map(e=>{let r=e.locale??"-";return{id:e.key,children:(0,tq.jsx)(ig.Tag,{children:(0,i6.t)(`${e.key}`)}),renderRightToolbar:(0,tq.jsx)(TM.e,{items:[...e.localizable?[(0,tq.jsx)(S_.v,{languages:n,onSelectLanguage:t=>{i(e.key,(0,S_.z)(t))},selectedLanguage:r},"language-selection")]:[],(0,tq.jsx)(lp.K,{icon:{value:"close"},onClick:()=>{t(e.key)}},"remove")]}),body:(0,tq.jsx)(SH,{batchEdit:e})}});return(0,tq.jsxs)(tq.Fragment,{children:[0===r.length&&(0,tq.jsx)(he.R,{text:(0,i6.t)("batch-edit.no-content")}),r.length>0&&(0,tq.jsx)(SK.N,{items:r})]})};var SW=i(62786);let Sq=(e,t,i)=>e.map(e=>{let n,r,a;if(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children)){let n=Sq(e.children,t,i);return{...e,children:n}}return(n=!0===e.editable,r=t.some(t=>{var i,n;let r,a,l;return e.key===t.key&&(i=e.group,n=t.group,a=(r=e=>"string"==typeof e?e.split("."):Array.isArray(e)?e.flat().map(e=>String(e)):[String(e)])(i),l=r(n),a.length===l.length&&a.every((e,t)=>e===l[t]))}),a=i({target:"BATCH_EDIT",dynamicTypeIds:[null==e?void 0:e.frontendType]}),n&&a&&!r)?e:null}).filter(e=>null!==e&&(!("children"in e&&void 0!==e.children&&Array.isArray(e.children))||e.children.length>0)),SG=e=>e.some(e=>!(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children))||SG(e.children));var SU=i(82763);class SQ{async run(e){let{messageBus:t}=e;try{let i=await this.executeEditRequest();if((0,tI.isNil)(i))return void await this.handleJobFailure(Error("No jobRunId returned from edit request"));let n=new SU.j({jobRunId:i,title:this.title,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)},onCustomizeButtons:e=>{let t={label:(0,i6.t)("jobs.job.button-reload"),handler:async()=>{await this.refreshGrid()}};e.addSuccessButton(t),e.addFinishedWithErrorsButton(t)}});t.registerHandler(n)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async handleCompletion(){void 0!==this.onFinish&&await this.onFinish()}async handleJobFailure(e){console.error("Batch edit job failed:",e)}constructor(e){this.title=e.title,this.assetContextId=e.assetContextId,this.onFinish=e.onFinish,this.refreshGrid=e.refreshGrid}}class SJ extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchAssets({body:{data:this.selectedRowsIds.map(e=>({id:e,metadata:this.patches}))}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchAssets=e.patchAssets,this.selectedRowsIds=e.selectedRowsIds,this.patches=e.patches}}class SZ extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchAssetsInFolder({body:{data:[{folderId:this.folderId,metadata:this.patches}],filters:this.filters}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchAssetsInFolder=e.patchAssetsInFolder,this.folderId=e.folderId,this.patches=e.patches,this.filters=e.filters}}let SY=e=>{let{batchEditModalOpen:t,setBatchEditModalOpen:i}=e,{getAvailableColumnsDropdown:n}=(0,SB.m)(),{batchEdits:r,addOrUpdateBatchEdit:a,resetBatchEdits:l}=SO(),[o]=tJ.lV.useForm(),{t:s}=(0,iQ.useTranslation)(),[d,{isError:c,isSuccess:f,error:u}]=(0,kc.useAssetPatchByIdMutation)(),[m,{isError:p,isSuccess:g,error:h}]=(0,kc.useAssetPatchFolderByIdMutation)(),{selectedRows:y}=(0,SC.U)(),v=Object.keys(y??{}).map(Number),b=v.length,x=tc.kL.get(td.K.executionEngine),{id:j,elementType:w}=(0,iZ.J)(),{useDataQueryHelper:k}=(0,SN.t)(),{getArgs:T}=k(),{hasType:S}=(0,ih.R)(),{refreshGrid:C}=(0,SW.X)(w),D=()=>{l(),o.resetFields()};(0,tG.useEffect)(()=>{(f||g)&&(i(!1),D()),1===b&&kc.api.util.invalidateTags(uT.qN.ASSET_GRID_ID(v[0]))},[f,g]),(0,tG.useEffect)(()=>{c&&(0,iX.Ay)(new iX.hD(u)),p&&(0,iX.Ay)(new iX.hD(h))},[c,g]);let I=async e=>{var t,i;let n=r.map(t=>({name:t.key,language:t.locale??null,data:e[t.key],type:t.type})),a=(null==(i=T())||null==(t=i.body)?void 0:t.filters)??{};if(delete a.page,delete a.pageSize,0===b){let e=new SZ({title:s("batch-edit.job-title"),patchAssetsInFolder:m,folderId:j,patches:n,filters:a,assetContextId:j,refreshGrid:C});await x.runJob(e)}else if(1===b)await d({body:{data:[{id:v[0],metadata:n}]}});else{let e=new SJ({title:s("batch-edit.job-title"),patchAssets:d,selectedRowsIds:v,patches:n,assetContextId:j,refreshGrid:C});await x.runJob(e)}},M=n(e=>{let t=e.locale??null;a({...e,locale:t})}).menu.items,L=(0,tG.useMemo)(()=>()=>(0,tI.isUndefined)(M)?[]:Sq(M,r,S),[M,r,S]),F=!SG(L());return(0,tq.jsx)(Sz.m,{afterClose:()=>{D()},footer:(0,tq.jsxs)(p9.j,{divider:!0,justify:"space-between",children:[(0,tq.jsx)(pu.m,{menu:{items:L()},children:(0,tq.jsx)(m4.J,{disabled:F,icon:{value:"new"},type:"default",children:s("listing.add-column")})}),r.length>0&&(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(m4.J,{icon:{value:"close"},onClick:()=>{l()},type:"link",children:s("batch-edit.modal-footer.discard-all-changes")}),(0,tq.jsx)(az.$,{onClick:()=>{o.submit(),i(!1)},type:"primary",children:s("batch-edit.modal-footer.apply-changes")})]})]}),onCancel:()=>{i(!1),D()},open:t,size:"M",title:(0,tq.jsx)(p8.w,{children:s("batch-edit.modal-title")}),children:(0,tq.jsx)(tJ.lV,{form:o,onFinish:I,children:(0,tq.jsx)(S$,{})})})},SX=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tJ.lV,{layout:"vertical",...t,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("export-csv-form.form-field.delimiter"),name:"delimiter",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(ig.Input,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("export-csv-form.form-field.header"),name:"header",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:[{value:"name",label:i("export-csv-form.form-field.header.option.name")},{value:"title",label:i("export-csv-form.form-field.header.option.title")},{value:"no_header",label:i("export-csv-form.form-field.header.option.no-header")}]})})]})};var S0=i(74718),S1=i(66707);let{useExportDownloadCsvQuery:S2,useExportDeleteCsvMutation:S3,useExportCsvMutation:S6,useExportCsvFolderMutation:S4,useExportDownloadXlsxQuery:S5,useExportDeleteXlsxMutation:S7,useExportXlsxMutation:S8,useExportXlsxFolderMutation:S9}=pR.api.enhanceEndpoints({addTagTypes:["Export"]}).injectEndpoints({endpoints:e=>({exportDownloadCsv:e.query({query:e=>({url:`/pimcore-studio/api/export/download/csv/${e.jobRunId}`}),providesTags:["Export"]}),exportDeleteCsv:e.mutation({query:e=>({url:`/pimcore-studio/api/export/download/csv/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Export"]}),exportCsv:e.mutation({query:e=>({url:"/pimcore-studio/api/export/csv",method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportCsvFolder:e.mutation({query:e=>({url:"/pimcore-studio/api/export/csv/folder",method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportDownloadXlsx:e.query({query:e=>({url:`/pimcore-studio/api/export/download/xlsx/${e.jobRunId}`}),providesTags:["Export"]}),exportDeleteXlsx:e.mutation({query:e=>({url:`/pimcore-studio/api/export/download/xlsx/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Export"]}),exportXlsx:e.mutation({query:e=>({url:"/pimcore-studio/api/export/xlsx",method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportXlsxFolder:e.mutation({query:e=>({url:"/pimcore-studio/api/export/xlsx/folder",method:"POST",body:e.body}),invalidatesTags:["Export"]})}),overrideExisting:!1});var Ce=i(35747),Ct=i(2662);let Ci=e=>{let[t]=ni.Form.useForm(),i=(0,Ct.O)(),{id:n,elementType:r}=(0,iZ.J)(),{element:a}=(0,Sl.D)(n,r),[l,o]=(0,tG.useState)("Element"),[s,{isError:d,error:c}]=S6(),[f,{isError:u,error:m}]=S4(),{selectedRows:p}=(0,SC.U)(),g=void 0!==p?Object.keys(p).map(Number):[],{selectedColumns:h}=(0,S1.K)(),{useDataQueryHelper:y}=(0,SN.t)(),{getArgs:v}=y(),b=(0,Ce.p)(!0),x=null==b?void 0:b.selectedClassDefinition,{t:j}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{void 0!==a&&("filename"in a&&o(a.filename),"key"in a&&o(a.key))},[a]),(0,tG.useEffect)(()=>{d&&(0,iX.Ay)(new iX.hD(c))},[d]),(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(m))},[u]),(0,tq.jsx)(ig.Modal,{onCancel:()=>{e.setOpen(!1)},onOk:()=>{t.submit()},open:e.open,title:(0,tq.jsx)(p8.w,{iconName:"export",children:j("export-csv-form.modal-title")}),children:(0,tq.jsxs)(ig.Space,{direction:"vertical",size:10,style:{paddingTop:10},children:[(0,tq.jsx)(ig.Alert,{message:j("export-csv-form.export-notice"),showIcon:!0,type:"warning"}),(0,tq.jsx)(SX,{form:t,initialValues:{delimiter:";",header:"name"},onFinish:function(t){let n=new S0.w({title:j("jobs.csv-job.title",{title:l}),downloadUrl:`${(0,tD.$)()}/export/download/csv/{jobRunId}`,action:async()=>await w(t.delimiter,t.header)});i.runJob(n),e.setOpen(!1)}})]})});async function w(e,t){var i,a,l,o;let d=[];for(let e of(null==(a=v())||null==(i=a.body)?void 0:i.columns)??[])void 0!==h.find(t=>t.key===e.key)&&d.push({key:e.key,type:e.type,group:e.group,locale:e.locale,config:e.config});if(0===g.length){let i=(null==(o=v())||null==(l=o.body)?void 0:l.filters)??{};void 0!==i&&(delete i.page,delete i.pageSize);let a=f({body:{folders:[n],elementType:r,columns:d,config:{delimiter:e,header:t},filters:{...i},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await a).data.jobRunId}{let i=s({body:{elements:g,elementType:r,columns:d,config:{delimiter:e,header:t}}});return(await i).data.jobRunId}}},Cn=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(tJ.lV,{layout:"vertical",...t,children:(0,tq.jsx)(tJ.lV.Item,{label:i("export-xlsx-form.form-field.header"),name:"header",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:[{value:"name",label:i("export-xlsx-form.form-field.header.option.name")},{value:"title",label:i("export-xlsx-form.form-field.header.option.title")},{value:"no_header",label:i("export-xlsx-form.form-field.header.option.no-header")}]})})})},Cr=e=>{let[t]=ni.Form.useForm(),i=(0,Ct.O)(),{id:n,elementType:r}=(0,iZ.J)(),{element:a}=(0,Sl.D)(n,r),[l,o]=(0,tG.useState)("Element"),[s,{isError:d,error:c}]=S8(),[f,{isError:u,error:m}]=S9(),{selectedRows:p}=(0,SC.U)(),g=void 0!==p?Object.keys(p).map(Number):[],{selectedColumns:h}=(0,S1.K)(),{useDataQueryHelper:y}=(0,SN.t)(),{getArgs:v}=y(),b=(0,Ce.p)(!0),x=null==b?void 0:b.selectedClassDefinition,{t:j}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{void 0!==a&&("filename"in a&&o(a.filename),"key"in a&&o(a.key))},[a]),(0,tG.useEffect)(()=>{d&&(0,iX.Ay)(new iX.hD(c))},[d]),(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(m))},[u]),(0,tq.jsx)(ig.Modal,{onCancel:()=>{e.setOpen(!1)},onOk:()=>{t.submit()},open:e.open,title:(0,tq.jsx)(p8.w,{iconName:"export",children:j("export-xlsx-form.modal-title")}),children:(0,tq.jsxs)(ig.Space,{direction:"vertical",size:10,style:{paddingTop:10},children:[(0,tq.jsx)(ig.Alert,{message:j("export-xlsx-form.export-notice"),showIcon:!0,type:"warning"}),(0,tq.jsx)(Cn,{form:t,initialValues:{header:"name"},onFinish:function(t){let n=new S0.w({title:j("jobs.xlsx-job.title",{title:l}),downloadUrl:`${(0,tD.$)()}/export/download/xlsx/{jobRunId}`,action:async()=>await w(t.header)});i.runJob(n),e.setOpen(!1)}})]})});async function w(e){var t,i,a,l;let o=[];for(let e of(null==(i=v())||null==(t=i.body)?void 0:t.columns)??[])void 0!==h.find(t=>t.key===e.key)&&o.push({key:e.key,type:e.type,group:e.group,locale:e.locale,config:e.config});if(0===g.length){let t=(null==(l=v())||null==(a=l.body)?void 0:a.filters)??{};void 0!==t&&(delete t.page,delete t.pageSize);let i=f({body:{folders:[n],elementType:r,columns:o,config:{header:e},filters:{...t},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await i).data.jobRunId}{let t=s({body:{elements:g,elementType:r,columns:o,config:{header:e}}});return(await t).data.jobRunId}}};class Ca{async run(e){let{messageBus:t}=e;try{let i=await this.executeDeleteRequest();if((0,tI.isNil)(i))return void await this.handleJobFailure(Error("No jobRunId returned from delete request"));let n=new SU.j({jobRunId:i,title:this.title,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)}});t.registerHandler(n)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async handleCompletion(){void 0!==this.onFinish&&await this.onFinish()}async handleJobFailure(e){console.error("Batch delete job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.title=e.title,this.onFinish=e.onFinish}}class Cl extends Ca{async executeDeleteRequest(){var e;let t=await uk.M_.dispatch(kc.api.endpoints.assetBatchDelete.initiate({body:{ids:this.itemIds}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}}let Co=()=>{let e=(0,SA.S)(),{id:t,elementType:i}=(0,iZ.J)(),{useDataQueryHelper:n}=(0,SN.t)(),{getArgs:r}=n(),a=tc.kL.get(td.K.executionEngine),{refreshGrid:l}=(0,SW.X)(i),{createZipDownload:o}=(0,Tc.v)({type:"folder"}),{createZipDownload:s}=(0,Tc.v)({type:"asset-list"}),{data:d}=(0,kc.useAssetGetByIdQuery)({id:t}),[c,f]=(0,tG.useState)("Asset"),[u,m]=(0,tG.useState)(!1),[p,g]=(0,tG.useState)(!1),[h,y]=(0,tG.useState)(!1),{t:v}=(0,iQ.useTranslation)();if((0,tG.useEffect)(()=>{void 0!==d&&f(`${d.filename}`)},[d]),void 0===e)return(0,tq.jsx)(tq.Fragment,{});let{selectedRows:b,setSelectedRows:x}=e,j=void 0!==b?Object.keys(b).map(Number):[],w=void 0!==b&&Object.keys(b).length>0,k=async()=>{let e=new Cl({itemIds:j,title:v("batch-delete.job-title"),onFinish:async()=>{await l(),x({})}});await a.runJob(e)},T={items:[{key:"1",label:v("listing.actions.batch-edit"),icon:(0,tq.jsx)(r9.I,{value:"batch-selection"}),onClick:()=>{y(!0)}},{key:"2",label:v("listing.actions.export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),children:[{key:"2.1",label:v("listing.actions.csv-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{m(!0)}},{key:"2.2",label:v("listing.actions.xlsx-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{g(!0)}}]},{key:"3",label:v("listing.actions.zip-download"),icon:(0,tq.jsx)(r9.I,{value:"download"}),onClick:()=>{w?s({jobTitle:c,requestData:{body:{assets:j}}}):o({jobTitle:c,requestData:{body:{folders:[t],filters:{...r().body.filters??{}}}}})}},{key:"4",hidden:!w,label:v("listing.actions.delete"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),onClick:k}]};return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pu.m,{menu:T,children:(0,tq.jsx)(pf.g,{"data-testid":"listing-batch-actions-button",children:w?v("listing.actions"):v("listing.non-selected.actions")},"dropdown-button")}),(0,tq.jsx)(Ci,{open:u,setOpen:m}),(0,tq.jsx)(Cr,{open:p,setOpen:g}),(0,tq.jsx)(SV,{children:(0,tq.jsx)(SY,{batchEditModalOpen:h,setBatchEditModalOpen:y})})]})},Cs=()=>(0,tq.jsxs)(oI.B,{size:"mini",children:[(0,tq.jsx)(hP.B,{}),(0,tq.jsx)(Co,{})]}),Cd=()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.asset.listing.toolbar.left.name})}),(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.asset.listing.toolbar.right.name})})]});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.asset.listing.toolbar.component.name,component:Cd}),e.registerToSlot(tu.eb.asset.listing.toolbar.left.name,{name:"batch-actions",component:Cs}),e.registerToSlot(tu.eb.asset.listing.toolbar.right.name,{name:"pagination",component:SP});let t=tc.kL.get(td.K["Asset/Listing/Builder"]);t.addDecorator({name:"dynamicType",decorator:SE}),t.addDecorator({name:"actionColumn",decorator:ST._}),t.addDecorator({name:"globalContext",decorator:SL}),t.addDecorator({name:"sorting",decorator:hT.Y}),t.addDecorator({name:"paging",decorator:hk.S}),t.addDecorator({name:"columnConfiguration",decorator:Sj.y});let i={useInlineEditApiUpdate:SF.C};t.addDecorator({name:"inlineEdit",decorator:Sk.P,config:i}),t.addDecorator({name:"rowSelection",decorator:Sw.Y,config:{rowSelectionMode:"multiple"}}),t.addDecorator({name:"contextMenu",decorator:SS.y}),t.addDecorator({name:"tagFilter",decorator:hv.A}),t.addDecorator({name:"generalFilters",decorator:hw.p})}});var Cc=i(41989),Cf=i(93121),Cu=i(56292),Cm=i(63186);let Cp=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cm.s,{...e,label:t("asset.asset-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})};var Cg=i(16907),Ch=i(27202),Cy=i(42992),Cv=i(62284),Cb=i(59385),Cx=i(70916);let Cj=()=>{let{treeId:e}=(0,Cx.z)(),t=(0,Cv.useStore)();return{isSourceAllowed:i=>{var n;if(!(0,TS.o)(i.permissions,"settings")||i.isLocked)return!1;let r=t.getState(),a=(0,Cb.selectNodeState)(r,e,i.id.toString());return!(null==a||null==(n=a.treeNodeProps)?void 0:n.isLocked)},isTargetAllowed:e=>(0,TS.o)(e.permissions,"create")}};var Cw=i(16327),Ck=i(23050),CT=i(7433),CS=i(39803),CC=i(5743);let CD=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{dragger:i`
+ `}},{hashPriority:"low"});var St=i(19675),Si=i(90056);let Sn=()=>{let{openModal:e,setTriggeredWorkflowAction:t}=(0,Si.j)(),{submitWorkflowAction:i,submissionLoading:n}=(0,St.d)();return{triggerAction:n=>{var r;t(n),(null==(r=n.notes)?void 0:r.commentEnabled)===!0?e():i(n)},submissionLoading:n}},Sr=e=>{let{workflow:t}=e,{triggerAction:i,submissionLoading:n}=Sn(),r=T9(t),{styles:a}=Se(),{t:l}=(0,iQ.useTranslation)();return n?(0,tq.jsx)(az.$,{loading:n,type:"link"}):(0,tq.jsx)("div",{children:r.map(e=>(0,tq.jsx)(az.$,{className:`${a.button}`,onClick:()=>{i(e)},type:"text",children:l(e.label)}))})},Sa=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=tU().useState([]),{workflowDetailsData:n,isFetchingWorkflowDetails:r}=(0,Si.j)();return(0,tG.useEffect)(()=>{(null==n?void 0:n.items)!==void 0&&n.items.length>0&&i(n.items.flatMap(t=>{var i;let r=[];return r.push({key:(((null==n||null==(i=n.items)?void 0:i.length)??0)+1).toString(),type:"custom",component:(0,tq.jsx)(Sr,{workflow:t})}),{key:t.workflowName,type:"group",label:e(t.workflowLabel),children:r}}))},[n]),(0,tq.jsxs)(ap.s,{align:"center",justify:"flex-end",children:[(0,tq.jsx)(T5.L,{itemGap:"extra-small",list:(null==n?void 0:n.items)!==void 0&&n.items.length>0?[n.items.reduce((t,i)=>(i.workflowStatus.forEach(i=>{if(void 0!==i.visibleInDetail&&i.visibleInDetail){let n=i.colorInverted?{backgroundColor:`${i.color}33`}:{},r={children:e(`${i.label}`),icon:(0,tq.jsx)(T7.E,{color:i.color}),style:n};t.push(r)}}),t),[])]:[[]],wrap:!1}),void 0!==n&&(0,tq.jsx)(pu.m,{disabled:r,menu:{items:t},children:(0,tq.jsx)(pf.g,{children:(0,tq.jsx)(r9.I,{options:{height:16,width:16},value:"workflow"})})})]})};var Sl=i(33142);let So=function(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],[n,{isLoading:r,isSuccess:a,isError:l,error:o}]=(0,iY.Jj)(),[s,d]=(0,tG.useState)(!1),{element:c,schedules:f,resetSchedulesChanges:u}=(0,Sl.D)(t,e),m=(0,uI.J)(),{t:p}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{s&&(i&&m.success(p("save-success")),u())},[s]),(0,tG.useEffect)(()=>{d(a)},[a]),(0,tG.useEffect)(()=>{l&&i&&m.error(p("save-failed"))},[l]),{isLoading:r,isSuccess:s,isError:l,error:o,saveSchedules:async()=>{(null==c?void 0:c.changes.schedules)===void 0?d(!0):await n({elementType:e,id:t,body:{items:null==f?void 0:f.map(e=>({id:e.id>0?e.id:null,date:e.date,action:e.action,version:e.version,active:e.active}))}})}}};var Ss=i(60124),Sd=i(3416);let Sc=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,iZ.J)(),{asset:i,properties:n,removeTrackedChanges:r,customMetadata:a,customSettings:l,imageSettings:o,textData:s}=(0,ks.l)(t),[d,{isLoading:c,isSuccess:f,isError:u,error:m}]=(0,kc.useAssetUpdateByIdMutation)(),{saveSchedules:p,isLoading:g,isSuccess:h,isError:y,error:v}=So("asset",t,!1),b=(0,uI.J)();return(0,tG.useEffect)(()=>{(async()=>{f&&h&&(r(),await b.success(e("save-success")))})().catch(e=>{console.error(e)})},[f,h]),(0,tG.useEffect)(()=>{u&&!(0,tI.isNil)(m)?(0,iX.Ay)(new iX.hD(m)):y&&!(0,tI.isNil)(v)&&(0,iX.Ay)(new iX.hD(v))},[u,y,m,v]),(0,m9.Z)(async()=>{null!=i&&(0,TS.o)(i.permissions,"publish")&&x()},"publish"),(0,m9.Z)(async()=>{null!=i&&(0,TS.o)(i.permissions,"publish")&&x()},"save"),(0,tq.jsx)(tq.Fragment,{children:(0,TS.o)(null==i?void 0:i.permissions,"publish")&&(0,tq.jsx)(az.$,{disabled:c||g,loading:c||g,onClick:x,type:"primary",children:e((null==i?void 0:i.type)==="folder"?"toolbar.save":"toolbar.save-and-publish")})});function x(){if((null==i?void 0:i.changes)===void 0)return;let e={};if(i.changes.properties){let t=null==n?void 0:n.map(e=>{let{rowId:t,...i}=e;if("object"==typeof i.data){var n;return{...i,data:(null==i||null==(n=i.data)?void 0:n.id)??null}}return i});e.properties=null==t?void 0:t.filter(e=>!e.inherited)}i.changes.customMetadata&&(e.metadata=null==a?void 0:a.map(e=>{let{rowId:t,...i}=e;return i.type.startsWith("metadata.")&&(i.type=i.type.replace("metadata.","")),null===i.data&&(("input"===i.type||"textarea"===i.type)&&(i.data=""),"checkbox"===i.type&&(i.data=!1)),i})),i.changes.customSettings&&(e.customSettings=l),i.changes.imageSettings&&(e.image=o),i.changes.textData&&(e.data=s);let r=tc.kL.get(td.K["Asset/ProcessorRegistry/SaveDataProcessor"]),c=new dn.r(t,e);r.executeProcessors(c),Promise.all([d({id:t,body:{data:{...e}}}).then(i=>{if(void 0===i.error){let n={identifier:{type:Sd.m["asset:editor:post-update"],id:String(t)},payload:{id:t,updatedData:e,responseData:i.data}};Ss.B.publish(n)}return i}),p()]).catch(e=>{console.log(e)})}};var Sf=i(11324),Su=i(27918),Sm=i(61923),Sp=i(83547),Sg=i(3257),Sh=i(69634);let Sy=()=>(0,tq.jsx)(pc.M,{children:(0,tq.jsxs)(Sp.F,{children:[(0,tq.jsx)(ap.s,{children:(0,tq.jsx)(Sh.Y,{slot:yl.e.asset.editor.toolbar.slots.left.name})}),(0,tq.jsx)(ap.s,{style:{height:"32px"},vertical:!1,children:(0,tq.jsx)(Sh.Y,{slot:yl.e.asset.editor.toolbar.slots.right.name})}),(0,tq.jsx)(Sg.x,{})]})});var Sv=i(78524),Sb=i(17236);let Sx=e=>{let{id:t}=e,{isLoading:i,isError:n,asset:r,editorType:a,activeTab:l}=(0,ks.l)(t),o=(0,Sf.P)(),{setContext:s,removeContext:d}=(0,Su.k)();return((0,tG.useEffect)(()=>()=>{d()},[]),(0,tG.useEffect)(()=>(o&&s({id:t,...!(0,tI.isNil)(r)&&{contextIdentifiers:(0,Sb.R9)(r,l===kS.h.key)}}),()=>{o||d()}),[o,l,r]),i)?(0,tq.jsx)(uE.U,{loading:!0}):n?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)(kY.F,{message:"Error: Loading of asset failed",type:"error"})}):void 0===r||void 0===a?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(Tw.AssetProvider,{id:t,children:(0,tq.jsx)(Sv.F,{dataTestId:`asset-editor-${(0,pi.Gc)(t)}`,renderTabbar:(0,tq.jsx)(Sm.a,{elementEditorType:a}),renderToolbar:(0,tq.jsx)(Sy,{})})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Asset/Editor/TypeRegistry"]);e.register({name:"image",tabManagerServiceId:"Asset/Editor/ImageTabManager"}),e.register({name:"video",tabManagerServiceId:"Asset/Editor/VideoTabManager"}),e.register({name:"audio",tabManagerServiceId:"Asset/Editor/AudioTabManager"}),e.register({name:"document",tabManagerServiceId:"Asset/Editor/DocumentTabManager"}),e.register({name:"text",tabManagerServiceId:"Asset/Editor/TextTabManager"}),e.register({name:"folder",tabManagerServiceId:"Asset/Editor/FolderTabManager"}),e.register({name:"archive",tabManagerServiceId:"Asset/Editor/ArchiveTabManager"}),e.register({name:"unknown",tabManagerServiceId:"Asset/Editor/UnknownTabManager"}),tc.kL.get(td.K.widgetManager).registerWidget(Tk);let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.register({name:yl.e.asset.editor.container.name,component:Sx}),t.register({name:yl.e.asset.editor.tab.embeddedMetadata.name,component:T3}),t.register({name:yl.e.asset.editor.tab.customMetadata.name,component:TL}),t.register({name:yl.e.asset.editor.tab.versions.name,component:T2}),t.registerToSlot("asset.editor.toolbar.slots.left",{name:"contextMenu",priority:100,component:T4}),t.registerToSlot("asset.editor.toolbar.slots.right",{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot("asset.editor.toolbar.slots.right",{name:"saveButton",priority:200,component:Sc})}});var Sj=i(72681),Sw=i(56177),Sk=i(50744),ST=i(1947),SS=i(36490),SC=i(53894),SD=i(85566),SI=i(79246);let SM=()=>{let{data:e}=(0,hD.E)(),{selectedRows:t}=(0,SC.U)(),{elementType:i}=(0,dR.useElementContext)();return(e=>{let{data:t,selectedRows:i,elementType:n}=e,{context:r,setContext:a}=(0,SD.L)(),{context:l,setContext:o}=(0,Su.k)(),{context:s,setContext:d}=(0,SI.v)(),c=(0,tG.useMemo)(()=>(0,tI.isNil)(i)?[]:Object.keys(i).map(Number),[i]);(0,tG.useEffect)(()=>{var e;if((0,a3.Po)(t))return;let{context:i,setContext:f}=(()=>{switch(n){case sE.W.dataObject:return{context:r,setContext:a};case sE.W.asset:return{context:l,setContext:o};case sE.W.document:return{context:s,setContext:d};default:return{context:r,setContext:a}}})();if((0,tI.isNil)(i))return;let u=null==i||null==(e=i.config)?void 0:e.contextIdentifiers;if(!(0,tI.isObject)(u)||(0,tI.isNull)(u)||!("type"in u)||!("subType"in u)||!("tags"in u))return;let m=(null==u?void 0:u.tags)??[],p=null==u?void 0:u.tags.filter(e=>!e.includes("_selection"));if((0,tI.isEmpty)(c)&&!(0,tI.isNil)(i)&&m.length>p.length)return void f({id:i.config.id,contextIdentifiers:{...u,tags:p}});if(!(0,tI.isEmpty)(c)){let e=[],r=[];if(c.forEach(i=>{let a=(e=>{let t=(0,tI.get)((0,tI.find)(null==e?void 0:e.columns,{key:"type"}),"value"),i=(0,tI.get)((0,tI.find)(null==e?void 0:e.columns,{key:"classname"}),"value");switch(n){case sE.W.dataObject:return(0,a3.Po)(i)?null:`${Sb.v1}_${i}_selection`.toLowerCase();case sE.W.asset:return(0,a3.Po)(t)?null:`${Sb.W4}_${t}_selection`.toLowerCase();case sE.W.document:return(0,a3.Po)(t)?null:`${Sb.fy}_${t}_selection`.toLowerCase();default:return null}})(null==t?void 0:t.find(e=>e.id===i));e.push({id:i,type:null==u?void 0:u.type}),(0,tI.isNull)(a)||r.push(a)}),r.length>0){let t=null==u?void 0:u.tags.filter(e=>!e.endsWith("_selection")),n=(0,tI.uniq)([...t,...r]),a=(0,tI.isEqual)(u.tags,r),l=(0,tI.isEqual)(u.selectedElements,e);a||l||(0,tI.isNil)(i)||f({id:i.config.id,contextIdentifiers:{...u,tags:n,selectedElements:e}})}}},[t,c,n])})({data:null==e?void 0:e.items,selectedRows:t,elementType:i}),(0,tq.jsx)(tq.Fragment,{})},SL=e=>{let{ViewComponent:t}={...e};return{...e,ViewComponent:()=>{let{data:e}=(0,hD.E)();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(t,{}),void 0!==e&&(0,tq.jsx)(SM,{})]})}}};var SF=i(56993);let SE=e=>{let{ContextComponent:t,...i}=e;return{...i,ContextComponent:()=>(0,tq.jsx)(dR.DynamicTypeRegistryProvider,{serviceIds:["DynamicTypes/GridCellRegistry","DynamicTypes/MetadataRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(t,{})})}},SP=()=>(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]});var SA=i(52185),SN=i(8412);let SR=(0,tG.createContext)({batchEdits:[],setBatchEdits:()=>{}}),SV=e=>{let{children:t}=e,[i,n]=(0,tG.useState)([]);return(0,tG.useMemo)(()=>(0,tq.jsx)(SR.Provider,{value:{batchEdits:i,setBatchEdits:n},children:t}),[i,t])};var Sz=i(23558),SB=i(66634);let SO=()=>{let{batchEdits:e,setBatchEdits:t}=(0,tG.useContext)(SR);return{batchEdits:e,setBatchEdits:t,updateLocale:(i,n)=>{t(e.map(e=>e.key===i?{...e,locale:n}:e))},resetBatchEdits:()=>{t([])},removeBatchEdit:i=>{t(e.filter(e=>e.key!==i))},addOrUpdateBatchEdit:i=>{let n=[...e],r=e.findIndex(e=>e.key===i.key);-1!==r?n[r]=i:n.push(i),t(n)}}};var SK=i(32773),S_=i(68901);let SH=e=>{let{batchEdit:t}=e,{frontendType:i,type:n}=t,{getComponentRenderer:r}=(0,ih.R)(),{ComponentRenderer:a}=r({dynamicTypeIds:[n,i],target:"BATCH_EDIT"});return null===a?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:a({batchEdit:t})})},S$=()=>{let{batchEdits:e,removeBatchEdit:t}=SO(),{updateLocale:i}=SO(),n=["-",...(0,p3.t)().requiredLanguages],r=e.map(e=>{let r=e.locale??"-";return{id:e.key,children:(0,tq.jsx)(ig.Tag,{children:(0,i6.t)(`${e.key}`)}),renderRightToolbar:(0,tq.jsx)(TM.e,{items:[...e.localizable?[(0,tq.jsx)(S_.v,{languages:n,onSelectLanguage:t=>{i(e.key,(0,S_.z)(t))},selectedLanguage:r},"language-selection")]:[],(0,tq.jsx)(lp.K,{icon:{value:"close"},onClick:()=>{t(e.key)}},"remove")]}),body:(0,tq.jsx)(SH,{batchEdit:e})}});return(0,tq.jsxs)(tq.Fragment,{children:[0===r.length&&(0,tq.jsx)(he.R,{text:(0,i6.t)("batch-edit.no-content")}),r.length>0&&(0,tq.jsx)(SK.N,{items:r})]})};var SW=i(62786);let Sq=(e,t,i)=>e.map(e=>{let n,r,a;if(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children)){let n=Sq(e.children,t,i);return{...e,children:n}}return(n=!0===e.editable,r=t.some(t=>{var i,n;let r,a,l;return e.key===t.key&&(i=e.group,n=t.group,a=(r=e=>"string"==typeof e?e.split("."):Array.isArray(e)?e.flat().map(e=>String(e)):[String(e)])(i),l=r(n),a.length===l.length&&a.every((e,t)=>e===l[t]))}),a=i({target:"BATCH_EDIT",dynamicTypeIds:[null==e?void 0:e.frontendType]}),n&&a&&!r)?e:null}).filter(e=>null!==e&&(!("children"in e&&void 0!==e.children&&Array.isArray(e.children))||e.children.length>0)),SG=e=>e.some(e=>!(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children))||SG(e.children));var SU=i(82763);class SQ{async run(e){let{messageBus:t}=e;try{let i=await this.executeEditRequest();if((0,tI.isNil)(i))return void await this.handleJobFailure(Error("No jobRunId returned from edit request"));let n=this.createHandler({jobRunId:i,title:this.title,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)},onCustomizeButtons:e=>{let t={label:(0,i6.t)("jobs.job.button-reload"),handler:async()=>{await this.refreshGrid()}};e.addSuccessButton(t),e.addFinishedWithErrorsButton(t)}});t.registerHandler(n)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}createHandler(e){return new SU.j(e)}async handleCompletion(){void 0!==this.onFinish&&await this.onFinish()}async handleJobFailure(e){console.error("Batch edit job failed:",e)}constructor(e){this.title=e.title,this.assetContextId=e.assetContextId,this.onFinish=e.onFinish,this.refreshGrid=e.refreshGrid}}class SJ extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchAssets({body:{data:this.selectedRowsIds.map(e=>({id:e,metadata:this.patches}))}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchAssets=e.patchAssets,this.selectedRowsIds=e.selectedRowsIds,this.patches=e.patches}}var SZ=i(42523),SY=i(25548);class SX extends SQ{createHandler(e){return new SU.j({...e,stepDescriptions:{1:"jobs.job.step.batch-edit.preparing",2:"jobs.job.step.batch-edit.applying"},stepTracker:new SY.m({showStepLabel:!0}),progressCalculator:new SZ.a})}}class S0 extends SX{async executeEditRequest(){var e;return(null==(e=(await this.patchAssetsInFolder({id:this.folderId,body:{data:{metadata:this.patches},filters:this.filters}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchAssetsInFolder=e.patchAssetsInFolder,this.folderId=e.folderId,this.patches=e.patches,this.filters=e.filters}}let S1=e=>{let{batchEditModalOpen:t,setBatchEditModalOpen:i}=e,{getAvailableColumnsDropdown:n}=(0,SB.m)(),{batchEdits:r,addOrUpdateBatchEdit:a,resetBatchEdits:l}=SO(),[o]=tJ.lV.useForm(),{t:s}=(0,iQ.useTranslation)(),[d,{isError:c,isSuccess:f,error:u}]=(0,kc.useAssetPatchByIdMutation)(),[m,{isError:p,isSuccess:g,error:h}]=(0,kc.useAssetPatchFolderByIdMutation)(),{selectedRows:y}=(0,SC.U)(),v=Object.keys(y??{}).map(Number),b=v.length,x=tc.kL.get(td.K.executionEngine),{id:j,elementType:w}=(0,iZ.J)(),{useDataQueryHelper:k}=(0,SN.t)(),{getArgs:T}=k(),{hasType:S}=(0,ih.R)(),{refreshGrid:C}=(0,SW.X)(w),D=()=>{l(),o.resetFields()};(0,tG.useEffect)(()=>{(f||g)&&(i(!1),D()),1===b&&kc.api.util.invalidateTags(uT.qN.ASSET_GRID_ID(v[0]))},[f,g]),(0,tG.useEffect)(()=>{c&&(0,iX.Ay)(new iX.hD(u)),p&&(0,iX.Ay)(new iX.hD(h))},[c,g]);let I=async e=>{var t,i;let n=r.map(t=>({name:t.key,language:t.locale??null,data:e[t.key],type:t.type})),a=(null==(i=T())||null==(t=i.body)?void 0:t.filters)??{};if(delete a.page,delete a.pageSize,0===b){let e=new S0({title:s("batch-edit.job-title"),patchAssetsInFolder:m,folderId:j,patches:n,filters:a,assetContextId:j,refreshGrid:C});await x.runJob(e)}else if(1===b)await d({body:{data:[{id:v[0],metadata:n}]}});else{let e=new SJ({title:s("batch-edit.job-title"),patchAssets:d,selectedRowsIds:v,patches:n,assetContextId:j,refreshGrid:C});await x.runJob(e)}},M=n(e=>{let t=e.locale??null;a({...e,locale:t})}).menu.items,L=(0,tG.useMemo)(()=>()=>(0,tI.isUndefined)(M)?[]:Sq(M,r,S),[M,r,S]),F=!SG(L());return(0,tq.jsx)(Sz.m,{afterClose:()=>{D()},footer:(0,tq.jsxs)(p9.j,{divider:!0,justify:"space-between",children:[(0,tq.jsx)(pu.m,{menu:{items:L()},children:(0,tq.jsx)(m4.J,{disabled:F,icon:{value:"new"},type:"default",children:s("listing.add-column")})}),r.length>0&&(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(m4.J,{icon:{value:"close"},onClick:()=>{l()},type:"link",children:s("batch-edit.modal-footer.discard-all-changes")}),(0,tq.jsx)(az.$,{onClick:()=>{o.submit(),i(!1)},type:"primary",children:s("batch-edit.modal-footer.apply-changes")})]})]}),onCancel:()=>{i(!1),D()},open:t,size:"M",title:(0,tq.jsx)(p8.w,{children:s("batch-edit.modal-title")}),children:(0,tq.jsx)(tJ.lV,{form:o,onFinish:I,children:(0,tq.jsx)(S$,{})})})},S2=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tJ.lV,{layout:"vertical",...t,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("export-csv-form.form-field.delimiter"),name:"delimiter",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(ig.Input,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("export-csv-form.form-field.header"),name:"header",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:[{value:"name",label:i("export-csv-form.form-field.header.option.name")},{value:"title",label:i("export-csv-form.form-field.header.option.title")},{value:"no_header",label:i("export-csv-form.form-field.header.option.no-header")}]})})]})};var S3=i(74718),S6=i(66707);let{useExportDownloadCsvQuery:S4,useExportDeleteCsvMutation:S5,useExportCsvMutation:S7,useExportCsvFolderMutation:S8,useExportDownloadXlsxQuery:S9,useExportDeleteXlsxMutation:Ce,useExportXlsxMutation:Ct,useExportXlsxFolderMutation:Ci}=pR.api.enhanceEndpoints({addTagTypes:["Export"]}).injectEndpoints({endpoints:e=>({exportDownloadCsv:e.query({query:e=>({url:`/pimcore-studio/api/export/download/csv/${e.jobRunId}`}),providesTags:["Export"]}),exportDeleteCsv:e.mutation({query:e=>({url:`/pimcore-studio/api/export/download/csv/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Export"]}),exportCsv:e.mutation({query:e=>({url:"/pimcore-studio/api/export/csv",method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportCsvFolder:e.mutation({query:e=>({url:`/pimcore-studio/api/export/csv/folder/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportDownloadXlsx:e.query({query:e=>({url:`/pimcore-studio/api/export/download/xlsx/${e.jobRunId}`}),providesTags:["Export"]}),exportDeleteXlsx:e.mutation({query:e=>({url:`/pimcore-studio/api/export/download/xlsx/${e.jobRunId}`,method:"DELETE"}),invalidatesTags:["Export"]}),exportXlsx:e.mutation({query:e=>({url:"/pimcore-studio/api/export/xlsx",method:"POST",body:e.body}),invalidatesTags:["Export"]}),exportXlsxFolder:e.mutation({query:e=>({url:`/pimcore-studio/api/export/xlsx/folder/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Export"]})}),overrideExisting:!1});var Cn=i(35747),Cr=i(2662);let Ca=e=>{let[t]=ni.Form.useForm(),i=(0,Cr.O)(),{id:n,elementType:r}=(0,iZ.J)(),{element:a}=(0,Sl.D)(n,r),[l,o]=(0,tG.useState)("Element"),[s,{isError:d,error:c}]=S7(),[f,{isError:u,error:m}]=S8(),{selectedRows:p}=(0,SC.U)(),g=void 0!==p?Object.keys(p).map(Number):[],{selectedColumns:h}=(0,S6.K)(),{useDataQueryHelper:y}=(0,SN.t)(),{getArgs:v}=y(),b=(0,Cn.p)(!0),x=null==b?void 0:b.selectedClassDefinition,{t:j}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{void 0!==a&&("filename"in a&&o(a.filename),"key"in a&&o(a.key))},[a]),(0,tG.useEffect)(()=>{d&&(0,iX.Ay)(new iX.hD(c))},[d]),(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(m))},[u]),(0,tq.jsx)(ig.Modal,{onCancel:()=>{e.setOpen(!1)},onOk:()=>{t.submit()},open:e.open,title:(0,tq.jsx)(p8.w,{iconName:"export",children:j("export-csv-form.modal-title")}),children:(0,tq.jsxs)(ig.Space,{direction:"vertical",size:10,style:{paddingTop:10},children:[(0,tq.jsx)(ig.Alert,{message:j("export-csv-form.export-notice"),showIcon:!0,type:"warning"}),(0,tq.jsx)(S2,{form:t,initialValues:{delimiter:";",header:"name"},onFinish:function(t){let n=new S3.w({title:j("jobs.csv-job.title",{title:l}),downloadUrl:`${(0,tD.$)()}/export/download/csv/{jobRunId}`,action:async()=>await w(t.delimiter,t.header),...0===g.length&&{hasChildJob:!0}});i.runJob(n),e.setOpen(!1)}})]})});async function w(e,t){var i,a,l,o;let d=[];for(let e of(null==(a=v())||null==(i=a.body)?void 0:i.columns)??[])void 0!==h.find(t=>t.key===e.key)&&d.push({key:e.key,type:e.type,group:e.group,locale:e.locale,config:e.config});if(0===g.length){let i=(null==(o=v())||null==(l=o.body)?void 0:l.filters)??{};void 0!==i&&(delete i.page,delete i.pageSize);let a=f({id:n,body:{elementType:r,columns:d,config:{delimiter:e,header:t},filters:{...i},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await a).data.jobRunId}{let i=s({body:{elements:g,elementType:r,columns:d,config:{delimiter:e,header:t},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await i).data.jobRunId}}},Cl=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(tJ.lV,{layout:"vertical",...t,children:(0,tq.jsx)(tJ.lV.Item,{label:i("export-xlsx-form.form-field.header"),name:"header",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:[{value:"name",label:i("export-xlsx-form.form-field.header.option.name")},{value:"title",label:i("export-xlsx-form.form-field.header.option.title")},{value:"no_header",label:i("export-xlsx-form.form-field.header.option.no-header")}]})})})},Co=e=>{let[t]=ni.Form.useForm(),i=(0,Cr.O)(),{id:n,elementType:r}=(0,iZ.J)(),{element:a}=(0,Sl.D)(n,r),[l,o]=(0,tG.useState)("Element"),[s,{isError:d,error:c}]=Ct(),[f,{isError:u,error:m}]=Ci(),{selectedRows:p}=(0,SC.U)(),g=void 0!==p?Object.keys(p).map(Number):[],{selectedColumns:h}=(0,S6.K)(),{useDataQueryHelper:y}=(0,SN.t)(),{getArgs:v}=y(),b=(0,Cn.p)(!0),x=null==b?void 0:b.selectedClassDefinition,{t:j}=(0,iQ.useTranslation)();return(0,tG.useEffect)(()=>{void 0!==a&&("filename"in a&&o(a.filename),"key"in a&&o(a.key))},[a]),(0,tG.useEffect)(()=>{d&&(0,iX.Ay)(new iX.hD(c))},[d]),(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(m))},[u]),(0,tq.jsx)(ig.Modal,{onCancel:()=>{e.setOpen(!1)},onOk:()=>{t.submit()},open:e.open,title:(0,tq.jsx)(p8.w,{iconName:"export",children:j("export-xlsx-form.modal-title")}),children:(0,tq.jsxs)(ig.Space,{direction:"vertical",size:10,style:{paddingTop:10},children:[(0,tq.jsx)(ig.Alert,{message:j("export-xlsx-form.export-notice"),showIcon:!0,type:"warning"}),(0,tq.jsx)(Cl,{form:t,initialValues:{header:"name"},onFinish:function(t){let n=new S3.w({title:j("jobs.xlsx-job.title",{title:l}),downloadUrl:`${(0,tD.$)()}/export/download/xlsx/{jobRunId}`,action:async()=>await w(t.header),...0===g.length&&{hasChildJob:!0}});i.runJob(n),e.setOpen(!1)}})]})});async function w(e){var t,i,a,l;let o=[];for(let e of(null==(i=v())||null==(t=i.body)?void 0:t.columns)??[])void 0!==h.find(t=>t.key===e.key)&&o.push({key:e.key,type:e.type,group:e.group,locale:e.locale,config:e.config});if(0===g.length){let t=(null==(l=v())||null==(a=l.body)?void 0:a.filters)??{};void 0!==t&&(delete t.page,delete t.pageSize);let i=f({id:n,body:{elementType:r,columns:o,config:{header:e},filters:{...t},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await i).data.jobRunId}{let t=s({body:{elements:g,elementType:r,columns:o,config:{header:e},...!(0,tI.isNil)(null==x?void 0:x.id)&&{classId:x.id}}});return(await t).data.jobRunId}}};var Cs=i(67282);class Cd{async run(e){let{messageBus:t}=e;try{let i=await this.executeDeleteRequest();if((0,tI.isNil)(i))return void await this.handleJobFailure(Error("No jobRunId returned from delete request"));let n=new SU.j({jobRunId:i,title:this.title,progressCalculator:new Cs.j,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)}});t.registerHandler(n)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async handleCompletion(){void 0!==this.onFinish&&await this.onFinish()}async handleJobFailure(e){console.error("Batch delete job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.title=e.title,this.onFinish=e.onFinish}}class Cc extends Cd{async executeDeleteRequest(){var e;let t=await uk.M_.dispatch(kc.api.endpoints.assetBatchDelete.initiate({body:{ids:this.itemIds}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}}let Cf=()=>{let e=(0,SA.S)(),{id:t,elementType:i}=(0,iZ.J)(),{useDataQueryHelper:n}=(0,SN.t)(),{getArgs:r}=n(),a=tc.kL.get(td.K.executionEngine),{refreshGrid:l}=(0,SW.X)(i),{createZipDownload:o}=(0,Tc.v)({type:"folder"}),{createZipDownload:s}=(0,Tc.v)({type:"asset-list"}),{data:d}=(0,kc.useAssetGetByIdQuery)({id:t}),[c,f]=(0,tG.useState)("Asset"),[u,m]=(0,tG.useState)(!1),[p,g]=(0,tG.useState)(!1),[h,y]=(0,tG.useState)(!1),{t:v}=(0,iQ.useTranslation)();if((0,tG.useEffect)(()=>{void 0!==d&&f(`${d.filename}`)},[d]),void 0===e)return(0,tq.jsx)(tq.Fragment,{});let{selectedRows:b,setSelectedRows:x}=e,j=void 0!==b?Object.keys(b).map(Number):[],w=void 0!==b&&Object.keys(b).length>0,k=async()=>{let e=new Cc({itemIds:j,title:v("batch-delete.job-title"),onFinish:async()=>{await l(),x({})}});await a.runJob(e)},T={items:[{key:"1",label:v("listing.actions.batch-edit"),icon:(0,tq.jsx)(r9.I,{value:"batch-selection"}),onClick:()=>{y(!0)}},{key:"2",label:v("listing.actions.export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),children:[{key:"2.1",label:v("listing.actions.csv-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{m(!0)}},{key:"2.2",label:v("listing.actions.xlsx-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{g(!0)}}]},{key:"3",label:v("listing.actions.zip-download"),icon:(0,tq.jsx)(r9.I,{value:"download"}),onClick:()=>{w?s({jobTitle:c,requestData:{body:{assets:j}}}):o({jobTitle:c,requestData:{body:{folders:[t],filters:{...r().body.filters??{}}}}})}},{key:"4",hidden:!w,label:v("listing.actions.delete"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),onClick:k}]};return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pu.m,{menu:T,children:(0,tq.jsx)(pf.g,{"data-testid":"listing-batch-actions-button",children:w?v("listing.actions"):v("listing.non-selected.actions")},"dropdown-button")}),(0,tq.jsx)(Ca,{open:u,setOpen:m}),(0,tq.jsx)(Co,{open:p,setOpen:g}),(0,tq.jsx)(SV,{children:(0,tq.jsx)(S1,{batchEditModalOpen:h,setBatchEditModalOpen:y})})]})},Cu=()=>(0,tq.jsxs)(oI.B,{size:"mini",children:[(0,tq.jsx)(hP.B,{}),(0,tq.jsx)(Cf,{})]}),Cm=()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.asset.listing.toolbar.left.name})}),(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.asset.listing.toolbar.right.name})})]});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.asset.listing.toolbar.component.name,component:Cm}),e.registerToSlot(tu.eb.asset.listing.toolbar.left.name,{name:"batch-actions",component:Cu}),e.registerToSlot(tu.eb.asset.listing.toolbar.right.name,{name:"pagination",component:SP});let t=tc.kL.get(td.K["Asset/Listing/Builder"]);t.addDecorator({name:"dynamicType",decorator:SE}),t.addDecorator({name:"actionColumn",decorator:ST._}),t.addDecorator({name:"globalContext",decorator:SL}),t.addDecorator({name:"sorting",decorator:hT.Y}),t.addDecorator({name:"paging",decorator:hk.S}),t.addDecorator({name:"columnConfiguration",decorator:Sj.y});let i={useInlineEditApiUpdate:SF.C};t.addDecorator({name:"inlineEdit",decorator:Sk.P,config:i}),t.addDecorator({name:"rowSelection",decorator:Sw.Y,config:{rowSelectionMode:"multiple"}}),t.addDecorator({name:"contextMenu",decorator:SS.y}),t.addDecorator({name:"tagFilter",decorator:hv.A}),t.addDecorator({name:"generalFilters",decorator:hw.p})}});var Cp=i(41989),Cg=i(93121),Ch=i(56292),Cy=i(63186);let Cv=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cy.s,{...e,label:t("asset.asset-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})};var Cb=i(16907),Cx=i(27202),Cj=i(42992),Cw=i(62284),Ck=i(59385),CT=i(70916);let CS=()=>{let{treeId:e}=(0,CT.z)(),t=(0,Cw.useStore)();return{isSourceAllowed:i=>{var n;if(!(0,TS.o)(i.permissions,"settings")||i.isLocked)return!1;let r=t.getState(),a=(0,Ck.selectNodeState)(r,e,i.id.toString());return!(null==a||null==(n=a.treeNodeProps)?void 0:n.isLocked)},isTargetAllowed:e=>(0,TS.o)(e.permissions,"create")}};var CC=i(16327),CD=i(23050),CI=i(7433),CM=i(39803),CL=i(5743);let CF=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{dragger:i`
.ant-upload {
padding: 0 !important;
background: none;
@@ -825,7 +825,7 @@
width: 100%;
}
}
- `}});var CI=i(82740),CM=i(99050);let CL=e=>{let{styles:t}=CD(),{Dragger:i}=ig.Upload,n=(0,tG.useRef)(null),r=(0,CI.A)(n,!0);return(0,tq.jsx)("div",{ref:n,children:r?(0,tq.jsx)(CM.v,{...e,openFileDialogOnClick:!1,uploadComponent:i,uploadComponentClassName:t.dragger}):e.children})};var CF=i(38990);async function CE(e){return await new Promise((t,i)=>{let n=[],r=()=>{e.readEntries(e=>{0===e.length?t(n):(n.push(...e),r())},i)};r()})}async function CP(e){return await new Promise((t,i)=>{e.file(t,i)})}async function CA(e,t){let i=`${(0,tD.$)()}/elements/asset/folder/${e}`,n=await fetch(i,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({folderName:t})});if(!n.ok&&409!==n.status&&!n.ok){let e=await n.text().catch(()=>String(n.status));if(e.includes("error_folder_exists")||e.includes("already exists"))return;throw Error(`Failed to create folder "${t}": ${e}`)}}async function CN(e){let t=`${(0,tD.$)()}/elements/asset/path?elementPath=${encodeURIComponent(e)}`,i=await fetch(t,{method:"GET",credentials:"include"});if(!i.ok){let t=await i.text().catch(()=>String(i.status));throw Error(`Failed to resolve folder ID for path "${e}": ${t}`)}let n=await i.json();if((0,tI.isNil)(n)||"number"!=typeof n.id)throw Error(`Unexpected response resolving path "${e}": ${JSON.stringify(n)}`);return n.id}async function CR(e,t,i,n){if(""===i)return e;n.set(t,e);let r=e,a=t;for(let e of i.split("/").filter(Boolean)){a=function(e,t){let i=e.endsWith("/")?e.slice(0,-1):e;return`${i}/${t}`}(a,e);let t=n.get(a);if(!(0,tI.isNil)(t)){r=t;continue}await CA(r,e),r=await CN(a),n.set(a,r)}return r}async function CV(e){let t=[],i=[];for(let i=0;i0;){let{entry:e,parentRelativeFolderPath:n,depth:r}=t.shift();if(!(r>20)){if(e.isFile){let t=await CP(e);i.push({file:t,parentRelativeFolderPath:n})}else if(e.isDirectory){let i=""===n?e.name:`${n}/${e.name}`,a=e.createReader();for(let e of(await CE(a)))t.push({entry:e,parentRelativeFolderPath:i,depth:r+1})}}}return i}let Cz=new WeakMap;function CB(e){let t=Cz.get(e)??"";return`${t}/${e.name}-${e.size}`}async function CO(e){let{dataTransfer:t,rootFolderId:i,rootPath:n,folderIdByKey:r,conflictMaps:a,checkFile:l}=e;if(""===n)throw Error(`Missing nodePath for folder ${i}`);let o=await CV(t);if(0===o.length)return[];let s=new Map;for(let{file:e,parentRelativeFolderPath:t}of(r.clear(),o)){Cz.set(e,t);let a=await CR(i,n,t,s);r.set(CB(e),a)}for(let{file:e}of o){let t=CB(e),i=r.get(t);await l(e,i)}return o.map(e=>{let{file:t}=e;return t}).filter(e=>!a.skipKeys.has(CB(e)))}let CK=e=>{var t,i;return null==(i=e.current)||null==(t=i.upload)?void 0:t.uploader};async function C_(e,t){let i=CK(e);for(let t=0;(0,tI.isNil)(i)&&t<10;t++)await new Promise(e=>{setTimeout(e,100)}),i=CK(e);(0,tI.isNil)(i)?(0,iX.Ay)(new iX.$g("Folder upload: upload component not ready after drop")):i.uploadFiles(t)}var CH=i(83655),C$=i(58016);let CW=e=>{let{open:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(ig.Modal,{closable:!1,footer:null,open:t,title:(0,tq.jsx)(p8.w,{iconName:"folder",children:i("asset.upload.folder-drop.creating-folders")}),children:(0,tq.jsxs)(ap.s,{align:"center",gap:"small",justify:"center",style:{padding:"16px 0"},children:[(0,tq.jsx)(sN.t,{size:"small"}),(0,tq.jsx)(n5.E,{type:"secondary",children:i("asset.upload.folder-drop.creating-folders-hint")})]})})},Cq=e=>{let{nodeId:t,nodePath:i,children:n}=e,{refreshTree:r}=(0,CF.h)("asset"),a=parseInt(t),[l,o]=(0,tG.useState)(!1),s=(0,tG.useRef)(!1),{checkFile:d,maps:c,resetMaps:f}=(()=>{let{checkFileExists:e,askUserOverwrite:t,resetApplyToAll:i}=(0,C$.e)(),n=(0,tG.useRef)(new Map),r=(0,tG.useRef)(new Set);return{checkFile:async(i,a)=>{let{exists:l,id:o}=await e(i.name,a);if(!l||(0,tI.isNil)(o))return;let s=await t(i.name),d=CB(i);s===CH.W.SKIP?r.current.add(d):s===CH.W.OVERWRITE&&n.current.set(d,o)},maps:{replaceIdByKey:n.current,skipKeys:r.current},resetMaps:()=>{n.current.clear(),r.current.clear(),i()}}})(),u=(0,tG.useRef)(new Map),m=(0,tG.useRef)(null),p=(0,tG.useCallback)(e=>{m.current=e},[]),g=(0,tG.useCallback)(e=>{if(s.current)return u.current.get(CB(e))},[]),h=(0,tG.useCallback)(e=>{if(s.current)return c.replaceIdByKey.get(CB(e))},[c.replaceIdByKey]),y=(0,tG.useCallback)(e=>{if((0,tI.isNil)(e.dataTransfer)||!function(e){if((0,tI.isNil)(e.items))return!1;for(let t=0;t{let e;f(),s.current=!1,o(!0);try{e=await CO({dataTransfer:t,rootFolderId:a,rootPath:i,folderIdByKey:u.current,conflictMaps:c,checkFile:d})}catch(e){(0,iX.Ay)(new iX.$g(`Folder upload (tree traversal): ${e instanceof Error?e.message:String(e)}`)),o(!1);return}o(!1),0!==e.length&&(s.current=!0,await C_(m,e))})()},[i,a,c,d,f]);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(CW,{open:l}),(0,tq.jsx)("div",{onDropCapture:y,children:(0,tq.jsx)(CL,{getExternalReplaceId:h,getTargetFolderIdForFile:g,onSuccess:async()=>{s.current=!1,r(a)},skipAssetFetch:!0,skipConflictCheck:s,targetFolderId:a,uploadRef:p,children:n})})]})};var CG=i(67950),CU=i(42382);let CQ=e=>{let t=e.node??Cf.G,i=(0,kj.W)("asset.tree",{target:t,onComplete:()=>{}});return(0,tq.jsx)(CU.W,{dataTestId:(0,pi.b0)("asset",t.id),items:i})},CJ=(0,CT.Y)((o=Cf.n,s=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(o,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CG.y9,{renderMenu:()=>(0,tq.jsx)(CQ,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),d=(0,tG.forwardRef)((e,t)=>{var i,n;let r=null==(i=e.metaData)?void 0:i.asset,{t:a}=(0,iQ.useTranslation)();if((null==(n=e.metaData)?void 0:n.asset)===void 0)return(0,tq.jsx)(s,{...e,ref:t});let l=(0,tI.isString)(null==r?void 0:r.filename)&&(null==r?void 0:r.filename)!==""?null==r?void 0:r.filename:a("home");return(0,tq.jsx)(Cg.s,{info:{icon:e.icon,title:l,type:"asset",data:{...r}},children:(0,tq.jsx)(s,{...e,ref:t})})}),c=(0,tG.forwardRef)((e,t)=>{let i=e.isLoading??!1,[,{isLoading:n}]=(0,kc.useAssetPatchByIdMutation)({fixedCacheKey:`ASSET_ACTION_RENAME_ID_${e.id}`}),[,{isLoading:r}]=(0,Cw.mG)({fixedCacheKey:`ASSET_ACTION_DELETE_ID_${e.id}`}),{isFetching:a,isLoading:l,isDeleting:o}=(0,Ck.W)(e.id);return(0,tq.jsx)(d,{...e,danger:i||r||o,isLoading:i||!0!==l&&a||n||r,ref:t})}),f=(0,tG.forwardRef)((e,t)=>"folder"!==e.type?(0,tq.jsx)(c,{...e,ref:t}):(0,tq.jsx)(c,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(Cq,{nodeId:e.id,nodePath:e.fullPath??"",children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})),(0,tG.forwardRef)((e,t)=>{var i;let{move:n}=(0,Cy.e)("asset"),{isSourceAllowed:r,isTargetAllowed:a}=Cj();if((null==(i=e.metaData)?void 0:i.asset)===void 0)return(0,tq.jsx)(f,{...e});let l=e.metaData.asset,o=e=>a(e)&&"folder"===e.type;if(!o(l))return(0,tq.jsx)(f,{...e});let s=e=>{let t=e.data;r(t)&&o(l)&&n({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:l.id,parentId:l.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},d=e=>"asset"===e.type,c=e=>{let t=e.data;return"asset"===e.type&&r(t)&&o(l)};return(0,tq.jsx)(f,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(lM.g,{disableDndActiveIndicator:!0,isValidContext:d,isValidData:c,onDrop:s,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}))),CZ=e=>{let{id:t=1,showRoot:i=!0}=e,{openAsset:n}=(0,kx.G)(),{rootNode:r,isLoading:a}=(0,CS.m)(t,i),l=(0,CC.e)().get(yl.e.asset.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Ch.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cc.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:Cp,renderNode:CJ,renderNodeContent:Cc.Yb.renderNodeContent,renderPager:Cu.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.asset.tree.tooltip.name})};var CY=i(50458),CX=i(11480),C0=i(83986),C1=i(68153),C2=i(17388);class C3{async run(e){let{messageBus:t}=e,{triggerUpload:i,parentFolder:n,title:r,onJobCompletion:a}=this.options;await new Promise(e=>{i({action:`${(0,tD.$)()}/assets/add-zip/${n}`,accept:".zip, .rar, .7zip",name:"zipFile",multiple:!1,onSuccess:async i=>{let n=i[0].response.jobRunId??void 0;if((0,tI.isNumber)(n)){let e=new SU.j({jobRunId:Number(n),totalSteps:2,onJobCompletion:async e=>{e.isFinished&&!(0,tI.isUndefined)(a)&&await a()},title:e=>{if("running"===e.status){if(1===e.currentStep)return(0,i6.t)("jobs.zip-upload-job.step1.title");if(2===e.currentStep)return(0,i6.t)("jobs.zip-upload-job.step2.title")}return r}});t.registerHandler(e)}e()},onError:t=>{console.error(t),e()}})})}constructor(e){this.options=e}}ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.assetTree;e.registerToSlot(t.name,{name:"newAssets",priority:t.priority.newAssets,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{uploadContextMenuItem:i,zipUploadContextMenuItem:n}=(()=>{let{triggerUpload:e}=(0,C0.d)(),{t}=(0,iQ.useTranslation)(),{refreshTree:i}=(0,CF.h)("asset"),{isTreeActionAllowed:n}=(0,C2.H)(),r=(0,Ct.O)(),a=t=>{e({targetFolderId:parseInt(t),skipAssetFetch:!0,onSuccess:async()=>{i(parseInt(t))}})},l=n=>{r.runJob(new C3({title:t("jobs.zip-upload-job.title"),triggerUpload:e,parentFolder:n,onJobCompletion:async()=>{i(parseInt(n))}}))},o=e=>!(0,TS.o)(e.permissions,"create")||(null==e?void 0:e.type)!=="folder";return{upload:a,zipUpload:l,uploadContextMenuItem:e=>({label:t("element.tree.context-menu.add-assets.upload-files"),key:"upload",icon:(0,tq.jsx)(r9.I,{value:"upload-cloud"}),hidden:o(e)||!n(C1.o.AddUpload),onClick:()=>{a(e.id)}}),zipUploadContextMenuItem:e=>({label:t("element.tree.context-menu.add-assets.upload-zip"),key:"uploadZip",icon:(0,tq.jsx)(r9.I,{value:"upload-zip"}),hidden:o(e)||!n(C1.o.AddUploadZip),onClick:()=>{l(e.id)}})}})();return{label:t("element.tree.context-menu.new-assets"),key:"new-assets",icon:(0,tq.jsx)(r9.I,{value:"asset"}),children:[i(e.target),n(e.target)]}}}),e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,CY.N)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("asset",(0,Tg.Cr)("asset","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cy.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{pasteTreeContextMenuItem:t}=(0,Cy.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cy.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cy.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("asset",(0,Tg.Cr)("asset","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"createZipDownload",priority:t.priority.createZipDownload,useMenuItem:e=>{let{createZipDownloadTreeContextMenuItem:t}=(0,Tc.v)({type:"folder"});return t(e.target)}}),e.registerToSlot(t.name,{name:"uploadNewVersion",priority:t.priority.uploadNewVersion,useMenuItem:e=>{let{uploadNewVersionTreeContextMenuItem:t}=(0,Th.D)();return t(e.target)}}),e.registerToSlot(t.name,{name:"download",priority:t.priority.download,useMenuItem:e=>{let{downloadTreeContextMenuItem:t}=(0,Td.m)();return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{lockTreeContextMenuItem:i,lockAndPropagateTreeContextMenuItem:n,unlockTreeContextMenuItem:r,unlockAndPropagateTreeContextMenuItem:a,isLockMenuHidden:l}=(0,CX.V)("asset");return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),hidden:l(e.target),children:[{label:t("element.lock"),key:"advanced-lock",icon:(0,tq.jsx)(r9.I,{value:"lock"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}]}}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CF.h)("asset");return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.asset.tree.contextMenu.name,component:CQ})}});let C6=e=>{var t,i,n,r,a,l,o;let{node:s,children:d}=e,{t:c}=(0,iQ.useTranslation)(),[f,u]=(0,tG.useState)(!1),[m,p]=(0,tG.useState)(!1),g=(0,tG.useRef)(null),h=(0,tG.useRef)(null),y=(0,tG.useRef)(null),v=(0,tG.useRef)({x:0,y:0}),b=(null==(t=s.metaData)?void 0:t.asset)??(null==(i=s.metaData)?void 0:i.dataObject)??(null==(n=s.metaData)?void 0:n.document),x=(null==(r=s.metaData)?void 0:r.asset)!==void 0,j=(null==(a=s.metaData)?void 0:a.dataObject)!==void 0,w=(null==b||null==(l=b.customAttributes)?void 0:l.tooltip)!==null&&(null==b||null==(o=b.customAttributes)?void 0:o.tooltip)!==void 0;(0,tG.useEffect)(()=>{let e=e=>{let t=!(0,tI.isNull)(e.detail);p(t),t&&T()};return window.addEventListener("studioui:draggable:change-drag-info",e),()=>{window.removeEventListener("studioui:draggable:change-drag-info",e),k()}},[]);let k=(0,tG.useCallback)(()=>{null!==h.current&&(clearTimeout(h.current),h.current=null),null!==y.current&&(clearInterval(y.current),y.current=null)},[]),T=(0,tG.useCallback)(()=>{u(!1),k()},[k]),S=(0,tG.useCallback)(()=>{if(null===g.current)return!1;let e=g.current.getBoundingClientRect(),{x:t,y:i}=v.current;return t>=e.left&&t<=e.right&&i>=e.top&&i<=e.bottom},[]),C=(0,tG.useCallback)(()=>{y.current=setInterval(()=>{S()||T()},100)},[S,T]),D=(0,tG.useCallback)(()=>{m||(k(),h.current=setTimeout(()=>{u(!0),C()},500))},[m,k,C]),I=(0,tG.useCallback)(()=>{T()},[T]);(0,tG.useEffect)(()=>{let e=e=>{if(v.current={x:e.clientX,y:e.clientY},!f||null===g.current)return;let t=g.current.getBoundingClientRect(),{clientX:i,clientY:n}=e;i>=t.left-10&&i<=t.right+10&&n>=t.top-10&&n<=t.bottom+10||T()};return document.addEventListener("mousemove",e,{passive:!0}),()=>{document.removeEventListener("mousemove",e)}},[f,T]);let M=(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)("div",{children:[c("ID"),": ",s.id]}),(0,tq.jsxs)("div",{children:[c("Type"),": ",c(j&&("object"===s.type||"variant"===s.type)?s.metaData.dataObject.className:s.type)]})]});return(0,tq.jsx)("div",{onMouseEnter:D,onMouseLeave:I,ref:g,children:(0,tq.jsx)(iN.m,{open:f,overlayStyle:{width:280},placement:"right",title:(0,tq.jsxs)(pa.a,{padding:"extra-small",children:[x&&(null==b?void 0:b.imageThumbnailPath)!==void 0&&(0,tq.jsx)(pa.a,{className:"w-full",padding:{bottom:"extra-small"},children:(0,tq.jsx)(ap.s,{className:"w-full",justify:"center",style:{maxHeight:200,overflow:"hidden"},children:(0,tq.jsx)(hl._,{alt:b.filename,src:b.imageThumbnailPath,style:{maxHeight:200}})})}),w?(0,tq.jsx)("div",{dangerouslySetInnerHTML:{__html:b.customAttributes.tooltip}}):M]}),children:d})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.assetListGrid;e.registerToSlot(t.name,{name:"open",priority:t.priority.open,useMenuItem:e=>{let{openGridContextMenuItem:t}=(0,Ty.i)("asset");return t(e.row)??null}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameGridContextMenuItem:t}=(0,Tm.M)("asset",(0,Tg.Cr)("asset","rename",Number(e.row.id)));return t(e.row)??null}}),e.registerToSlot(t.name,{name:"locateInTree",priority:t.priority.locateInTree,useMenuItem:e=>{let{locateInTreeGridContextMenuItem:t}=(0,Tv.H)("asset");return t(e.row,e.onComplete)??null}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteGridContextMenuItem:t}=(0,Tu.z)("asset",(0,Tg.Cr)("asset","delete",Number(e.row.id)));return t(e.row)??null}}),e.registerToSlot(t.name,{name:"download",priority:t.priority.download,useMenuItem:e=>{let{downloadGridContextMenuItem:t}=(0,Td.m)();return t(e.row)??null}})}});var C4=i(53463);let C5=e=>{let{node:t}=e,{isLocked:i,locked:n}=t,{styles:r}=(0,C4.I)();return i?(0,tq.jsx)(r9.I,{className:(0,tI.isNil)(n)||(0,tI.isEmpty)(n)?r.indirectLockedIcon:"","data-testid":`tree-node-lock-icon-${t.id}`,options:{width:14,height:14},value:"lock"}):null};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"asset-tree",component:CZ}),t.register({name:yl.e.asset.tree.tooltip.name,component:C6}),t.registerToSlot(yl.e.asset.tree.node.meta.name,{name:"lockIcon",component:C5,priority:100})}}),i(38380);let C7={key:"versions",label:"version.label",children:(0,tq.jsx)(uj.ComponentRenderer,{component:tu.eb.dataObject.editor.tab.versions.name}),icon:(0,tq.jsx)(r9.I,{value:"history"}),isDetachable:!0,hidden:e=>!(0,TS.o)(e.permissions,"versions")},C8={key:"preview",label:"preview.label",children:(0,tq.jsx)(uj.ComponentRenderer,{component:tu.eb.dataObject.editor.tab.preview.name}),icon:(0,tq.jsx)(r9.I,{value:"preview"}),isDetachable:!0,hidden:e=>!e.hasPreview};var C9=i(28897),De=i(20713),Dt=i(26280),Di=i(7652);let Dn=()=>{let{t:e}=(0,iQ.useTranslation)(),{deleteDraft:t,isLoading:i,buttonText:n}=(0,Di.K)("data-object"),{id:r}=(0,tG.useContext)(De.Z),{dataObject:a}=(0,aG.A)(r);if((0,tI.isNil)(a))return(0,tq.jsx)(tq.Fragment,{});let l=null==a?void 0:a.draftData;if((0,tI.isNil)(l)||a.changes[Dt.u0])return(0,tq.jsx)(tq.Fragment,{});let o=(0,tq.jsx)(az.$,{danger:!0,ghost:!0,loading:i,onClick:t,size:"small",children:n});return(0,tq.jsx)(pa.a,{padding:"extra-small",children:(0,tq.jsx)(kY.F,{action:o,icon:(0,tq.jsx)(r9.I,{value:"draft"}),message:e(l.isAutoSave?"draft-alert-auto-save":"draft-alert"),showIcon:!0,type:"info"})})},Dr=e=>{let{layout:t,data:i,className:n}=e,{form:r,updateModifiedDataObjectAttributes:a,updateDraft:l,getChangedFieldName:o,disabled:s}=(0,C9.P)(),d=(0,aU.n)(),c=(e,t)=>{var i;if(s)return;a(e);let n=o(e);null!==n&&(null==d||null==(i=d.getInheritanceState(n))?void 0:i.inherited)===!0&&(null==d||d.breakInheritance(n)),l().catch(e=>{console.error(e)})};return(0,tG.useMemo)(()=>(0,tq.jsx)(ig.ConfigProvider,{theme:{components:{Form:{itemMarginBottom:0}}},children:(0,tq.jsx)(t4._Y,{children:(0,tq.jsx)(tJ.lV,{className:n,form:r,initialValues:i,layout:"vertical",onValuesChange:c,preserve:!0,children:(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(Dn,{}),children:(0,tq.jsx)(as.f,{...t})})})})}),[t,i,n])};var Da=i(91434),Dl=i(15925);let Do=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{editContainer:i`
+ `}});var CE=i(82740),CP=i(99050);let CA=e=>{let{styles:t}=CF(),{Dragger:i}=ig.Upload,n=(0,tG.useRef)(null),r=(0,CE.A)(n,!0);return(0,tq.jsx)("div",{ref:n,children:r?(0,tq.jsx)(CP.v,{...e,openFileDialogOnClick:!1,uploadComponent:i,uploadComponentClassName:t.dragger}):e.children})};var CN=i(38990);async function CR(e){return await new Promise((t,i)=>{let n=[],r=()=>{e.readEntries(e=>{0===e.length?t(n):(n.push(...e),r())},i)};r()})}async function CV(e){return await new Promise((t,i)=>{e.file(t,i)})}async function Cz(e,t){let i=`${(0,tD.$)()}/elements/asset/folder/${e}`,n=await fetch(i,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({folderName:t})});if(!n.ok&&409!==n.status&&!n.ok){let e=await n.text().catch(()=>String(n.status));if(e.includes("error_folder_exists")||e.includes("already exists"))return;throw Error(`Failed to create folder "${t}": ${e}`)}}async function CB(e){let t=`${(0,tD.$)()}/elements/asset/path?elementPath=${encodeURIComponent(e)}`,i=await fetch(t,{method:"GET",credentials:"include"});if(!i.ok){let t=await i.text().catch(()=>String(i.status));throw Error(`Failed to resolve folder ID for path "${e}": ${t}`)}let n=await i.json();if((0,tI.isNil)(n)||"number"!=typeof n.id)throw Error(`Unexpected response resolving path "${e}": ${JSON.stringify(n)}`);return n.id}async function CO(e,t,i,n){if(""===i)return e;n.set(t,e);let r=e,a=t;for(let e of i.split("/").filter(Boolean)){a=function(e,t){let i=e.endsWith("/")?e.slice(0,-1):e;return`${i}/${t}`}(a,e);let t=n.get(a);if(!(0,tI.isNil)(t)){r=t;continue}await Cz(r,e),r=await CB(a),n.set(a,r)}return r}async function CK(e){let t=[],i=[];for(let i=0;i0;){let{entry:e,parentRelativeFolderPath:n,depth:r}=t.shift();if(!(r>20)){if(e.isFile){let t=await CV(e);i.push({file:t,parentRelativeFolderPath:n})}else if(e.isDirectory){let i=""===n?e.name:`${n}/${e.name}`,a=e.createReader();for(let e of(await CR(a)))t.push({entry:e,parentRelativeFolderPath:i,depth:r+1})}}}return i}let C_=new WeakMap;function CH(e){let t=C_.get(e)??"";return`${t}/${e.name}-${e.size}`}async function C$(e){let{dataTransfer:t,rootFolderId:i,rootPath:n,folderIdByKey:r,conflictMaps:a,checkFile:l}=e;if(""===n)throw Error(`Missing nodePath for folder ${i}`);let o=await CK(t);if(0===o.length)return[];let s=new Map;for(let{file:e,parentRelativeFolderPath:t}of(r.clear(),o)){C_.set(e,t);let a=await CO(i,n,t,s);r.set(CH(e),a)}for(let{file:e}of o){let t=CH(e),i=r.get(t);await l(e,i)}return o.map(e=>{let{file:t}=e;return t}).filter(e=>!a.skipKeys.has(CH(e)))}let CW=e=>{var t,i;return null==(i=e.current)||null==(t=i.upload)?void 0:t.uploader};async function Cq(e,t){let i=CW(e);for(let t=0;(0,tI.isNil)(i)&&t<10;t++)await new Promise(e=>{setTimeout(e,100)}),i=CW(e);(0,tI.isNil)(i)?(0,iX.Ay)(new iX.$g("Folder upload: upload component not ready after drop")):i.uploadFiles(t)}var CG=i(83655),CU=i(58016);let CQ=e=>{let{open:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(ig.Modal,{closable:!1,footer:null,open:t,title:(0,tq.jsx)(p8.w,{iconName:"folder",children:i("asset.upload.folder-drop.creating-folders")}),children:(0,tq.jsxs)(ap.s,{align:"center",gap:"small",justify:"center",style:{padding:"16px 0"},children:[(0,tq.jsx)(sN.t,{size:"small"}),(0,tq.jsx)(n5.E,{type:"secondary",children:i("asset.upload.folder-drop.creating-folders-hint")})]})})},CJ=e=>{let{nodeId:t,nodePath:i,children:n}=e,{refreshTree:r}=(0,CN.h)("asset"),a=parseInt(t),[l,o]=(0,tG.useState)(!1),s=(0,tG.useRef)(!1),{checkFile:d,maps:c,resetMaps:f}=(()=>{let{checkFileExists:e,askUserOverwrite:t,resetApplyToAll:i}=(0,CU.e)(),n=(0,tG.useRef)(new Map),r=(0,tG.useRef)(new Set);return{checkFile:async(i,a)=>{let{exists:l,id:o}=await e(i.name,a);if(!l||(0,tI.isNil)(o))return;let s=await t(i.name),d=CH(i);s===CG.W.SKIP?r.current.add(d):s===CG.W.OVERWRITE&&n.current.set(d,o)},maps:{replaceIdByKey:n.current,skipKeys:r.current},resetMaps:()=>{n.current.clear(),r.current.clear(),i()}}})(),u=(0,tG.useRef)(new Map),m=(0,tG.useRef)(null),p=(0,tG.useCallback)(e=>{m.current=e},[]),g=(0,tG.useCallback)(e=>{if(s.current)return u.current.get(CH(e))},[]),h=(0,tG.useCallback)(e=>{if(s.current)return c.replaceIdByKey.get(CH(e))},[c.replaceIdByKey]),y=(0,tG.useCallback)(e=>{if((0,tI.isNil)(e.dataTransfer)||!function(e){if((0,tI.isNil)(e.items))return!1;for(let t=0;t{let e;f(),s.current=!1,o(!0);try{e=await C$({dataTransfer:t,rootFolderId:a,rootPath:i,folderIdByKey:u.current,conflictMaps:c,checkFile:d})}catch(e){(0,iX.Ay)(new iX.$g(`Folder upload (tree traversal): ${e instanceof Error?e.message:String(e)}`)),o(!1);return}o(!1),0!==e.length&&(s.current=!0,await Cq(m,e))})()},[i,a,c,d,f]);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(CQ,{open:l}),(0,tq.jsx)("div",{onDropCapture:y,children:(0,tq.jsx)(CA,{getExternalReplaceId:h,getTargetFolderIdForFile:g,onSuccess:async()=>{s.current=!1,r(a)},skipAssetFetch:!0,skipConflictCheck:s,targetFolderId:a,uploadRef:p,children:n})})]})};var CZ=i(67950),CY=i(42382);let CX=e=>{let t=e.node??Cg.G,i=(0,kj.W)("asset.tree",{target:t,onComplete:()=>{}});return(0,tq.jsx)(CY.W,{dataTestId:(0,pi.b0)("asset",t.id),items:i})},C0=(0,CI.Y)((o=Cg.n,s=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(o,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CZ.y9,{renderMenu:()=>(0,tq.jsx)(CX,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),d=(0,tG.forwardRef)((e,t)=>{var i,n;let r=null==(i=e.metaData)?void 0:i.asset,{t:a}=(0,iQ.useTranslation)();if((null==(n=e.metaData)?void 0:n.asset)===void 0)return(0,tq.jsx)(s,{...e,ref:t});let l=(0,tI.isString)(null==r?void 0:r.filename)&&(null==r?void 0:r.filename)!==""?null==r?void 0:r.filename:a("home");return(0,tq.jsx)(Cb.s,{info:{icon:e.icon,title:l,type:"asset",data:{...r}},children:(0,tq.jsx)(s,{...e,ref:t})})}),c=(0,tG.forwardRef)((e,t)=>{let i=e.isLoading??!1,[,{isLoading:n}]=(0,kc.useAssetPatchByIdMutation)({fixedCacheKey:`ASSET_ACTION_RENAME_ID_${e.id}`}),[,{isLoading:r}]=(0,CC.mG)({fixedCacheKey:`ASSET_ACTION_DELETE_ID_${e.id}`}),{isFetching:a,isLoading:l,isDeleting:o}=(0,CD.W)(e.id);return(0,tq.jsx)(d,{...e,danger:i||r||o,isLoading:i||!0!==l&&a||n||r,ref:t})}),f=(0,tG.forwardRef)((e,t)=>"folder"!==e.type?(0,tq.jsx)(c,{...e,ref:t}):(0,tq.jsx)(c,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CJ,{nodeId:e.id,nodePath:e.fullPath??"",children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})),(0,tG.forwardRef)((e,t)=>{var i;let{move:n}=(0,Cj.e)("asset"),{isSourceAllowed:r,isTargetAllowed:a}=CS();if((null==(i=e.metaData)?void 0:i.asset)===void 0)return(0,tq.jsx)(f,{...e});let l=e.metaData.asset,o=e=>a(e)&&"folder"===e.type;if(!o(l))return(0,tq.jsx)(f,{...e});let s=e=>{let t=e.data;r(t)&&o(l)&&n({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:l.id,parentId:l.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},d=e=>"asset"===e.type,c=e=>{let t=e.data;return"asset"===e.type&&r(t)&&o(l)};return(0,tq.jsx)(f,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(lM.g,{disableDndActiveIndicator:!0,isValidContext:d,isValidData:c,onDrop:s,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}))),C1=e=>{let{id:t=1,showRoot:i=!0}=e,{openAsset:n}=(0,kx.G)(),{rootNode:r,isLoading:a}=(0,CM.m)(t,i),l=(0,CL.e)().get(yl.e.asset.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Cx.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cp.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:Cv,renderNode:C0,renderNodeContent:Cp.Yb.renderNodeContent,renderPager:Ch.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.asset.tree.tooltip.name})};var C2=i(50458),C3=i(11480),C6=i(83986),C4=i(68153),C5=i(17388),C7=i(40875);class C8{async run(e){let{messageBus:t}=e,{triggerUpload:i,parentFolder:n,title:r,onJobCompletion:a}=this.options;await new Promise(e=>{i({action:`${(0,tD.$)()}/assets/add-zip/${n}`,accept:".zip, .rar, .7zip",name:"zipFile",multiple:!1,onSuccess:async i=>{let n=i[0].response.jobRunId??void 0;if((0,tI.isNumber)(n)){let e=new SU.j({jobRunId:Number(n),stepTracker:new C7.o({totalSteps:2}),progressCalculator:new SZ.a,onJobCompletion:async e=>{e.isFinished&&!(0,tI.isUndefined)(a)&&await a()},title:e=>{if("running"===e.status){if(1===e.currentStep)return(0,i6.t)("jobs.zip-upload-job.step1.title");if(2===e.currentStep)return(0,i6.t)("jobs.zip-upload-job.step2.title")}return r}});t.registerHandler(e)}e()},onError:t=>{console.error(t),e()}})})}constructor(e){this.options=e}}ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.assetTree;e.registerToSlot(t.name,{name:"newAssets",priority:t.priority.newAssets,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{uploadContextMenuItem:i,zipUploadContextMenuItem:n}=(()=>{let{triggerUpload:e}=(0,C6.d)(),{t}=(0,iQ.useTranslation)(),{refreshTree:i}=(0,CN.h)("asset"),{isTreeActionAllowed:n}=(0,C5.H)(),r=(0,Cr.O)(),a=t=>{e({targetFolderId:parseInt(t),skipAssetFetch:!0,onSuccess:async()=>{i(parseInt(t))}})},l=n=>{r.runJob(new C8({title:t("jobs.zip-upload-job.title"),triggerUpload:e,parentFolder:n,onJobCompletion:async()=>{i(parseInt(n))}}))},o=e=>!(0,TS.o)(e.permissions,"create")||(null==e?void 0:e.type)!=="folder";return{upload:a,zipUpload:l,uploadContextMenuItem:e=>({label:t("element.tree.context-menu.add-assets.upload-files"),key:"upload",icon:(0,tq.jsx)(r9.I,{value:"upload-cloud"}),hidden:o(e)||!n(C4.o.AddUpload),onClick:()=>{a(e.id)}}),zipUploadContextMenuItem:e=>({label:t("element.tree.context-menu.add-assets.upload-zip"),key:"uploadZip",icon:(0,tq.jsx)(r9.I,{value:"upload-zip"}),hidden:o(e)||!n(C4.o.AddUploadZip),onClick:()=>{l(e.id)}})}})();return{label:t("element.tree.context-menu.new-assets"),key:"new-assets",icon:(0,tq.jsx)(r9.I,{value:"asset"}),children:[i(e.target),n(e.target)]}}}),e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,C2.N)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("asset",(0,Tg.Cr)("asset","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cj.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{pasteTreeContextMenuItem:t}=(0,Cj.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cj.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cj.e)("asset");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("asset",(0,Tg.Cr)("asset","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"createZipDownload",priority:t.priority.createZipDownload,useMenuItem:e=>{let{createZipDownloadTreeContextMenuItem:t}=(0,Tc.v)({type:"folder"});return t(e.target)}}),e.registerToSlot(t.name,{name:"uploadNewVersion",priority:t.priority.uploadNewVersion,useMenuItem:e=>{let{uploadNewVersionTreeContextMenuItem:t}=(0,Th.D)();return t(e.target)}}),e.registerToSlot(t.name,{name:"download",priority:t.priority.download,useMenuItem:e=>{let{downloadTreeContextMenuItem:t}=(0,Td.m)();return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{lockTreeContextMenuItem:i,lockAndPropagateTreeContextMenuItem:n,unlockTreeContextMenuItem:r,unlockAndPropagateTreeContextMenuItem:a,isLockMenuHidden:l}=(0,C3.V)("asset");return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),hidden:l(e.target),children:[{label:t("element.lock"),key:"advanced-lock",icon:(0,tq.jsx)(r9.I,{value:"lock"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}]}}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CN.h)("asset");return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.asset.tree.contextMenu.name,component:CX})}});let C9=e=>{var t,i,n,r,a,l,o;let{node:s,children:d}=e,{t:c}=(0,iQ.useTranslation)(),[f,u]=(0,tG.useState)(!1),[m,p]=(0,tG.useState)(!1),g=(0,tG.useRef)(null),h=(0,tG.useRef)(null),y=(0,tG.useRef)(null),v=(0,tG.useRef)({x:0,y:0}),b=(null==(t=s.metaData)?void 0:t.asset)??(null==(i=s.metaData)?void 0:i.dataObject)??(null==(n=s.metaData)?void 0:n.document),x=(null==(r=s.metaData)?void 0:r.asset)!==void 0,j=(null==(a=s.metaData)?void 0:a.dataObject)!==void 0,w=(null==b||null==(l=b.customAttributes)?void 0:l.tooltip)!==null&&(null==b||null==(o=b.customAttributes)?void 0:o.tooltip)!==void 0;(0,tG.useEffect)(()=>{let e=e=>{let t=!(0,tI.isNull)(e.detail);p(t),t&&T()};return window.addEventListener("studioui:draggable:change-drag-info",e),()=>{window.removeEventListener("studioui:draggable:change-drag-info",e),k()}},[]);let k=(0,tG.useCallback)(()=>{null!==h.current&&(clearTimeout(h.current),h.current=null),null!==y.current&&(clearInterval(y.current),y.current=null)},[]),T=(0,tG.useCallback)(()=>{u(!1),k()},[k]),S=(0,tG.useCallback)(()=>{if(null===g.current)return!1;let e=g.current.getBoundingClientRect(),{x:t,y:i}=v.current;return t>=e.left&&t<=e.right&&i>=e.top&&i<=e.bottom},[]),C=(0,tG.useCallback)(()=>{y.current=setInterval(()=>{S()||T()},100)},[S,T]),D=(0,tG.useCallback)(()=>{m||(k(),h.current=setTimeout(()=>{u(!0),C()},500))},[m,k,C]),I=(0,tG.useCallback)(()=>{T()},[T]);(0,tG.useEffect)(()=>{let e=e=>{if(v.current={x:e.clientX,y:e.clientY},!f||null===g.current)return;let t=g.current.getBoundingClientRect(),{clientX:i,clientY:n}=e;i>=t.left-10&&i<=t.right+10&&n>=t.top-10&&n<=t.bottom+10||T()};return document.addEventListener("mousemove",e,{passive:!0}),()=>{document.removeEventListener("mousemove",e)}},[f,T]);let M=(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)("div",{children:[c("ID"),": ",s.id]}),(0,tq.jsxs)("div",{children:[c("Type"),": ",c(j&&("object"===s.type||"variant"===s.type)?s.metaData.dataObject.className:s.type)]})]});return(0,tq.jsx)("div",{onMouseEnter:D,onMouseLeave:I,ref:g,children:(0,tq.jsx)(iN.m,{open:f,overlayStyle:{width:280},placement:"right",title:(0,tq.jsxs)(pa.a,{padding:"extra-small",children:[x&&(null==b?void 0:b.imageThumbnailPath)!==void 0&&(0,tq.jsx)(pa.a,{className:"w-full",padding:{bottom:"extra-small"},children:(0,tq.jsx)(ap.s,{className:"w-full",justify:"center",style:{maxHeight:200,overflow:"hidden"},children:(0,tq.jsx)(hl._,{alt:b.filename,src:b.imageThumbnailPath,style:{maxHeight:200}})})}),w?(0,tq.jsx)("div",{dangerouslySetInnerHTML:{__html:b.customAttributes.tooltip}}):M]}),children:d})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.assetListGrid;e.registerToSlot(t.name,{name:"open",priority:t.priority.open,useMenuItem:e=>{let{openGridContextMenuItem:t}=(0,Ty.i)("asset");return t(e.row)??null}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameGridContextMenuItem:t}=(0,Tm.M)("asset",(0,Tg.Cr)("asset","rename",Number(e.row.id)));return t(e.row)??null}}),e.registerToSlot(t.name,{name:"locateInTree",priority:t.priority.locateInTree,useMenuItem:e=>{let{locateInTreeGridContextMenuItem:t}=(0,Tv.H)("asset");return t(e.row,e.onComplete)??null}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteGridContextMenuItem:t}=(0,Tu.z)("asset",(0,Tg.Cr)("asset","delete",Number(e.row.id)));return t(e.row)??null}}),e.registerToSlot(t.name,{name:"download",priority:t.priority.download,useMenuItem:e=>{let{downloadGridContextMenuItem:t}=(0,Td.m)();return t(e.row)??null}})}});var De=i(53463);let Dt=e=>{let{node:t}=e,{isLocked:i,locked:n}=t,{styles:r}=(0,De.I)();return i?(0,tq.jsx)(r9.I,{className:(0,tI.isNil)(n)||(0,tI.isEmpty)(n)?r.indirectLockedIcon:"","data-testid":`tree-node-lock-icon-${t.id}`,options:{width:14,height:14},value:"lock"}):null};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"asset-tree",component:C1}),t.register({name:yl.e.asset.tree.tooltip.name,component:C9}),t.registerToSlot(yl.e.asset.tree.node.meta.name,{name:"lockIcon",component:Dt,priority:100})}}),i(38380);let Di={key:"versions",label:"version.label",children:(0,tq.jsx)(uj.ComponentRenderer,{component:tu.eb.dataObject.editor.tab.versions.name}),icon:(0,tq.jsx)(r9.I,{value:"history"}),isDetachable:!0,hidden:e=>!(0,TS.o)(e.permissions,"versions")},Dn={key:"preview",label:"preview.label",children:(0,tq.jsx)(uj.ComponentRenderer,{component:tu.eb.dataObject.editor.tab.preview.name}),icon:(0,tq.jsx)(r9.I,{value:"preview"}),isDetachable:!0,hidden:e=>!e.hasPreview};var Dr=i(28897),Da=i(20713),Dl=i(26280),Do=i(7652);let Ds=()=>{let{t:e}=(0,iQ.useTranslation)(),{deleteDraft:t,isLoading:i,buttonText:n}=(0,Do.K)("data-object"),{id:r}=(0,tG.useContext)(Da.Z),{dataObject:a}=(0,aG.A)(r);if((0,tI.isNil)(a))return(0,tq.jsx)(tq.Fragment,{});let l=null==a?void 0:a.draftData;if((0,tI.isNil)(l)||a.changes[Dl.u0])return(0,tq.jsx)(tq.Fragment,{});let o=(0,tq.jsx)(az.$,{danger:!0,ghost:!0,loading:i,onClick:t,size:"small",children:n});return(0,tq.jsx)(pa.a,{padding:"extra-small",children:(0,tq.jsx)(kY.F,{action:o,icon:(0,tq.jsx)(r9.I,{value:"draft"}),message:e(l.isAutoSave?"draft-alert-auto-save":"draft-alert"),showIcon:!0,type:"info"})})},Dd=e=>{let{layout:t,data:i,className:n}=e,{form:r,updateModifiedDataObjectAttributes:a,updateDraft:l,getChangedFieldName:o,disabled:s}=(0,Dr.P)(),d=(0,aU.n)(),c=(e,t)=>{var i;if(s)return;a(e);let n=o(e);null!==n&&(null==d||null==(i=d.getInheritanceState(n))?void 0:i.inherited)===!0&&(null==d||d.breakInheritance(n)),l().catch(e=>{console.error(e)})};return(0,tG.useMemo)(()=>(0,tq.jsx)(ig.ConfigProvider,{theme:{components:{Form:{itemMarginBottom:0}}},children:(0,tq.jsx)(t4._Y,{children:(0,tq.jsx)(tJ.lV,{className:n,form:r,initialValues:i,layout:"vertical",onValuesChange:c,preserve:!0,children:(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(Ds,{}),children:(0,tq.jsx)(as.f,{...t})})})})}),[t,i,n])};var Dc=i(91434),Df=i(15925);let Du=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{editContainer:i`
display: flex;
width: 100%;
height: 100%;
@@ -841,7 +841,7 @@
width: 100%;
}
}
- `}},{hashPriority:"high"});var Ds=i(33541);let Dd=()=>{let{id:e}=(0,iZ.J)(),{currentLayout:t}=(0,dN.W)(),{data:i,isLoading:n,error:r}=(0,Da.nF)({id:e,layoutId:t??void 0}),{dataObject:a,isLoading:l}=(0,aG.A)(e),{styles:o}=Do();if(void 0!==r&&(0,iX.Ay)(new iX.hD(r)),void 0===i||n||l)return(0,tq.jsx)(uE.U,{loading:!0});if(!(void 0!==a&&"objectData"in a))throw Error("Data Object data is undefined in Edit Container");return(0,tq.jsx)(Dl.Q,{children:(0,tq.jsx)(Ds.E,{children:(0,tq.jsx)(Dr,{className:o.editContainer,data:null==a?void 0:a.objectData,layout:i})})})},Dc={key:"edit",label:"edit",children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.edit.name}),icon:(0,tq.jsx)(r9.I,{value:"edit-pen"}),isDetachable:!1};var Df=i(68845);let Du=()=>(0,tq.jsx)(Df.w8,{}),Dm={key:"listing",label:"folder.folder-editor-tabs.view",children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.listing.name}),icon:(0,tq.jsx)(r9.I,{value:"list"}),isDetachable:!1};var Dp=i(35510),Dg=i(69187),Dh=i(69622),Dy=i(14826),Dv=i(41309),Db=i(60213),Dx=i(76133);let Dj=(0,tG.createContext)({batchEdits:[],setBatchEdits:()=>{}}),Dw=e=>{let{children:t}=e,[i,n]=(0,tG.useState)([]);return(0,tG.useMemo)(()=>(0,tq.jsx)(Dj.Provider,{value:{batchEdits:i,setBatchEdits:n},children:t}),[i,t])},Dk=()=>{let{batchEdits:e,setBatchEdits:t}=(0,tG.useContext)(Dj),i=(0,p3.t)();return{batchEdits:e,setBatchEdits:t,addOrUpdateBatchEdit:(n,r)=>{let a={...n,locale:n.localizable?n.locale??i.requiredLanguages[0]:null,value:r},l=[...e],o=e.findIndex(e=>e.key===a.key);-1!==o?l[o]=a:l.push(a),t(l)},addOrUpdateBatchEdits:n=>{let r=[...e];n.forEach(t=>{let n={...t,locale:t.localizable?t.locale??i.requiredLanguages[0]:null,value:void 0},a=e.findIndex(e=>e.key===n.key);-1!==a?r[a]=n:r.push(n)}),t(r)},updateLocale:(i,n)=>{let r=i.key;t(e.map(e=>e.key===r?{...e,locale:n}:e))},resetBatchEdits:()=>{t([])},removeBatchEdit:i=>{t(e.filter(e=>{if("dataobject.classificationstore"===i.type){if(!("keyId"in e.config)||!("groupId"in e.config)||!("keyId"in i.config)||!("groupId"in i.config))throw Error("keyId or groupId is missing in config");return e.key!==i.key||e.config.keyId!==i.config.keyId||e.config.groupId!==i.config.groupId}return e.key!==i.key}))}}},DT=e=>{let{batchEdit:t}=e,{frontendType:i,type:n}=t,{getComponentRenderer:r}=(0,ih.R)();return(0,tG.useMemo)(()=>{let{ComponentRenderer:e}=r({dynamicTypeIds:[n,i],target:"BATCH_EDIT"});return null===e?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:e({batchEdit:t})})},[t])},DS=()=>{let{batchEdits:e,removeBatchEdit:t}=Dk(),{updateLocale:i}=Dk(),n=(0,p3.t)(),r=n.requiredLanguages,a=e.map(e=>{let a=e.locale??n.requiredLanguages[0],l="fieldDefinition"in e.config?e.config.fieldDefinition.title:e.key,o="dataobject.classificationstore"===e.type?`${e.key}-${e.config.keyId}-${e.config.groupId}`:e.key;return{id:`${e.key}`,key:o,children:(0,tq.jsx)(ig.Tag,{children:(0,i6.t)(`${l}`)}),renderRightToolbar:(0,tq.jsx)(TM.e,{items:[...e.localizable?[(0,tq.jsx)(S_.v,{languages:r,onSelectLanguage:t=>{i(e,(0,S_.z)(t))},selectedLanguage:a},"language-selection")]:[],(0,tq.jsx)(lp.K,{icon:{value:"close"},onClick:()=>{t(e)}},"remove")]}),body:(0,tq.jsx)(DT,{batchEdit:e})}});return(0,tq.jsxs)(tq.Fragment,{children:[0===a.length&&(0,tq.jsx)(he.R,{text:(0,i6.t)("batch-edit.no-content")}),a.length>0&&(0,tq.jsx)(SK.N,{items:a})]})},DC=(e,t,i,n)=>e.map(e=>{let r,a,l,o,s;if(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children)){let r=DC(e.children,t,i,n);return{...e,children:r}}return(r=!0===e.editable,a=t.some(t=>{var i,n;let r,a,l;return e.key===t.key&&(i=e.group,n=t.group,a=(r=e=>"string"==typeof e?e.split("."):Array.isArray(e)?e.flat().map(e=>String(e)):[String(e)])(i),l=r(n),a.length===l.length&&a.every((e,t)=>e===l[t]))&&"dataobject.classificationstore"!==e.mainType}),l=i({target:"BATCH_EDIT",dynamicTypeIds:[null==e?void 0:e.mainType,null==e?void 0:e.frontendType]}),o=!1,(s=tc.kL.get(td.K["DynamicTypes/ObjectDataRegistry"])).hasDynamicType(null==e?void 0:e.frontendType)&&(o=s.getDynamicType(null==e?void 0:e.frontendType).isAllowedInBatchEdit),r&&l&&!a&&o)?e:null}).filter(e=>null!==e&&(!("children"in e&&void 0!==e.children&&Array.isArray(e.children))||e.children.length>0)),DD=e=>e.some(e=>!(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children))||DD(e.children));var DI=i(74003),DM=i(96511);class DL extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchObjectsByIds({body:{data:this.selectedRowsIds.map(e=>({id:e,editableData:this.values}))}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchObjectsByIds=e.patchObjectsByIds,this.selectedRowsIds=e.selectedRowsIds,this.values=e.values}}class DF extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchObjectsInFolder({body:{data:[{folderId:this.folderId,editableData:this.values}],filters:this.filters,classId:this.classId}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchObjectsInFolder=e.patchObjectsInFolder,this.folderId=e.folderId,this.values=e.values,this.filters=e.filters,this.classId=e.classId}}let DE=e=>{let{batchEditModalOpen:t,setBatchEditModalOpen:i}=e,{getAvailableColumnsDropdown:n}=(0,SB.m)(),{batchEdits:r,addOrUpdateBatchEdit:a,addOrUpdateBatchEdits:l,resetBatchEdits:o}=Dk(),[s]=tJ.lV.useForm(),{selectedRows:d}=(0,SC.U)(),[c,{error:f,isError:u,isSuccess:m}]=(0,Da.Ex)(),[p,{error:g,isError:h,isSuccess:y}]=(0,Da.M5)(),{useDataQueryHelper:v}=(0,SN.t)(),{getArgs:b}=v(),{id:x,elementType:j}=(0,iZ.J)(),w=(0,iv.useAppDispatch)(),k=tc.kL.get(td.K.executionEngine),T=Object.keys(d??{}),S=T.length,{hasType:C,getType:D}=(0,ih.R)(),{refreshGrid:I}=(0,SW.X)(j),M=(0,Ce.p)().selectedClassDefinition,{openModal:L}=(0,DI._P)({onUpdate:function(e){let t=e.modalContext,i=F.find(e=>e.key===t.name&&"dataobject.classificationstore"===e.type);if(void 0===i)throw Error("Could not find base column for classification store field "+t.name);let n=[];"group-by-key"===e.type&&(e.data.forEach(e=>{let t=e.definition,a=!1;r.forEach(t=>{var n,r;t.key===i.key&&(null==(n=t.config)?void 0:n.keyId)===e.id&&(null==(r=t.config)?void 0:r.groupId)===e.groupId&&(a=!0)}),a||n.push({...i,key:`${i.key}`,frontendType:null==t?void 0:t.fieldtype,config:{keyId:e.id,groupId:e.groupId,fieldDefinition:t}})}),l(n))}}),{availableColumns:F}=(0,SB.m)(),E=()=>{o(),s.resetFields()};(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(f)),h&&(0,iX.Ay)(new iX.hD(g))},[f,g]),(0,tG.useEffect)(()=>{(m||y)&&E(),y&&1===S&&w(Da.FH.util.invalidateTags(uT.qN.DATA_OBJECT_GRID_ID(x)))},[m,y]);let P=async e=>{if(0===S){var t,n;let i=(null==(n=b())||null==(t=n.body)?void 0:t.filters)??{};delete i.page,delete i.pageSize;let r=new DF({title:(0,i6.t)("batch-edit.job-title"),patchObjectsInFolder:c,folderId:x,values:e,filters:i,classId:String(null==M?void 0:M.id),assetContextId:x,refreshGrid:I});await k.runJob(r)}else if(1===S)await p({body:{data:[{id:parseInt(T[0]),editableData:e}]}});else{let t=new DL({title:(0,i6.t)("batch-edit.job-title"),patchObjectsByIds:p,selectedRowsIds:T.map(Number),values:e,assetContextId:x,refreshGrid:I});await k.runJob(t)}E(),i(!1)},A=n(e=>{if("dataobject.classificationstore"===e.type){var t;if(!("fieldDefinition"in e.config))throw Error("Field definition is missing in config");L({...null==(t=e.config)?void 0:t.fieldDefinition,fieldName:e.key,allowedTabs:[DM.X.GroupByKey]});return}a(e,void 0)}).menu.items,N=(0,tG.useMemo)(()=>()=>(0,tI.isUndefined)(A)?[]:DC(A,r,C,D),[A,r,C,D]),R=!DD(N());return(0,tq.jsx)(Dl.Q,{children:(0,tq.jsx)(Sz.m,{afterClose:()=>{E()},footer:(0,tq.jsxs)(p9.j,{divider:!0,justify:"space-between",children:[(0,tq.jsx)(pu.m,{menu:{items:N()},children:(0,tq.jsx)(m4.J,{disabled:R,icon:{value:"new"},type:"default",children:(0,i6.t)("listing.add-column")})}),r.length>0&&(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(m4.J,{icon:{value:"close"},onClick:()=>{E()},type:"link",children:(0,i6.t)("batch-edit.modal-footer.discard-all-changes")}),(0,tq.jsx)(az.$,{onClick:()=>{s.submit()},type:"primary",children:(0,i6.t)("batch-edit.modal-footer.apply-changes")})]})]}),onCancel:()=>{i(!1)},open:t,size:"XL",title:(0,tq.jsx)(p8.w,{children:(0,i6.t)("batch-edit.modal-title")}),children:(0,tq.jsx)(t4._Y,{fieldWidthValues:{large:9999,medium:9999,small:9999},children:(0,tq.jsx)(tJ.lV,{form:s,onFinish:P,children:(0,tq.jsx)(DS,{})})})})})};class DP extends Ca{async executeDeleteRequest(){var e;let t=await uk.M_.dispatch(Da.FH.endpoints.dataObjectBatchDelete.initiate({body:{ids:this.itemIds}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}}let DA=()=>{let e=(0,SA.S)(),t=dl.elementTypes.dataObject,{refreshGrid:i}=(0,SW.X)(t),n=tc.kL.get(td.K.executionEngine),[r,a]=(0,tG.useState)(!1),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(!1),{t:c}=(0,iQ.useTranslation)();if(void 0===e)return(0,tq.jsx)(tq.Fragment,{});let{selectedRows:f,setSelectedRows:u}=e,m=void 0!==f?Object.keys(f).map(Number):[],p=void 0!==f&&Object.keys(f).length>0,g=async()=>{let e=new DP({itemIds:m,title:c("batch-delete.job-title"),onFinish:async()=>{await i(),u({})}});await n.runJob(e)},h={items:[{key:"1",label:c("listing.actions.batch-edit"),icon:(0,tq.jsx)(r9.I,{value:"batch-selection"}),onClick:()=>{a(!0)}},{key:"2",label:c("listing.actions.export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),children:[{key:"2.1",label:c("listing.actions.csv-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{o(!0)}},{key:"2.2",label:c("listing.actions.xlsx-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{d(!0)}}]},{key:"3",hidden:!p,label:c("listing.actions.delete"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),onClick:g}]};return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pu.m,{menu:h,children:(0,tq.jsx)(pf.g,{"data-testid":"listing-batch-actions-button",children:p?c("listing.actions"):c("listing.non-selected.actions")},"dropdown-button")}),(0,tq.jsx)(Ci,{open:l,setOpen:o}),(0,tq.jsx)(Cr,{open:s,setOpen:d}),(0,tq.jsx)(DI.K7,{children:(0,tq.jsx)(Dw,{children:(0,tq.jsx)(DE,{batchEditModalOpen:r,setBatchEditModalOpen:a})})})]})};var DN=i(40721);let DR=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,aB.Vl)(),[i]=(0,Dg.ZE)(),n=(0,iv.useAppDispatch)(),{openDataObject:r}=(0,DN.H)(),{isTreeActionAllowed:a}=(0,C2.H)(),{getClassDefinitionsForCurrentUser:l}=(0,aX.G)(),o=async(e,t,a)=>{let l=i({parentId:a,dataObjectAddParameters:{key:t,classId:e,type:"variant"}});try{let e=await l;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));let{id:t}=e.data;r({config:{id:t}}),n((0,Cb.refreshNodeChildren)({nodeId:String(a),elementType:"data-object"}))}catch(e){(0,iX.Ay)(new iX.$g("Error creating data object"))}};return{addVariantTreeContextMenuItem:i=>({label:e("data-object.tree.context-menu.add-variant"),key:"addVariant",icon:(0,tq.jsx)(r9.I,{value:"data-object-variant"}),hidden:!a(C1.o.AddVariant)||!(0,TS.o)(i.permissions,"create")||(0,tI.isEmpty)(l()),onClick:()=>{var n,r,a;n=(e=>{if(!(0,tI.isNil)(e))return l().find(t=>t.name===e)})(i.metaData.dataObject.className),r=parseInt(i.id),t.input({title:e("data-object.create-variant",{className:n.name}),label:e("form.label.new-item"),rule:{required:!0,message:e("form.validation.required")},onOk:async e=>{await o(n.id,e,r),null==a||a(e)}})}}),createDataObjectVariant:(i,n,r)=>{t.input({title:e("data-object.create-variant",{className:i.name}),label:e("form.label.new-item"),rule:{required:!0,message:e("form.validation.required")},onOk:async e=>{await o(i.id,e,n),null==r||r(e)}})}}},DV=()=>{let{createDataObjectVariant:e}=DR(),{selectedClassDefinition:t}=(0,Ce.p)(),{id:i}=(0,iZ.J)(),n=(0,uk.jL)(),{t:r}=(0,iQ.useTranslation)();return(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{e({id:(null==t?void 0:t.id)??"",name:(null==t?void 0:t.name)??""},i,e=>(n(Da.FH.util.invalidateTags(uT.qN.DATA_OBJECT_GRID_ID(i))),e))},children:r("data-object.variant-listing.create-data-variant")})},Dz=()=>{let{selectedRows:e}=(0,SC.U)(),t=Object.keys(e??{}).length;return(0,tG.useMemo)(()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsxs)(oI.B,{children:[(0,tq.jsxs)(a$.$,{size:"extra-small",children:[t>0&&(0,tq.jsx)(hP.B,{}),t<=0&&(0,tq.jsx)(DV,{})]}),(0,tq.jsx)(DA,{})]}),(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]})]}),[t])},DB={...hj.G,ViewComponent:()=>{let{dataQueryResult:e}=(0,hD.E)(),{selectedClassDefinition:t}=(0,Ce.p)();return(0,tG.useMemo)(()=>(0,tq.jsx)(pl.s,{renderSidebar:void 0!==e?(0,tq.jsx)(hI.B,{}):void 0,renderToolbar:void 0!==e?(0,tq.jsx)(Dz,{}):void 0,children:void 0!==t&&void 0!==e&&(0,tq.jsx)(hM.E,{})}),[e])},useDataQuery:Dg.dB,useDataQueryHelper:Dh.Q,useElementId:Dp.$},DO=()=>{let{id:e}=(0,iZ.J)(),t=(0,aG.A)(e),i="className"in t?t.className:void 0,n=(0,hS.Z)(Dy._,hT.Y,hk.S,[hq.f,{isResolvingClassDefinitionsBasedOnElementId:!1,classRestriction:[{classes:i}]}],Dv.y,[Sk.P,{useInlineEditApiUpdate:Dx.C}],[Sw.Y,{rowSelectionMode:"multiple"}],Db.y,hv.A,hw.p,[hV.u,{elementType:"data-object",restrictedOptions:["variant"]}])(DB);return(0,tq.jsx)(hx.U,{serviceIds:["DynamicTypes/ObjectDataRegistry","DynamicTypes/GridCellRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(hj.w,{...n})})},DK=()=>{let{setHasLocalizedFields:e}=(0,a0.Sk)();return(0,tG.useEffect)(()=>{e(!0)},[e]),(0,tG.useMemo)(()=>(0,tq.jsx)(DO,{}),[])},D_={key:"variants",label:"data-object.object-editor-tabs.variants",icon:(0,tq.jsx)(r9.I,{value:"data-object-variant"}),children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.variants.name}),hidden:e=>!("allowVariants"in e&&(null==e?void 0:e.allowVariants)===!0)};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/ObjectTabManager"]),t={...Dm};t.hidden=e=>(null==e?void 0:e.hasChildren)===!1,t.label="object.object-editor-tabs.children-listing",e.register(Dc),e.register(C8),e.register(kh.Aj),e.register(C7),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(t),e.register(D_),e.register(kh.MD)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/VariantTabManager"]);e.register(Dc),e.register(C8),e.register(kh.Aj),e.register(C7),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(D_),e.register(kh.MD)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/FolderTabManager"]);e.register(Dm),e.register(kh.Aj),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD)}});var DH=i(68360);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectEditorToolbar;e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishContextMenuItem:t}=(0,DH.M)("data-object");return t(e.target,e.onComplete)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteContextMenuItem:t}=(0,Tu.z)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameContextMenuItem:t}=(0,Tm.M)("data-object");return t(e.target)}})}});var D$=i(44725),DW=i(67895);let Dq=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(De.Z),{dataObject:i}=(0,aG.A)(t),{refreshElement:n}=(0,Tp.d)("data-object"),{isLoading:r,layouts:a}=(0,DW.c)(t),{setCurrentLayout:l,currentLayout:o}=(0,dN.W)(),[s,d]=(0,tG.useState)(),c=(0,tG.useRef)(null);if((0,tG.useEffect)(()=>{if((0,tI.isString)(s)){var e;null==(e=c.current)||e.refresh()}},[s]),r)return(0,tq.jsx)(tq.Fragment,{});let f=()=>Object.keys((null==i?void 0:i.changes)??{}).length>0,u=(a??[]).map(t=>({key:`reload-${t.id}`,label:(0,tq.jsx)(n5.E,{strong:o===t.id,children:e(t.name)}),onClick:()=>{d(t.id)}}));return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(T6.j,{hasDataChanged:f,onReload:()=>{n(t,!0)},title:e("toolbar.reload.confirmation"),children:(0,tq.jsx)(lp.K,{"data-testid":"data-object-editor-reload-button",icon:{value:"refresh"},children:e("toolbar.reload")})},"reload"),u.length>1&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(T6.j,{hasDataChanged:f,onCancel:()=>{d(null)},onReload:()=>{(0,tI.isString)(s)&&l(s),n(t,!0)},ref:c,title:e("toolbar.reload.confirmation")},"reload"),(0,tq.jsx)(pu.m,{menu:{items:u},trigger:["hover"],children:(0,tq.jsx)(lp.K,{icon:{value:"chevron-down"},onClick:e=>{e.stopPropagation()},children:e("toolbar.switch-layout")})},"switch-layout")]})]})},DG=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(De.Z),{dataObject:i}=(0,aG.A)(t),[n,r]=(0,tG.useState)(void 0),a=(0,kj.W)(kw.r.dataObjectEditorToolbar.name,{target:i,onComplete:()=>{r(void 0)}}),l=a.filter(e=>null!==e&&"hidden"in e&&(null==e?void 0:e.hidden)===!1),o=[];return o.push((0,tq.jsx)(Dq,{},"reload-button")),l.length>0&&o.push((0,tq.jsx)(pu.m,{menu:{items:a,onClick:e=>{"unpublish"===e.key&&r(!0)}},open:n,children:(0,tq.jsx)(pf.g,{children:e("toolbar.more")})},"dropdown-button")),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})};var DU=i(36877);let DQ=()=>{let{id:e}=(0,tG.useContext)(De.Z),{activeTab:t}=(0,aG.A)(e);return[Dc.key,Dm.key,D_.key].includes(t??"")?(0,tq.jsx)(DU.v,{}):(0,tq.jsx)(tq.Fragment,{})};var DJ=i(74108),DZ=i(4919);let DY=()=>{var e;let t,i,{t:n}=(0,iQ.useTranslation)(),{id:r}=(0,tG.useContext)(De.Z),{dataObject:a,removeTrackedChanges:l,publishDraft:o}=(0,aG.A)(r),{save:s,isLoading:d,isSuccess:c,isError:f,error:u}=(0,DJ.W)(),{isAutoSaveLoading:m,runningTask:p}=(0,DZ.m)(),{saveSchedules:g,isLoading:h,isSuccess:y,isError:v,error:b}=So("data-object",r,!1),{getModifiedDataObjectAttributes:x,resetModifiedDataObjectAttributes:j}=(0,C9.P)(),{deleteDraft:w,isLoading:k,buttonText:T}=(0,Di.K)("data-object"),S=(0,uI.J)(),C=(null==a||null==(e=a.draftData)?void 0:e.isAutoSave)===!0;async function D(e,t){(null==a?void 0:a.changes)!==void 0&&Promise.all([s(x(),e,()=>{j(),null==t||t()}),g()]).catch(e=>{console.error(e)})}(0,tG.useEffect)(()=>{(async()=>{c&&y&&(l(),await S.success(n("save-success")))})().catch(e=>{console.error(e)})},[c,y]),(0,tG.useEffect)(()=>{f&&!(0,tI.isNil)(u)?(0,iX.Ay)(new iX.hD(u)):v&&!(0,tI.isNil)(b)&&(0,iX.Ay)(new iX.hD(b))},[f,v,u,b]);let I=(()=>{if((null==a?void 0:a.type)==="folder")return[];let e=[],t=p===DJ.D.Version&&(d||h)||k;if((0,TS.o)(null==a?void 0:a.permissions,"save")){(null==a?void 0:a.published)===!0&&e.push((0,tq.jsx)(ni.Button,{disabled:d||h||t,loading:p===DJ.D.Version&&(d||h),onClick:async()=>{await D(DJ.D.Version)},type:"default",children:n("toolbar.save-draft")},"save-draft"));let i=d||h||t;(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&e.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===DJ.D.Publish&&(d||h),onClick:async()=>{await D(DJ.D.Publish,()=>{o()})},type:"default",children:n("toolbar.save-and-publish")},"save-draft")),(0,tI.isNil)(null==a?void 0:a.draftData)||e.push((0,tq.jsx)(pu.m,{menu:{items:[{disabled:d,label:T,key:"delete-draft",onClick:w}]},children:(0,tq.jsx)(lp.K,{disabled:d||h||t,icon:{value:"chevron-down"},loading:k,type:"default"})},"dropdown"))}return e})(),M=(t=[],i=d||h||k,(null==a?void 0:a.type)==="folder"?t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===DJ.D.Save&&(d||h),onClick:async()=>{await D(DJ.D.Save)},type:"primary",children:n("toolbar.save")})):((null==a?void 0:a.published)===!0&&(0,TS.o)(null==a?void 0:a.permissions,"publish")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===DJ.D.Publish&&(d||h),onClick:async()=>{await D(DJ.D.Publish)},type:"primary",children:n("toolbar.save-and-publish")})),(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===DJ.D.Save&&(d||h),onClick:async()=>{await D(DJ.D.Save)},type:"primary",children:n("toolbar.save-draft")}))),t);return(0,m9.Z)(async()=>{null!=a&&(0,TS.o)(a.permissions,"publish")&&await D(DJ.D.Publish,()=>{a.published||o()})},"publish"),(0,m9.Z)(async()=>{!(d||h||k)&&null!=a&&(0,TS.o)(a.permissions,"save")&&((null==a?void 0:a.type)==="folder"?await D(DJ.D.Save):(null==a?void 0:a.published)&&(0,TS.o)(null==a?void 0:a.permissions,"publish")?await D(DJ.D.Publish):(null==a?void 0:a.published)||await D(DJ.D.Save))},"save"),(0,tq.jsxs)(tq.Fragment,{children:[m&&(0,tq.jsx)(iN.m,{title:n("auto-save.loading-tooltip"),children:(0,tq.jsx)(sN.t,{type:"classic"})}),!m&&C&&(0,tq.jsx)(iN.m,{title:n("auto-save.tooltip"),children:(0,tq.jsx)(r9.I,{value:"auto-save"})}),I.length>0&&(0,tq.jsx)(TM.e,{items:I,noSpacing:!0}),M.length>0&&(0,tq.jsx)(TM.e,{items:M,noSpacing:!0})]})};var DX=i(3394);let D0=()=>{let{id:e}=(0,iZ.J)();return(0,tq.jsx)(DX.s,{id:e})},D1=e=>{let{data:t}=e;return(0,tq.jsx)(ap.s,{flex:1,gap:"small",vertical:!0,children:(0,tq.jsx)(TW,{data:t})})},D2=e=>{let{versionIds:t}=e,[i,n]=(0,tG.useState)([]),[r,a]=(0,tG.useState)([]),l=(0,iv.useAppDispatch)(),{id:o}=(0,iZ.J)(),s=(0,tc.Lt)(td.K["DynamicTypes/ObjectDataRegistry"]),{data:d}=(0,Da.nF)({id:o});return((0,tG.useEffect)(()=>{let e=[];n([]),t.forEach(t=>{let i=t.id;e.push(l(i3.FH.endpoints.versionGetById.initiate({id:i})))}),Promise.all(e).then(e=>{let i=[];e.forEach(async(e,l)=>{let c=e.data;(0,tI.isUndefined)(null==d?void 0:d.children)||(0,tI.isUndefined)(c)||(i.push(await (0,a2.ub)({objectId:o,layout:d.children,versionData:c,versionId:t[l].id,versionCount:t[l].count,objectDataRegistry:s,layoutsList:r,setLayoutsList:a})),n((0,a2.xz)({data:i})))})}).catch(e=>{console.log(e)})},[t,d]),(0,tI.isEmpty)(i))?(0,tq.jsx)(uE.U,{fullPage:!0,loading:!0}):(0,tq.jsx)(D1,{data:i})},D3=e=>{let{data:t}=e;return(0,tq.jsx)(ap.s,{flex:1,gap:"small",vertical:!0,children:(0,tq.jsx)(TW,{data:t})})},D6=e=>{let{versionId:t}=e,i=(0,iv.useAppDispatch)(),{id:n}=(0,iZ.J)(),r=(0,tc.Lt)(td.K["DynamicTypes/ObjectDataRegistry"]),[a,l]=(0,tG.useState)(t),[o,s]=(0,tG.useState)([]),[d,c]=(0,tG.useState)([]),{data:f}=(0,Da.nF)({id:n});return((0,tG.useEffect)(()=>{t.id!==a.id&&(s([]),l(t))},[t]),(0,tG.useEffect)(()=>{Promise.resolve(i(i3.FH.endpoints.versionGetById.initiate({id:a.id}))).then(async e=>{let t=[],i=e.data;(0,tI.isUndefined)(null==f?void 0:f.children)||(0,tI.isUndefined)(i)||(t.push(await (0,a2.ub)({objectId:n,layout:f.children,versionData:i,versionId:a.id,versionCount:a.count,objectDataRegistry:r,layoutsList:d,setLayoutsList:c})),s((0,a2.xz)({data:t})))}).catch(e=>{console.log(e)})},[a,f]),(0,tI.isEmpty)(o))?(0,tq.jsx)(uE.U,{fullPage:!0,loading:!0}):(0,tq.jsx)(D3,{data:o})},D4=()=>(0,tq.jsx)(Dl.Q,{children:(0,tq.jsx)(t4._Y,{children:(0,tq.jsx)(TF.m,{ComparisonViewComponent:D2,SingleViewComponent:D6})})});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/TypeRegistry"]);e.register({name:"object",tabManagerServiceId:"DataObject/Editor/ObjectTabManager"}),e.register({name:"variant",tabManagerServiceId:"DataObject/Editor/VariantTabManager"}),e.register({name:"folder",tabManagerServiceId:"DataObject/Editor/FolderTabManager"}),tc.kL.get(td.K.widgetManager).registerWidget(D$.R);let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.registerToSlot("dataObject.editor.toolbar.slots.left",{name:"contextMenu",priority:100,component:DG}),t.registerToSlot("dataObject.editor.toolbar.slots.left",{name:"languageSelection",priority:200,component:DQ}),t.registerToSlot("dataObject.editor.toolbar.slots.right",{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot("dataObject.editor.toolbar.slots.right",{name:"saveButtons",priority:200,component:DY}),t.register({name:tu.eb.dataObject.editor.tab.preview.name,component:D0}),t.register({name:tu.eb.dataObject.editor.tab.versions.name,component:D4}),t.register({name:tu.eb.dataObject.editor.tab.listing.name,component:Du}),t.register({name:tu.eb.dataObject.editor.tab.edit.name,component:Dd}),t.register({name:tu.eb.dataObject.editor.tab.variants.name,component:DK})}});let D5=e=>{let{ContextComponent:t,...i}=e;return{...i,ContextComponent:()=>(0,tq.jsx)(dR.DynamicTypeRegistryProvider,{serviceIds:["DynamicTypes/ObjectDataRegistry","DynamicTypes/GridCellRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(t,{})})}},D7=()=>{let{selectedRows:e}=(0,SC.U)(),t=Object.keys(e??{}).length;return(0,tG.useMemo)(()=>(0,tq.jsxs)(oI.B,{children:[(0,tq.jsxs)(a$.$,{size:"extra-small",children:[t>0&&(0,tq.jsx)(hP.B,{}),t<=0&&(0,tq.jsx)(h_.C,{})]}),(0,tq.jsx)(DA,{})]}),[t])},D8=()=>(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]}),D9=()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.dataObject.listing.toolbar.left.name})}),(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.dataObject.listing.toolbar.right.name})})]});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.dataObject.listing.toolbar.component.name,component:D9}),e.registerToSlot(tu.eb.dataObject.listing.toolbar.left.name,{name:"batch-actions",component:D7}),e.registerToSlot(tu.eb.dataObject.listing.toolbar.right.name,{name:"pagination",component:D8});let t=tc.kL.get(td.K["DataObject/Listing/Builder"]);t.addDecorator({name:"actionColumn",decorator:dl.ActionColumnDecorator}),t.addDecorator({name:"globalContext",decorator:SL}),t.addDecorator({name:"sorting",decorator:dl.SortingDecorator}),t.addDecorator({name:"paging",decorator:dl.PagingDecorator}),t.addDecorator({name:"classDefinitionSelection",decorator:dl.ClassDefinitionSelectionDecorator,config:{showConfigLayer:!0}}),t.addDecorator({name:"columnConfiguration",decorator:dl.ColumnConfigurationDecorator});let i={useInlineEditApiUpdate:dl.useInlineEditApiUpdate};t.addDecorator({name:"inlineEdit",decorator:dl.InlineEditDecorator,config:i}),t.addDecorator({name:"rowSelection",decorator:dl.RowSelectionDecorator,config:{rowSelectionMode:"multiple"}}),t.addDecorator({name:"contextMenu",decorator:dl.ContextMenuDecorator}),t.addDecorator({name:"tagFilter",decorator:dl.TagFilterDecorator}),t.addDecorator({name:"generalFilters",decorator:dl.GeneralFiltersDecorator}),t.addDecorator({name:"dynamicType",decorator:D5})}});let Ie=e=>{let t=e.node??Cf.G,i=(0,kj.W)("data-object.tree",{target:t,onComplete:()=>{}});return(0,tq.jsx)(CU.W,{dataTestId:(0,pi.b0)("data-object",t.id),items:i})};var It=i(38220),Ii=i(63993),In=i(42669),Ir=i(72744),Ia=i(13397);let Il={KEY:"key",INDEX:"index"},Io={ASCENDING:"ASC",DESCENDING:"DESC"},Is=e=>{let{elementPatch:t}=(0,Ia.M)(e),{t:i}=(0,iQ.useTranslation)(),n=(0,iv.useAppDispatch)(),r=(0,m5.J)(),{isTreeActionAllowed:a}=(0,C2.H)(),l=async(i,r,a)=>{try{await t({body:{data:[{id:Number(i.id),childrenSortBy:Il[r],childrenSortOrder:Io[a]}]}})&&(n((0,Cb.refreshTargetNode)({nodeId:String(i.parentId),elementType:e})),n((0,Cb.refreshNodeChildren)({nodeId:String(i.id),elementType:e})))}catch(e){console.error("Error updating sorting",e)}};return{move:async i=>{let{currentElement:r,targetElement:a}=i;if(r.id!==a.id)try{n((0,Cb.markNodeDeleting)({nodeId:String(r.id),elementType:e,isDeleting:!0})),await t({body:{data:[{id:r.id,parentId:a.parentId,index:i.newIndex}]}})?(n((0,Cb.refreshSourceNode)({nodeId:String(r.parentId),elementType:e})),n((0,Cb.refreshTargetNode)({nodeId:String(a.parentId),elementType:e}))):n((0,Cb.markNodeDeleting)({nodeId:String(r.id),elementType:e,isDeleting:!1}))}catch(e){console.error("Error moving element",e)}},sortingContextMenuItem:e=>({label:i("element.tree.sorting"),key:"sorting",icon:(0,tq.jsx)(r9.I,{value:"folder"}),hidden:!0!==e.hasChildren||!r.isAdmin&&(!!e.isLocked||!(0,TS.o)(e.permissions,"settings")||!a(C1.o.ChangeChildrenSortBy)),children:[{label:i("element.tree.sorting.keyed-ascending"),key:"sortingAscending",icon:(0,tq.jsx)(r9.I,{value:"a-to-z-order"}),onClick:()=>{l(e,"KEY","ASCENDING")}},{label:i("element.tree.sorting.keyed-descending"),key:"sortingDescending",icon:(0,tq.jsx)(r9.I,{value:"z-to-a-order"}),onClick:()=>{l(e,"KEY","DESCENDING")}},{label:i("element.tree.sorting.indexed"),key:"sortingIndexed",icon:(0,tq.jsx)(r9.I,{value:"manual-order"}),onClick:()=>{l(e,"INDEX","ASCENDING")}}]})}};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectTree;e.registerToSlot(t.name,{name:"addObject",priority:t.priority.addObject,useMenuItem:e=>{let{addObjectTreeContextMenuItem:t}=(0,It.o)();return t(e.target)}}),e.registerToSlot(t.name,{name:"addVariant",priority:t.priority.addVariant,useMenuItem:e=>{var t,i;let{addVariantTreeContextMenuItem:n}=DR();return(null==(i=e.target.metaData)||null==(t=i.dataObject)?void 0:t.allowVariants)===!0?n(e.target):null}}),e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,CY.N)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("data-object",(0,Tg.Cr)("data-object","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cy.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{pasteAsChildRecursiveTreeContextMenuItem:i,pasteRecursiveUpdatingReferencesTreeContextMenuItem:n,pasteAsChildTreeContextMenuItem:r,pasteOnlyContentsTreeContextMenuItem:a,isPasteMenuHidden:l}=(()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,iv.useAppDispatch)(),{paste:i}=(0,Cy.e)("data-object"),{treeId:n}=(0,Cx.z)(!0),[r]=(0,Dg.Gq)(),{getStoredNode:a}=(0,Ii.x)("data-object"),{isPasteHidden:l}=(0,In.n)("data-object"),o=async(e,i)=>{t((0,Cb.setNodeFetching)({treeId:n,nodeId:String(i.id),isFetching:!0}));let a="string"==typeof i.id?parseInt(i.id):i.id,l=r({sourceId:"string"==typeof e.id?parseInt(e.id):e.id,targetId:a});try{let e=await l;void 0!==e.error&&(0,iX.Ay)(new iX.hD(e.error)),t((0,Cb.setNodeFetching)({treeId:n,nodeId:String(a),isFetching:!1}))}catch(e){(0,iX.Ay)(new iX.$g(e.message))}},s=e=>{let t=a();return l(e,"copy")||"folder"===e.type||e.isLocked||(null==t?void 0:t.type)!==e.type};return{pasteAsChildTreeContextMenuItem:t=>({label:e("element.tree.paste-as-child"),key:"pasteAsChild",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!1,updateReferences:!1},a())}}),pasteAsChildRecursiveTreeContextMenuItem:t=>({label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!0,updateReferences:!1},a())}}),pasteRecursiveUpdatingReferencesTreeContextMenuItem:t=>({label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!0,updateReferences:!0},a())}}),pasteOnlyContentsTreeContextMenuItem:t=>({label:e("element.tree.paste-only-contents"),key:"pasteOnlyContents",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:s(t),onClick:async()=>{await o(a(),t)}}),isPasteMenuHidden:e=>{let t=l(e,"copy"),i=s(e);return t&&i}}})();return{label:t("element.tree.paste"),key:"paste",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cy.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cy.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"publish",priority:t.priority.publish,useMenuItem:e=>{let{publishTreeContextMenuItem:t}=(0,Ir.Z)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishTreeContextMenuItem:t}=(0,DH.M)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("data-object",(0,Tg.Cr)("data-object","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{lockTreeContextMenuItem:i,lockAndPropagateTreeContextMenuItem:n,unlockTreeContextMenuItem:r,unlockAndPropagateTreeContextMenuItem:a,isLockMenuHidden:l}=(0,CX.V)("data-object");return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),hidden:l(e.target),children:[{label:t("element.lock"),key:"advanced-lock",icon:(0,tq.jsx)(r9.I,{value:"lock"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}]}}}),e.registerToSlot(t.name,{name:"sorting",priority:t.priority.refreshTree,useMenuItem:e=>{let{sortingContextMenuItem:t}=Is("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CF.h)("data-object");return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.dataObject.tree.contextMenu.name,component:Ie})}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectListGrid;e.registerToSlot(t.name,{name:"open",priority:t.priority.open,useMenuItem:e=>{let{openGridContextMenuItem:t}=(0,Ty.i)("data-object");return t(e.target)??null}}),e.registerToSlot(t.name,{name:"locateInTree",priority:t.priority.locateInTree,useMenuItem:e=>{let{locateInTreeGridContextMenuItem:t}=(0,Tv.H)("data-object");return t(e.target,e.onComplete)??null}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteGridContextMenuItem:t}=(0,Tu.z)("data-object",(0,Tg.Cr)("data-object","delete",Number(e.target.id)));return t(e.target)??null}})}});let Id=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cm.s,{...e,label:t("data-object.data-object-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})};var Ic=i(9298);let If=(p=(0,i(60555).V)((u=Cf.n,m=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(u,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CG.y9,{renderMenu:()=>(0,tq.jsx)(Ie,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),(0,tG.forwardRef)((e,t)=>{var i;let n=e.metaData.dataObject,{t:r}=(0,iQ.useTranslation)();if((null==(i=e.metaData)?void 0:i.dataObject)===void 0)return(0,tq.jsx)(m,{...e});let a=(0,tI.isString)(null==n?void 0:n.key)&&(null==n?void 0:n.key)!==""?null==n?void 0:n.key:r("home");return(0,tq.jsx)(Cg.s,{info:{icon:e.icon,title:a,type:"data-object",data:{...n}},children:(0,tq.jsx)(m,{...e,ref:t})})}))),(0,tG.forwardRef)((e,t)=>{var i,n,r,a;let{move:l}=(0,Cy.e)("data-object"),{move:o}=Is("data-object"),{isSourceAllowed:s,isTargetAllowed:d}=Cj(),c=(0,Ck.W)(e.parentId??"-1"),f="keyed";if(void 0!==c&&(f=(null==(a=c.treeNodeProps)||null==(r=a.metaData)||null==(n=r.dataObject)?void 0:n.childrenSortBy)??"keyed"),(null==(i=e.metaData)?void 0:i.dataObject)===void 0)return(0,tq.jsx)(p,{...e});let u=e.metaData.dataObject;if(!d(u))return(0,tq.jsx)(p,{...e});let m=e=>{let t=e.data;s(t)&&d(u)&&l({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:u.id,parentId:u.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},g=e=>{let{info:t,position:i="top"}=e,n=t.data;s(n)&&d(u)&&o({currentElement:{id:n.id,parentId:n.parentId},targetElement:{id:u.id,parentId:u.parentId},newIndex:"top"===i?u.index:u.index+1}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},h=e=>"data-object"===e.type&&"variant"!==e.data.type,y=e=>{let t=e.data;return"data-object"===e.type&&"variant"!==u.type&&s(t)&&d(u)},v=[{id:"drop-middle",isValidContext:h,isValidData:y,position:{x:"0",y:"0%",width:"100%",height:"100%"},onDrop:m}];return"index"===f&&(v=[{id:"sorting-top",className:"dnd__sorting dnd__sorting--top",isValidContext:h,isValidData:y,position:{x:0,y:0,width:"100%",height:"30%"},onDrop:e=>{g({info:e,position:"top"})}},{id:"drop-middle",isValidContext:h,isValidData:y,position:{x:"0",y:"30%",width:"100%",height:"40%"},onDrop:m},{id:"sorting-bottom",className:"dnd__sorting dnd__sorting--bottom",isValidContext:h,isValidData:y,position:{x:0,y:"70%",width:"100%",height:"30%"},onDrop:e=>{g({info:e,position:"bottom"})}}]),(0,tq.jsx)(p,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(Ic.T,{disableDndActiveIndicator:!0,hotspots:v,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})})),Iu=e=>{let{id:t=1,showRoot:i=!0}=e,{openDataObject:n}=(0,DN.H)(),{rootNode:r,isLoading:a}=(0,CS.m)(t,i),l=(0,CC.e)().get(yl.e.dataObject.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Ch.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cc.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:Id,renderNode:If,renderNodeContent:Cc.Yb.renderNodeContent,renderPager:Cu.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.dataObject.tree.tooltip.name})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"data-object-tree",component:Iu}),t.register({name:yl.e.dataObject.tree.tooltip.name,component:C6}),t.registerToSlot(yl.e.dataObject.tree.node.meta.name,{name:"lockIcon",component:C5,priority:100})}});var Im=i(47605),Ip=i(9503),Ig=i(53405),Ih=i(15789),Iy=i(15156),Iv=i(86646),Ib=i(85709),Ix=i(40144),Ij=i(26962);let Iw=e=>{let{documentId:t,initialValues:i,hasSavePermission:n=!0}=e,{t:r}=(0,iQ.useTranslation)(),{updateSettingsData:a}=(0,Iy.S)(t),{debouncedAutoSave:l}=(0,Ib.W)(),[o]=tJ.lV.useForm(),s=(0,tG.useCallback)(e=>{n&&(a(e),l())},[a,l,n]),{handleFormChange:d}=(0,Ix.T)(s,{delay:500,tag:(0,Ij.n)(t)});return(0,tq.jsxs)(n6.L,{formProps:{form:o,initialValues:i,onValuesChange:d},children:[(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.subject"),name:"subject",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{extra:r("email-settings.from-syntax-hint"),label:r("email-settings.from"),name:"from",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.reply-to"),name:"replyTo",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(Iv.j,{marginBottom:"none",withBorder:!0,children:r("email-settings.recipients")}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.to"),name:"to",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.cc"),name:"cc",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.bcc"),name:"bcc",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(n5.E,{type:"secondary",children:r("email-settings.multiple-recipients-hint")})]})};var Ik=i(49606);let IT=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,tG.useContext)(Ih.T),{id:i}=t,{document:n}=(0,Iy.S)(i),r=(0,Ik.B)(t,"save")||(0,Ik.B)(t,"publish"),a=(0,tG.useMemo)(()=>{let e=(null==n?void 0:n.settingsData)??{};return{subject:(null==e?void 0:e.subject)??"",from:(null==e?void 0:e.from)??"",replyTo:(null==e?void 0:e.replyTo)??"",to:(null==e?void 0:e.to)??"",cc:(null==e?void 0:e.cc)??"",bcc:(null==e?void 0:e.bcc)??""}},[null==n?void 0:n.settingsData]),l=!(0,tI.isUndefined)(n);return(0,tq.jsxs)(ni.Content,{loading:!l,children:[(0,tq.jsx)(Ig.F,{withBorder:!0,children:e("email-settings.sidebar-title")}),(0,tq.jsx)(pa.a,{padding:{x:"extra-small",bottom:"small"},children:l&&(0,tq.jsx)(Iw,{documentId:i,hasSavePermission:r,initialValues:a})})]})};var IS=i(58946);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/EmailTabManager"]);e.register(Im.to),e.register(Im.tr),e.register(kh.Aj),e.register(Im.qW),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/EmailSidebarManager"]);t.registerEntry(Ip.eY),t.registerEntry({key:"email-settings",icon:(0,tq.jsx)(r9.I,{value:"email"}),component:(0,tq.jsx)(IT,{}),tooltip:"email-settings.sidebar-title",isVisible:IS.s}),t.registerEntry(Ip.Ds),t.registerEntry(Ip.wR)}});var IC=i(37858);let ID=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{table:i`
+ `}},{hashPriority:"high"});var Dm=i(33541);let Dp=()=>{let{id:e}=(0,iZ.J)(),{currentLayout:t}=(0,dN.W)(),{data:i,isLoading:n,error:r}=(0,Dc.nF)({id:e,layoutId:t??void 0}),{dataObject:a,isLoading:l}=(0,aG.A)(e),{styles:o}=Du();if(void 0!==r&&(0,iX.Ay)(new iX.hD(r)),void 0===i||n||l)return(0,tq.jsx)(uE.U,{loading:!0});if(!(void 0!==a&&"objectData"in a))throw Error("Data Object data is undefined in Edit Container");return(0,tq.jsx)(Df.Q,{children:(0,tq.jsx)(Dm.E,{children:(0,tq.jsx)(Dd,{className:o.editContainer,data:null==a?void 0:a.objectData,layout:i})})})},Dg={key:"edit",label:"edit",children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.edit.name}),icon:(0,tq.jsx)(r9.I,{value:"edit-pen"}),isDetachable:!1};var Dh=i(68845);let Dy=()=>(0,tq.jsx)(Dh.w8,{}),Dv={key:"listing",label:"folder.folder-editor-tabs.view",children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.listing.name}),icon:(0,tq.jsx)(r9.I,{value:"list"}),isDetachable:!1};var Db=i(35510),Dx=i(69187),Dj=i(69622),Dw=i(14826),Dk=i(41309),DT=i(60213),DS=i(76133);let DC=(0,tG.createContext)({batchEdits:[],setBatchEdits:()=>{}}),DD=e=>{let{children:t}=e,[i,n]=(0,tG.useState)([]);return(0,tG.useMemo)(()=>(0,tq.jsx)(DC.Provider,{value:{batchEdits:i,setBatchEdits:n},children:t}),[i,t])},DI=()=>{let{batchEdits:e,setBatchEdits:t}=(0,tG.useContext)(DC),i=(0,p3.t)();return{batchEdits:e,setBatchEdits:t,addOrUpdateBatchEdit:(n,r)=>{let a={...n,locale:n.localizable?n.locale??i.requiredLanguages[0]:null,value:r},l=[...e],o=e.findIndex(e=>e.key===a.key);-1!==o?l[o]=a:l.push(a),t(l)},addOrUpdateBatchEdits:n=>{let r=[...e];n.forEach(t=>{let n={...t,locale:t.localizable?t.locale??i.requiredLanguages[0]:null,value:void 0},a=e.findIndex(e=>e.key===n.key);-1!==a?r[a]=n:r.push(n)}),t(r)},updateLocale:(i,n)=>{let r=i.key;t(e.map(e=>e.key===r?{...e,locale:n}:e))},resetBatchEdits:()=>{t([])},removeBatchEdit:i=>{t(e.filter(e=>{if("dataobject.classificationstore"===i.type){if(!("keyId"in e.config)||!("groupId"in e.config)||!("keyId"in i.config)||!("groupId"in i.config))throw Error("keyId or groupId is missing in config");return e.key!==i.key||e.config.keyId!==i.config.keyId||e.config.groupId!==i.config.groupId}return e.key!==i.key}))}}},DM=e=>{let{batchEdit:t}=e,{frontendType:i,type:n}=t,{getComponentRenderer:r}=(0,ih.R)();return(0,tG.useMemo)(()=>{let{ComponentRenderer:e}=r({dynamicTypeIds:[n,i],target:"BATCH_EDIT"});return null===e?(0,tq.jsx)(tq.Fragment,{children:"Dynamic Field Filter not supported"}):(0,tq.jsx)(tq.Fragment,{children:e({batchEdit:t})})},[t])},DL=()=>{let{batchEdits:e,removeBatchEdit:t}=DI(),{updateLocale:i}=DI(),n=(0,p3.t)(),r=n.requiredLanguages,a=e.map(e=>{let a=e.locale??n.requiredLanguages[0],l="fieldDefinition"in e.config?e.config.fieldDefinition.title:e.key,o="dataobject.classificationstore"===e.type?`${e.key}-${e.config.keyId}-${e.config.groupId}`:e.key;return{id:`${e.key}`,key:o,children:(0,tq.jsx)(ig.Tag,{children:(0,i6.t)(`${l}`)}),renderRightToolbar:(0,tq.jsx)(TM.e,{items:[...e.localizable?[(0,tq.jsx)(S_.v,{languages:r,onSelectLanguage:t=>{i(e,(0,S_.z)(t))},selectedLanguage:a},"language-selection")]:[],(0,tq.jsx)(lp.K,{icon:{value:"close"},onClick:()=>{t(e)}},"remove")]}),body:(0,tq.jsx)(DM,{batchEdit:e})}});return(0,tq.jsxs)(tq.Fragment,{children:[0===a.length&&(0,tq.jsx)(he.R,{text:(0,i6.t)("batch-edit.no-content")}),a.length>0&&(0,tq.jsx)(SK.N,{items:a})]})},DF=(e,t,i,n)=>e.map(e=>{let r,a,l,o,s;if(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children)){let r=DF(e.children,t,i,n);return{...e,children:r}}return(r=!0===e.editable,a=t.some(t=>{var i,n;let r,a,l;return e.key===t.key&&(i=e.group,n=t.group,a=(r=e=>"string"==typeof e?e.split("."):Array.isArray(e)?e.flat().map(e=>String(e)):[String(e)])(i),l=r(n),a.length===l.length&&a.every((e,t)=>e===l[t]))&&"dataobject.classificationstore"!==e.mainType}),l=i({target:"BATCH_EDIT",dynamicTypeIds:[null==e?void 0:e.mainType,null==e?void 0:e.frontendType]}),o=!1,(s=tc.kL.get(td.K["DynamicTypes/ObjectDataRegistry"])).hasDynamicType(null==e?void 0:e.frontendType)&&(o=s.getDynamicType(null==e?void 0:e.frontendType).isAllowedInBatchEdit),r&&l&&!a&&o)?e:null}).filter(e=>null!==e&&(!("children"in e&&void 0!==e.children&&Array.isArray(e.children))||e.children.length>0)),DE=e=>e.some(e=>!(null!==e&&"children"in e&&void 0!==e.children&&Array.isArray(e.children))||DE(e.children));var DP=i(74003),DA=i(96511);class DN extends SQ{async executeEditRequest(){var e;return(null==(e=(await this.patchObjectsByIds({body:{data:this.selectedRowsIds.map(e=>({id:e,editableData:this.values}))}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchObjectsByIds=e.patchObjectsByIds,this.selectedRowsIds=e.selectedRowsIds,this.values=e.values}}class DR extends SX{async executeEditRequest(){var e;return(null==(e=(await this.patchObjectsInFolder({id:this.folderId,body:{data:{editableData:this.values},filters:this.filters,classId:this.classId}})).data)?void 0:e.jobRunId)??null}constructor(e){super(e),this.patchObjectsInFolder=e.patchObjectsInFolder,this.folderId=e.folderId,this.values=e.values,this.filters=e.filters,this.classId=e.classId}}let DV=e=>{let{batchEditModalOpen:t,setBatchEditModalOpen:i}=e,{getAvailableColumnsDropdown:n}=(0,SB.m)(),{batchEdits:r,addOrUpdateBatchEdit:a,addOrUpdateBatchEdits:l,resetBatchEdits:o}=DI(),[s]=tJ.lV.useForm(),{selectedRows:d}=(0,SC.U)(),[c,{error:f,isError:u,isSuccess:m}]=(0,Dc.Ex)(),[p,{error:g,isError:h,isSuccess:y}]=(0,Dc.M5)(),{useDataQueryHelper:v}=(0,SN.t)(),{getArgs:b}=v(),{id:x,elementType:j}=(0,iZ.J)(),w=(0,iv.useAppDispatch)(),k=tc.kL.get(td.K.executionEngine),T=Object.keys(d??{}),S=T.length,{hasType:C,getType:D}=(0,ih.R)(),{refreshGrid:I}=(0,SW.X)(j),M=(0,Cn.p)().selectedClassDefinition,{openModal:L}=(0,DP._P)({onUpdate:function(e){let t=e.modalContext,i=F.find(e=>e.key===t.name&&"dataobject.classificationstore"===e.type);if(void 0===i)throw Error("Could not find base column for classification store field "+t.name);let n=[];"group-by-key"===e.type&&(e.data.forEach(e=>{let t=e.definition,a=!1;r.forEach(t=>{var n,r;t.key===i.key&&(null==(n=t.config)?void 0:n.keyId)===e.id&&(null==(r=t.config)?void 0:r.groupId)===e.groupId&&(a=!0)}),a||n.push({...i,key:`${i.key}`,frontendType:null==t?void 0:t.fieldtype,config:{keyId:e.id,groupId:e.groupId,fieldDefinition:t}})}),l(n))}}),{availableColumns:F}=(0,SB.m)(),E=()=>{o(),s.resetFields()};(0,tG.useEffect)(()=>{u&&(0,iX.Ay)(new iX.hD(f)),h&&(0,iX.Ay)(new iX.hD(g))},[f,g]),(0,tG.useEffect)(()=>{(m||y)&&E(),y&&1===S&&w(Dc.FH.util.invalidateTags(uT.qN.DATA_OBJECT_GRID_ID(x)))},[m,y]);let P=async e=>{if(0===S){var t,n;let i=(null==(n=b())||null==(t=n.body)?void 0:t.filters)??{};delete i.page,delete i.pageSize;let r=new DR({title:(0,i6.t)("batch-edit.job-title"),patchObjectsInFolder:c,folderId:x,values:e,filters:i,classId:String(null==M?void 0:M.id),assetContextId:x,refreshGrid:I});await k.runJob(r)}else if(1===S)await p({body:{data:[{id:parseInt(T[0]),editableData:e}]}});else{let t=new DN({title:(0,i6.t)("batch-edit.job-title"),patchObjectsByIds:p,selectedRowsIds:T.map(Number),values:e,assetContextId:x,refreshGrid:I});await k.runJob(t)}E(),i(!1)},A=n(e=>{if("dataobject.classificationstore"===e.type){var t;if(!("fieldDefinition"in e.config))throw Error("Field definition is missing in config");L({...null==(t=e.config)?void 0:t.fieldDefinition,fieldName:e.key,allowedTabs:[DA.X.GroupByKey]});return}a(e,void 0)}).menu.items,N=(0,tG.useMemo)(()=>()=>(0,tI.isUndefined)(A)?[]:DF(A,r,C,D),[A,r,C,D]),R=!DE(N());return(0,tq.jsx)(Df.Q,{children:(0,tq.jsx)(Sz.m,{afterClose:()=>{E()},footer:(0,tq.jsxs)(p9.j,{divider:!0,justify:"space-between",children:[(0,tq.jsx)(pu.m,{menu:{items:N()},children:(0,tq.jsx)(m4.J,{disabled:R,icon:{value:"new"},type:"default",children:(0,i6.t)("listing.add-column")})}),r.length>0&&(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(m4.J,{icon:{value:"close"},onClick:()=>{E()},type:"link",children:(0,i6.t)("batch-edit.modal-footer.discard-all-changes")}),(0,tq.jsx)(az.$,{onClick:()=>{s.submit()},type:"primary",children:(0,i6.t)("batch-edit.modal-footer.apply-changes")})]})]}),onCancel:()=>{i(!1)},open:t,size:"XL",title:(0,tq.jsx)(p8.w,{children:(0,i6.t)("batch-edit.modal-title")}),children:(0,tq.jsx)(t4._Y,{fieldWidthValues:{large:9999,medium:9999,small:9999},children:(0,tq.jsx)(tJ.lV,{form:s,onFinish:P,children:(0,tq.jsx)(DL,{})})})})})};class Dz extends Cd{async executeDeleteRequest(){var e;let t=await uk.M_.dispatch(Dc.FH.endpoints.dataObjectBatchDelete.initiate({body:{ids:this.itemIds}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}}let DB=()=>{let e=(0,SA.S)(),t=dl.elementTypes.dataObject,{refreshGrid:i}=(0,SW.X)(t),n=tc.kL.get(td.K.executionEngine),[r,a]=(0,tG.useState)(!1),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(!1),{t:c}=(0,iQ.useTranslation)();if(void 0===e)return(0,tq.jsx)(tq.Fragment,{});let{selectedRows:f,setSelectedRows:u}=e,m=void 0!==f?Object.keys(f).map(Number):[],p=void 0!==f&&Object.keys(f).length>0,g=async()=>{let e=new Dz({itemIds:m,title:c("batch-delete.job-title"),onFinish:async()=>{await i(),u({})}});await n.runJob(e)},h={items:[{key:"1",label:c("listing.actions.batch-edit"),icon:(0,tq.jsx)(r9.I,{value:"batch-selection"}),onClick:()=>{a(!0)}},{key:"2",label:c("listing.actions.export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),children:[{key:"2.1",label:c("listing.actions.csv-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{o(!0)}},{key:"2.2",label:c("listing.actions.xlsx-export"),icon:(0,tq.jsx)(r9.I,{value:"export"}),onClick:()=>{d(!0)}}]},{key:"3",hidden:!p,label:c("listing.actions.delete"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),onClick:g}]};return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pu.m,{menu:h,children:(0,tq.jsx)(pf.g,{"data-testid":"listing-batch-actions-button",children:p?c("listing.actions"):c("listing.non-selected.actions")},"dropdown-button")}),(0,tq.jsx)(Ca,{open:l,setOpen:o}),(0,tq.jsx)(Co,{open:s,setOpen:d}),(0,tq.jsx)(DP.K7,{children:(0,tq.jsx)(DD,{children:(0,tq.jsx)(DV,{batchEditModalOpen:r,setBatchEditModalOpen:a})})})]})};var DO=i(40721);let DK=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,aB.Vl)(),[i]=(0,Dx.ZE)(),n=(0,iv.useAppDispatch)(),{openDataObject:r}=(0,DO.H)(),{isTreeActionAllowed:a}=(0,C5.H)(),{getClassDefinitionsForCurrentUser:l}=(0,aX.G)(),o=async(e,t,a)=>{let l=i({parentId:a,dataObjectAddParameters:{key:t,classId:e,type:"variant"}});try{let e=await l;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));let{id:t}=e.data;r({config:{id:t}}),n((0,Ck.refreshNodeChildren)({nodeId:String(a),elementType:"data-object"}))}catch(e){(0,iX.Ay)(new iX.$g("Error creating data object"))}};return{addVariantTreeContextMenuItem:i=>({label:e("data-object.tree.context-menu.add-variant"),key:"addVariant",icon:(0,tq.jsx)(r9.I,{value:"data-object-variant"}),hidden:!a(C4.o.AddVariant)||!(0,TS.o)(i.permissions,"create")||(0,tI.isEmpty)(l()),onClick:()=>{var n,r,a;n=(e=>{if(!(0,tI.isNil)(e))return l().find(t=>t.name===e)})(i.metaData.dataObject.className),r=parseInt(i.id),t.input({title:e("data-object.create-variant",{className:n.name}),label:e("form.label.new-item"),rule:{required:!0,message:e("form.validation.required")},onOk:async e=>{await o(n.id,e,r),null==a||a(e)}})}}),createDataObjectVariant:(i,n,r)=>{t.input({title:e("data-object.create-variant",{className:i.name}),label:e("form.label.new-item"),rule:{required:!0,message:e("form.validation.required")},onOk:async e=>{await o(i.id,e,n),null==r||r(e)}})}}},D_=()=>{let{createDataObjectVariant:e}=DK(),{selectedClassDefinition:t}=(0,Cn.p)(),{id:i}=(0,iZ.J)(),n=(0,uk.jL)(),{t:r}=(0,iQ.useTranslation)();return(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{e({id:(null==t?void 0:t.id)??"",name:(null==t?void 0:t.name)??""},i,e=>(n(Dc.FH.util.invalidateTags(uT.qN.DATA_OBJECT_GRID_ID(i))),e))},children:r("data-object.variant-listing.create-data-variant")})},DH=()=>{let{selectedRows:e}=(0,SC.U)(),t=Object.keys(e??{}).length;return(0,tG.useMemo)(()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsxs)(oI.B,{children:[(0,tq.jsxs)(a$.$,{size:"extra-small",children:[t>0&&(0,tq.jsx)(hP.B,{}),t<=0&&(0,tq.jsx)(D_,{})]}),(0,tq.jsx)(DB,{})]}),(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]})]}),[t])},D$={...hj.G,ViewComponent:()=>{let{dataQueryResult:e}=(0,hD.E)(),{selectedClassDefinition:t}=(0,Cn.p)();return(0,tG.useMemo)(()=>(0,tq.jsx)(pl.s,{renderSidebar:void 0!==e?(0,tq.jsx)(hI.B,{}):void 0,renderToolbar:void 0!==e?(0,tq.jsx)(DH,{}):void 0,children:void 0!==t&&void 0!==e&&(0,tq.jsx)(hM.E,{})}),[e])},useDataQuery:Dx.dB,useDataQueryHelper:Dj.Q,useElementId:Db.$},DW=()=>{let{id:e}=(0,iZ.J)(),t=(0,aG.A)(e),i="className"in t?t.className:void 0,n=(0,hS.Z)(Dw._,hT.Y,hk.S,[hq.f,{isResolvingClassDefinitionsBasedOnElementId:!1,classRestriction:[{classes:i}]}],Dk.y,[Sk.P,{useInlineEditApiUpdate:DS.C}],[Sw.Y,{rowSelectionMode:"multiple"}],DT.y,hv.A,hw.p,[hV.u,{elementType:"data-object",restrictedOptions:["variant"]}])(D$);return(0,tq.jsx)(hx.U,{serviceIds:["DynamicTypes/ObjectDataRegistry","DynamicTypes/GridCellRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(hj.w,{...n})})},Dq=()=>{let{setHasLocalizedFields:e}=(0,a0.Sk)();return(0,tG.useEffect)(()=>{e(!0)},[e]),(0,tG.useMemo)(()=>(0,tq.jsx)(DW,{}),[])},DG={key:"variants",label:"data-object.object-editor-tabs.variants",icon:(0,tq.jsx)(r9.I,{value:"data-object-variant"}),children:(0,tq.jsx)(uj.ComponentRenderer,{component:uj.componentConfig.dataObject.editor.tab.variants.name}),hidden:e=>!("allowVariants"in e&&(null==e?void 0:e.allowVariants)===!0)};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/ObjectTabManager"]),t={...Dv};t.hidden=e=>(null==e?void 0:e.hasChildren)===!1,t.label="object.object-editor-tabs.children-listing",e.register(Dg),e.register(Dn),e.register(kh.Aj),e.register(Di),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(t),e.register(DG),e.register(kh.MD)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/VariantTabManager"]);e.register(Dg),e.register(Dn),e.register(kh.Aj),e.register(Di),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(DG),e.register(kh.MD)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/FolderTabManager"]);e.register(Dv),e.register(kh.Aj),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD)}});var DU=i(68360);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectEditorToolbar;e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishContextMenuItem:t}=(0,DU.M)("data-object");return t(e.target,e.onComplete)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteContextMenuItem:t}=(0,Tu.z)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameContextMenuItem:t}=(0,Tm.M)("data-object");return t(e.target)}})}});var DQ=i(44725),DJ=i(67895);let DZ=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Da.Z),{dataObject:i}=(0,aG.A)(t),{refreshElement:n}=(0,Tp.d)("data-object"),{isLoading:r,layouts:a}=(0,DJ.c)(t),{setCurrentLayout:l,currentLayout:o}=(0,dN.W)(),[s,d]=(0,tG.useState)(),c=(0,tG.useRef)(null);if((0,tG.useEffect)(()=>{if((0,tI.isString)(s)){var e;null==(e=c.current)||e.refresh()}},[s]),r)return(0,tq.jsx)(tq.Fragment,{});let f=()=>Object.keys((null==i?void 0:i.changes)??{}).length>0,u=(a??[]).map(t=>({key:`reload-${t.id}`,label:(0,tq.jsx)(n5.E,{strong:o===t.id,children:e(t.name)}),onClick:()=>{d(t.id)}}));return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(T6.j,{hasDataChanged:f,onReload:()=>{n(t,!0)},title:e("toolbar.reload.confirmation"),children:(0,tq.jsx)(lp.K,{"data-testid":"data-object-editor-reload-button",icon:{value:"refresh"},children:e("toolbar.reload")})},"reload"),u.length>1&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(T6.j,{hasDataChanged:f,onCancel:()=>{d(null)},onReload:()=>{(0,tI.isString)(s)&&l(s),n(t,!0)},ref:c,title:e("toolbar.reload.confirmation")},"reload"),(0,tq.jsx)(pu.m,{menu:{items:u},trigger:["hover"],children:(0,tq.jsx)(lp.K,{icon:{value:"chevron-down"},onClick:e=>{e.stopPropagation()},children:e("toolbar.switch-layout")})},"switch-layout")]})]})},DY=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Da.Z),{dataObject:i}=(0,aG.A)(t),[n,r]=(0,tG.useState)(void 0),a=(0,kj.W)(kw.r.dataObjectEditorToolbar.name,{target:i,onComplete:()=>{r(void 0)}}),l=a.filter(e=>null!==e&&"hidden"in e&&(null==e?void 0:e.hidden)===!1),o=[];return o.push((0,tq.jsx)(DZ,{},"reload-button")),l.length>0&&o.push((0,tq.jsx)(pu.m,{menu:{items:a,onClick:e=>{"unpublish"===e.key&&r(!0)}},open:n,children:(0,tq.jsx)(pf.g,{children:e("toolbar.more")})},"dropdown-button")),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})};var DX=i(36877);let D0=()=>{let{id:e}=(0,tG.useContext)(Da.Z),{activeTab:t}=(0,aG.A)(e);return[Dg.key,Dv.key,DG.key].includes(t??"")?(0,tq.jsx)(DX.v,{}):(0,tq.jsx)(tq.Fragment,{})};var D1=i(74108),D2=i(4919);let D3=()=>{var e;let t,i,{t:n}=(0,iQ.useTranslation)(),{id:r}=(0,tG.useContext)(Da.Z),{dataObject:a,removeTrackedChanges:l,publishDraft:o}=(0,aG.A)(r),{save:s,isLoading:d,isSuccess:c,isError:f,error:u}=(0,D1.W)(),{isAutoSaveLoading:m,runningTask:p}=(0,D2.m)(),{saveSchedules:g,isLoading:h,isSuccess:y,isError:v,error:b}=So("data-object",r,!1),{getModifiedDataObjectAttributes:x,resetModifiedDataObjectAttributes:j}=(0,Dr.P)(),{deleteDraft:w,isLoading:k,buttonText:T}=(0,Do.K)("data-object"),S=(0,uI.J)(),C=(null==a||null==(e=a.draftData)?void 0:e.isAutoSave)===!0;async function D(e,t){(null==a?void 0:a.changes)!==void 0&&Promise.all([s(x(),e,()=>{j(),null==t||t()}),g()]).catch(e=>{console.error(e)})}(0,tG.useEffect)(()=>{(async()=>{c&&y&&(l(),await S.success(n("save-success")))})().catch(e=>{console.error(e)})},[c,y]),(0,tG.useEffect)(()=>{f&&!(0,tI.isNil)(u)?(0,iX.Ay)(new iX.hD(u)):v&&!(0,tI.isNil)(b)&&(0,iX.Ay)(new iX.hD(b))},[f,v,u,b]);let I=(()=>{if((null==a?void 0:a.type)==="folder")return[];let e=[],t=p===D1.D.Version&&(d||h)||k;if((0,TS.o)(null==a?void 0:a.permissions,"save")){(null==a?void 0:a.published)===!0&&e.push((0,tq.jsx)(ni.Button,{disabled:d||h||t,loading:p===D1.D.Version&&(d||h),onClick:async()=>{await D(D1.D.Version)},type:"default",children:n("toolbar.save-draft")},"save-draft"));let i=d||h||t;(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&e.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===D1.D.Publish&&(d||h),onClick:async()=>{await D(D1.D.Publish,()=>{o()})},type:"default",children:n("toolbar.save-and-publish")},"save-draft")),(0,tI.isNil)(null==a?void 0:a.draftData)||e.push((0,tq.jsx)(pu.m,{menu:{items:[{disabled:d,label:T,key:"delete-draft",onClick:w}]},children:(0,tq.jsx)(lp.K,{disabled:d||h||t,icon:{value:"chevron-down"},loading:k,type:"default"})},"dropdown"))}return e})(),M=(t=[],i=d||h||k,(null==a?void 0:a.type)==="folder"?t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===D1.D.Save&&(d||h),onClick:async()=>{await D(D1.D.Save)},type:"primary",children:n("toolbar.save")})):((null==a?void 0:a.published)===!0&&(0,TS.o)(null==a?void 0:a.permissions,"publish")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===D1.D.Publish&&(d||h),onClick:async()=>{await D(D1.D.Publish)},type:"primary",children:n("toolbar.save-and-publish")})),(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===D1.D.Save&&(d||h),onClick:async()=>{await D(D1.D.Save)},type:"primary",children:n("toolbar.save-draft")}))),t);return(0,m9.Z)(async()=>{null!=a&&(0,TS.o)(a.permissions,"publish")&&await D(D1.D.Publish,()=>{a.published||o()})},"publish"),(0,m9.Z)(async()=>{!(d||h||k)&&null!=a&&(0,TS.o)(a.permissions,"save")&&((null==a?void 0:a.type)==="folder"?await D(D1.D.Save):(null==a?void 0:a.published)&&(0,TS.o)(null==a?void 0:a.permissions,"publish")?await D(D1.D.Publish):(null==a?void 0:a.published)||await D(D1.D.Save))},"save"),(0,tq.jsxs)(tq.Fragment,{children:[m&&(0,tq.jsx)(iN.m,{title:n("auto-save.loading-tooltip"),children:(0,tq.jsx)(sN.t,{type:"classic"})}),!m&&C&&(0,tq.jsx)(iN.m,{title:n("auto-save.tooltip"),children:(0,tq.jsx)(r9.I,{value:"auto-save"})}),I.length>0&&(0,tq.jsx)(TM.e,{items:I,noSpacing:!0}),M.length>0&&(0,tq.jsx)(TM.e,{items:M,noSpacing:!0})]})};var D6=i(3394);let D4=()=>{let{id:e}=(0,iZ.J)();return(0,tq.jsx)(D6.s,{id:e})},D5=e=>{let{data:t}=e;return(0,tq.jsx)(ap.s,{flex:1,gap:"small",vertical:!0,children:(0,tq.jsx)(TW,{data:t})})},D7=e=>{let{versionIds:t}=e,[i,n]=(0,tG.useState)([]),[r,a]=(0,tG.useState)([]),l=(0,iv.useAppDispatch)(),{id:o}=(0,iZ.J)(),s=(0,tc.Lt)(td.K["DynamicTypes/ObjectDataRegistry"]),{data:d}=(0,Dc.nF)({id:o});return((0,tG.useEffect)(()=>{let e=[];n([]),t.forEach(t=>{let i=t.id;e.push(l(i3.FH.endpoints.versionGetById.initiate({id:i})))}),Promise.all(e).then(e=>{let i=[];e.forEach(async(e,l)=>{let c=e.data;(0,tI.isUndefined)(null==d?void 0:d.children)||(0,tI.isUndefined)(c)||(i.push(await (0,a2.ub)({objectId:o,layout:d.children,versionData:c,versionId:t[l].id,versionCount:t[l].count,objectDataRegistry:s,layoutsList:r,setLayoutsList:a})),n((0,a2.xz)({data:i})))})}).catch(e=>{console.log(e)})},[t,d]),(0,tI.isEmpty)(i))?(0,tq.jsx)(uE.U,{fullPage:!0,loading:!0}):(0,tq.jsx)(D5,{data:i})},D8=e=>{let{data:t}=e;return(0,tq.jsx)(ap.s,{flex:1,gap:"small",vertical:!0,children:(0,tq.jsx)(TW,{data:t})})},D9=e=>{let{versionId:t}=e,i=(0,iv.useAppDispatch)(),{id:n}=(0,iZ.J)(),r=(0,tc.Lt)(td.K["DynamicTypes/ObjectDataRegistry"]),[a,l]=(0,tG.useState)(t),[o,s]=(0,tG.useState)([]),[d,c]=(0,tG.useState)([]),{data:f}=(0,Dc.nF)({id:n});return((0,tG.useEffect)(()=>{t.id!==a.id&&(s([]),l(t))},[t]),(0,tG.useEffect)(()=>{Promise.resolve(i(i3.FH.endpoints.versionGetById.initiate({id:a.id}))).then(async e=>{let t=[],i=e.data;(0,tI.isUndefined)(null==f?void 0:f.children)||(0,tI.isUndefined)(i)||(t.push(await (0,a2.ub)({objectId:n,layout:f.children,versionData:i,versionId:a.id,versionCount:a.count,objectDataRegistry:r,layoutsList:d,setLayoutsList:c})),s((0,a2.xz)({data:t})))}).catch(e=>{console.log(e)})},[a,f]),(0,tI.isEmpty)(o))?(0,tq.jsx)(uE.U,{fullPage:!0,loading:!0}):(0,tq.jsx)(D8,{data:o})},Ie=()=>(0,tq.jsx)(Df.Q,{children:(0,tq.jsx)(t4._Y,{children:(0,tq.jsx)(TF.m,{ComparisonViewComponent:D7,SingleViewComponent:D9})})});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DataObject/Editor/TypeRegistry"]);e.register({name:"object",tabManagerServiceId:"DataObject/Editor/ObjectTabManager"}),e.register({name:"variant",tabManagerServiceId:"DataObject/Editor/VariantTabManager"}),e.register({name:"folder",tabManagerServiceId:"DataObject/Editor/FolderTabManager"}),tc.kL.get(td.K.widgetManager).registerWidget(DQ.R);let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.registerToSlot("dataObject.editor.toolbar.slots.left",{name:"contextMenu",priority:100,component:DY}),t.registerToSlot("dataObject.editor.toolbar.slots.left",{name:"languageSelection",priority:200,component:D0}),t.registerToSlot("dataObject.editor.toolbar.slots.right",{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot("dataObject.editor.toolbar.slots.right",{name:"saveButtons",priority:200,component:D3}),t.register({name:tu.eb.dataObject.editor.tab.preview.name,component:D4}),t.register({name:tu.eb.dataObject.editor.tab.versions.name,component:Ie}),t.register({name:tu.eb.dataObject.editor.tab.listing.name,component:Dy}),t.register({name:tu.eb.dataObject.editor.tab.edit.name,component:Dp}),t.register({name:tu.eb.dataObject.editor.tab.variants.name,component:Dq})}});let It=e=>{let{ContextComponent:t,...i}=e;return{...i,ContextComponent:()=>(0,tq.jsx)(dR.DynamicTypeRegistryProvider,{serviceIds:["DynamicTypes/ObjectDataRegistry","DynamicTypes/GridCellRegistry","DynamicTypes/ListingRegistry","DynamicTypes/BatchEditRegistry","DynamicTypes/FieldFilterRegistry"],children:(0,tq.jsx)(t,{})})}},Ii=()=>{let{selectedRows:e}=(0,SC.U)(),t=Object.keys(e??{}).length;return(0,tG.useMemo)(()=>(0,tq.jsxs)(oI.B,{children:[(0,tq.jsxs)(a$.$,{size:"extra-small",children:[t>0&&(0,tq.jsx)(hP.B,{}),t<=0&&(0,tq.jsx)(h_.C,{})]}),(0,tq.jsx)(DB,{})]}),[t])},In=()=>(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(hA.y,{}),(0,tq.jsx)(hN.d,{})]}),Ir=()=>(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.dataObject.listing.toolbar.left.name})}),(0,tq.jsx)(ni.Space,{size:"small",children:(0,tq.jsx)(Sh.Y,{slot:uj.componentConfig.dataObject.listing.toolbar.right.name})})]});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.dataObject.listing.toolbar.component.name,component:Ir}),e.registerToSlot(tu.eb.dataObject.listing.toolbar.left.name,{name:"batch-actions",component:Ii}),e.registerToSlot(tu.eb.dataObject.listing.toolbar.right.name,{name:"pagination",component:In});let t=tc.kL.get(td.K["DataObject/Listing/Builder"]);t.addDecorator({name:"actionColumn",decorator:dl.ActionColumnDecorator}),t.addDecorator({name:"globalContext",decorator:SL}),t.addDecorator({name:"sorting",decorator:dl.SortingDecorator}),t.addDecorator({name:"paging",decorator:dl.PagingDecorator}),t.addDecorator({name:"classDefinitionSelection",decorator:dl.ClassDefinitionSelectionDecorator,config:{showConfigLayer:!0}}),t.addDecorator({name:"columnConfiguration",decorator:dl.ColumnConfigurationDecorator});let i={useInlineEditApiUpdate:dl.useInlineEditApiUpdate};t.addDecorator({name:"inlineEdit",decorator:dl.InlineEditDecorator,config:i}),t.addDecorator({name:"rowSelection",decorator:dl.RowSelectionDecorator,config:{rowSelectionMode:"multiple"}}),t.addDecorator({name:"contextMenu",decorator:dl.ContextMenuDecorator}),t.addDecorator({name:"tagFilter",decorator:dl.TagFilterDecorator}),t.addDecorator({name:"generalFilters",decorator:dl.GeneralFiltersDecorator}),t.addDecorator({name:"dynamicType",decorator:It})}});let Ia=e=>{let t=e.node??Cg.G,i=(0,kj.W)("data-object.tree",{target:t,onComplete:()=>{}});return(0,tq.jsx)(CY.W,{dataTestId:(0,pi.b0)("data-object",t.id),items:i})};var Il=i(38220),Io=i(63993),Is=i(42669),Id=i(72744),Ic=i(13397);let If={KEY:"key",INDEX:"index"},Iu={ASCENDING:"ASC",DESCENDING:"DESC"},Im=e=>{let{elementPatch:t}=(0,Ic.M)(e),{t:i}=(0,iQ.useTranslation)(),n=(0,iv.useAppDispatch)(),r=(0,m5.J)(),{isTreeActionAllowed:a}=(0,C5.H)(),l=async(i,r,a)=>{try{await t({body:{data:[{id:Number(i.id),childrenSortBy:If[r],childrenSortOrder:Iu[a]}]}})&&(n((0,Ck.refreshTargetNode)({nodeId:String(i.parentId),elementType:e})),n((0,Ck.refreshNodeChildren)({nodeId:String(i.id),elementType:e})))}catch(e){console.error("Error updating sorting",e)}};return{move:async i=>{let{currentElement:r,targetElement:a}=i;if(r.id!==a.id)try{n((0,Ck.markNodeDeleting)({nodeId:String(r.id),elementType:e,isDeleting:!0})),await t({body:{data:[{id:r.id,parentId:a.parentId,index:i.newIndex}]}})?(n((0,Ck.refreshSourceNode)({nodeId:String(r.parentId),elementType:e})),n((0,Ck.refreshTargetNode)({nodeId:String(a.parentId),elementType:e}))):n((0,Ck.markNodeDeleting)({nodeId:String(r.id),elementType:e,isDeleting:!1}))}catch(e){console.error("Error moving element",e)}},sortingContextMenuItem:e=>({label:i("element.tree.sorting"),key:"sorting",icon:(0,tq.jsx)(r9.I,{value:"folder"}),hidden:!0!==e.hasChildren||!r.isAdmin&&(!!e.isLocked||!(0,TS.o)(e.permissions,"settings")||!a(C4.o.ChangeChildrenSortBy)),children:[{label:i("element.tree.sorting.keyed-ascending"),key:"sortingAscending",icon:(0,tq.jsx)(r9.I,{value:"a-to-z-order"}),onClick:()=>{l(e,"KEY","ASCENDING")}},{label:i("element.tree.sorting.keyed-descending"),key:"sortingDescending",icon:(0,tq.jsx)(r9.I,{value:"z-to-a-order"}),onClick:()=>{l(e,"KEY","DESCENDING")}},{label:i("element.tree.sorting.indexed"),key:"sortingIndexed",icon:(0,tq.jsx)(r9.I,{value:"manual-order"}),onClick:()=>{l(e,"INDEX","ASCENDING")}}]})}};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectTree;e.registerToSlot(t.name,{name:"addObject",priority:t.priority.addObject,useMenuItem:e=>{let{addObjectTreeContextMenuItem:t}=(0,Il.o)();return t(e.target)}}),e.registerToSlot(t.name,{name:"addVariant",priority:t.priority.addVariant,useMenuItem:e=>{var t,i;let{addVariantTreeContextMenuItem:n}=DK();return(null==(i=e.target.metaData)||null==(t=i.dataObject)?void 0:t.allowVariants)===!0?n(e.target):null}}),e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,C2.N)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("data-object",(0,Tg.Cr)("data-object","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cj.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{pasteAsChildRecursiveTreeContextMenuItem:i,pasteRecursiveUpdatingReferencesTreeContextMenuItem:n,pasteAsChildTreeContextMenuItem:r,pasteOnlyContentsTreeContextMenuItem:a,isPasteMenuHidden:l}=(()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,iv.useAppDispatch)(),{paste:i}=(0,Cj.e)("data-object"),{treeId:n}=(0,CT.z)(!0),[r]=(0,Dx.Gq)(),{getStoredNode:a}=(0,Io.x)("data-object"),{isPasteHidden:l}=(0,Is.n)("data-object"),o=async(e,i)=>{t((0,Ck.setNodeFetching)({treeId:n,nodeId:String(i.id),isFetching:!0}));let a="string"==typeof i.id?parseInt(i.id):i.id,l=r({sourceId:"string"==typeof e.id?parseInt(e.id):e.id,targetId:a});try{let e=await l;void 0!==e.error&&(0,iX.Ay)(new iX.hD(e.error)),t((0,Ck.setNodeFetching)({treeId:n,nodeId:String(a),isFetching:!1}))}catch(e){(0,iX.Ay)(new iX.$g(e.message))}},s=e=>{let t=a();return l(e,"copy")||"folder"===e.type||e.isLocked||(null==t?void 0:t.type)!==e.type};return{pasteAsChildTreeContextMenuItem:t=>({label:e("element.tree.paste-as-child"),key:"pasteAsChild",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!1,updateReferences:!1},a())}}),pasteAsChildRecursiveTreeContextMenuItem:t=>({label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!0,updateReferences:!1},a())}}),pasteRecursiveUpdatingReferencesTreeContextMenuItem:t=>({label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(t,"copy"),onClick:async()=>{await i(parseInt(t.id),{recursive:!0,updateReferences:!0},a())}}),pasteOnlyContentsTreeContextMenuItem:t=>({label:e("element.tree.paste-only-contents"),key:"pasteOnlyContents",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:s(t),onClick:async()=>{await o(a(),t)}}),isPasteMenuHidden:e=>{let t=l(e,"copy"),i=s(e);return t&&i}}})();return{label:t("element.tree.paste"),key:"paste",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cj.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cj.e)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"publish",priority:t.priority.publish,useMenuItem:e=>{let{publishTreeContextMenuItem:t}=(0,Id.Z)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishTreeContextMenuItem:t}=(0,DU.M)("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("data-object",(0,Tg.Cr)("data-object","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{lockTreeContextMenuItem:i,lockAndPropagateTreeContextMenuItem:n,unlockTreeContextMenuItem:r,unlockAndPropagateTreeContextMenuItem:a,isLockMenuHidden:l}=(0,C3.V)("data-object");return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),hidden:l(e.target),children:[{label:t("element.lock"),key:"advanced-lock",icon:(0,tq.jsx)(r9.I,{value:"lock"}),hidden:l(e.target),children:[i(e.target),n(e.target),r(e.target),a(e.target)]}]}}}),e.registerToSlot(t.name,{name:"sorting",priority:t.priority.refreshTree,useMenuItem:e=>{let{sortingContextMenuItem:t}=Im("data-object");return t(e.target)}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CN.h)("data-object");return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.dataObject.tree.contextMenu.name,component:Ia})}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.dataObjectListGrid;e.registerToSlot(t.name,{name:"open",priority:t.priority.open,useMenuItem:e=>{let{openGridContextMenuItem:t}=(0,Ty.i)("data-object");return t(e.target)??null}}),e.registerToSlot(t.name,{name:"locateInTree",priority:t.priority.locateInTree,useMenuItem:e=>{let{locateInTreeGridContextMenuItem:t}=(0,Tv.H)("data-object");return t(e.target,e.onComplete)??null}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteGridContextMenuItem:t}=(0,Tu.z)("data-object",(0,Tg.Cr)("data-object","delete",Number(e.target.id)));return t(e.target)??null}})}});let Ip=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cy.s,{...e,label:t("data-object.data-object-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})};var Ig=i(9298);let Ih=(p=(0,i(60555).V)((u=Cg.n,m=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(u,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CZ.y9,{renderMenu:()=>(0,tq.jsx)(Ia,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),(0,tG.forwardRef)((e,t)=>{var i;let n=e.metaData.dataObject,{t:r}=(0,iQ.useTranslation)();if((null==(i=e.metaData)?void 0:i.dataObject)===void 0)return(0,tq.jsx)(m,{...e});let a=(0,tI.isString)(null==n?void 0:n.key)&&(null==n?void 0:n.key)!==""?null==n?void 0:n.key:r("home");return(0,tq.jsx)(Cb.s,{info:{icon:e.icon,title:a,type:"data-object",data:{...n}},children:(0,tq.jsx)(m,{...e,ref:t})})}))),(0,tG.forwardRef)((e,t)=>{var i,n,r,a;let{move:l}=(0,Cj.e)("data-object"),{move:o}=Im("data-object"),{isSourceAllowed:s,isTargetAllowed:d}=CS(),c=(0,CD.W)(e.parentId??"-1"),f="keyed";if(void 0!==c&&(f=(null==(a=c.treeNodeProps)||null==(r=a.metaData)||null==(n=r.dataObject)?void 0:n.childrenSortBy)??"keyed"),(null==(i=e.metaData)?void 0:i.dataObject)===void 0)return(0,tq.jsx)(p,{...e});let u=e.metaData.dataObject;if(!d(u))return(0,tq.jsx)(p,{...e});let m=e=>{let t=e.data;s(t)&&d(u)&&l({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:u.id,parentId:u.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},g=e=>{let{info:t,position:i="top"}=e,n=t.data;s(n)&&d(u)&&o({currentElement:{id:n.id,parentId:n.parentId},targetElement:{id:u.id,parentId:u.parentId},newIndex:"top"===i?u.index:u.index+1}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},h=e=>"data-object"===e.type&&"variant"!==e.data.type,y=e=>{let t=e.data;return"data-object"===e.type&&"variant"!==u.type&&s(t)&&d(u)},v=[{id:"drop-middle",isValidContext:h,isValidData:y,position:{x:"0",y:"0%",width:"100%",height:"100%"},onDrop:m}];return"index"===f&&(v=[{id:"sorting-top",className:"dnd__sorting dnd__sorting--top",isValidContext:h,isValidData:y,position:{x:0,y:0,width:"100%",height:"30%"},onDrop:e=>{g({info:e,position:"top"})}},{id:"drop-middle",isValidContext:h,isValidData:y,position:{x:"0",y:"30%",width:"100%",height:"40%"},onDrop:m},{id:"sorting-bottom",className:"dnd__sorting dnd__sorting--bottom",isValidContext:h,isValidData:y,position:{x:0,y:"70%",width:"100%",height:"30%"},onDrop:e=>{g({info:e,position:"bottom"})}}]),(0,tq.jsx)(p,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(Ig.T,{disableDndActiveIndicator:!0,hotspots:v,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})})),Iy=e=>{let{id:t=1,showRoot:i=!0}=e,{openDataObject:n}=(0,DO.H)(),{rootNode:r,isLoading:a}=(0,CM.m)(t,i),l=(0,CL.e)().get(yl.e.dataObject.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Cx.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cp.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:Ip,renderNode:Ih,renderNodeContent:Cp.Yb.renderNodeContent,renderPager:Ch.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.dataObject.tree.tooltip.name})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"data-object-tree",component:Iy}),t.register({name:yl.e.dataObject.tree.tooltip.name,component:C9}),t.registerToSlot(yl.e.dataObject.tree.node.meta.name,{name:"lockIcon",component:Dt,priority:100})}});var Iv=i(47605),Ib=i(9503),Ix=i(53405),Ij=i(15789),Iw=i(15156),Ik=i(86646),IT=i(85709),IS=i(40144),IC=i(26962);let ID=e=>{let{documentId:t,initialValues:i,hasSavePermission:n=!0}=e,{t:r}=(0,iQ.useTranslation)(),{updateSettingsData:a}=(0,Iw.S)(t),{debouncedAutoSave:l}=(0,IT.W)(),[o]=tJ.lV.useForm(),s=(0,tG.useCallback)(e=>{n&&(a(e),l())},[a,l,n]),{handleFormChange:d}=(0,IS.T)(s,{delay:500,tag:(0,IC.n)(t)});return(0,tq.jsxs)(n6.L,{formProps:{form:o,initialValues:i,onValuesChange:d},children:[(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.subject"),name:"subject",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{extra:r("email-settings.from-syntax-hint"),label:r("email-settings.from"),name:"from",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.reply-to"),name:"replyTo",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(Ik.j,{marginBottom:"none",withBorder:!0,children:r("email-settings.recipients")}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.to"),name:"to",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.cc"),name:"cc",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(tJ.lV.Item,{label:r("email-settings.bcc"),name:"bcc",children:(0,tq.jsx)(aR.p,{disabled:!n})}),(0,tq.jsx)(n5.E,{type:"secondary",children:r("email-settings.multiple-recipients-hint")})]})};var II=i(49606);let IM=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,tG.useContext)(Ij.T),{id:i}=t,{document:n}=(0,Iw.S)(i),r=(0,II.B)(t,"save")||(0,II.B)(t,"publish"),a=(0,tG.useMemo)(()=>{let e=(null==n?void 0:n.settingsData)??{};return{subject:(null==e?void 0:e.subject)??"",from:(null==e?void 0:e.from)??"",replyTo:(null==e?void 0:e.replyTo)??"",to:(null==e?void 0:e.to)??"",cc:(null==e?void 0:e.cc)??"",bcc:(null==e?void 0:e.bcc)??""}},[null==n?void 0:n.settingsData]),l=!(0,tI.isUndefined)(n);return(0,tq.jsxs)(ni.Content,{loading:!l,children:[(0,tq.jsx)(Ix.F,{withBorder:!0,children:e("email-settings.sidebar-title")}),(0,tq.jsx)(pa.a,{padding:{x:"extra-small",bottom:"small"},children:l&&(0,tq.jsx)(ID,{documentId:i,hasSavePermission:r,initialValues:a})})]})};var IL=i(58946);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/EmailTabManager"]);e.register(Iv.to),e.register(Iv.tr),e.register(kh.Aj),e.register(Iv.qW),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/EmailSidebarManager"]);t.registerEntry(Ib.eY),t.registerEntry({key:"email-settings",icon:(0,tq.jsx)(r9.I,{value:"email"}),component:(0,tq.jsx)(IM,{}),tooltip:"email-settings.sidebar-title",isVisible:IL.s}),t.registerEntry(Ib.Ds),t.registerEntry(Ib.wR)}});var IF=i(37858);let IE=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{table:i`
.ant-table {
.ant-table-tbody {
@@ -863,7 +863,7 @@
padding: ${t.paddingXS}px;
margin: 0;
}
- `}});var II=i(85668);let IM=["language","navigation_exclude","navigation_name","navigation_title","navigation_relation","navigation_parameters","navigation_anchor","navigation_target","navigation_class","navigation_tabindex","navigation_accesskey"],IL=(e,t)=>"document"===t&&IM.includes(e),IF=e=>{let{propertiesTableTab:t,showDuplicatePropertyModal:i,showMandatoryModal:n,showDisallowedPropertyModal:r}=e,{t:a}=(0,iQ.useTranslation)(),{openElement:l,mapToElementType:o}=(0,nt.K)(),{styles:s}=ID(),{id:d,elementType:c}=(0,iZ.J)(),{element:f,properties:u,updateProperty:m,removeProperty:p,setModifiedCells:g}=(0,Sl.D)(d,c),h=void 0!==u,y=(0,TS.o)(null==f?void 0:f.permissions,"publish")||(0,TS.o)(null==f?void 0:f.permissions,"save"),{isLoading:v}=(0,II.B)(),[b,x]=(0,tG.useState)([]),[j,w]=(0,tG.useState)([]),k="properties",T=(null==f?void 0:f.modifiedCells[k])??[];(0,tG.useEffect)(()=>{if(h){let e=e=>e.filter(e=>!IL(e.key,c));x(e(u.filter(e=>!e.inherited))),w(e(u.filter(e=>e.inherited)))}},[u,c]),(0,tG.useEffect)(()=>{T.length>0&&(null==f?void 0:f.changes.properties)===void 0&&g(k,[])},[f,T]);let S=(0,cH.createColumnHelper)(),C=e=>[S.accessor("type",{header:a("properties.columns.type"),meta:{type:"property-icon"},size:44}),S.accessor("key",{header:a("properties.columns.key"),meta:{editable:y&&"own"===e},size:200}),S.accessor("predefinedName",{header:a("properties.columns.name"),size:200}),S.accessor("description",{header:a("properties.columns.description"),size:200}),S.accessor("data",{header:a("properties.columns.data"),meta:{type:"property-value",editable:y&&"own"===e,autoWidth:!0},size:300}),S.accessor("inheritable",{header:a("properties.columns.inheritable"),size:74,meta:{type:"checkbox",editable:y&&"own"===e,config:{align:"center"}}}),S.accessor("actions",{header:a("properties.columns.actions"),size:70,cell:t=>(0,tq.jsxs)("div",{className:"properties-table--actions-column",children:[["document","asset","object"].includes(t.row.original.type)&&null!==t.row.original.data&&(0,tq.jsx)(lp.K,{icon:{value:"open-folder"},onClick:async()=>{let e=o(t.row.original.type);(0,tI.isUndefined)(e)||await l({type:e,id:t.row.original.data.id})},type:"link"}),"own"===e&&(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{p(t.row.original)},type:"link"})]})})],D=[...C("own")],I=[...C("inherited")];return(0,tq.jsx)("div",{className:s.table,children:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ul.x,{autoWidth:!0,columns:D,data:b,isLoading:v,modifiedCells:T,onUpdateCellData:e=>{let{rowIndex:t,columnId:a,value:l,rowData:o}=e,s=[...u??[]],d=s.findIndex(e=>e.key===o.key&&!e.inherited),f={...s.at(d),[a]:l};s[d]=f;let p=s.filter(e=>e.key===f.key&&!e.inherited).length>1;"key"===a&&IL(l,c)?r():TT(l,a,"key",p,n,i)&&(m(o.key,f),g(k,[...T,{rowIndex:o.rowId,columnId:a}]))},resizable:!0,setRowId:e=>e.rowId}),"all"===t&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pa.a,{padding:{y:"small"},children:(0,tq.jsx)(n5.E,{strong:!0,children:a("properties.inherited.properties")})}),(0,tq.jsx)(ul.x,{autoWidth:!0,columns:I,data:j,resizable:!0})]})]})})},IE=()=>{var e,t,i;let{t:n}=(0,iQ.useTranslation)(),[r,a]=(0,tG.useState)("own"),[l,o]=(0,tG.useState)(!1),{id:s,elementType:d}=(0,iZ.J)(),{element:c,addProperty:f,properties:u}=(0,Sl.D)(s,d),m=(0,TS.o)(null==c?void 0:c.permissions,"publish")||(0,TS.o)(null==c?void 0:c.permissions,"save"),{showModal:p,closeModal:g,renderModal:h}=(0,TI.hS)({type:"error"}),{showModal:y,closeModal:v,renderModal:b}=(0,TI.hS)({type:"error"}),{showModal:x,closeModal:j,renderModal:w}=(0,TI.hS)({type:"error"}),k=(0,tG.useRef)(""),T=(0,tG.useRef)(null),S=(0,tG.useRef)(""),{data:C,isLoading:D}=(0,IC.VC)({elementType:d});return(0,tG.useEffect)(()=>{if(l){var e;null==(e=T.current)||e.focus()}else S.current="",k.current=""},[l]),(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:n("properties.label"),children:(0,tq.jsxs)(a$.$,{size:"small",children:[(0,tq.jsx)(a_.$,{onChange:a,options:[{label:n("properties.editable-properties"),value:"own"},{label:n("properties.all-properties"),value:"all"}]}),m&&(0,tq.jsxs)("div",{className:"pimcore-properties-toolbar__predefined-properties",children:[(0,tq.jsx)(h,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:g,type:"primary",children:n("button.ok")})}),title:n("properties.property-already-exist.title"),children:n("properties.property-already-exist.error")}),(0,tq.jsx)(b,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:v,type:"primary",children:n("button.ok")})}),title:n("properties.add-property-mandatory-fields-missing.title"),children:n("properties.add-property-mandatory-fields-missing.error")}),(0,tq.jsx)(w,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:j,type:"primary",children:n("button.ok")})}),title:n("properties.property-key-disallowed.title"),children:n("properties.property-key-disallowed.error")}),l&&(0,tq.jsxs)(a$.$,{size:"extra-small",children:[(0,tq.jsx)(az.$,{onClick:()=>{o(!1)},type:"link",children:n("properties.add-custom-property.cancel")}),(0,tq.jsx)(ig.Input,{onChange:function(e){k.current=e.target.value},placeholder:n("properties.add-custom-property.key"),ref:T}),(0,tq.jsx)(t8.l,{className:"min-w-100",onSelect:function(e){S.current=e},options:[{value:"text",label:n("data-type.text")},{value:"document",label:n("data-type.document")},{value:"asset",label:n("data-type.asset")},{value:"object",label:n("data-type.object")},{value:"bool",label:n("data-type.checkbox")}],placeholder:n("properties.add-custom-property.type")}),(0,tq.jsx)(m4.J,{icon:{value:"new-something"},onClick:()=>{let e,t;e=void 0!==k.current&&k.current.length>0,t=void 0!==S.current&&S.current.length>0,e&&t?IL(k.current,d)?x():I(k.current)?p():f({key:k.current,type:S.current,predefinedName:"Custom",data:null,inherited:!1,inheritable:!1,rowId:(0,n7.u)()}):y()},children:n("properties.add-custom-property.create")})]}),!l&&(0,tq.jsxs)(oI.B,{size:"mini",children:[(0,tq.jsx)(t8.l,{className:"min-w-100",filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),loading:D,onSelect:function(e){var t;let i=null==C||null==(t=C.items)?void 0:t.find(t=>t.id===e);void 0===i||(IL(i.key,d)?x():I(i.key)?p():f({key:i.key,type:i.type,data:i.data,inherited:!1,inheritable:i.inheritable,additionalAttributes:i.additionalAttributes,config:i.config,description:i.description,predefinedName:i.name,rowId:(0,n7.u)()}))},options:null==C||null==(i=C.items)||null==(t=i.slice())||null==(e=t.sort((e,t)=>e.name.localeCompare(t.name)))?void 0:e.map(e=>({label:e.name,value:e.id})),placeholder:n("properties.predefined-properties"),showSearch:!0},"properties-select"),(0,tq.jsx)(m4.J,{icon:{value:"new-something"},onClick:()=>{o(!0)},children:n("properties.new-custom-property")},n("properties.new-custom-property"))]})]})]})}),(0,tq.jsx)(IF,{propertiesTableTab:r,showDisallowedPropertyModal:x,showDuplicatePropertyModal:p,showMandatoryModal:y})]});function I(e){return(null==u?void 0:u.find(t=>t.key===e&&!t.inherited))!==void 0}};var IP=i(59208),IA=i(42984);let IN={key:"properties",label:"properties.label",workspacePermission:"properties",children:(0,tq.jsx)(()=>{let{id:e}=(0,tG.useContext)(Ih.T),{document:t}=(0,Iy.S)(e),i=(0,IP.h)(null==t?void 0:t.type).getButtons(),n=(0,IA.S)();return(0,tq.jsx)(pl.s,{renderSidebar:n.length>0?(0,tq.jsx)(kP.B,{buttons:i,entries:n,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(IE,{})})},{}),icon:(0,tq.jsx)(r9.I,{value:"settings"}),isDetachable:!0};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/FolderTabManager"]);e.register(IN),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD),tc.kL.get(td.K["Document/Editor/Sidebar/FolderSidebarManager"]).registerEntry(Ip.Ds)}});let IR={key:"edit",label:"edit.label",children:(0,tq.jsx)(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ig.Form.useForm(),{id:i}=(0,tG.useContext)(Ih.T),{document:n,updateSettingsData:r}=(0,Iy.S)(i),a=(0,TS.o)(null==n?void 0:n.permissions,"save")||(0,TS.o)(null==n?void 0:n.permissions,"publish"),l=(0,IP.h)(null==n?void 0:n.type).getButtons(),o=(0,IA.S)(),s=tU().useMemo(()=>{let e=(null==n?void 0:n.settingsData)??{},t=null;return(0,tI.isNil)(e.sourceId)||(t={type:"document",id:e.sourceId,fullPath:e.sourcePath??"",textInput:!1}),{sourceDocument:t,propertiesFromSource:!!e.propertiesFromSource,childrenFromSource:!!e.childrenFromSource}},[null==n?void 0:n.settingsData]);return(0,tq.jsx)(pl.s,{renderSidebar:o.length>0?(0,tq.jsx)(kP.B,{buttons:l,entries:o,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(ni.Content,{padded:!0,children:(0,tq.jsxs)(ig.Form,{form:t,initialValues:s,layout:"vertical",children:[(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.source"),name:"sourceDocument",children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,disabled:!a,documentsAllowed:!0,onChange:e=>{if(!a)return;let t={};(0,tI.isNull)(e)?(t.sourceId=null,t.sourcePath=null):!0!==e.textInput&&(t.sourceId=e.id,t.sourcePath=e.fullPath??""),r(t)},showOpenForTextInput:!0})}),(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.properties-from-source"),name:"propertiesFromSource",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{disabled:!a,onChange:e=>{a&&r({propertiesFromSource:e})}})}),(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.children-from-source"),name:"childrenFromSource",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{disabled:!a,onChange:e=>{a&&r({childrenFromSource:e})}})})]})})})},{}),icon:(0,tq.jsx)(r9.I,{value:"edit"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/HardlinkTabManager"]);e.register(IR),e.register(kh.Aj),e.register(kh.QZ),e.register(kh.mI),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD),tc.kL.get(td.K["Document/Editor/Sidebar/HardlinkSidebarManager"]).registerEntry(Ip.Ds)}});let IV={key:"edit",label:"edit.label",children:(0,tq.jsx)(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ig.Form.useForm(),{id:i}=(0,tG.useContext)(Ih.T),{document:n,updateSettingsData:r}=(0,Iy.S)(i),a=(0,TS.o)(null==n?void 0:n.permissions,"save")||(0,TS.o)(null==n?void 0:n.permissions,"publish"),l=(0,IP.h)(null==n?void 0:n.type).getButtons(),o=(0,IA.S)(),s=tU().useMemo(()=>{let e=(null==n?void 0:n.settingsData)??{};return"direct"===e.linkType&&(0,a3.uI)(e.direct)?{linkTarget:{textInput:!0,fullPath:e.direct}}:e.internal&&!(0,tI.isNil)(e.internalType)?{linkTarget:{id:e.internal,type:e.internalType,fullPath:e.rawHref??"",textInput:!1}}:{linkTarget:null}},[null==n?void 0:n.settingsData]);return(0,tq.jsx)(pl.s,{renderSidebar:o.length>0?(0,tq.jsx)(kP.B,{buttons:l,entries:o,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(ni.Content,{padded:!0,children:(0,tq.jsx)(ig.Form,{form:t,initialValues:s,layout:"vertical",children:(0,tq.jsx)(ig.Form.Item,{label:e("document.link.target"),name:"linkTarget",children:(0,tq.jsx)(fW.P,{allowPathTextInput:!0,allowToClearRelation:!0,assetsAllowed:!0,dataObjectsAllowed:!0,disabled:!a,documentsAllowed:!0,onChange:e=>{if(!a)return;let t={};null===e?(t.linkType="direct",t.internal=null,t.internalType=null,t.direct=null,t.href=null,t.rawHref=null,t.path=null):!0===e.textInput?(t.linkType="direct",t.direct=e.fullPath,t.rawHref=e.fullPath,t.href=e.fullPath,t.path=e.fullPath):(t.linkType="internal",t.internal=e.id,t.internalType=e.type,t.rawHref=e.fullPath??"",t.path=e.fullPath??""),r(t)},showOpenForTextInput:!0})})})})})},{}),icon:(0,tq.jsx)(r9.I,{value:"edit"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/LinkTabManager"]);e.register(IV),e.register(kh.Aj),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/LinkSidebarManager"]);t.registerEntry(Ip.Ds),t.registerEntry(Ip.ck)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/PageTabManager"]);e.register(Im.to),e.register(Im.tr),e.register(kh.Aj),e.register(Im.qW),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/PageSidebarManager"]);t.registerEntry(Ip.eY),t.registerEntry(Ip.Ds),t.registerEntry(Ip.wR),t.registerEntry(Ip.ck)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/SnippetTabManager"]);e.register(Im.to),e.register(kh.Aj),e.register(Im.qW),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/SnippetSidebarManager"]);t.registerEntry(Ip.eY),t.registerEntry(Ip.Ds),t.registerEntry(Ip.wR)}});var Iz=i(68851),IB=i(80707),IO=i(75091),IK=i(8849);let I_=e=>{var t;let{isOpen:i,selectedDocument:n,onSelectedDocumentChange:r,onClose:a,onSubmit:l}=e,{t:o}=(0,iQ.useTranslation)(),{getDisplayName:s}=(0,gr.W)(),[d,c]=(0,tG.useState)(!1),{data:f,isLoading:u,error:m}=(0,IC.vi)({elementType:"document",id:(null==n?void 0:n.id)??0},{skip:(0,tI.isNull)(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,iX.Ay)(new iX.hD(m))},[m]);let p=null==f||null==(t=f.items)?void 0:t.find(e=>"language"===e.key),g=(0,tI.isString)(null==p?void 0:p.data)?p.data:"",h=async()=>{c(!0);try{await l()}finally{c(!1)}};return(0,tq.jsxs)(Sz.m,{footer:(0,tq.jsxs)(p9.j,{children:[(0,tq.jsx)(az.$,{onClick:a,type:"default",children:o("cancel")}),(0,tq.jsx)(az.$,{disabled:(0,tI.isNull)(n),loading:d,onClick:h,type:"primary",children:o("apply")})]}),onCancel:a,open:i,size:"L",title:o("document.translation.link-existing-document"),children:[(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.title"),layout:"vertical",children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0,onChange:r,value:n})}),!(0,tI.isNull)(n)&&(0,tq.jsx)(n6.L.Panel,{border:!0,theme:"border-highlight",title:o("language"),children:u?(0,tq.jsx)(sN.t,{size:"small"}):(0,a3.uI)(g)?(0,tq.jsxs)(ap.s,{align:"center",gap:"small",children:[(0,tq.jsx)(p5.i,{value:g}),(0,tq.jsxs)("span",{children:[s(g)," [",g,"]"]})]}):(0,tq.jsx)(n5.E,{italic:!0,type:"secondary",children:o("no-data-available")})})]})},IH=e=>{var t;let{isOpen:i,useInheritance:n,onClose:r,onSubmit:a,currentDocument:l}=e,{t:o}=(0,iQ.useTranslation)(),{getDisplayName:s}=(0,gr.W)(),d=(0,p3.t)(),[c,f]=(0,tG.useState)(!1),[u,m]=(0,tG.useState)(""),[p]=ni.Form.useForm(),g=!(0,tI.isNil)(l)&&(0,tI.has)(l,"properties")&&Array.isArray(null==l?void 0:l.properties)?null==(t=l.properties)?void 0:t.find(e=>"language"===e.key):void 0,h=(0,tI.isString)(null==g?void 0:g.data)?g.data:"",y=(d.validLanguages??[]).filter(e=>e!==h).map(e=>({value:e,label:`${s(e)} [${e}]`})),{data:v,error:b,isLoading:x,isFetching:j}=(0,od.L0)({id:(null==l?void 0:l.id)??0,language:u},{skip:""===u||(0,tI.isNil)(null==l?void 0:l.id)});(0,tG.useEffect)(()=>{(0,tI.isNil)(b)?(0,tI.isNil)(null==v?void 0:v.fullPath)||(0,tI.isNil)(null==v?void 0:v.id)||p.setFieldValue("parent",{id:v.id,type:"document",fullPath:v.fullPath}):p.setFieldValue("parent",null)},[v,b,p]);let w=async()=>{f(!0);try{let e=await p.validateFields();await a(e)}finally{f(!1)}},k=o(n?"document.translation.new-document-with-inheritance.modal-title":"document.translation.new-document-blank.modal-title");return(0,tq.jsx)(Sz.m,{footer:(0,tq.jsxs)(p9.j,{children:[(0,tq.jsx)(az.$,{onClick:r,type:"default",children:o("cancel")}),(0,tq.jsx)(az.$,{loading:c,onClick:w,type:"primary",children:o("document.translation.new-document-modal.create")})]}),onCancel:r,open:i,size:"L",title:k,children:(0,tq.jsxs)(ni.Form,{form:p,initialValues:{language:"",parent:null,title:"",navigation:"",key:""},layout:"vertical",children:[(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.new-document-modal.label.language"),name:"language",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(t8.l,{onChange:e=>{m(e),p.setFieldValue("parent",null)},options:y})}),(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.new-document-modal.label.parent"),name:"parent",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,disabled:x||j,documentsAllowed:!0})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.title"),name:"title",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{onChange:e=>{let t=e.target.value;p.setFieldsValue({title:t,navigation:t,key:t})}})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.navigation"),name:"navigation",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.key"),name:"key",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})})]})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.documentEditorToolbar;e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishContextMenuItem:t}=(0,DH.M)("document");return t(e.target,e.onComplete)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteContextMenuItem:t}=(0,Tu.z)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameContextMenuItem:t}=(0,Tm.M)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"translations",priority:t.priority.translations,useMenuItem:e=>{let{translationContextMenuItem:t}=(e=>{let{t}=(0,iQ.useTranslation)(),{openDocument:i}=(0,IO.$)(),{getDisplayName:n}=(0,gr.W)(),[r,{error:a}]=(0,od.MO)(),[l,{error:o}]=(0,od.K4)(),[s,{error:d}]=(0,od.Tw)(),c=(0,uk.jL)(),[f,u]=(0,tG.useState)(!1),[m,p]=(0,tG.useState)(!1),[g,h]=(0,tG.useState)(!1),[y,v]=(0,tG.useState)(null),[b,x]=(0,tG.useState)(null),[j,w]=(0,tG.useState)(null),{addModal:k,removeModal:T}=(0,IK.r)(),S=(0,tG.useMemo)(()=>`link-translation-modal-${(0,n7.u)()}`,[]),C=(0,tG.useMemo)(()=>`new-translation-modal-${(0,n7.u)()}`,[]),{data:D,error:I}=(0,od.Rc)({id:e.id},{skip:(0,tI.isNil)(e.id)}),{data:M}=(0,od.XE)();(0,tG.useEffect)(()=>{(0,tI.isUndefined)(a)||(0,iX.Ay)(new iX.hD(a))},[a]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)||(0,iX.Ay)(new iX.hD(o))},[o]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(I)||(0,iX.Ay)(new iX.hD(I))},[I]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(d)||(0,iX.Ay)(new iX.hD(d))},[d]);let L=async()=>{!(0,tI.isNull)(y)&&(await l({id:Number(b.id),translationId:y.id}).unwrap(),v(null),u(!1),(0,tI.isNull)(j)||j())},F=async t=>{try{var n;let r=(null==(n=t.parent)?void 0:n.id)??1,a=await s({parentId:r,documentAddParameters:{key:t.key,type:e.type,title:t.title,navigationName:t.navigation,docTypeId:null,language:t.language,translationsSourceId:Number(e.id),inheritanceSourceId:g?Number(e.id):null,template:null}}).unwrap();(0,tI.isNull)(null==a?void 0:a.id)||(await i({config:{id:a.id}}),c((0,Cb.refreshNodeChildren)({nodeId:String(r),elementType:"document"}))),p(!1),(0,tI.isNull)(j)||j()}catch{(0,iX.Ay)(new iX.$g("Error creating translation document"))}},E=()=>{v(null),u(!1),w(null),p(!1)};return(0,tG.useEffect)(()=>(f&&!(0,tI.isNull)(b)?k(S,(0,tq.jsx)(I_,{isOpen:f,onClose:E,onSelectedDocumentChange:v,onSubmit:L,selectedDocument:y})):T(S),()=>{T(S)}),[f,b,y]),(0,tG.useEffect)(()=>(m?k(C,(0,tq.jsx)(IH,{currentDocument:b,isOpen:m,onClose:E,onSubmit:F,useInheritance:g})):T(C),()=>{T(C)}),[m,g]),{translationContextMenuItem:a=>{var l;let o=((null==D?void 0:D.translationLinks)??[]).filter(t=>t.documentId!==Number(e.id)),s=!(0,tI.isEmpty)(o),d=null==M||null==(l=M.items)?void 0:l.find(t=>t.name===e.type),c=(null==d?void 0:d.translatable)??!1,f=(null==d?void 0:d.translatableInheritance)??!1,m=[];if(m.push({label:t("document.translation.link-existing-document"),key:"link-existing-document",icon:(0,tq.jsx)(r9.I,{value:"link-document"}),onClick:()=>{x(e),w(()=>a),u(!0)}}),s){let e=[];for(let t of o)e.push({label:`${n(t.language)} [${t.language}]`,key:`translation-${t.language}`,icon:(0,tq.jsx)(p5.i,{value:t.language}),onClick:async()=>{await i({config:{id:t.documentId}}),void 0!==a&&a()}});m.push({label:t("document.translation.open-translation"),key:"open-translation",icon:(0,tq.jsx)(r9.I,{value:"open-folder"}),children:e})}if(s){let i=[];for(let t of o)i.push({label:`${n(t.language)} [${t.language}]`,key:`unlink-translation-${t.language}`,icon:(0,tq.jsx)(p5.i,{value:t.language}),onClick:async()=>{await r({id:Number(e.id),translationId:t.documentId}).unwrap(),null==a||a()}});m.push({label:t("document.translation.unlink-existing-document"),key:"unlink-existing-document",icon:(0,tq.jsx)(r9.I,{value:"unlink-document"}),children:i})}return m.push({label:t("document.translation.new-document"),key:"new-document",hidden:!c,icon:(0,tq.jsx)(r9.I,{value:"new-document"}),children:[{label:t("document.translation.use-inheritance"),key:"new-document-inheritance",hidden:!f,icon:(0,tq.jsx)(r9.I,{value:"inheritance-active"}),onClick:()=>{x(e),w(()=>a),h(!0),p(!0)}},{label:`> ${t("blank")}`,key:"new-document-blank",icon:(0,tq.jsx)(r9.I,{value:"blank"}),onClick:()=>{x(e),w(()=>a),h(!1),p(!0)}}]}),{label:t("document.translation.title"),key:"translation",icon:(0,tq.jsx)(r9.I,{value:"translate"}),hidden:!1,children:m}}}})(e.target);return t(e.onComplete)}}),e.registerToSlot(t.name,{name:"openInNewWindow",priority:t.priority.openInNewWindow,useMenuItem:e=>{let{openInNewWindowContextMenuItem:t}=(0,Iz.j)();return t(e.target)}}),e.registerToSlot(t.name,{name:"openPreviewInNewWindow",priority:t.priority.openPreviewInNewWindow,useMenuItem:e=>{let{openPreviewInNewWindowContextMenuItem:t}=(0,Iz.j)(),i=(0,IB.o)(e.target.id,e.target.fullPath??"");return t(e.target,i)}})}});var I$=i(44057);let IW=()=>(0,tq.jsx)(pc.M,{children:(0,tq.jsxs)(Sp.F,{children:[(0,tq.jsx)(ap.s,{children:(0,tq.jsx)(Sh.Y,{slot:yl.e.document.editor.toolbar.slots.left.name})}),(0,tq.jsx)(ap.s,{align:"center",gap:"extra-small",style:{height:"32px"},vertical:!1,children:(0,tq.jsx)(Sh.Y,{slot:yl.e.document.editor.toolbar.slots.right.name})}),(0,tq.jsx)(Sg.x,{})]})}),Iq=e=>{let{id:t}=e,{isLoading:i,isError:n,document:r,editorType:a}=(0,Iy.S)(t),l=(0,Sf.P)(),{setContext:o,removeContext:s}=(0,SI.v)();return((0,tG.useEffect)(()=>()=>{s()},[]),(0,tG.useEffect)(()=>(l&&o({id:t,...!(0,tI.isNil)(r)&&{contextIdentifiers:(0,Sb.mt)(r)}}),()=>{l||s()}),[l,r]),i)?(0,tq.jsx)(uE.U,{loading:!0}):n?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)(kY.F,{message:"Error: Loading of asset failed",type:"error"})}):void 0===r||void 0===a?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(Ih.f,{id:t,children:(0,tq.jsx)(Sv.F,{dataTestId:`document-editor-${(0,pi.Gc)(t)}`,renderTabbar:(0,tq.jsx)(Sm.a,{elementEditorType:a}),renderToolbar:(0,tq.jsx)(IW,{})})})},IG=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Ih.T),{document:i}=(0,Iy.S)(t),{refreshElement:n}=(0,Tp.d)("document");return(0,tq.jsx)(T6.j,{hasDataChanged:()=>Object.keys((null==i?void 0:i.changes)??{}).length>0,onReload:()=>{n(t,!0)},title:e("toolbar.reload.confirmation"),children:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},children:e("toolbar.reload")})},"reload")},IU=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Ih.T),{document:i}=(0,Iy.S)(t),[n,r]=(0,tG.useState)(void 0),a=(0,kj.W)(kw.r.documentEditorToolbar.name,{target:i,onComplete:()=>{r(void 0)}}),l=a.filter(e=>null!==e&&"hidden"in e&&(null==e?void 0:e.hidden)===!1),o=[];return o.push((0,tq.jsx)(IG,{},"reload-button")),l.length>0&&o.push((0,tq.jsx)(pu.m,{menu:{items:a,onClick:e=>{"unpublish"===e.key&&r(!0)}},open:n,children:(0,tq.jsx)(pf.g,{children:e("toolbar.more")})},"dropdown-button")),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})};var IQ=i(92203),IJ=i(58042);let IZ=()=>{var e;let t,i,{t:n}=(0,iQ.useTranslation)(),{id:r}=(0,tG.useContext)(Ih.T),{document:a,removeTrackedChanges:l,publishDraft:o}=(0,Iy.S)(r),{save:s,isLoading:d,isSuccess:c,isError:f,error:u}=(0,Ib.W)(),{isAutoSaveLoading:m,runningTask:p}=(()=>{let{id:e}=(0,tG.useContext)(Ih.T),[t,i]=(0,tG.useState)();return(0,tG.useEffect)(()=>{let t=IJ.Xs.getInstance(e),n=t.onRunningTaskChange(i);return i(t.getRunningTask()),()=>{n()}},[e]),{runningTask:t,isAutoSaveLoading:"autoSave"===t,isLoading:void 0!==t&&"autoSave"!==t}})(),{saveSchedules:g,isLoading:h,isSuccess:y,isError:v,error:b}=So("document",r,!1),{deleteDraft:x,isLoading:j,buttonText:w}=(0,Di.K)("document"),k=(0,uI.J)(),T=(null==a||null==(e=a.draftData)?void 0:e.isAutoSave)===!0,{validateRequiredFields:S,showValidationErrorModal:C}=(()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,IQ.Z)();return{validateRequiredFields:(0,tG.useCallback)(e=>tc.kL.get(td.K["Document/RequiredFieldsValidationService"]).validateRequiredFields(e),[]),showValidationErrorModal:i=>{let n=(0,tq.jsxs)("div",{children:[(0,tq.jsx)("p",{children:e("document.required-fields.validation-message")}),(0,tq.jsx)("ul",{children:i.map(e=>(0,tq.jsx)("li",{children:e},e))})]});t.error({title:"document.required-fields.validation-title",content:n})}}})();async function D(e,t){if((null==a?void 0:a.changes)!==void 0){if(e===Ib.D.Publish){let e=S(r);if(!e.isValid)return void C(e.requiredFields)}Promise.all([s(e,()=>{null==t||t()}),g()]).catch(e=>{console.error(e)})}}(0,tG.useEffect)(()=>{(async()=>{c&&y&&(l(),await k.success(n("save-success")))})().catch(e=>{console.error(e)})},[c,y]),(0,tG.useEffect)(()=>{f&&!(0,tI.isNil)(u)?(0,iX.Ay)(new iX.hD(u)):v&&!(0,tI.isNil)(b)&&(0,iX.Ay)(new iX.hD(b))},[f,v,u,b]),(0,tG.useEffect)(()=>IJ.Xs.getInstance(r).onErrorChange((e,t)=>{t===Ib.D.AutoSave&&(k.error(n("auto-save-failed")),console.error("Auto-save failed:",e))}),[r,k,n]);let I=(()=>{if((null==a?void 0:a.type)==="folder")return[];let e=[],t=p===Ib.D.Version&&(d||h)||j;if((0,TS.o)(null==a?void 0:a.permissions,"save")){(null==a?void 0:a.published)===!0&&e.push((0,tq.jsx)(ni.Button,{disabled:d||h||t,loading:p===Ib.D.Version&&(d||h),onClick:async()=>{await D(Ib.D.Version)},type:"default",children:n("toolbar.save-draft")},"save-draft"));let i=d||h||t;(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&e.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===Ib.D.Publish&&(d||h),onClick:async()=>{await D(Ib.D.Publish,()=>{o()})},type:"default",children:n("toolbar.save-and-publish")},"save-draft")),(0,tI.isNil)(null==a?void 0:a.draftData)||e.push((0,tq.jsx)(pu.m,{menu:{items:[{disabled:d,label:w,key:"delete-draft",onClick:x}]},children:(0,tq.jsx)(lp.K,{disabled:d||h||t,icon:{value:"chevron-down"},loading:j,type:"default"})},"dropdown"))}return e})(),M=(t=[],i=d||h||j,(null==a?void 0:a.type)==="folder"?t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===Ib.D.Save&&(d||h),onClick:async()=>{await D(Ib.D.Save)},type:"primary",children:n("toolbar.save")})):((null==a?void 0:a.published)===!0&&(0,TS.o)(null==a?void 0:a.permissions,"publish")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===Ib.D.Publish&&(d||h),onClick:async()=>{await D(Ib.D.Publish)},type:"primary",children:n("toolbar.save-and-publish")})),(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===Ib.D.Save&&(d||h),onClick:async()=>{await D(Ib.D.Save)},type:"primary",children:n("toolbar.save-draft")}))),t);return(0,m9.Z)(async()=>{null!=a&&(0,TS.o)(a.permissions,"publish")&&await D(Ib.D.Publish,()=>{a.published||o()})},"publish"),(0,m9.Z)(async()=>{!(d||h||j)&&null!=a&&(0,TS.o)(a.permissions,"save")&&((null==a?void 0:a.type)==="folder"?await D(Ib.D.Save):(null==a?void 0:a.published)&&(0,TS.o)(null==a?void 0:a.permissions,"publish")?await D(Ib.D.Publish):(null==a?void 0:a.published)||await D(Ib.D.Save))},"save"),(0,tq.jsxs)(tq.Fragment,{children:[m&&(0,tq.jsx)(iN.m,{title:n("auto-save.loading-tooltip"),children:(0,tq.jsx)(sN.t,{type:"classic"})}),!m&&T&&(0,tq.jsx)(iN.m,{title:n("auto-save.tooltip"),children:(0,tq.jsx)(r9.I,{value:"auto-save"})}),I.length>0&&(0,tq.jsx)(TM.e,{items:I,noSpacing:!0}),M.length>0&&(0,tq.jsx)(TM.e,{items:M,noSpacing:!0})]})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/TypeRegistry"]);e.register({name:"page",tabManagerServiceId:"Document/Editor/PageTabManager"}),e.register({name:"email",tabManagerServiceId:"Document/Editor/EmailTabManager"}),e.register({name:"folder",tabManagerServiceId:"Document/Editor/FolderTabManager"}),e.register({name:"hardlink",tabManagerServiceId:"Document/Editor/HardlinkTabManager"}),e.register({name:"link",tabManagerServiceId:"Document/Editor/LinkTabManager"}),e.register({name:"snippet",tabManagerServiceId:"Document/Editor/SnippetTabManager"});let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.register({name:tu.eb.document.editor.container.name,component:Iq}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.left.name,{name:"contextMenu",priority:100,component:IU}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.right.name,{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.right.name,{name:"saveButtons",priority:200,component:IZ}),tc.kL.get(td.K.widgetManager).registerWidget(I$.T)}});let IY=e=>{let t=e.node??Cf.G,i=(0,kj.W)(kw.r.documentTree.name,{target:t,onComplete:()=>{}});return(0,tq.jsx)(CU.W,{dataTestId:(0,pi.b0)("document",t.id),items:i})};var IX=i(44395),I0=i(75023),I1=i(73488);let I2={page:{icon:"document",labelKey:"page"},snippet:{icon:"snippet",labelKey:"snippet"},email:{icon:"email",labelKey:"email"},link:{icon:"document-link",labelKey:"link"},hardlink:{icon:"hardlink",labelKey:"hardlink"}};var I3=i(80794);let I6=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,{error:i}]=(0,od.ix)(),[n,{error:r}]=(0,od.eq)(),[a,{error:l}]=(0,od.wS)(),{modal:o}=ig.App.useApp(),s=(0,iv.useAppDispatch)(),{isTreeActionAllowed:d}=(0,C2.H)(),{treeId:c}=(0,Cx.z)(),{openModal:f,currentDocumentId:u}=(()=>{let e=(0,tG.useContext)(I3.A);if(void 0===e)throw Error("useSiteModal must be used within a SiteModalProvider");return e})(),m=e=>{s((0,Cb.setNodeFetching)({treeId:c,nodeId:String(e),isFetching:!1}))},p=e=>(0,tI.toNumber)(e.id);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(i)||(0,iX.Ay)(new iX.hD(i))},[i]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(r)||(0,iX.Ay)(new iX.hD(r))},[r]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]);let g=async e=>{let i=await t({id:e});(0,tI.isUndefined)(i.error)&&s((0,Cb.setDocumentNodeSiteStatus)({nodeId:String(e),isSite:!1}))},h=async(e,t)=>{let i=(0,a3.uI)(t.domains)?t.domains.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[],r={};(0,tI.isUndefined)(t.errorDocuments)||null===t.errorDocuments||Object.entries(t.errorDocuments).forEach(e=>{let[t,i]=e;(0,tI.isObject)(i)&&(0,tI.has)(i,"fullPath")&&(0,a3.uI)(i.fullPath)&&(r[t]=i.fullPath)});let a={mainDomain:t.mainDomain??"",domains:i,errorDocument:(0,tI.isObject)(t.errorDocument)&&(0,tI.has)(t.errorDocument,"fullPath")&&(0,a3.uI)(t.errorDocument.fullPath)?t.errorDocument.fullPath:"",localizedErrorDocuments:r,redirectToMainDomain:!!t.redirectToMainDomain},l=await n({id:e,updateSite:a});(0,tI.isUndefined)(l.error)&&s((0,Cb.setDocumentNodeSiteStatus)({nodeId:String(e),isSite:!0}))},y=async(t,i)=>{f({title:e("document.site.use-as-site"),documentId:t,documentPath:i,initialValues:{mainDomain:"",domains:"",errorDocument:null,errorDocuments:{},redirectToMainDomain:!1},onSubmit:async e=>{await h(t,e)}})},v=async(t,i)=>{try{if(u===t)return void m(t);let{data:n,error:r}=await a({documentId:t},!1);if(!(0,tI.isUndefined)(r))return void m(t);if(!(0,tI.isUndefined)(n)&&null!==n){let r={mainDomain:n.mainDomain??"",domains:(0,tI.isUndefined)(n.domains)||null===n.domains?"":n.domains.join("\n"),errorDocument:n.errorDocument??null,errorDocuments:n.localizedErrorDocuments??{},redirectToMainDomain:!!n.redirectToMainDomain};f({title:(0,tI.isNil)(n.id)?e("document.site.edit-site"):`${e("document.site.edit-site")} - ID: ${n.id}`,documentId:t,documentPath:i,initialValues:r,onSubmit:async e=>{await h(t,e)}}),setTimeout(()=>{m(t)},100)}}catch(e){m(t),console.error("Error loading site data:",e)}};return{removeSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"removeSite",label:e("document.site.remove-site"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),hidden:"page"!==t.type||!i||!(0,yc.J)("sites")||!d(C1.o.RemoveSite),onClick:()=>{var i;i=p(t),o.confirm({title:e("document.site.remove-site"),content:e("document.site.remove-site-confirmation"),okText:e("remove"),onOk:async()=>{await g(i)}})}}},useAsSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"useAsSite",label:e("document.site.use-as-site"),icon:(0,tq.jsx)(r9.I,{value:"home-root-folder"}),hidden:"page"!==t.type||i||!(0,yc.J)("sites")||!d(C1.o.UseAsSite),onClick:()=>{y(p(t),t.fullPath)}}},editSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"editSite",label:e("document.site.edit-site"),icon:(0,tq.jsx)(r9.I,{value:"edit"}),hidden:"page"!==t.type||!i||!(0,yc.J)("sites")||!d(C1.o.EditSite),onClick:()=>{var e;e=p(t),s((0,Cb.setNodeFetching)({treeId:c,nodeId:String(e),isFetching:!0})),v(p(t),t.fullPath)}}}}};var I4=i(83295);class I5 extends I4.f{async executeCloneRequest(){var e;let t={id:this.sourceId,parentId:this.targetId,documentCloneParameters:this.parameters??{}},i=await uk.M_.dispatch(I0.FH.endpoints.documentClone.initiate(t));return(0,tI.isUndefined)(i.error)?(null==(e=i.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(i.error)),null)}constructor(e){super({sourceId:e.sourceId,targetId:e.targetId,title:e.title,elementType:sE.W.document,treeId:e.treeId,nodeId:e.nodeId}),this.parameters=e.parameters}}let I7=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,iv.useAppDispatch)(),{treeId:i}=(0,Cx.z)(!0),{getStoredNode:n}=(0,Ii.x)("document"),{isPasteHidden:r}=(0,In.n)("document"),a=(0,p3.t)(),l=(0,Ct.O)(),{getDisplayName:o}=(0,gr.W)(),{modal:s}=ig.App.useApp(),[d]=tJ.lV.useForm(),c=(a.validLanguages??[]).map(e=>({value:e,label:`${o(e)} [${e}]`})),f=async(t,n,r)=>{if((0,tI.isNil)(t))throw Error("Source node is null");let a="string"==typeof t.id?parseInt(t.id):t.id,o="string"==typeof n.id?parseInt(n.id):n.id,s=new I5({sourceId:a,targetId:o,parameters:r,title:e("jobs.document-clone-job.title"),treeId:i,nodeId:String(o)});await l.runJob(s)},u=async(e,n)=>{if((0,tI.isNil)(e))return;let r="string"==typeof e.id?parseInt(e.id):e.id,a="string"==typeof n.id?parseInt(n.id):n.id;t((0,Cb.setNodeFetching)({treeId:i,nodeId:String(a),isFetching:!0}));try{await t(I0.FH.endpoints.documentReplaceContent.initiate({sourceId:r,targetId:a})).unwrap()}catch(e){(0,iX.Ay)(new iX.$g(e.message))}finally{t((0,Cb.setNodeFetching)({treeId:i,nodeId:String(a),isFetching:!1}))}},m=(e,t)=>{g(e,t,!1)},p=(e,t)=>{g(e,t,!0)},g=(t,i,n)=>{s.confirm({title:e("document.language-required"),content:(0,tq.jsx)(tJ.lV,{form:d,children:(0,tq.jsx)(tJ.lV.Item,{label:e("language"),name:"language",rules:[{required:!0,message:e("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:c})})}),onOk:async()=>{await h(t,i,n)},onCancel:y,okText:e("paste"),cancelText:e("cancel")})},h=async(e,t,i)=>{let{language:r}=await d.validateFields();try{let a;switch(t){case"child":a={language:r,enableInheritance:i,recursive:!1,updateReferences:!1};break;case"recursive":a={language:r,enableInheritance:i,recursive:!0,updateReferences:!1};break;case"recursive-update-references":a={language:r,enableInheritance:i,recursive:!0,updateReferences:!0};break;default:return}await f(n(),e,a),d.resetFields()}catch(e){console.error("Clone operation failed:",e)}},y=()=>{d.resetFields()};return{pasteMenuTreeContextMenuItem:t=>{let i,a,l,o,s,d,c;return{label:e("element.tree.paste"),key:"paste",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(t,"copy"),children:[(a=t,{label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(a,"copy"),onClick:async()=>{await f(n(),a,{language:null,enableInheritance:!1,recursive:!0,updateReferences:!1})}}),(l=t,{label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(l,"copy"),onClick:async()=>{await f(n(),l,{language:null,enableInheritance:!1,recursive:!0,updateReferences:!0})}}),(o=t,{label:e("element.tree.paste-as-child"),key:"pasteAsChild",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(o,"copy"),onClick:async()=>{await f(n(),o,{language:null,enableInheritance:!1,recursive:!1,updateReferences:!1})}}),(s=t,{label:e("document.paste-as-new-language-variant"),key:"pasteAsNewLanguageVariant",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(s,"copy"),onClick:()=>{m(s,"child")}}),(d=t,{label:e("document.paste-as-new-language-variant-recursive"),key:"pasteAsNewLanguageVariantRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(d,"copy"),onClick:()=>{m(d,"recursive")}}),(c=t,{label:e("document.paste-language-recursive-updating-references"),key:"pasteLanguageRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(c,"copy"),onClick:()=>{m(c,"recursive-update-references")}}),{label:e("element.tree.paste-only-contents"),key:"pasteOnlyContents",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:(i=n(),r(t,"copy")||"folder"===t.type||t.isLocked||(null==i?void 0:i.type)!==t.type),onClick:async()=>{await u(n(),t)}}]}},pasteInheritanceTreeContextMenuItem:t=>{let i,a,l,o,s,d;return{label:e("document.paste-inheritance"),key:"paste-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(t,"copy"),children:[(i=t,{label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(i,"copy"),onClick:async()=>{await f(n(),i,{language:null,enableInheritance:!0,recursive:!0,updateReferences:!1})}}),(a=t,{label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(a,"copy"),onClick:async()=>{await f(n(),a,{language:null,enableInheritance:!0,recursive:!0,updateReferences:!0})}}),(l=t,{label:e("element.tree.paste-as-child"),key:"pasteAsChild-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(l,"copy"),onClick:async()=>{await f(n(),l,{language:null,enableInheritance:!0,recursive:!1,updateReferences:!1})}}),(o=t,{label:e("document.paste-as-new-language-variant"),key:"pasteAsNewLanguageVariant-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(o,"copy"),onClick:()=>{p(o,"child")}}),(s=t,{label:e("document.paste-as-new-language-variant-recursive"),key:"pasteAsNewLanguageVariantRecursive-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(s,"copy"),onClick:()=>{p(s,"recursive")}}),(d=t,{label:e("document.paste-language-recursive-updating-references"),key:"pasteLanguageRecursiveUpdatingReferences-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(d,"copy"),onClick:()=>{p(d,"recursive-update-references")}})]}}}};var I8=i(40271);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.documentTree;e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,CY.N)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"addPage",priority:t.priority.addPage,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,IX.a)({type:"page",iconValue:"document",contextMenuKey:"addPage",formType:IX.F.FULL,modalTitle:t("document.tree.context-menu.add-page"),perspectiveTreePermission:I8.TreePermission.AddPage});return i(e.target)}}),e.registerToSlot(t.name,{name:"addSnippet",priority:t.priority.addSnippet,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,IX.a)({type:"snippet",iconValue:"snippet",contextMenuKey:"addSnippet",formType:IX.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-snippet"),perspectiveTreePermission:I8.TreePermission.AddSnippet});return i(e.target)}}),e.registerToSlot(t.name,{name:"addLink",priority:t.priority.addLink,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,IX.a)({type:"link",iconValue:"document-link",contextMenuKey:"addLink",formType:IX.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-link"),hasNoChildren:!0,perspectiveTreePermission:I8.TreePermission.AddLink});return i(e.target)}}),e.registerToSlot(t.name,{name:"addHardlink",priority:t.priority.addHardlink,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,IX.a)({type:"hardlink",iconValue:"hardlink",contextMenuKey:"addHardlink",formType:IX.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-hardlink"),hasNoChildren:!0,perspectiveTreePermission:I8.TreePermission.AddHardlink});return i(e.target)}}),e.registerToSlot(t.name,{name:"addEmail",priority:t.priority.addEmail,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,IX.a)({type:"email",iconValue:"mail-02",contextMenuKey:"addEmail",formType:IX.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-email"),perspectiveTreePermission:I8.TreePermission.AddEmail});return i(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("document",(0,Tg.Cr)("document","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cy.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cy.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cy.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"publish",priority:t.priority.publish,useMenuItem:e=>{let{publishTreeContextMenuItem:t}=(0,Ir.Z)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishTreeContextMenuItem:t}=(0,DH.M)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("document",(0,Tg.Cr)("document","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"openInNewWindow",priority:t.priority.openInNewWindow,useMenuItem:e=>{let{openInNewWindowTreeContextMenuItem:t}=(0,Iz.j)();return t(e.target)}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CF.h)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{pasteMenuTreeContextMenuItem:t}=I7();return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteInheritance",priority:t.priority.pasteInheritance,useMenuItem:e=>{let{pasteInheritanceTreeContextMenuItem:t}=I7();return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),i=kw.r.documentTreeAdvanced,n=(0,kj.W)(i.name,e);return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),children:n}}});let i=kw.r.documentTreeAdvanced;e.registerToSlot(i.name,{name:"convertTo",priority:i.priority.convertTo,useMenuItem:e=>{let{convertMenuTreeContextMenuItem:t}=(()=>{let{t:e}=(0,iQ.useTranslation)(),[t,{isError:i,error:n}]=(0,I0.LS)(),{closeWidget:r}=(0,m3.J)(),a=(0,aB.Vl)(),l=(0,iv.useAppDispatch)(),{isTreeActionAllowed:o}=(0,C2.H)();(0,tG.useEffect)(()=>{i&&(0,iX.Ay)(new iX.hD(n))},[i,n]);let s=async(e,i)=>{let n;if(void 0!==(await t({id:e,type:i})).error)return;r((0,I1.g)("document",e));let a={type:"name",value:(null==(n=I2[i])?void 0:n.icon)??I2.page.icon};l((0,Cb.updateNodeType)({nodeId:String(e),elementType:"document",newType:i,newIcon:a}))},d=(t,i)=>{let n=parseInt(t.id),r=t.type,l=I2[i];return r===i||(0,tI.isNil)(l)?{key:`convert-to-${i}`,label:"",hidden:!0}:{key:`convert-to-${i}`,label:e(l.labelKey),icon:(0,tq.jsx)(r9.I,{value:l.icon}),onClick:()=>{a.confirm({title:e("convert-document"),content:e("convert-document-warning"),onOk:async()=>{await s(n,i)}})}}};return{convertMenuTreeContextMenuItem:t=>({label:e("convert-to"),key:"convert-to",icon:(0,tq.jsx)(r9.I,{value:"flip-forward"}),hidden:!(o(C1.o.Convert)&&!(0,tI.isNil)(t.type)&&1!==parseInt(t.id)&&(0,tI.isNil)(t.locked)&&!(0,tI.isNil)(t.permissions)&&(0,TS.o)(t.permissions,"publish")),children:[d(t,"page"),d(t,"snippet"),d(t,"email"),d(t,"link"),d(t,"hardlink")]})}})();return t(e.target)}}),e.registerToSlot(i.name,{name:"lock",priority:i.priority.lock,useMenuItem:e=>{let{lockMenuTreeContextMenuItem:t}=(0,CX.V)("document");return t(e.target)}}),e.registerToSlot(i.name,{name:"useAsSite",priority:i.priority.useAsSite,useMenuItem:e=>{let{useAsSiteTreeContextMenuItem:t}=I6();return t(e.target)}}),e.registerToSlot(i.name,{name:"editSite",priority:i.priority.editSite,useMenuItem:e=>{let{editSiteTreeContextMenuItem:t}=I6();return t(e.target)}}),e.registerToSlot(i.name,{name:"removeSite",priority:i.priority.removeSite,useMenuItem:e=>{let{removeSiteTreeContextMenuItem:t}=I6();return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.document.tree.contextMenu.name,component:IY})}}),i(51344);let I9=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cm.s,{...e,label:t("document.document-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})},Me=(g=Cf.n,h=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(g,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CG.y9,{renderMenu:()=>(0,tq.jsx)(IY,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),y=(0,tG.forwardRef)((e,t)=>{var i;let n=e.metaData.document,{t:r}=(0,iQ.useTranslation)();if((null==(i=e.metaData)?void 0:i.document)===void 0)return(0,tq.jsx)(h,{...e});let a=(0,tI.isString)(null==n?void 0:n.key)&&(null==n?void 0:n.key)!==""?null==n?void 0:n.key:r("home");return(0,tq.jsx)(Cg.s,{info:{icon:e.icon,title:a,type:"document",data:{...n}},children:(0,tq.jsx)(h,{...e,ref:t})})}),v=(0,tG.forwardRef)((e,t)=>{let i=e.isLoading??!1,[,{isLoading:n}]=(0,Cw.mG)({fixedCacheKey:`DOCUMENT_ACTION_DELETE_ID_${e.id}`}),{isFetching:r,isLoading:a,isDeleting:l}=(0,Ck.W)(e.id);return(0,tq.jsx)(y,{...e,danger:i||n||l,isLoading:i||!0!==a&&r||n||l||a,ref:t})}),(0,tG.forwardRef)((e,t)=>{var i;let{move:n}=(0,Cy.e)("document"),{move:r}=Is("document"),{isSourceAllowed:a,isTargetAllowed:l}=Cj();if((null==(i=e.metaData)?void 0:i.document)===void 0)return(0,tq.jsx)(v,{...e});let o=e.metaData.document;if(!l(o))return(0,tq.jsx)(v,{...e});let s=e=>{let t=e.data;a(t)&&l(o)&&n({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:o.id,parentId:o.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},d=e=>"document"===e.type,c=e=>{let t=e.data;return"document"===e.type&&a(t)&&l(o)},f=e=>{let{info:t,position:i="top"}=e,n=t.data;a(n)&&l(o)&&r({currentElement:{id:n.id,parentId:n.parentId},targetElement:{id:o.id,parentId:o.parentId},newIndex:"top"===i?o.index:o.index+1}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},u=[{id:"drop-middle",isValidContext:d,isValidData:c,position:{x:"0",y:"0%",width:"100%",height:"100%"},onDrop:s}];return!0!==e.isRoot&&(u=[{id:"sorting-top",className:"dnd__sorting dnd__sorting--top",isValidContext:d,isValidData:c,position:{x:0,y:0,width:"100%",height:"30%"},onDrop:e=>{f({info:e,position:"top"})}},{id:"drop-middle",isValidContext:d,isValidData:c,position:{x:"0",y:"30%",width:"100%",height:"40%"},onDrop:s},{id:"sorting-bottom",className:"dnd__sorting dnd__sorting--bottom",isValidContext:d,isValidData:c,position:{x:0,y:"70%",width:"100%",height:"30%"},onDrop:e=>{f({info:e,position:"bottom"})}}]),(0,tq.jsx)(v,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(Ic.T,{disableDndActiveIndicator:!0,hotspots:u,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})})),Mt=e=>{let{id:t=1,showRoot:i=!0}=e,{openDocument:n}=(0,IO.$)(),{rootNode:r,isLoading:a}=(0,CS.m)(t,i),l=(0,CC.e)().get(yl.e.document.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Ch.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cc.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:I9,renderNode:Me,renderNodeContent:Cc.Yb.renderNodeContent,renderPager:Cu.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.document.tree.tooltip.name})},Mi=e=>{var t,i;let{node:n}=e;return n.elementType!==sE.W.document||(null==(i=n.metaData)||null==(t=i.document)?void 0:t.navigationExclude)!==!0?null:(0,tq.jsx)(r9.I,{"data-testid":`tree-node-navigation-exclude-icon-${n.id}`,options:{width:14,height:14},value:"not-visible-element"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"document-tree",component:Mt}),t.register({name:yl.e.document.tree.tooltip.name,component:C6}),t.registerToSlot(yl.e.document.tree.node.meta.name,{name:"navigationExcludeIcon",component:Mi,priority:100}),t.registerToSlot(yl.e.document.tree.node.meta.name,{name:"lockIcon",component:C5,priority:200})}});let Mn=(0,iR.createStyles)(e=>{let{token:t}=e;return{container:{color:t.colorTextDescription,maxWidth:"300px",textAlign:"center"}}});function Mr(e){let{description:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=Mn();return(0,tq.jsx)(uE.U,{centered:!0,children:(0,tq.jsxs)(ap.s,{align:"center",className:n.container,gap:"small",vertical:!0,children:[(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(r9.I,{value:"info-circle"}),(0,tq.jsx)("span",{children:i("widget.missing-context.title")})]}),(0,tq.jsx)("div",{children:t})]})})}var Ma=i(3395);function Ml(e){let{dataObject:t}=(0,aG.A)(e.id),{t:i}=(0,iQ.useTranslation)();return(null==t?void 0:t.modified)!==!0?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(iN.m,{placement:"bottomLeft",title:(0,tq.jsxs)(tq.Fragment,{children:[i("detached-tab.draft-tooltip"),(0,tq.jsx)(pa.a,{padding:{top:"normal"},children:i("detached-tab.draft-tooltip-addon")})]}),children:(0,tq.jsx)(pa.a,{padding:{x:"extra-small"},children:(0,tq.jsxs)(ap.s,{align:"flex-start",gap:"mini",children:[(0,tq.jsx)(r9.I,{value:"draft"}),(0,tq.jsx)(n5.E,{children:"Draft"})]})})})}function Mo(e){let{context:t,tabKey:i}=e,{getOpenedMainWidget:n}=(0,m3.J)(),{editorType:r,isLoading:a}=(0,Sl.D)(t.config.id,t.type),{t:l}=(0,iQ.useTranslation)();if(a)return(0,tq.jsx)(uE.U,{loading:!0});if(void 0===r)return(0,tq.jsx)(Mr,{description:l("widget.missing-tab-context.description")});let o=n(),s=tc.kL.get(r.tabManagerServiceId).getTab(i),d=tc.kL.get(td.K.widgetManager);if(void 0===s||void 0===o)return(0,tq.jsx)(Mr,{description:l("widget.missing-tab-context.description")});let c=d.getWidget((null==o?void 0:o.getComponent())??"");if((null==c?void 0:c.getContextProvider)===void 0)return(0,tq.jsx)(Mr,{description:l("widget.missing-tab-context.description")});let f=c.getContextProvider(t,s.children);return void 0===f?(0,tq.jsx)(Mr,{description:l("widget.missing-tab-context.description")}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsxs)(pc.M,{align:"center",position:"top",size:"small",theme:"secondary",children:[(0,tq.jsx)(Ma.W,{elementType:t.type,id:t.config.id}),"data-object"===t.type&&(0,tq.jsx)(Ml,{id:t.config.id})]}),children:f})}var Ms=i(55490);let Md=e=>{let{tabKey:t}=e,{context:i}=(0,Ms.Q)(),{t:n}=(0,iQ.useTranslation)();return(null==i?void 0:i.type)===void 0?(0,tq.jsx)(Mr,{description:n("widget.missing-context.description")}):(0,tq.jsx)(Mo,{context:i,tabKey:t},i.type)},Mc=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{table:t`
+ `}});var IP=i(85668);let IA=["language","navigation_exclude","navigation_name","navigation_title","navigation_relation","navigation_parameters","navigation_anchor","navigation_target","navigation_class","navigation_tabindex","navigation_accesskey"],IN=(e,t)=>"document"===t&&IA.includes(e),IR=e=>{let{propertiesTableTab:t,showDuplicatePropertyModal:i,showMandatoryModal:n,showDisallowedPropertyModal:r}=e,{t:a}=(0,iQ.useTranslation)(),{openElement:l,mapToElementType:o}=(0,nt.K)(),{styles:s}=IE(),{id:d,elementType:c}=(0,iZ.J)(),{element:f,properties:u,updateProperty:m,removeProperty:p,setModifiedCells:g}=(0,Sl.D)(d,c),h=void 0!==u,y=(0,TS.o)(null==f?void 0:f.permissions,"publish")||(0,TS.o)(null==f?void 0:f.permissions,"save"),{isLoading:v}=(0,IP.B)(),[b,x]=(0,tG.useState)([]),[j,w]=(0,tG.useState)([]),k="properties",T=(null==f?void 0:f.modifiedCells[k])??[];(0,tG.useEffect)(()=>{if(h){let e=e=>e.filter(e=>!IN(e.key,c));x(e(u.filter(e=>!e.inherited))),w(e(u.filter(e=>e.inherited)))}},[u,c]),(0,tG.useEffect)(()=>{T.length>0&&(null==f?void 0:f.changes.properties)===void 0&&g(k,[])},[f,T]);let S=(0,cH.createColumnHelper)(),C=e=>[S.accessor("type",{header:a("properties.columns.type"),meta:{type:"property-icon"},size:44}),S.accessor("key",{header:a("properties.columns.key"),meta:{editable:y&&"own"===e},size:200}),S.accessor("predefinedName",{header:a("properties.columns.name"),size:200}),S.accessor("description",{header:a("properties.columns.description"),size:200}),S.accessor("data",{header:a("properties.columns.data"),meta:{type:"property-value",editable:y&&"own"===e,autoWidth:!0},size:300}),S.accessor("inheritable",{header:a("properties.columns.inheritable"),size:74,meta:{type:"checkbox",editable:y&&"own"===e,config:{align:"center"}}}),S.accessor("actions",{header:a("properties.columns.actions"),size:70,cell:t=>(0,tq.jsxs)("div",{className:"properties-table--actions-column",children:[["document","asset","object"].includes(t.row.original.type)&&null!==t.row.original.data&&(0,tq.jsx)(lp.K,{icon:{value:"open-folder"},onClick:async()=>{let e=o(t.row.original.type);(0,tI.isUndefined)(e)||await l({type:e,id:t.row.original.data.id})},type:"link"}),"own"===e&&(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{p(t.row.original)},type:"link"})]})})],D=[...C("own")],I=[...C("inherited")];return(0,tq.jsx)("div",{className:s.table,children:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ul.x,{autoWidth:!0,columns:D,data:b,isLoading:v,modifiedCells:T,onUpdateCellData:e=>{let{rowIndex:t,columnId:a,value:l,rowData:o}=e,s=[...u??[]],d=s.findIndex(e=>e.key===o.key&&!e.inherited),f={...s.at(d),[a]:l};s[d]=f;let p=s.filter(e=>e.key===f.key&&!e.inherited).length>1;"key"===a&&IN(l,c)?r():TT(l,a,"key",p,n,i)&&(m(o.key,f),g(k,[...T,{rowIndex:o.rowId,columnId:a}]))},resizable:!0,setRowId:e=>e.rowId}),"all"===t&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pa.a,{padding:{y:"small"},children:(0,tq.jsx)(n5.E,{strong:!0,children:a("properties.inherited.properties")})}),(0,tq.jsx)(ul.x,{autoWidth:!0,columns:I,data:j,resizable:!0})]})]})})},IV=()=>{var e,t,i;let{t:n}=(0,iQ.useTranslation)(),[r,a]=(0,tG.useState)("own"),[l,o]=(0,tG.useState)(!1),{id:s,elementType:d}=(0,iZ.J)(),{element:c,addProperty:f,properties:u}=(0,Sl.D)(s,d),m=(0,TS.o)(null==c?void 0:c.permissions,"publish")||(0,TS.o)(null==c?void 0:c.permissions,"save"),{showModal:p,closeModal:g,renderModal:h}=(0,TI.hS)({type:"error"}),{showModal:y,closeModal:v,renderModal:b}=(0,TI.hS)({type:"error"}),{showModal:x,closeModal:j,renderModal:w}=(0,TI.hS)({type:"error"}),k=(0,tG.useRef)(""),T=(0,tG.useRef)(null),S=(0,tG.useRef)(""),{data:C,isLoading:D}=(0,IF.VC)({elementType:d});return(0,tG.useEffect)(()=>{if(l){var e;null==(e=T.current)||e.focus()}else S.current="",k.current=""},[l]),(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:n("properties.label"),children:(0,tq.jsxs)(a$.$,{size:"small",children:[(0,tq.jsx)(a_.$,{onChange:a,options:[{label:n("properties.editable-properties"),value:"own"},{label:n("properties.all-properties"),value:"all"}]}),m&&(0,tq.jsxs)("div",{className:"pimcore-properties-toolbar__predefined-properties",children:[(0,tq.jsx)(h,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:g,type:"primary",children:n("button.ok")})}),title:n("properties.property-already-exist.title"),children:n("properties.property-already-exist.error")}),(0,tq.jsx)(b,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:v,type:"primary",children:n("button.ok")})}),title:n("properties.add-property-mandatory-fields-missing.title"),children:n("properties.add-property-mandatory-fields-missing.error")}),(0,tq.jsx)(w,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(az.$,{onClick:j,type:"primary",children:n("button.ok")})}),title:n("properties.property-key-disallowed.title"),children:n("properties.property-key-disallowed.error")}),l&&(0,tq.jsxs)(a$.$,{size:"extra-small",children:[(0,tq.jsx)(az.$,{onClick:()=>{o(!1)},type:"link",children:n("properties.add-custom-property.cancel")}),(0,tq.jsx)(ig.Input,{onChange:function(e){k.current=e.target.value},placeholder:n("properties.add-custom-property.key"),ref:T}),(0,tq.jsx)(t8.l,{className:"min-w-100",onSelect:function(e){S.current=e},options:[{value:"text",label:n("data-type.text")},{value:"document",label:n("data-type.document")},{value:"asset",label:n("data-type.asset")},{value:"object",label:n("data-type.object")},{value:"bool",label:n("data-type.checkbox")}],placeholder:n("properties.add-custom-property.type")}),(0,tq.jsx)(m4.J,{icon:{value:"new-something"},onClick:()=>{let e,t;e=void 0!==k.current&&k.current.length>0,t=void 0!==S.current&&S.current.length>0,e&&t?IN(k.current,d)?x():I(k.current)?p():f({key:k.current,type:S.current,predefinedName:"Custom",data:null,inherited:!1,inheritable:!1,rowId:(0,n7.u)()}):y()},children:n("properties.add-custom-property.create")})]}),!l&&(0,tq.jsxs)(oI.B,{size:"mini",children:[(0,tq.jsx)(t8.l,{className:"min-w-100",filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),loading:D,onSelect:function(e){var t;let i=null==C||null==(t=C.items)?void 0:t.find(t=>t.id===e);void 0===i||(IN(i.key,d)?x():I(i.key)?p():f({key:i.key,type:i.type,data:i.data,inherited:!1,inheritable:i.inheritable,additionalAttributes:i.additionalAttributes,config:i.config,description:i.description,predefinedName:i.name,rowId:(0,n7.u)()}))},options:null==C||null==(i=C.items)||null==(t=i.slice())||null==(e=t.sort((e,t)=>e.name.localeCompare(t.name)))?void 0:e.map(e=>({label:e.name,value:e.id})),placeholder:n("properties.predefined-properties"),showSearch:!0},"properties-select"),(0,tq.jsx)(m4.J,{icon:{value:"new-something"},onClick:()=>{o(!0)},children:n("properties.new-custom-property")},n("properties.new-custom-property"))]})]})]})}),(0,tq.jsx)(IR,{propertiesTableTab:r,showDisallowedPropertyModal:x,showDuplicatePropertyModal:p,showMandatoryModal:y})]});function I(e){return(null==u?void 0:u.find(t=>t.key===e&&!t.inherited))!==void 0}};var Iz=i(59208),IB=i(42984);let IO={key:"properties",label:"properties.label",workspacePermission:"properties",children:(0,tq.jsx)(()=>{let{id:e}=(0,tG.useContext)(Ij.T),{document:t}=(0,Iw.S)(e),i=(0,Iz.h)(null==t?void 0:t.type).getButtons(),n=(0,IB.S)();return(0,tq.jsx)(pl.s,{renderSidebar:n.length>0?(0,tq.jsx)(kP.B,{buttons:i,entries:n,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(IV,{})})},{}),icon:(0,tq.jsx)(r9.I,{value:"settings"}),isDetachable:!0};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/FolderTabManager"]);e.register(IO),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD),tc.kL.get(td.K["Document/Editor/Sidebar/FolderSidebarManager"]).registerEntry(Ib.Ds)}});let IK={key:"edit",label:"edit.label",children:(0,tq.jsx)(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ig.Form.useForm(),{id:i}=(0,tG.useContext)(Ij.T),{document:n,updateSettingsData:r}=(0,Iw.S)(i),a=(0,TS.o)(null==n?void 0:n.permissions,"save")||(0,TS.o)(null==n?void 0:n.permissions,"publish"),l=(0,Iz.h)(null==n?void 0:n.type).getButtons(),o=(0,IB.S)(),s=tU().useMemo(()=>{let e=(null==n?void 0:n.settingsData)??{},t=null;return(0,tI.isNil)(e.sourceId)||(t={type:"document",id:e.sourceId,fullPath:e.sourcePath??"",textInput:!1}),{sourceDocument:t,propertiesFromSource:!!e.propertiesFromSource,childrenFromSource:!!e.childrenFromSource}},[null==n?void 0:n.settingsData]);return(0,tq.jsx)(pl.s,{renderSidebar:o.length>0?(0,tq.jsx)(kP.B,{buttons:l,entries:o,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(ni.Content,{padded:!0,children:(0,tq.jsxs)(ig.Form,{form:t,initialValues:s,layout:"vertical",children:[(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.source"),name:"sourceDocument",children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,disabled:!a,documentsAllowed:!0,onChange:e=>{if(!a)return;let t={};(0,tI.isNull)(e)?(t.sourceId=null,t.sourcePath=null):!0!==e.textInput&&(t.sourceId=e.id,t.sourcePath=e.fullPath??""),r(t)},showOpenForTextInput:!0})}),(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.properties-from-source"),name:"propertiesFromSource",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{disabled:!a,onChange:e=>{a&&r({propertiesFromSource:e})}})}),(0,tq.jsx)(ig.Form.Item,{label:e("document.hardlink.children-from-source"),name:"childrenFromSource",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{disabled:!a,onChange:e=>{a&&r({childrenFromSource:e})}})})]})})})},{}),icon:(0,tq.jsx)(r9.I,{value:"edit"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/HardlinkTabManager"]);e.register(IK),e.register(kh.Aj),e.register(kh.QZ),e.register(kh.mI),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD),tc.kL.get(td.K["Document/Editor/Sidebar/HardlinkSidebarManager"]).registerEntry(Ib.Ds)}});let I_={key:"edit",label:"edit.label",children:(0,tq.jsx)(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ig.Form.useForm(),{id:i}=(0,tG.useContext)(Ij.T),{document:n,updateSettingsData:r}=(0,Iw.S)(i),a=(0,TS.o)(null==n?void 0:n.permissions,"save")||(0,TS.o)(null==n?void 0:n.permissions,"publish"),l=(0,Iz.h)(null==n?void 0:n.type).getButtons(),o=(0,IB.S)(),s=tU().useMemo(()=>{let e=(null==n?void 0:n.settingsData)??{};return"direct"===e.linkType&&(0,a3.uI)(e.direct)?{linkTarget:{textInput:!0,fullPath:e.direct}}:e.internal&&!(0,tI.isNil)(e.internalType)?{linkTarget:{id:e.internal,type:e.internalType,fullPath:e.rawHref??"",textInput:!1}}:{linkTarget:null}},[null==n?void 0:n.settingsData]);return(0,tq.jsx)(pl.s,{renderSidebar:o.length>0?(0,tq.jsx)(kP.B,{buttons:l,entries:o,sizing:"medium",translateTooltips:!0}):void 0,children:(0,tq.jsx)(ni.Content,{padded:!0,children:(0,tq.jsx)(ig.Form,{form:t,initialValues:s,layout:"vertical",children:(0,tq.jsx)(ig.Form.Item,{label:e("document.link.target"),name:"linkTarget",children:(0,tq.jsx)(fW.P,{allowPathTextInput:!0,allowToClearRelation:!0,assetsAllowed:!0,dataObjectsAllowed:!0,disabled:!a,documentsAllowed:!0,onChange:e=>{if(!a)return;let t={};null===e?(t.linkType="direct",t.internal=null,t.internalType=null,t.direct=null,t.href=null,t.rawHref=null,t.path=null):!0===e.textInput?(t.linkType="direct",t.direct=e.fullPath,t.rawHref=e.fullPath,t.href=e.fullPath,t.path=e.fullPath):(t.linkType="internal",t.internal=e.id,t.internalType=e.type,t.rawHref=e.fullPath??"",t.path=e.fullPath??""),r(t)},showOpenForTextInput:!0})})})})})},{}),icon:(0,tq.jsx)(r9.I,{value:"edit"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/LinkTabManager"]);e.register(I_),e.register(kh.Aj),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/LinkSidebarManager"]);t.registerEntry(Ib.Ds),t.registerEntry(Ib.ck)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/PageTabManager"]);e.register(Iv.to),e.register(Iv.tr),e.register(kh.Aj),e.register(Iv.qW),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/PageSidebarManager"]);t.registerEntry(Ib.eY),t.registerEntry(Ib.Ds),t.registerEntry(Ib.wR),t.registerEntry(Ib.ck)}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/SnippetTabManager"]);e.register(Iv.to),e.register(kh.Aj),e.register(Iv.qW),e.register(kh.mI),e.register(kh.QZ),e.register(kh.MV),e.register(kh.OM),e.register(kh.MD);let t=tc.kL.get(td.K["Document/Editor/Sidebar/SnippetSidebarManager"]);t.registerEntry(Ib.eY),t.registerEntry(Ib.Ds),t.registerEntry(Ib.wR)}});var IH=i(68851),I$=i(80707),IW=i(75091),Iq=i(8849);let IG=e=>{var t;let{isOpen:i,selectedDocument:n,onSelectedDocumentChange:r,onClose:a,onSubmit:l}=e,{t:o}=(0,iQ.useTranslation)(),{getDisplayName:s}=(0,gr.W)(),[d,c]=(0,tG.useState)(!1),{data:f,isLoading:u,error:m}=(0,IF.vi)({elementType:"document",id:(null==n?void 0:n.id)??0},{skip:(0,tI.isNull)(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,iX.Ay)(new iX.hD(m))},[m]);let p=null==f||null==(t=f.items)?void 0:t.find(e=>"language"===e.key),g=(0,tI.isString)(null==p?void 0:p.data)?p.data:"",h=async()=>{c(!0);try{await l()}finally{c(!1)}};return(0,tq.jsxs)(Sz.m,{footer:(0,tq.jsxs)(p9.j,{children:[(0,tq.jsx)(az.$,{onClick:a,type:"default",children:o("cancel")}),(0,tq.jsx)(az.$,{disabled:(0,tI.isNull)(n),loading:d,onClick:h,type:"primary",children:o("apply")})]}),onCancel:a,open:i,size:"L",title:o("document.translation.link-existing-document"),children:[(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.title"),layout:"vertical",children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0,onChange:r,value:n})}),!(0,tI.isNull)(n)&&(0,tq.jsx)(n6.L.Panel,{border:!0,theme:"border-highlight",title:o("language"),children:u?(0,tq.jsx)(sN.t,{size:"small"}):(0,a3.uI)(g)?(0,tq.jsxs)(ap.s,{align:"center",gap:"small",children:[(0,tq.jsx)(p5.i,{value:g}),(0,tq.jsxs)("span",{children:[s(g)," [",g,"]"]})]}):(0,tq.jsx)(n5.E,{italic:!0,type:"secondary",children:o("no-data-available")})})]})},IU=e=>{var t;let{isOpen:i,useInheritance:n,onClose:r,onSubmit:a,currentDocument:l}=e,{t:o}=(0,iQ.useTranslation)(),{getDisplayName:s}=(0,gr.W)(),d=(0,p3.t)(),[c,f]=(0,tG.useState)(!1),[u,m]=(0,tG.useState)(""),[p]=ni.Form.useForm(),g=!(0,tI.isNil)(l)&&(0,tI.has)(l,"properties")&&Array.isArray(null==l?void 0:l.properties)?null==(t=l.properties)?void 0:t.find(e=>"language"===e.key):void 0,h=(0,tI.isString)(null==g?void 0:g.data)?g.data:"",y=(d.validLanguages??[]).filter(e=>e!==h).map(e=>({value:e,label:`${s(e)} [${e}]`})),{data:v,error:b,isLoading:x,isFetching:j}=(0,od.L0)({id:(null==l?void 0:l.id)??0,language:u},{skip:""===u||(0,tI.isNil)(null==l?void 0:l.id)});(0,tG.useEffect)(()=>{(0,tI.isNil)(b)?(0,tI.isNil)(null==v?void 0:v.fullPath)||(0,tI.isNil)(null==v?void 0:v.id)||p.setFieldValue("parent",{id:v.id,type:"document",fullPath:v.fullPath}):p.setFieldValue("parent",null)},[v,b,p]);let w=async()=>{f(!0);try{let e=await p.validateFields();await a(e)}finally{f(!1)}},k=o(n?"document.translation.new-document-with-inheritance.modal-title":"document.translation.new-document-blank.modal-title");return(0,tq.jsx)(Sz.m,{footer:(0,tq.jsxs)(p9.j,{children:[(0,tq.jsx)(az.$,{onClick:r,type:"default",children:o("cancel")}),(0,tq.jsx)(az.$,{loading:c,onClick:w,type:"primary",children:o("document.translation.new-document-modal.create")})]}),onCancel:r,open:i,size:"L",title:k,children:(0,tq.jsxs)(ni.Form,{form:p,initialValues:{language:"",parent:null,title:"",navigation:"",key:""},layout:"vertical",children:[(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.new-document-modal.label.language"),name:"language",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(t8.l,{onChange:e=>{m(e),p.setFieldValue("parent",null)},options:y})}),(0,tq.jsx)(ni.Form.Item,{label:o("document.translation.new-document-modal.label.parent"),name:"parent",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,disabled:x||j,documentsAllowed:!0})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.title"),name:"title",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{onChange:e=>{let t=e.target.value;p.setFieldsValue({title:t,navigation:t,key:t})}})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.navigation"),name:"navigation",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(ni.Form.Item,{label:o("add-document-form.label.key"),name:"key",rules:[{required:!0,message:o("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})})]})})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.documentEditorToolbar;e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishContextMenuItem:t}=(0,DU.M)("document");return t(e.target,e.onComplete)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteContextMenuItem:t}=(0,Tu.z)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameContextMenuItem:t}=(0,Tm.M)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"translations",priority:t.priority.translations,useMenuItem:e=>{let{translationContextMenuItem:t}=(e=>{let{t}=(0,iQ.useTranslation)(),{openDocument:i}=(0,IW.$)(),{getDisplayName:n}=(0,gr.W)(),[r,{error:a}]=(0,od.MO)(),[l,{error:o}]=(0,od.K4)(),[s,{error:d}]=(0,od.Tw)(),c=(0,uk.jL)(),[f,u]=(0,tG.useState)(!1),[m,p]=(0,tG.useState)(!1),[g,h]=(0,tG.useState)(!1),[y,v]=(0,tG.useState)(null),[b,x]=(0,tG.useState)(null),[j,w]=(0,tG.useState)(null),{addModal:k,removeModal:T}=(0,Iq.r)(),S=(0,tG.useMemo)(()=>`link-translation-modal-${(0,n7.u)()}`,[]),C=(0,tG.useMemo)(()=>`new-translation-modal-${(0,n7.u)()}`,[]),{data:D,error:I}=(0,od.Rc)({id:e.id},{skip:(0,tI.isNil)(e.id)}),{data:M}=(0,od.XE)();(0,tG.useEffect)(()=>{(0,tI.isUndefined)(a)||(0,iX.Ay)(new iX.hD(a))},[a]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)||(0,iX.Ay)(new iX.hD(o))},[o]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(I)||(0,iX.Ay)(new iX.hD(I))},[I]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(d)||(0,iX.Ay)(new iX.hD(d))},[d]);let L=async()=>{!(0,tI.isNull)(y)&&(await l({id:Number(b.id),translationId:y.id}).unwrap(),v(null),u(!1),(0,tI.isNull)(j)||j())},F=async t=>{try{var n;let r=(null==(n=t.parent)?void 0:n.id)??1,a=await s({parentId:r,documentAddParameters:{key:t.key,type:e.type,title:t.title,navigationName:t.navigation,docTypeId:null,language:t.language,translationsSourceId:Number(e.id),inheritanceSourceId:g?Number(e.id):null,template:null}}).unwrap();(0,tI.isNull)(null==a?void 0:a.id)||(await i({config:{id:a.id}}),c((0,Ck.refreshNodeChildren)({nodeId:String(r),elementType:"document"}))),p(!1),(0,tI.isNull)(j)||j()}catch{(0,iX.Ay)(new iX.$g("Error creating translation document"))}},E=()=>{v(null),u(!1),w(null),p(!1)};return(0,tG.useEffect)(()=>(f&&!(0,tI.isNull)(b)?k(S,(0,tq.jsx)(IG,{isOpen:f,onClose:E,onSelectedDocumentChange:v,onSubmit:L,selectedDocument:y})):T(S),()=>{T(S)}),[f,b,y]),(0,tG.useEffect)(()=>(m?k(C,(0,tq.jsx)(IU,{currentDocument:b,isOpen:m,onClose:E,onSubmit:F,useInheritance:g})):T(C),()=>{T(C)}),[m,g]),{translationContextMenuItem:a=>{var l;let o=((null==D?void 0:D.translationLinks)??[]).filter(t=>t.documentId!==Number(e.id)),s=!(0,tI.isEmpty)(o),d=null==M||null==(l=M.items)?void 0:l.find(t=>t.name===e.type),c=(null==d?void 0:d.translatable)??!1,f=(null==d?void 0:d.translatableInheritance)??!1,m=[];if(m.push({label:t("document.translation.link-existing-document"),key:"link-existing-document",icon:(0,tq.jsx)(r9.I,{value:"link-document"}),onClick:()=>{x(e),w(()=>a),u(!0)}}),s){let e=[];for(let t of o)e.push({label:`${n(t.language)} [${t.language}]`,key:`translation-${t.language}`,icon:(0,tq.jsx)(p5.i,{value:t.language}),onClick:async()=>{await i({config:{id:t.documentId}}),void 0!==a&&a()}});m.push({label:t("document.translation.open-translation"),key:"open-translation",icon:(0,tq.jsx)(r9.I,{value:"open-folder"}),children:e})}if(s){let i=[];for(let t of o)i.push({label:`${n(t.language)} [${t.language}]`,key:`unlink-translation-${t.language}`,icon:(0,tq.jsx)(p5.i,{value:t.language}),onClick:async()=>{await r({id:Number(e.id),translationId:t.documentId}).unwrap(),null==a||a()}});m.push({label:t("document.translation.unlink-existing-document"),key:"unlink-existing-document",icon:(0,tq.jsx)(r9.I,{value:"unlink-document"}),children:i})}return m.push({label:t("document.translation.new-document"),key:"new-document",hidden:!c,icon:(0,tq.jsx)(r9.I,{value:"new-document"}),children:[{label:t("document.translation.use-inheritance"),key:"new-document-inheritance",hidden:!f,icon:(0,tq.jsx)(r9.I,{value:"inheritance-active"}),onClick:()=>{x(e),w(()=>a),h(!0),p(!0)}},{label:`> ${t("blank")}`,key:"new-document-blank",icon:(0,tq.jsx)(r9.I,{value:"blank"}),onClick:()=>{x(e),w(()=>a),h(!1),p(!0)}}]}),{label:t("document.translation.title"),key:"translation",icon:(0,tq.jsx)(r9.I,{value:"translate"}),hidden:!1,children:m}}}})(e.target);return t(e.onComplete)}}),e.registerToSlot(t.name,{name:"openInNewWindow",priority:t.priority.openInNewWindow,useMenuItem:e=>{let{openInNewWindowContextMenuItem:t}=(0,IH.j)();return t(e.target)}}),e.registerToSlot(t.name,{name:"openPreviewInNewWindow",priority:t.priority.openPreviewInNewWindow,useMenuItem:e=>{let{openPreviewInNewWindowContextMenuItem:t}=(0,IH.j)(),i=(0,I$.o)(e.target.id,e.target.fullPath??"");return t(e.target,i)}})}});var IQ=i(44057);let IJ=()=>(0,tq.jsx)(pc.M,{children:(0,tq.jsxs)(Sp.F,{children:[(0,tq.jsx)(ap.s,{children:(0,tq.jsx)(Sh.Y,{slot:yl.e.document.editor.toolbar.slots.left.name})}),(0,tq.jsx)(ap.s,{align:"center",gap:"extra-small",style:{height:"32px"},vertical:!1,children:(0,tq.jsx)(Sh.Y,{slot:yl.e.document.editor.toolbar.slots.right.name})}),(0,tq.jsx)(Sg.x,{})]})}),IZ=e=>{let{id:t}=e,{isLoading:i,isError:n,document:r,editorType:a}=(0,Iw.S)(t),l=(0,Sf.P)(),{setContext:o,removeContext:s}=(0,SI.v)();return((0,tG.useEffect)(()=>()=>{s()},[]),(0,tG.useEffect)(()=>(l&&o({id:t,...!(0,tI.isNil)(r)&&{contextIdentifiers:(0,Sb.mt)(r)}}),()=>{l||s()}),[l,r]),i)?(0,tq.jsx)(uE.U,{loading:!0}):n?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)(kY.F,{message:"Error: Loading of asset failed",type:"error"})}):void 0===r||void 0===a?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(Ij.f,{id:t,children:(0,tq.jsx)(Sv.F,{dataTestId:`document-editor-${(0,pi.Gc)(t)}`,renderTabbar:(0,tq.jsx)(Sm.a,{elementEditorType:a}),renderToolbar:(0,tq.jsx)(IJ,{})})})},IY=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Ij.T),{document:i}=(0,Iw.S)(t),{refreshElement:n}=(0,Tp.d)("document");return(0,tq.jsx)(T6.j,{hasDataChanged:()=>Object.keys((null==i?void 0:i.changes)??{}).length>0,onReload:()=>{n(t,!0)},title:e("toolbar.reload.confirmation"),children:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},children:e("toolbar.reload")})},"reload")},IX=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t}=(0,tG.useContext)(Ij.T),{document:i}=(0,Iw.S)(t),[n,r]=(0,tG.useState)(void 0),a=(0,kj.W)(kw.r.documentEditorToolbar.name,{target:i,onComplete:()=>{r(void 0)}}),l=a.filter(e=>null!==e&&"hidden"in e&&(null==e?void 0:e.hidden)===!1),o=[];return o.push((0,tq.jsx)(IY,{},"reload-button")),l.length>0&&o.push((0,tq.jsx)(pu.m,{menu:{items:a,onClick:e=>{"unpublish"===e.key&&r(!0)}},open:n,children:(0,tq.jsx)(pf.g,{children:e("toolbar.more")})},"dropdown-button")),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})};var I0=i(92203),I1=i(58042);let I2=()=>{var e;let t,i,{t:n}=(0,iQ.useTranslation)(),{id:r}=(0,tG.useContext)(Ij.T),{document:a,removeTrackedChanges:l,publishDraft:o}=(0,Iw.S)(r),{save:s,isLoading:d,isSuccess:c,isError:f,error:u}=(0,IT.W)(),{isAutoSaveLoading:m,runningTask:p}=(()=>{let{id:e}=(0,tG.useContext)(Ij.T),[t,i]=(0,tG.useState)();return(0,tG.useEffect)(()=>{let t=I1.Xs.getInstance(e),n=t.onRunningTaskChange(i);return i(t.getRunningTask()),()=>{n()}},[e]),{runningTask:t,isAutoSaveLoading:"autoSave"===t,isLoading:void 0!==t&&"autoSave"!==t}})(),{saveSchedules:g,isLoading:h,isSuccess:y,isError:v,error:b}=So("document",r,!1),{deleteDraft:x,isLoading:j,buttonText:w}=(0,Do.K)("document"),k=(0,uI.J)(),T=(null==a||null==(e=a.draftData)?void 0:e.isAutoSave)===!0,{validateRequiredFields:S,showValidationErrorModal:C}=(()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,I0.Z)();return{validateRequiredFields:(0,tG.useCallback)(e=>tc.kL.get(td.K["Document/RequiredFieldsValidationService"]).validateRequiredFields(e),[]),showValidationErrorModal:i=>{let n=(0,tq.jsxs)("div",{children:[(0,tq.jsx)("p",{children:e("document.required-fields.validation-message")}),(0,tq.jsx)("ul",{children:i.map(e=>(0,tq.jsx)("li",{children:e},e))})]});t.error({title:"document.required-fields.validation-title",content:n})}}})();async function D(e,t){if((null==a?void 0:a.changes)!==void 0){if(e===IT.D.Publish){let e=S(r);if(!e.isValid)return void C(e.requiredFields)}Promise.all([s(e,()=>{null==t||t()}),g()]).catch(e=>{console.error(e)})}}(0,tG.useEffect)(()=>{(async()=>{c&&y&&(l(),await k.success(n("save-success")))})().catch(e=>{console.error(e)})},[c,y]),(0,tG.useEffect)(()=>{f&&!(0,tI.isNil)(u)?(0,iX.Ay)(new iX.hD(u)):v&&!(0,tI.isNil)(b)&&(0,iX.Ay)(new iX.hD(b))},[f,v,u,b]),(0,tG.useEffect)(()=>I1.Xs.getInstance(r).onErrorChange((e,t)=>{t===IT.D.AutoSave&&(k.error(n("auto-save-failed")),console.error("Auto-save failed:",e))}),[r,k,n]);let I=(()=>{if((null==a?void 0:a.type)==="folder")return[];let e=[],t=p===IT.D.Version&&(d||h)||j;if((0,TS.o)(null==a?void 0:a.permissions,"save")){(null==a?void 0:a.published)===!0&&e.push((0,tq.jsx)(ni.Button,{disabled:d||h||t,loading:p===IT.D.Version&&(d||h),onClick:async()=>{await D(IT.D.Version)},type:"default",children:n("toolbar.save-draft")},"save-draft"));let i=d||h||t;(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&e.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===IT.D.Publish&&(d||h),onClick:async()=>{await D(IT.D.Publish,()=>{o()})},type:"default",children:n("toolbar.save-and-publish")},"save-draft")),(0,tI.isNil)(null==a?void 0:a.draftData)||e.push((0,tq.jsx)(pu.m,{menu:{items:[{disabled:d,label:w,key:"delete-draft",onClick:x}]},children:(0,tq.jsx)(lp.K,{disabled:d||h||t,icon:{value:"chevron-down"},loading:j,type:"default"})},"dropdown"))}return e})(),M=(t=[],i=d||h||j,(null==a?void 0:a.type)==="folder"?t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===IT.D.Save&&(d||h),onClick:async()=>{await D(IT.D.Save)},type:"primary",children:n("toolbar.save")})):((null==a?void 0:a.published)===!0&&(0,TS.o)(null==a?void 0:a.permissions,"publish")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===IT.D.Publish&&(d||h),onClick:async()=>{await D(IT.D.Publish)},type:"primary",children:n("toolbar.save-and-publish")})),(null==a?void 0:a.published)===!1&&(0,TS.o)(null==a?void 0:a.permissions,"save")&&t.push((0,tq.jsx)(ni.Button,{disabled:i,loading:p===IT.D.Save&&(d||h),onClick:async()=>{await D(IT.D.Save)},type:"primary",children:n("toolbar.save-draft")}))),t);return(0,m9.Z)(async()=>{null!=a&&(0,TS.o)(a.permissions,"publish")&&await D(IT.D.Publish,()=>{a.published||o()})},"publish"),(0,m9.Z)(async()=>{!(d||h||j)&&null!=a&&(0,TS.o)(a.permissions,"save")&&((null==a?void 0:a.type)==="folder"?await D(IT.D.Save):(null==a?void 0:a.published)&&(0,TS.o)(null==a?void 0:a.permissions,"publish")?await D(IT.D.Publish):(null==a?void 0:a.published)||await D(IT.D.Save))},"save"),(0,tq.jsxs)(tq.Fragment,{children:[m&&(0,tq.jsx)(iN.m,{title:n("auto-save.loading-tooltip"),children:(0,tq.jsx)(sN.t,{type:"classic"})}),!m&&T&&(0,tq.jsx)(iN.m,{title:n("auto-save.tooltip"),children:(0,tq.jsx)(r9.I,{value:"auto-save"})}),I.length>0&&(0,tq.jsx)(TM.e,{items:I,noSpacing:!0}),M.length>0&&(0,tq.jsx)(TM.e,{items:M,noSpacing:!0})]})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["Document/Editor/TypeRegistry"]);e.register({name:"page",tabManagerServiceId:"Document/Editor/PageTabManager"}),e.register({name:"email",tabManagerServiceId:"Document/Editor/EmailTabManager"}),e.register({name:"folder",tabManagerServiceId:"Document/Editor/FolderTabManager"}),e.register({name:"hardlink",tabManagerServiceId:"Document/Editor/HardlinkTabManager"}),e.register({name:"link",tabManagerServiceId:"Document/Editor/LinkTabManager"}),e.register({name:"snippet",tabManagerServiceId:"Document/Editor/SnippetTabManager"});let t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);t.register({name:tu.eb.document.editor.container.name,component:IZ}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.left.name,{name:"contextMenu",priority:100,component:IX}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.right.name,{name:"workflowMenu",priority:100,component:Sa}),t.registerToSlot(tu.eb.document.editor.toolbar.slots.right.name,{name:"saveButtons",priority:200,component:I2}),tc.kL.get(td.K.widgetManager).registerWidget(IQ.T)}});let I3=e=>{let t=e.node??Cg.G,i=(0,kj.W)(kw.r.documentTree.name,{target:t,onComplete:()=>{}});return(0,tq.jsx)(CY.W,{dataTestId:(0,pi.b0)("document",t.id),items:i})};var I6=i(44395),I4=i(75023),I5=i(73488);let I7={page:{icon:"document",labelKey:"page"},snippet:{icon:"snippet",labelKey:"snippet"},email:{icon:"email",labelKey:"email"},link:{icon:"document-link",labelKey:"link"},hardlink:{icon:"hardlink",labelKey:"hardlink"}};var I8=i(80794);let I9=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,{error:i}]=(0,od.ix)(),[n,{error:r}]=(0,od.eq)(),[a,{error:l}]=(0,od.wS)(),{modal:o}=ig.App.useApp(),s=(0,iv.useAppDispatch)(),{isTreeActionAllowed:d}=(0,C5.H)(),{treeId:c}=(0,CT.z)(),{openModal:f,currentDocumentId:u}=(()=>{let e=(0,tG.useContext)(I8.A);if(void 0===e)throw Error("useSiteModal must be used within a SiteModalProvider");return e})(),m=e=>{s((0,Ck.setNodeFetching)({treeId:c,nodeId:String(e),isFetching:!1}))},p=e=>(0,tI.toNumber)(e.id);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(i)||(0,iX.Ay)(new iX.hD(i))},[i]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(r)||(0,iX.Ay)(new iX.hD(r))},[r]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]);let g=async e=>{let i=await t({id:e});(0,tI.isUndefined)(i.error)&&s((0,Ck.setDocumentNodeSiteStatus)({nodeId:String(e),isSite:!1}))},h=async(e,t)=>{let i=(0,a3.uI)(t.domains)?t.domains.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[],r={};(0,tI.isUndefined)(t.errorDocuments)||null===t.errorDocuments||Object.entries(t.errorDocuments).forEach(e=>{let[t,i]=e;(0,tI.isObject)(i)&&(0,tI.has)(i,"fullPath")&&(0,a3.uI)(i.fullPath)&&(r[t]=i.fullPath)});let a={mainDomain:t.mainDomain??"",domains:i,errorDocument:(0,tI.isObject)(t.errorDocument)&&(0,tI.has)(t.errorDocument,"fullPath")&&(0,a3.uI)(t.errorDocument.fullPath)?t.errorDocument.fullPath:"",localizedErrorDocuments:r,redirectToMainDomain:!!t.redirectToMainDomain},l=await n({id:e,updateSite:a});(0,tI.isUndefined)(l.error)&&s((0,Ck.setDocumentNodeSiteStatus)({nodeId:String(e),isSite:!0}))},y=async(t,i)=>{f({title:e("document.site.use-as-site"),documentId:t,documentPath:i,initialValues:{mainDomain:"",domains:"",errorDocument:null,errorDocuments:{},redirectToMainDomain:!1},onSubmit:async e=>{await h(t,e)}})},v=async(t,i)=>{try{if(u===t)return void m(t);let{data:n,error:r}=await a({documentId:t},!1);if(!(0,tI.isUndefined)(r))return void m(t);if(!(0,tI.isUndefined)(n)&&null!==n){let r={mainDomain:n.mainDomain??"",domains:(0,tI.isUndefined)(n.domains)||null===n.domains?"":n.domains.join("\n"),errorDocument:n.errorDocument??null,errorDocuments:n.localizedErrorDocuments??{},redirectToMainDomain:!!n.redirectToMainDomain};f({title:(0,tI.isNil)(n.id)?e("document.site.edit-site"):`${e("document.site.edit-site")} - ID: ${n.id}`,documentId:t,documentPath:i,initialValues:r,onSubmit:async e=>{await h(t,e)}}),setTimeout(()=>{m(t)},100)}}catch(e){m(t),console.error("Error loading site data:",e)}};return{removeSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"removeSite",label:e("document.site.remove-site"),icon:(0,tq.jsx)(r9.I,{value:"trash"}),hidden:"page"!==t.type||!i||!(0,yc.J)("sites")||!d(C4.o.RemoveSite),onClick:()=>{var i;i=p(t),o.confirm({title:e("document.site.remove-site"),content:e("document.site.remove-site-confirmation"),okText:e("remove"),onOk:async()=>{await g(i)}})}}},useAsSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"useAsSite",label:e("document.site.use-as-site"),icon:(0,tq.jsx)(r9.I,{value:"home-root-folder"}),hidden:"page"!==t.type||i||!(0,yc.J)("sites")||!d(C4.o.UseAsSite),onClick:()=>{y(p(t),t.fullPath)}}},editSiteTreeContextMenuItem:t=>{let i=!0===t.isSite;return{key:"editSite",label:e("document.site.edit-site"),icon:(0,tq.jsx)(r9.I,{value:"edit"}),hidden:"page"!==t.type||!i||!(0,yc.J)("sites")||!d(C4.o.EditSite),onClick:()=>{var e;e=p(t),s((0,Ck.setNodeFetching)({treeId:c,nodeId:String(e),isFetching:!0})),v(p(t),t.fullPath)}}}}};var Me=i(83295);class Mt extends Me.f{async executeCloneRequest(){var e;let t={id:this.sourceId,parentId:this.targetId,documentCloneParameters:this.parameters??{}},i=await uk.M_.dispatch(I4.FH.endpoints.documentClone.initiate(t));return(0,tI.isUndefined)(i.error)?(null==(e=i.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(i.error)),null)}constructor(e){super({sourceId:e.sourceId,targetId:e.targetId,title:e.title,elementType:sE.W.document,treeId:e.treeId,nodeId:e.nodeId}),this.parameters=e.parameters}}let Mi=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,iv.useAppDispatch)(),{treeId:i}=(0,CT.z)(!0),{getStoredNode:n}=(0,Io.x)("document"),{isPasteHidden:r}=(0,Is.n)("document"),a=(0,p3.t)(),l=(0,Cr.O)(),{getDisplayName:o}=(0,gr.W)(),{modal:s}=ig.App.useApp(),[d]=tJ.lV.useForm(),c=(a.validLanguages??[]).map(e=>({value:e,label:`${o(e)} [${e}]`})),f=async(t,n,r)=>{if((0,tI.isNil)(t))throw Error("Source node is null");let a="string"==typeof t.id?parseInt(t.id):t.id,o="string"==typeof n.id?parseInt(n.id):n.id,s=new Mt({sourceId:a,targetId:o,parameters:r,title:e("jobs.document-clone-job.title"),treeId:i,nodeId:String(o)});await l.runJob(s)},u=async(e,n)=>{if((0,tI.isNil)(e))return;let r="string"==typeof e.id?parseInt(e.id):e.id,a="string"==typeof n.id?parseInt(n.id):n.id;t((0,Ck.setNodeFetching)({treeId:i,nodeId:String(a),isFetching:!0}));try{await t(I4.FH.endpoints.documentReplaceContent.initiate({sourceId:r,targetId:a})).unwrap()}catch(e){(0,iX.Ay)(new iX.$g(e.message))}finally{t((0,Ck.setNodeFetching)({treeId:i,nodeId:String(a),isFetching:!1}))}},m=(e,t)=>{g(e,t,!1)},p=(e,t)=>{g(e,t,!0)},g=(t,i,n)=>{s.confirm({title:e("document.language-required"),content:(0,tq.jsx)(tJ.lV,{form:d,children:(0,tq.jsx)(tJ.lV.Item,{label:e("language"),name:"language",rules:[{required:!0,message:e("form.validation.required")}],children:(0,tq.jsx)(t8.l,{options:c})})}),onOk:async()=>{await h(t,i,n)},onCancel:y,okText:e("paste"),cancelText:e("cancel")})},h=async(e,t,i)=>{let{language:r}=await d.validateFields();try{let a;switch(t){case"child":a={language:r,enableInheritance:i,recursive:!1,updateReferences:!1};break;case"recursive":a={language:r,enableInheritance:i,recursive:!0,updateReferences:!1};break;case"recursive-update-references":a={language:r,enableInheritance:i,recursive:!0,updateReferences:!0};break;default:return}await f(n(),e,a),d.resetFields()}catch(e){console.error("Clone operation failed:",e)}},y=()=>{d.resetFields()};return{pasteMenuTreeContextMenuItem:t=>{let i,a,l,o,s,d,c;return{label:e("element.tree.paste"),key:"paste",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(t,"copy"),children:[(a=t,{label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(a,"copy"),onClick:async()=>{await f(n(),a,{language:null,enableInheritance:!1,recursive:!0,updateReferences:!1})}}),(l=t,{label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(l,"copy"),onClick:async()=>{await f(n(),l,{language:null,enableInheritance:!1,recursive:!0,updateReferences:!0})}}),(o=t,{label:e("element.tree.paste-as-child"),key:"pasteAsChild",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(o,"copy"),onClick:async()=>{await f(n(),o,{language:null,enableInheritance:!1,recursive:!1,updateReferences:!1})}}),(s=t,{label:e("document.paste-as-new-language-variant"),key:"pasteAsNewLanguageVariant",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(s,"copy"),onClick:()=>{m(s,"child")}}),(d=t,{label:e("document.paste-as-new-language-variant-recursive"),key:"pasteAsNewLanguageVariantRecursive",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(d,"copy"),onClick:()=>{m(d,"recursive")}}),(c=t,{label:e("document.paste-language-recursive-updating-references"),key:"pasteLanguageRecursiveUpdatingReferences",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(c,"copy"),onClick:()=>{m(c,"recursive-update-references")}}),{label:e("element.tree.paste-only-contents"),key:"pasteOnlyContents",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:(i=n(),r(t,"copy")||"folder"===t.type||t.isLocked||(null==i?void 0:i.type)!==t.type),onClick:async()=>{await u(n(),t)}}]}},pasteInheritanceTreeContextMenuItem:t=>{let i,a,l,o,s,d;return{label:e("document.paste-inheritance"),key:"paste-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(t,"copy"),children:[(i=t,{label:e("element.tree.paste-as-child-recursive"),key:"pasteAsChildRecursive-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(i,"copy"),onClick:async()=>{await f(n(),i,{language:null,enableInheritance:!0,recursive:!0,updateReferences:!1})}}),(a=t,{label:e("element.tree.paste-recursive-updating-references"),key:"pasteRecursiveUpdatingReferences-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(a,"copy"),onClick:async()=>{await f(n(),a,{language:null,enableInheritance:!0,recursive:!0,updateReferences:!0})}}),(l=t,{label:e("element.tree.paste-as-child"),key:"pasteAsChild-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(l,"copy"),onClick:async()=>{await f(n(),l,{language:null,enableInheritance:!0,recursive:!1,updateReferences:!1})}}),(o=t,{label:e("document.paste-as-new-language-variant"),key:"pasteAsNewLanguageVariant-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(o,"copy"),onClick:()=>{p(o,"child")}}),(s=t,{label:e("document.paste-as-new-language-variant-recursive"),key:"pasteAsNewLanguageVariantRecursive-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(s,"copy"),onClick:()=>{p(s,"recursive")}}),(d=t,{label:e("document.paste-language-recursive-updating-references"),key:"pasteLanguageRecursiveUpdatingReferences-inheritance",icon:(0,tq.jsx)(r9.I,{value:"paste"}),hidden:r(d,"copy"),onClick:()=>{p(d,"recursive-update-references")}})]}}}};var Mn=i(40271);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["App/ContextMenuRegistry/ContextMenuRegistry"]),t=kw.r.documentTree;e.registerToSlot(t.name,{name:"addFolder",priority:t.priority.addFolder,useMenuItem:e=>{let{addFolderTreeContextMenuItem:t}=(0,C2.N)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"addPage",priority:t.priority.addPage,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,I6.a)({type:"page",iconValue:"document",contextMenuKey:"addPage",formType:I6.F.FULL,modalTitle:t("document.tree.context-menu.add-page"),perspectiveTreePermission:Mn.TreePermission.AddPage});return i(e.target)}}),e.registerToSlot(t.name,{name:"addSnippet",priority:t.priority.addSnippet,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,I6.a)({type:"snippet",iconValue:"snippet",contextMenuKey:"addSnippet",formType:I6.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-snippet"),perspectiveTreePermission:Mn.TreePermission.AddSnippet});return i(e.target)}}),e.registerToSlot(t.name,{name:"addLink",priority:t.priority.addLink,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,I6.a)({type:"link",iconValue:"document-link",contextMenuKey:"addLink",formType:I6.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-link"),hasNoChildren:!0,perspectiveTreePermission:Mn.TreePermission.AddLink});return i(e.target)}}),e.registerToSlot(t.name,{name:"addHardlink",priority:t.priority.addHardlink,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,I6.a)({type:"hardlink",iconValue:"hardlink",contextMenuKey:"addHardlink",formType:I6.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-hardlink"),hasNoChildren:!0,perspectiveTreePermission:Mn.TreePermission.AddHardlink});return i(e.target)}}),e.registerToSlot(t.name,{name:"addEmail",priority:t.priority.addEmail,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),{addDocumentTreeContextMenuItem:i}=(0,I6.a)({type:"email",iconValue:"mail-02",contextMenuKey:"addEmail",formType:I6.F.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-email"),perspectiveTreePermission:Mn.TreePermission.AddEmail});return i(e.target)}}),e.registerToSlot(t.name,{name:"rename",priority:t.priority.rename,useMenuItem:e=>{let{renameTreeContextMenuItem:t}=(0,Tm.M)("document",(0,Tg.Cr)("document","rename",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"copy",priority:t.priority.copy,useMenuItem:e=>{let{copyTreeContextMenuItem:t}=(0,Cj.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"cut",priority:t.priority.cut,useMenuItem:e=>{let{cutTreeContextMenuItem:t}=(0,Cj.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteCut",priority:t.priority.pasteCut,useMenuItem:e=>{let{pasteCutContextMenuItem:t}=(0,Cj.e)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"publish",priority:t.priority.publish,useMenuItem:e=>{let{publishTreeContextMenuItem:t}=(0,Id.Z)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"unpublish",priority:t.priority.unpublish,useMenuItem:e=>{let{unpublishTreeContextMenuItem:t}=(0,DU.M)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"delete",priority:t.priority.delete,useMenuItem:e=>{let{deleteTreeContextMenuItem:t}=(0,Tu.z)("document",(0,Tg.Cr)("document","delete",Number.parseInt(e.target.id)));return t(e.target)}}),e.registerToSlot(t.name,{name:"openInNewWindow",priority:t.priority.openInNewWindow,useMenuItem:e=>{let{openInNewWindowTreeContextMenuItem:t}=(0,IH.j)();return t(e.target)}}),e.registerToSlot(t.name,{name:"refreshTree",priority:t.priority.refreshTree,useMenuItem:e=>{let{refreshTreeContextMenuItem:t}=(0,CN.h)("document");return t(e.target)}}),e.registerToSlot(t.name,{name:"paste",priority:t.priority.paste,useMenuItem:e=>{let{pasteMenuTreeContextMenuItem:t}=Mi();return t(e.target)}}),e.registerToSlot(t.name,{name:"pasteInheritance",priority:t.priority.pasteInheritance,useMenuItem:e=>{let{pasteInheritanceTreeContextMenuItem:t}=Mi();return t(e.target)}}),e.registerToSlot(t.name,{name:"advanced",priority:t.priority.advanced,useMenuItem:e=>{let{t}=(0,iQ.useTranslation)(),i=kw.r.documentTreeAdvanced,n=(0,kj.W)(i.name,e);return{label:t("element.tree.context-menu.advanced"),key:"advanced",icon:(0,tq.jsx)(r9.I,{value:"more"}),children:n}}});let i=kw.r.documentTreeAdvanced;e.registerToSlot(i.name,{name:"convertTo",priority:i.priority.convertTo,useMenuItem:e=>{let{convertMenuTreeContextMenuItem:t}=(()=>{let{t:e}=(0,iQ.useTranslation)(),[t,{isError:i,error:n}]=(0,I4.LS)(),{closeWidget:r}=(0,m3.J)(),a=(0,aB.Vl)(),l=(0,iv.useAppDispatch)(),{isTreeActionAllowed:o}=(0,C5.H)();(0,tG.useEffect)(()=>{i&&(0,iX.Ay)(new iX.hD(n))},[i,n]);let s=async(e,i)=>{let n;if(void 0!==(await t({id:e,type:i})).error)return;r((0,I5.g)("document",e));let a={type:"name",value:(null==(n=I7[i])?void 0:n.icon)??I7.page.icon};l((0,Ck.updateNodeType)({nodeId:String(e),elementType:"document",newType:i,newIcon:a}))},d=(t,i)=>{let n=parseInt(t.id),r=t.type,l=I7[i];return r===i||(0,tI.isNil)(l)?{key:`convert-to-${i}`,label:"",hidden:!0}:{key:`convert-to-${i}`,label:e(l.labelKey),icon:(0,tq.jsx)(r9.I,{value:l.icon}),onClick:()=>{a.confirm({title:e("convert-document"),content:e("convert-document-warning"),onOk:async()=>{await s(n,i)}})}}};return{convertMenuTreeContextMenuItem:t=>({label:e("convert-to"),key:"convert-to",icon:(0,tq.jsx)(r9.I,{value:"flip-forward"}),hidden:!(o(C4.o.Convert)&&!(0,tI.isNil)(t.type)&&1!==parseInt(t.id)&&(0,tI.isNil)(t.locked)&&!(0,tI.isNil)(t.permissions)&&(0,TS.o)(t.permissions,"publish")),children:[d(t,"page"),d(t,"snippet"),d(t,"email"),d(t,"link"),d(t,"hardlink")]})}})();return t(e.target)}}),e.registerToSlot(i.name,{name:"lock",priority:i.priority.lock,useMenuItem:e=>{let{lockMenuTreeContextMenuItem:t}=(0,C3.V)("document");return t(e.target)}}),e.registerToSlot(i.name,{name:"useAsSite",priority:i.priority.useAsSite,useMenuItem:e=>{let{useAsSiteTreeContextMenuItem:t}=I9();return t(e.target)}}),e.registerToSlot(i.name,{name:"editSite",priority:i.priority.editSite,useMenuItem:e=>{let{editSiteTreeContextMenuItem:t}=I9();return t(e.target)}}),e.registerToSlot(i.name,{name:"removeSite",priority:i.priority.removeSite,useMenuItem:e=>{let{removeSiteTreeContextMenuItem:t}=I9();return t(e.target)}})}}),ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:yl.e.document.tree.contextMenu.name,component:I3})}}),i(51344);let Mr=e=>{let{t}=(0,iQ.useTranslation)();return(0,tq.jsx)(Cy.s,{...e,label:t("document.document-tree.search",{folderName:e.node.label}),node:e.node,total:e.total})},Ma=(g=Cg.n,h=(0,tG.forwardRef)((e,t)=>{let{ref:i,...n}=e;return(0,tq.jsx)(g,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(CZ.y9,{renderMenu:()=>(0,tq.jsx)(I3,{node:n}),children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})}),y=(0,tG.forwardRef)((e,t)=>{var i;let n=e.metaData.document,{t:r}=(0,iQ.useTranslation)();if((null==(i=e.metaData)?void 0:i.document)===void 0)return(0,tq.jsx)(h,{...e});let a=(0,tI.isString)(null==n?void 0:n.key)&&(null==n?void 0:n.key)!==""?null==n?void 0:n.key:r("home");return(0,tq.jsx)(Cb.s,{info:{icon:e.icon,title:a,type:"document",data:{...n}},children:(0,tq.jsx)(h,{...e,ref:t})})}),v=(0,tG.forwardRef)((e,t)=>{let i=e.isLoading??!1,[,{isLoading:n}]=(0,CC.mG)({fixedCacheKey:`DOCUMENT_ACTION_DELETE_ID_${e.id}`}),{isFetching:r,isLoading:a,isDeleting:l}=(0,CD.W)(e.id);return(0,tq.jsx)(y,{...e,danger:i||n||l,isLoading:i||!0!==a&&r||n||l||a,ref:t})}),(0,tG.forwardRef)((e,t)=>{var i;let{move:n}=(0,Cj.e)("document"),{move:r}=Im("document"),{isSourceAllowed:a,isTargetAllowed:l}=CS();if((null==(i=e.metaData)?void 0:i.document)===void 0)return(0,tq.jsx)(v,{...e});let o=e.metaData.document;if(!l(o))return(0,tq.jsx)(v,{...e});let s=e=>{let t=e.data;a(t)&&l(o)&&n({currentElement:{id:t.id,parentId:t.parentId},targetElement:{id:o.id,parentId:o.parentId}}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},d=e=>"document"===e.type,c=e=>{let t=e.data;return"document"===e.type&&a(t)&&l(o)},f=e=>{let{info:t,position:i="top"}=e,n=t.data;a(n)&&l(o)&&r({currentElement:{id:n.id,parentId:n.parentId},targetElement:{id:o.id,parentId:o.parentId},newIndex:"top"===i?o.index:o.index+1}).catch(()=>{(0,iX.Ay)(new iX.$g("Item could not be moved"))})},u=[{id:"drop-middle",isValidContext:d,isValidData:c,position:{x:"0",y:"0%",width:"100%",height:"100%"},onDrop:s}];return!0!==e.isRoot&&(u=[{id:"sorting-top",className:"dnd__sorting dnd__sorting--top",isValidContext:d,isValidData:c,position:{x:0,y:0,width:"100%",height:"30%"},onDrop:e=>{f({info:e,position:"top"})}},{id:"drop-middle",isValidContext:d,isValidData:c,position:{x:"0",y:"30%",width:"100%",height:"40%"},onDrop:s},{id:"sorting-bottom",className:"dnd__sorting dnd__sorting--bottom",isValidContext:d,isValidData:c,position:{x:0,y:"70%",width:"100%",height:"30%"},onDrop:e=>{f({info:e,position:"bottom"})}}]),(0,tq.jsx)(v,{...e,ref:t,wrapNode:t=>(0,tq.jsx)(Ig.T,{disableDndActiveIndicator:!0,hotspots:u,children:(0,tI.isUndefined)(e.wrapNode)?t:e.wrapNode(t)})})})),Ml=e=>{let{id:t=1,showRoot:i=!0}=e,{openDocument:n}=(0,IW.$)(),{rootNode:r,isLoading:a}=(0,CM.m)(t,i),l=(0,CL.e)().get(yl.e.document.tree.contextMenu.name);if(i&&a)return(0,tq.jsx)(pa.a,{padding:"small",children:(0,tq.jsx)(Cx.E,{})});async function o(e){n({config:{id:parseInt(e.id)}})}return(0,tq.jsx)(Cp.ng,{contextMenu:l,nodeId:t,onSelect:o,renderFilter:Mr,renderNode:Ma,renderNodeContent:Cp.Yb.renderNodeContent,renderPager:Ch.l,rootNode:r,showRoot:i,tooltipSlotName:yl.e.document.tree.tooltip.name})},Mo=e=>{var t,i;let{node:n}=e;return n.elementType!==sE.W.document||(null==(i=n.metaData)||null==(t=i.document)?void 0:t.navigationExclude)!==!0?null:(0,tq.jsx)(r9.I,{"data-testid":`tree-node-navigation-exclude-icon-${n.id}`,options:{width:14,height:14},value:"not-visible-element"})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager),t=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.registerWidget({name:"document-tree",component:Ml}),t.register({name:yl.e.document.tree.tooltip.name,component:C9}),t.registerToSlot(yl.e.document.tree.node.meta.name,{name:"navigationExcludeIcon",component:Mo,priority:100}),t.registerToSlot(yl.e.document.tree.node.meta.name,{name:"lockIcon",component:Dt,priority:200})}});let Ms=(0,iR.createStyles)(e=>{let{token:t}=e;return{container:{color:t.colorTextDescription,maxWidth:"300px",textAlign:"center"}}});function Md(e){let{description:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=Ms();return(0,tq.jsx)(uE.U,{centered:!0,children:(0,tq.jsxs)(ap.s,{align:"center",className:n.container,gap:"small",vertical:!0,children:[(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(r9.I,{value:"info-circle"}),(0,tq.jsx)("span",{children:i("widget.missing-context.title")})]}),(0,tq.jsx)("div",{children:t})]})})}var Mc=i(3395);function Mf(e){let{dataObject:t}=(0,aG.A)(e.id),{t:i}=(0,iQ.useTranslation)();return(null==t?void 0:t.modified)!==!0?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(iN.m,{placement:"bottomLeft",title:(0,tq.jsxs)(tq.Fragment,{children:[i("detached-tab.draft-tooltip"),(0,tq.jsx)(pa.a,{padding:{top:"normal"},children:i("detached-tab.draft-tooltip-addon")})]}),children:(0,tq.jsx)(pa.a,{padding:{x:"extra-small"},children:(0,tq.jsxs)(ap.s,{align:"flex-start",gap:"mini",children:[(0,tq.jsx)(r9.I,{value:"draft"}),(0,tq.jsx)(n5.E,{children:"Draft"})]})})})}function Mu(e){let{context:t,tabKey:i}=e,{getOpenedMainWidget:n}=(0,m3.J)(),{editorType:r,isLoading:a}=(0,Sl.D)(t.config.id,t.type),{t:l}=(0,iQ.useTranslation)();if(a)return(0,tq.jsx)(uE.U,{loading:!0});if(void 0===r)return(0,tq.jsx)(Md,{description:l("widget.missing-tab-context.description")});let o=n(),s=tc.kL.get(r.tabManagerServiceId).getTab(i),d=tc.kL.get(td.K.widgetManager);if(void 0===s||void 0===o)return(0,tq.jsx)(Md,{description:l("widget.missing-tab-context.description")});let c=d.getWidget((null==o?void 0:o.getComponent())??"");if((null==c?void 0:c.getContextProvider)===void 0)return(0,tq.jsx)(Md,{description:l("widget.missing-tab-context.description")});let f=c.getContextProvider(t,s.children);return void 0===f?(0,tq.jsx)(Md,{description:l("widget.missing-tab-context.description")}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsxs)(pc.M,{align:"center",position:"top",size:"small",theme:"secondary",children:[(0,tq.jsx)(Mc.W,{elementType:t.type,id:t.config.id}),"data-object"===t.type&&(0,tq.jsx)(Mf,{id:t.config.id})]}),children:f})}var Mm=i(55490);let Mp=e=>{let{tabKey:t}=e,{context:i}=(0,Mm.Q)(),{t:n}=(0,iQ.useTranslation)();return(null==i?void 0:i.type)===void 0?(0,tq.jsx)(Md,{description:n("widget.missing-context.description")}):(0,tq.jsx)(Mu,{context:i,tabKey:t},i.type)},Mg=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{table:t`
.ant-table-content {
.schedule-table--actions-column {
@@ -879,7 +879,7 @@
}
}
}
- `}}),Mf=e=>{let{data:t}=e,{styles:i}=Mc(),{t:n}=(0,iQ.useTranslation)(),{id:r,elementType:a}=(0,iZ.J)(),{element:l,updateSchedule:o,removeSchedule:s,setModifiedCells:d}=(0,Sl.D)(r,a),c="schedules",f=(null==l?void 0:l.modifiedCells[c])??[],u=(0,cH.createColumnHelper)(),m=[u.accessor("date",{header:n("schedule.columns.datetime"),meta:{type:"date",editable:!0,config:{showTime:!0}},size:200}),u.accessor("action",{header:n("schedule.columns.action"),meta:{type:"schedule-actions-select",editable:!0}}),u.accessor("version",{header:n("schedule.columns.version"),meta:{type:"version-id-select",editable:!0},size:80}),u.accessor("active",{header:n("schedule.columns.active"),size:60,meta:{type:"checkbox",config:{align:"center"},editable:!0}}),u.accessor("actions",{header:n("schedule.columns.actions"),cell:e=>(0,tq.jsx)(ap.s,{align:"center",className:"w-full h-full",justify:"center",children:(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{s(e.row.original)},type:"link"})}),size:70})],p=e=>String(e.id);return(0,tG.useEffect)(()=>{f.length>0&&(null==l?void 0:l.changes.schedules)===void 0&&d(c,[])},[l]),(0,tq.jsx)("div",{className:i.table,children:(0,tq.jsx)(ul.x,{columns:m,data:t,modifiedCells:f,onUpdateCellData:e=>{let{rowIndex:i,columnId:n,value:r,rowData:a}=e,l=[...t??[]].find(e=>e.id===a.id);void 0===l||(o({...l,[n]:r}),d(c,[...f,{rowIndex:p(a),columnId:n}]))},setRowId:p})})},Mu=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)("upcoming"),[a,l]=(0,tG.useState)(!1),{element:o,schedules:s,setSchedules:d,addSchedule:c,removeSchedule:f}=(0,Sl.D)(t,i),{saveSchedules:u,isLoading:m}=So(i,t),{data:p,isLoading:g,isError:h,error:y}=(0,iY.Ts)({elementType:i,id:t});(0,tG.useEffect)(()=>{if(void 0!==p&&(null==o?void 0:o.changes.schedules)===void 0&&Array.isArray(p.items)){let e=Math.floor(Date.now()/1e3);d(p.items.map(t=>({...t,archived:0!==t.date&&t.date{void 0!==s&&(b(s.filter(e=>!e.archived)),j(s.filter(e=>e.archived)))},[s]),(0,tG.useEffect)(()=>{h&&(0,iX.Ay)(new i0.Ay(y))},[h]),g||void 0===p)return(0,tq.jsx)(uE.U,{loading:!0});function w(e){return e.filter(e=>!a||e.active)}return(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("schedule.headline"),children:(0,tq.jsx)(TM.e,{items:[(0,tq.jsx)(m4.J,{className:"pimcore-schedule-toolbar__headline__buttons__add",icon:{value:"new"},onClick:()=>{c({id:-new Date().getTime(),archived:!1,ctype:"asset",userId:0,username:"",date:0,active:!0})},children:e("schedule.toolbar.new")},"add"),(0,tq.jsx)(az.$,{className:"pimcore-schedule-toolbar__headline__buttons__save",disabled:(null==o?void 0:o.changes.schedules)===void 0,loading:m,onClick:u,type:"primary",children:e("schedule.toolbar.save-scheduled-tasks")},"save")]})}),(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",children:[(0,tq.jsx)(a_.$,{onChange:r,options:[{label:e("schedule.upcoming"),value:"upcoming"},{label:e("schedule.all"),value:"all"}]}),(0,tq.jsx)(a$.$,{className:"pimcore-schedule-toolbar__filters__active-switch",size:"extra-small",children:(0,tq.jsx)(sA.d,{labelLeft:e("schedule.toolbar.filters.active-switch"),onChange:l,value:a})})]}),(0,tq.jsxs)("div",{className:"pimcore-schedule-content",style:{marginLeft:0},children:[(0,tq.jsx)(Mf,{data:w(v??[])}),"all"===n&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pa.a,{padding:{y:"small"},children:(0,tq.jsxs)(a$.$,{children:[(0,tq.jsx)(n5.E,{strong:!0,children:e("schedule.archived")}),(0,tq.jsx)(m4.J,{disabled:0===x.length,icon:{value:"trash"},onClick:function(){null==s||s.forEach(e=>{e.archived&&f(e)})},children:e("schedule.archived.cleanup-all")})]})}),(0,tq.jsx)(Mf,{data:w(x??[])})]})]})]})};var Mm=i(93534);let Mp=e=>{let{items:t,isLoading:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,cH.createColumnHelper)(),a=[r.accessor("subType",{header:n("dependencies.columns.subtype"),meta:{type:"dependency-type-icon"},size:60}),r.accessor("path",{header:n("dependencies.columns.path"),meta:{autoWidth:!0},size:300}),r.accessor("actions",{header:n("dependencies.columns.open"),meta:{type:"open-element"},size:50,enableResizing:!1})];return(0,tq.jsx)(ul.x,{autoWidth:!0,columns:a,data:t,isLoading:i,resizable:!0})},Mg=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{skeleton:i`
+ `}}),Mh=e=>{let{data:t}=e,{styles:i}=Mg(),{t:n}=(0,iQ.useTranslation)(),{id:r,elementType:a}=(0,iZ.J)(),{element:l,updateSchedule:o,removeSchedule:s,setModifiedCells:d}=(0,Sl.D)(r,a),c="schedules",f=(null==l?void 0:l.modifiedCells[c])??[],u=(0,cH.createColumnHelper)(),m=[u.accessor("date",{header:n("schedule.columns.datetime"),meta:{type:"date",editable:!0,config:{showTime:!0}},size:200}),u.accessor("action",{header:n("schedule.columns.action"),meta:{type:"schedule-actions-select",editable:!0}}),u.accessor("version",{header:n("schedule.columns.version"),meta:{type:"version-id-select",editable:!0},size:80}),u.accessor("active",{header:n("schedule.columns.active"),size:60,meta:{type:"checkbox",config:{align:"center"},editable:!0}}),u.accessor("actions",{header:n("schedule.columns.actions"),cell:e=>(0,tq.jsx)(ap.s,{align:"center",className:"w-full h-full",justify:"center",children:(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{s(e.row.original)},type:"link"})}),size:70})],p=e=>String(e.id);return(0,tG.useEffect)(()=>{f.length>0&&(null==l?void 0:l.changes.schedules)===void 0&&d(c,[])},[l]),(0,tq.jsx)("div",{className:i.table,children:(0,tq.jsx)(ul.x,{columns:m,data:t,modifiedCells:f,onUpdateCellData:e=>{let{rowIndex:i,columnId:n,value:r,rowData:a}=e,l=[...t??[]].find(e=>e.id===a.id);void 0===l||(o({...l,[n]:r}),d(c,[...f,{rowIndex:p(a),columnId:n}]))},setRowId:p})})},My=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)("upcoming"),[a,l]=(0,tG.useState)(!1),{element:o,schedules:s,setSchedules:d,addSchedule:c,removeSchedule:f}=(0,Sl.D)(t,i),{saveSchedules:u,isLoading:m}=So(i,t),{data:p,isLoading:g,isError:h,error:y}=(0,iY.Ts)({elementType:i,id:t});(0,tG.useEffect)(()=>{if(void 0!==p&&(null==o?void 0:o.changes.schedules)===void 0&&Array.isArray(p.items)){let e=Math.floor(Date.now()/1e3);d(p.items.map(t=>({...t,archived:0!==t.date&&t.date{void 0!==s&&(b(s.filter(e=>!e.archived)),j(s.filter(e=>e.archived)))},[s]),(0,tG.useEffect)(()=>{h&&(0,iX.Ay)(new i0.Ay(y))},[h]),g||void 0===p)return(0,tq.jsx)(uE.U,{loading:!0});function w(e){return e.filter(e=>!a||e.active)}return(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("schedule.headline"),children:(0,tq.jsx)(TM.e,{items:[(0,tq.jsx)(m4.J,{className:"pimcore-schedule-toolbar__headline__buttons__add",icon:{value:"new"},onClick:()=>{c({id:-new Date().getTime(),archived:!1,ctype:"asset",userId:0,username:"",date:0,active:!0})},children:e("schedule.toolbar.new")},"add"),(0,tq.jsx)(az.$,{className:"pimcore-schedule-toolbar__headline__buttons__save",disabled:(null==o?void 0:o.changes.schedules)===void 0,loading:m,onClick:u,type:"primary",children:e("schedule.toolbar.save-scheduled-tasks")},"save")]})}),(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",children:[(0,tq.jsx)(a_.$,{onChange:r,options:[{label:e("schedule.upcoming"),value:"upcoming"},{label:e("schedule.all"),value:"all"}]}),(0,tq.jsx)(a$.$,{className:"pimcore-schedule-toolbar__filters__active-switch",size:"extra-small",children:(0,tq.jsx)(sA.d,{labelLeft:e("schedule.toolbar.filters.active-switch"),onChange:l,value:a})})]}),(0,tq.jsxs)("div",{className:"pimcore-schedule-content",style:{marginLeft:0},children:[(0,tq.jsx)(Mh,{data:w(v??[])}),"all"===n&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pa.a,{padding:{y:"small"},children:(0,tq.jsxs)(a$.$,{children:[(0,tq.jsx)(n5.E,{strong:!0,children:e("schedule.archived")}),(0,tq.jsx)(m4.J,{disabled:0===x.length,icon:{value:"trash"},onClick:function(){null==s||s.forEach(e=>{e.archived&&f(e)})},children:e("schedule.archived.cleanup-all")})]})}),(0,tq.jsx)(Mh,{data:w(x??[])})]})]})]})};var Mv=i(93534);let Mb=e=>{let{items:t,isLoading:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,cH.createColumnHelper)(),a=[r.accessor("subType",{header:n("dependencies.columns.subtype"),meta:{type:"dependency-type-icon"},size:60}),r.accessor("path",{header:n("dependencies.columns.path"),meta:{autoWidth:!0},size:300}),r.accessor("actions",{header:n("dependencies.columns.open"),meta:{type:"open-element"},size:50,enableResizing:!1})];return(0,tq.jsx)(ul.x,{autoWidth:!0,columns:a,data:t,isLoading:i,resizable:!0})},Mx=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{skeleton:i`
width: 100%;
display: flex;
gap: 4px;
@@ -893,7 +893,7 @@
min-width: unset;
}
}
- `}}),Mh=()=>{let{styles:e}=Mg();return(0,tq.jsxs)("div",{className:e.skeleton,children:[(0,tq.jsx)(ig.Skeleton.Input,{active:!0,size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,size:"small"})]})},My=e=>e.isLoading?(0,tq.jsx)(Mh,{}):e.isLoading||0!==e.totalItems?(0,tq.jsx)(po.d,{current:e.page,defaultPageSize:20,onChange:e.onChange,pageSizeOptions:[10,20,50,100],showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:e.totalItems??0}):(0,tq.jsx)(tq.Fragment,{}),Mv=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o,isLoading:s}=(0,Mm.Q)({elementType:i,id:t,page:n,pageSize:a,dependencyMode:"requires"});return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(My,{...o,isLoading:s,onChange:function(e,t){r(e),l(t)},page:n})}),children:(0,tq.jsxs)(uE.U,{className:"pimcore-dependencies__requires p-r-none",padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",icon:(0,tq.jsx)(r9.I,{value:"requires"}),title:e("dependencies.requires")}),(0,tq.jsx)(Mp,{isLoading:s,items:(null==o?void 0:o.items)??[]})]})})},Mb=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o,isLoading:s}=(0,Mm.Q)({elementType:i,id:t,page:n,pageSize:a,dependencyMode:"required_by"});return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(My,{...o,isLoading:s,onChange:function(e,t){r(e),l(t)},page:n})}),children:(0,tq.jsxs)(uE.U,{className:"pimcore-dependencies__required-by p-l-none",padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",icon:(0,tq.jsx)(r9.I,{value:"required-by"}),title:e("dependencies.required-by")}),(0,tq.jsx)(Mp,{isLoading:s,items:(null==o?void 0:o.items)??[]})]})})},Mx=()=>(0,tq.jsx)(ht.n,{leftItem:{minSize:450,size:50,children:(0,tq.jsx)(Mv,{})},resizeAble:!0,rightItem:{minSize:450,size:50,children:(0,tq.jsx)(Mb,{})},withDivider:!0}),Mj=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{workflowCard:i`
+ `}}),Mj=()=>{let{styles:e}=Mx();return(0,tq.jsxs)("div",{className:e.skeleton,children:[(0,tq.jsx)(ig.Skeleton.Input,{active:!0,size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,className:"square",size:"small"}),(0,tq.jsx)(ig.Skeleton.Button,{active:!0,size:"small"})]})},Mw=e=>e.isLoading?(0,tq.jsx)(Mj,{}):e.isLoading||0!==e.totalItems?(0,tq.jsx)(po.d,{current:e.page,defaultPageSize:20,onChange:e.onChange,pageSizeOptions:[10,20,50,100],showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:e.totalItems??0}):(0,tq.jsx)(tq.Fragment,{}),Mk=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o,isLoading:s}=(0,Mv.Q)({elementType:i,id:t,page:n,pageSize:a,dependencyMode:"requires"});return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(Mw,{...o,isLoading:s,onChange:function(e,t){r(e),l(t)},page:n})}),children:(0,tq.jsxs)(uE.U,{className:"pimcore-dependencies__requires p-r-none",padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",icon:(0,tq.jsx)(r9.I,{value:"requires"}),title:e("dependencies.requires")}),(0,tq.jsx)(Mb,{isLoading:s,items:(null==o?void 0:o.items)??[]})]})})},MT=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o,isLoading:s}=(0,Mv.Q)({elementType:i,id:t,page:n,pageSize:a,dependencyMode:"required_by"});return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(Mw,{...o,isLoading:s,onChange:function(e,t){r(e),l(t)},page:n})}),children:(0,tq.jsxs)(uE.U,{className:"pimcore-dependencies__required-by p-l-none",padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",icon:(0,tq.jsx)(r9.I,{value:"required-by"}),title:e("dependencies.required-by")}),(0,tq.jsx)(Mb,{isLoading:s,items:(null==o?void 0:o.items)??[]})]})})},MS=()=>(0,tq.jsx)(ht.n,{leftItem:{minSize:450,size:50,children:(0,tq.jsx)(Mk,{})},resizeAble:!0,rightItem:{minSize:450,size:50,children:(0,tq.jsx)(MT,{})},withDivider:!0}),MC=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{workflowCard:i`
.ant-card-head-title {
display: flex !important;
gap: 8px;
@@ -930,7 +930,7 @@
.ant-card-body {
overflow: auto;
}
- `}},{hashPriority:"low"}),Mw=e=>{let{workflow:t}=e,[i,n]=(0,tG.useState)([]),{t:r}=(0,iQ.useTranslation)(),a=T9(t),{triggerAction:l,submissionLoading:o}=Sn();return(0,tG.useEffect)(()=>{let e;e=[],a.forEach(t=>{e.push({key:t.actionType+"-"+t.transitionId,label:r(t.label),onClick:()=>{l(t)}})}),n(e)},[]),(0,tq.jsx)(pu.m,{menu:{items:i},placement:"bottom",children:o?(0,tq.jsx)(az.$,{loading:!0,type:"link"}):(0,tq.jsx)(az.$,{children:r("component.workflow-card.action-btn")})})},Mk=e=>{var t;let{workflow:i}=e,{styles:n}=Mj();return(0,tq.jsx)(f_.Z,{className:n.workflowCard,extra:(0,tq.jsx)(Mw,{workflow:i}),title:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)("p",{children:i.workflowName}),void 0!==i.workflowStatus&&(null==(t=i.workflowStatus)?void 0:t.length)>0&&i.workflowStatus.map((e,t)=>(0,tq.jsx)(ig.Tag,{className:e.colorInverted?"color-inverted":"",icon:(0,tq.jsx)(ig.Badge,{color:e.color,styles:e.colorInverted?{indicator:{outline:`1px solid ${e.color}4D`}}:{}}),style:e.colorInverted?{backgroundColor:`${e.color}33`}:{},title:e.title,children:e.label},`${t}-${e.title}`))]}),children:void 0!==i.graph&&(0,tq.jsx)("img",{alt:"workflow",src:`data:image/svg+xml;utf8,${encodeURIComponent(i.graph)}`})})},MT=()=>{let{t:e}=(0,iQ.useTranslation)(),{workflowDetailsData:t,isFetchingWorkflowDetails:i}=(0,Si.j)();return(0,tq.jsxs)(uE.U,{loading:i,none:(null==t?void 0:t.items)===void 0||(null==t?void 0:t.items.length)===0,noneOptions:{text:e("workflow.no-workflows-found")},padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("workflow.headline")}),(0,tq.jsx)(ig.Space,{direction:"vertical",children:(0,tq.jsxs)(Sp.F,{children:[(null==t?void 0:t.items)!==void 0&&(null==t?void 0:t.items.length)>0&&t.items.map((e,t)=>(0,tq.jsx)(Mk,{workflow:e},t)),(0,tq.jsx)(Sg.x,{})]})})]})},MS=e=>{var t;let{elementType:i,...n}=e,{t:r}=(0,iQ.useTranslation)(),{isLoading:a,data:l}=pG({elementType:i});if(a)return(0,tq.jsx)(uE.U,{loading:!0});let o=null==l||null==(t=l.items)?void 0:t.map(e=>({value:e.id,label:e.id}));return(0,tq.jsxs)(tJ.lV,{layout:"vertical",...n,children:[(0,tq.jsx)(tJ.lV.Item,{label:r("type"),name:"type",children:(0,tq.jsx)(t8.l,{options:o,placeholder:r("select")})}),(0,tq.jsx)(tJ.lV.Item,{label:r("title"),name:"title",rules:[{required:!0,message:r("form.validation.required")}],children:(0,tq.jsx)(ig.Input,{})}),(0,tq.jsx)(tJ.lV.Item,{label:r("description"),name:"description",children:(0,tq.jsx)(n4.f,{autoSize:{minRows:3}})})]})},MC=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)(),[n]=ni.Form.useForm(),[r,{isLoading:a}]=pW();async function l(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";await r({elementType:t.elementType,id:t.elementId,createNote:{type:i,title:e,description:n}})}async function o(e){await l(e.title,e.type,e.description),t.refetchNotes(),t.setOpen(!1),n.resetFields()}return(0,tq.jsx)(ig.Modal,{okButtonProps:{loading:a},okText:i("save"),onCancel:()=>{t.setOpen(!1),n.resetFields()},onOk:()=>{n.submit()},open:t.open,title:(0,tq.jsx)(p8.w,{iconName:"new",children:i("notes-and-events.new-note")}),children:(0,tq.jsx)(MS,{elementType:t.elementType,form:n,onFinish:o})})};var MD=i(40926);let MI=e=>{let{notes:t,pagination:i,onClickTrash:n,elementId:r,elementType:a,deleteLoading:l,refetchNotes:o}=e,{t:s}=(0,iQ.useTranslation)(),[d,c]=(0,tG.useState)(!1),f=t.map(e=>{let t;return{key:e.id.toString(),label:(0,tq.jsxs)(oI.B,{dividerSize:"small",size:"extra-small",theme:"secondary",children:[""!==e.title&&(0,tq.jsx)(tq.Fragment,{children:(0,tq.jsx)(n5.E,{strong:!0,children:e.title})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e.userName})]}),extra:(t=e.type??void 0,(0,tq.jsxs)(a$.$,{align:"center",size:"extra-small",children:[void 0!==t&&(0,tq.jsx)(ig.Tag,{children:t}),(0,tq.jsx)("span",{children:(0,pP.r6)({timestamp:e.date,dateStyle:"short",timeStyle:"medium"})}),!e.locked&&(0,tq.jsx)(lp.K,{"aria-label":i4().t("aria.notes-and-events.delete"),icon:{value:"trash"},loading:l,onClick:t=>{t.stopPropagation(),n(e.id)},theme:"primary"})]})),children:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(MD.f,{children:(0,pD.SN)(e.description)}),e.data.length>0&&(0,tq.jsx)(pE,{note:e})]}),...0===e.description.length&&{disabled:!0}}});return(0,tq.jsx)(pl.s,{renderToolbar:0!==t.length?(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(tq.Fragment,{children:i})}):void 0,children:(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsxs)(kR.Y,{className:"p-l-mini",title:s("notes-and-events.notes-and-events"),children:[(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{c(!0)},children:s("new")}),(0,tq.jsx)(MC,{elementId:r,elementType:a,open:d,refetchNotes:o,setOpen:c})]}),(0,tq.jsx)(uE.U,{none:0===t.length,noneOptions:{text:s("notes-and-events.no-notes-and-events-to-show")},children:(0,tq.jsx)(ac.SD,{accordion:!1,items:f})})]})})},MM=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),[o,{error:s,isLoading:d}]=p$(),{isLoading:c,data:f,error:u,refetch:m}=pq({id:t,elementType:i,page:n,pageSize:a});async function p(e){await o({id:e}),await m()}return((0,tI.isUndefined)(u)||(0,iX.Ay)(new iX.hD(u)),(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s)),c)?(0,tq.jsx)(uE.U,{loading:!0}):(0,tq.jsx)(MI,{deleteLoading:d,elementId:t,elementType:i,notes:f.items,onClickTrash:p,pagination:(0,tq.jsx)(po.d,{current:n,onChange:(e,t)=>{r(e),l(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:f.totalItems}),refetchNotes:m})};var ML=i(6387);let MF=()=>{let e=(0,iv.useAppDispatch)();return{updateTagsForElementByTypeAndId:t=>e(ML.FH.util.updateQueryData("tagGetCollectionForElementByTypeAndId",{elementType:t.elementType,id:t.id},e=>{let i=t.flatTags.filter(e=>t.checkedTags.includes(e.id));return{totalItems:t.checkedTags.length,items:i}})),removeTagFromElement:t=>e(ML.FH.util.updateQueryData("tagGetCollectionForElementByTypeAndId",{elementType:t.elementType,id:t.id},e=>{e.items=e.items.filter(e=>e.id!==t.tagId),e.totalItems=e.items.length}))}},ME=e=>{let{tags:t,isLoading:i}=e,{t:n}=(0,iQ.useTranslation)(),{id:r,elementType:a}=(0,iZ.J)(),{removeTagFromElement:l}=MF(),[o]=(0,gZ.vX)(),s=async e=>{let t=l({elementType:a,id:r,tagId:e});try{await o({elementType:a,id:r,tagId:e})}catch{t.undo(),(0,iX.Ay)(new iX.$g("Failed to unassign tag from element"))}},d=(0,cH.createColumnHelper)(),c=[d.accessor("path",{header:n("tags.columns.path"),meta:{type:"text"},minSize:600,sortDescFirst:!1}),d.accessor("actions",{header:n("tags.columns.actions"),enableSorting:!1,cell:e=>(0,tq.jsx)(ig.Flex,{align:"center",className:"w-full h-full",justify:"center",children:(0,tq.jsx)(lp.K,{"aria-label":n("tags.actions.delete"),icon:{value:"trash"},onClick:async()=>{await s(e.row.original.id)},type:"link"})}),size:60})];return(0,tq.jsx)(ul.x,{columns:c,data:Object.values(t),enableSorting:!0,isLoading:i,sorting:[{id:"path",desc:!1}]})},MP=e=>{let t,i,{elementId:n,elementType:r,tags:a,filter:l,setFilter:o,isLoading:s,defaultCheckedTags:d,setDefaultCheckedTags:c}=e,{t:f}=(0,iQ.useTranslation)(),u=(t=[],(i=e=>{for(let n of e)t.push(n),void 0!==n.children&&i(n.children)})(a),t).filter(e=>void 0!==e.id),[m,p]=tU().useState([0,...d]),{handleCheck:g,loadingNodes:h}=(e=>{let{elementId:t,elementType:i,flatTags:n,setDefaultCheckedTags:r}=e,a=(0,uI.J)(),{updateTagsForElementByTypeAndId:l}=MF(),[o]=(0,gZ.zC)(),[s]=(0,gZ.vX)(),[d,c]=(0,tG.useState)(new Set),f=async(e,n)=>{var r,a;if(0===e)return;let l=await (n?o:s)({elementType:i,id:t,tagId:e});if((null==(a=l.error)||null==(r=a.data)?void 0:r.error)!=null&&""!==l.error.data.error)throw Error(l.error.data.error);if(null!=l.error)throw Error(n?"Failed to assign tag to element":"Failed to unassign tag from element")},u=async e=>{l({elementType:i,id:t,flatTags:n,checkedTags:e.map(Number)}),r(e)};return{handleCheck:async(e,t)=>{let i=Number(t.node.key);c(e=>new Set(e).add(String(i))),u(e.checked);try{await f(i,t.checked)}catch{let n=t.checked?(0,i6.t)("failed-to-assign-tag-to-element"):(0,i6.t)("failed-to-un-assign-tag-to-element");a.error({content:n,type:"error",duration:5}),u(t.checked?e.checked.filter(e=>e!==String(i)):[...e.checked,String(i)])}finally{c(e=>{let t=new Set(e);return t.delete(String(i)),t})}},loadingNodes:d}})({elementId:n,elementType:r,flatTags:u,setDefaultCheckedTags:c}),y=(0,gJ.M)({tags:a,loadingNodes:h});return(0,tG.useEffect)(()=>{let e,t;!(0,tI.isNil)(l)&&l.length>0&&p([0,...(e=[],(t=i=>{for(let n of i)void 0!==n.key&&e.push(String(n.key)),(0,tI.isNull)(n.children)||t(n.children)})(y),e)])},[l]),(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ps.D,{loading:s,onSearch:o,placeholder:f("search")}),(0,tq.jsx)(gQ.l,{checkStrictly:!0,checkedKeys:{checked:d,halfChecked:[]},defaultExpandedKeys:m,onCheck:g,treeData:y,withCustomSwitcherIcon:!0})]})},MA=e=>{let[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)(e.tags.map(e=>e.id.toString())),{id:a,elementType:l}=(0,iZ.J)();(0,tG.useEffect)(()=>{r(e.tags.map(e=>e.id.toString()))},[e.tags]);let{data:o,isLoading:s}=(0,ML.uQ)({page:1,pageSize:9999,filter:t});return s||e.isLoading?(0,tq.jsx)(uE.U,{loading:!0}):(null==o?void 0:o.items)===void 0?(0,tq.jsx)("div",{children:"Failed to load tags"}):(0,tq.jsx)(MP,{defaultCheckedTags:n,elementId:a,elementType:l,filter:t,isLoading:s,setDefaultCheckedTags:r,setFilter:i,tags:o.items})};class MN{async run(e){let{messageBus:t}=e;try{let e=await this.executeRequest();if((0,tI.isNil)(e))return;let i=new SU.j({jobRunId:e,title:this.title});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async executeRequest(){var e;let t=await uk.M_.dispatch(gZ.FH.endpoints.tagBatchOperationToElementsByTypeAndId.initiate({elementType:this.elementType,id:this.elementId,operation:this.operation}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}async handleJobFailure(e){console.error("Tag assign job failed:",e)}constructor(e){this.elementType=e.elementType,this.elementId=e.elementId,this.operation=e.operation,this.title=e.title}}let MR=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),{element:n}=(0,Sl.D)(t,i),{applyTagsToChildren:r,removeAndApplyTagsToChildren:a}=(()=>{let{id:e,elementType:t}=(0,iZ.J)(),i=tc.kL.get(td.K.executionEngine),{t:n}=(0,iQ.useTranslation)();return{removeAndApplyTagsToChildren:async()=>{let r=new MN({elementType:t,elementId:e,operation:"replace",title:n("tags.remove-and-apply-tags-to-children")});await i.runJob(r)},applyTagsToChildren:async()=>{let r=new MN({elementType:t,elementId:e,operation:"assign",title:n("tags.apply-tags-to-children")});await i.runJob(r)}}})(),{data:l,isLoading:o}=(0,gZ.ET)({elementType:i,id:t});return(0,tq.jsx)(ht.n,{leftItem:{minSize:315,size:25,children:(0,tq.jsx)(uE.U,{loading:o,padded:!0,children:(0,tq.jsx)(MA,{isLoading:o,tags:(null==l?void 0:l.items)??[]})})},resizeAble:!0,rightItem:{minSize:300,size:75,children:(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("tags.assigned-tags-text"),children:(null==l?void 0:l.totalItems)===0?(0,tq.jsx)(az.$,{onClick:a,children:e("tags.remove-and-apply-tags-to-children")}):(0,tq.jsx)(ig.Dropdown.Button,{disabled:(null==n?void 0:n.hasChildren)!==!0,menu:{items:[{label:e("tags.remove-and-apply-tags-to-children"),key:"1",onClick:a}]},onClick:r,children:e("tags.apply-tags-to-children")})}),(0,tq.jsx)("div",{className:"pimcore-tags-content",children:(0,tq.jsx)(ME,{isLoading:o,tags:(null==l?void 0:l.items)??[]})})]})},withDivider:!0})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"detachable-tab",component:Md});let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.element.editor.tab.properties.name,component:IE}),e.register({name:tu.eb.element.editor.tab.schedule.name,component:Mu}),e.register({name:tu.eb.element.editor.tab.dependencies.name,component:Mx}),e.register({name:tu.eb.element.editor.tab.workflow.name,component:MT}),e.register({name:tu.eb.element.editor.tab.notesAndEvents.name,component:MM}),e.register({name:tu.eb.element.editor.tab.tags.name,component:MR})}});var MV=i(98053);let Mz=pR.api.enhanceEndpoints({addTagTypes:["Elements"]}).injectEndpoints({endpoints:e=>({elementGetUsage:e.query({query:e=>({url:`/pimcore-studio/api/elements/usage/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,sortOrder:e.sortOrder,sortBy:e.sortBy}}),providesTags:["Elements"]}),elementUsageReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/usage/replace/${e.elementType}/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Elements"]})}),overrideExisting:!1}),{useElementGetUsageQuery:MB,useElementUsageReplaceMutation:MO}=Mz,MK=Mz.enhanceEndpoints({endpoints:{elementUsageReplace:{invalidatesTags:[]}}}),{useLazyElementGetUsageQuery:M_,useElementUsageReplaceMutation:MH}=MK;class M${async run(e){let{messageBus:t}=e;try{let e=await this.executeReplaceRequest();if((0,tI.isNil)(e))return void await this.handleCompletion();let i=new SU.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async executeReplaceRequest(){var e;let t=await uk.M_.dispatch(MK.endpoints.elementUsageReplace.initiate({elementType:this.sourceElementType,id:this.sourceElementId,body:{targetType:this.targetElementType,targetId:this.targetElementId,elements:this.elements??[]}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}async handleCompletion(){var e;null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Search replace assignments job failed:",e)}constructor(e){this.sourceElementType=e.sourceElementType,this.sourceElementId=e.sourceElementId,this.targetElementType=e.targetElementType,this.targetElementId=e.targetElementId,this.elements=e.elements,this.title=e.title,this.onFinish=e.onFinish}}let MW=(0,tG.createContext)(void 0),Mq=e=>{let{children:t}=e,{t:i}=(0,iQ.useTranslation)(),[n,r]=(0,tG.useState)(null),[a,l]=(0,tG.useState)(null),[o,s]=(0,tG.useState)(1),[d,c]=(0,tG.useState)(50),[f,u]=(0,tG.useState)({}),m=tc.kL.get(td.K.executionEngine),[p,{data:g,isFetching:h,isLoading:y}]=MK.useLazyElementGetUsageQuery();(0,tG.useEffect)(()=>{null!==n&&p({id:n.id,elementType:n.type,page:o,pageSize:d,sortBy:"id",sortOrder:"ASC"})},[o,d,p]);let v=(null==g?void 0:g.totalCount)??0,b=(null==g?void 0:g.data)??[],x=(null==g?void 0:g.hasHidden)??!1,j=e=>{r(e)},w=e=>{l(e)},k=()=>{null!==n&&(s(1),u({}),p({id:n.id,elementType:n.type,page:1,pageSize:d,sortBy:"id",sortOrder:"ASC"}))},T=(e,t)=>{s(e),c(t)},S=async()=>{if(null!==n&&null!==a)try{let e=new M$({sourceElementType:n.type,sourceElementId:n.id,targetElementType:a.type,targetElementId:a.id,title:i("search-replace-assignments.job.title-all"),onFinish:()=>{D(),u({})}});await m.runJob(e)}catch(e){console.error("Failed to apply replacement to all items",e)}},C=async()=>{if(null!==n&&null!==a)try{let e=Object.keys(f).map(Number).map(e=>{let t=b[e];return{id:t.id,type:"data-object"===t.type?"object":t.type}}),t=new M$({sourceElementType:n.type,sourceElementId:n.id,targetElementType:a.type,targetElementId:a.id,elements:e,title:i("search-replace-assignments.job.title-selection",{count:e.length}),onFinish:()=>{D(),u({})}});await m.runJob(t)}catch(e){console.error("Failed to apply replacement to all items",e)}},D=()=>{null!==n&&p({id:n.id,elementType:n.type,page:o,pageSize:d,sortBy:"id",sortOrder:"ASC"})},I=()=>{u({})},M=null!==n&&null!==a,L=Object.keys(f).length,F=L>0,E=(0,tG.useMemo)(()=>({searchFor:n,replaceWith:a,currentPage:o,pageSize:d,selectedRows:f,defaultPageSize:50,totalItems:v,usageItems:b,isFetching:h,isLoading:y,isFormValid:M,selectedRowsCount:L,hasSelection:F,hasHidden:x,handleSearchForChange:j,handleReplaceWithChange:w,handleSearch:k,handlePageChange:T,handleApplyToAll:S,handleApplyToSelection:C,handleRefresh:D,handleClearSelection:I,setSelectedRows:u}),[n,a,o,d,f,v,b,h,y,M,L,F,x]);return(0,tq.jsx)(MW.Provider,{value:E,children:t})},MG=()=>{let e=(0,tG.useContext)(MW);if(void 0===e)throw Error("useSearchReplaceAssignments must be used within a SearchReplaceAssignmentsProvider");return e},MU=()=>{let{searchFor:e,replaceWith:t,handleSearchForChange:i,handleReplaceWithChange:n,handleSearch:r,handleApplyToAll:a,isFormValid:l,hasHidden:o}=MG(),[s]=ig.Form.useForm();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.search-replace-assignments")})}),(0,tq.jsx)(uE.U,{children:(0,tq.jsxs)(ni.Box,{margin:{x:"small",bottom:"small"},children:[(0,tq.jsxs)(ig.Form,{colon:!1,form:s,labelAlign:"left",labelCol:{style:{width:"150px"}},layout:"horizontal",style:{marginBottom:0},children:[(0,tq.jsx)(ig.Form.Item,{label:(0,tq.jsx)(pd.h,{children:(0,i6.t)("search-replace-assignments.search-for")}),name:"searchFor",children:(0,tq.jsxs)(ap.s,{gap:"extra-small",children:[(0,tq.jsx)("div",{style:{width:"600px"},children:(0,tq.jsx)(MV.h,{assetsAllowed:!0,dataObjectsAllowed:!0,documentsAllowed:!0,enableSearch:!0,onChange:i,value:e})}),(0,tq.jsx)(az.$,{disabled:null===e,onClick:r,type:"default",children:(0,i6.t)("search-replace-assignments.search")})]})}),(0,tq.jsx)(ig.Form.Item,{label:(0,tq.jsx)(pd.h,{children:(0,i6.t)("search-replace-assignments.replace-with")}),name:"replaceWith",style:{marginBottom:0},children:(0,tq.jsxs)(ap.s,{gap:"extra-small",children:[(0,tq.jsx)("div",{style:{width:"600px"},children:(0,tq.jsx)(MV.h,{assetsAllowed:!0,dataObjectsAllowed:!0,documentsAllowed:!0,enableSearch:!0,onChange:n,value:t})}),(0,tq.jsx)(ig.Popconfirm,{cancelText:(0,i6.t)("cancel"),description:(0,i6.t)("search-replace-assignments.confirm.description"),okText:(0,i6.t)("button.confirm"),onConfirm:a,overlayStyle:{maxWidth:"350px"},title:(0,i6.t)("search-replace-assignments.confirm.title"),children:(0,tq.jsx)(az.$,{disabled:!l,type:"primary",children:(0,i6.t)("search-replace-assignments.apply-to-all")})})]})})]}),o&&(0,tq.jsx)(ni.Box,{margin:{top:"small"},children:(0,tq.jsx)(kY.F,{banner:!0,message:(0,i6.t)("hidden-dependencies-warning"),type:"warning"})})]})})]})},MQ=()=>{let{hasSelection:e,selectedRowsCount:t,handleClearSelection:i,handleApplyToSelection:n,handleRefresh:r,currentPage:a,handlePageChange:l,totalItems:o,defaultPageSize:s,isFormValid:d,isFetching:c,isLoading:f}=MG();return(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[e&&(0,tq.jsxs)(ap.s,{align:"center",gap:"small",children:[(0,tq.jsx)(tQ.S,{checked:!0,onClick:e=>{e.stopPropagation(),i()},children:(0,i6.t)("listing.selection.total",{total:t})}),(0,tq.jsx)(ig.Popconfirm,{cancelText:(0,i6.t)("cancel"),description:(0,i6.t)("search-replace-assignments.confirm.description"),okText:(0,i6.t)("button.confirm"),onConfirm:n,overlayStyle:{maxWidth:"350px"},title:(0,i6.t)("search-replace-assignments.confirm.title"),children:(0,tq.jsx)(az.$,{disabled:!d,type:"primary",children:(0,i6.t)("search-replace-assignments.apply-to-selection")})})]}),!e&&(0,tq.jsx)("div",{}),(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(lp.K,{disabled:c||f,icon:{value:"refresh"},onClick:r}),(0,tq.jsx)(po.d,{current:a,defaultPageSize:s,onChange:l,showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:o})]})]})},MJ=()=>{let{t:e}=(0,iQ.useTranslation)(),{usageItems:t,isFetching:i,selectedRows:n,setSelectedRows:r}=MG(),a=(0,cH.createColumnHelper)(),l=[a.accessor("id",{header:e("search-replace-assignments.columns.id"),size:150}),a.accessor("type",{header:e("search-replace-assignments.columns.type"),size:70,cell:t=>{let{row:i}=t,n=i.original.type;return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.Tooltip,{title:e(n),children:(0,tq.jsx)(r9.I,{value:(e=>{switch(e){case"data-object":return"data-object";case"document":return"document";case"asset":return"asset";default:return"file-05"}})(n)})})})}}),a.accessor("path",{header:e("search-replace-assignments.columns.path"),size:400,meta:{autoWidth:!0,type:"element",config:{getElementInfo:e=>({id:e.row.original.id,fullPath:e.row.original.path})}}})];return(0,tq.jsx)(ni.Box,{margin:{x:"small",bottom:"small"},children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:l,data:t,enableMultipleRowSelection:!0,enableRowSelection:!0,isLoading:i,onSelectedRowsChange:r,resizable:!0,selectedRows:n})})},MZ=()=>((0,tG.useEffect)(()=>()=>{console.log("SearchReplaceAssignmentsContainer unmounting")},[]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(MQ,{}),renderTopBar:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(MU,{}),(0,tq.jsx)(ni.Box,{margin:{bottom:"small"},children:(0,tq.jsx)(ni.Divider,{size:"none",theme:"secondary"})})]}),children:(0,tq.jsx)(uE.U,{children:(0,tq.jsx)(MJ,{})})})),MY=()=>(0,tq.jsx)(Mq,{children:(0,tq.jsx)(MZ,{})});var MX=i(69676);let M0={name:"Search & Replace Assignments",id:"search-replace-assignments",component:"search-replace-assignments",config:{translationKey:"widget.search-replace-assignments",icon:{type:"name",value:"search"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/Search & Replace Assignments",label:"navigation.search-replace-assignments",className:"item-style-modifier",order:700,hidden:()=>!(0,MX.isAllowed)(pw.F.Assets)&&!(0,MX.isAllowed)(pw.F.Documents)&&!(0,MX.isAllowed)(pw.F.Objects),perspectivePermission:pk.d.SearchReplaceAssignments,widgetConfig:M0}),tc.kL.get(td.K.widgetManager).registerWidget({name:"search-replace-assignments",component:MY})}});var M1=i(10716),M2=i(86218),M3=i(81194),M6=i(20607),M4=i(78254);let M5=()=>{let{t:e}=(0,iv.useTranslation)();return{createFallbackRootNode:(t,i)=>{let n=(e=>{if("document"===e)return{list:!1,view:!1,publish:!1,unpublish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1,save:!1};if("asset"===e)return{list:!1,view:!1,publish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1};if("data-object"===e)return{list:!1,view:!1,publish:!1,unpublish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1,save:!1,localizedEdit:null,localizedView:null};throw Error(`Unsupported element type: ${String(e)}`)})(i),r=(e=>{if("document"===e)return"document";if("asset"===e)return"asset";if("data-object"===e)return"dataObject";throw Error(`Unsupported element type: ${String(e)}`)})(i);return{nodes:[{id:String(t),internalKey:String(t),label:1===t?"home":e("home"),icon:{type:"name",value:"home-root-folder"},type:"folder",hasChildren:!1,parentId:void 0,fullPath:"/",elementType:i,permissions:n,locked:null,isLocked:!1,metaData:{[r]:void 0}}],total:1}}}},M7=()=>{let{pageSize:e,treeFilterArgs:t}=(0,M4._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=M5();async function r(t,n){let r=i(Da.FH.endpoints.dataObjectGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,M6.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"data-object"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var M8=i(79563);let M9=()=>{let{pageSize:e,treeFilterArgs:t}=(0,M4._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=M5();async function r(t,n){let r=i(kc.api.endpoints.assetGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,M8.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"asset"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var Le=i(92472);let Lt=()=>{let{pageSize:e,treeFilterArgs:t}=(0,M4._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=M5();async function r(t,n){let r=i(od.FH.endpoints.documentGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,Le.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"document"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var Li=i(54604);let Ln=e=>{let{id:t,elementType:i,rootFolder:n,classes:r,pql:a,pageSize:l,contextPermissions:o,showRoot:s=!1}=e,{asset_tree_paging_limit:d,object_tree_paging_limit:c}=(0,p3.t)(),f=l??(i===sE.W.asset?d:c);return(0,tq.jsx)(M3.b,{treeId:t,children:(0,tq.jsx)(M2.P,{permissions:{...o},children:(0,tq.jsxs)(M1.S,{classIds:r,pageSize:f,pqlQuery:(0,a3.uI)(a)?a:void 0,children:[i===sE.W.asset&&(0,tq.jsx)(Li.X,{nodeApiHook:M9,children:(0,tq.jsx)(CZ,{id:(null==n?void 0:n.id)??1,showRoot:s})}),i===sE.W.dataObject&&(0,tq.jsx)(Li.X,{nodeApiHook:M7,children:(0,tq.jsx)(Iu,{id:(null==n?void 0:n.id)??1,showRoot:s})}),i===sE.W.document&&(0,tq.jsx)(Li.X,{nodeApiHook:Lt,children:(0,tq.jsx)(Mt,{id:(null==n?void 0:n.id)??1,showRoot:s})})]})})})};var Lr=i(41045),La=i(18453),Ll=i(31325);let Lo=new class{supports(e){return["asset-editor","document-editor","data-object-editor"].includes(e.component)}cleanConfig(e){return{...e,config:{id:e.config.id,elementType:e.config.elementType}}}async restore(e,t){let{id:i}=e.config;if(!(0,tI.isNil)(i)){let n=await this.getWidgetConfig(e.component,Number(i));if(!(0,tI.isNil)(n))return t((0,yd.WK)(n)),!0}return!1}async getWidgetConfig(e,t){return"asset-editor"===e?await Lr.c.getWidgetConfig(t,!0):"document-editor"===e?await La.J.getWidgetConfig(t,!0):"data-object-editor"===e?await Ll.j.getWidgetConfig(t,!0):void 0}};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager);tc.kL.get(td.K.widgetRestorerRegistry).register(Lo),e.registerWidget({name:"element_tree",component:Ln,transformConfig:e=>({...e,translationKey:e.name}),isVisible:e=>{if((0,tI.has)(e,"elementType"))switch(e.elementType){case"document":return(0,yc.J)(pw.F.Documents);case"asset":return(0,yc.J)(pw.F.Assets);case"data-object":return(0,yc.J)(pw.F.Objects)}return!0}})}});var Ls=i(29247);ts.s.registerModule({onInit(){tc.kL.get(td.K["ExecutionEngine/JobComponentRegistry"]).registerComponent("default-message-bus",Ls.y)}}),ts.s.registerModule({onInit(){let e=tc.kL.get(td.K["DynamicTypes/FieldFilterRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/DataObjectAdapter"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/DataObjectObjectBrick"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/String"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/None"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Id"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Number"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Multiselect"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Date"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Boolean"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/BooleanSelect"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Consent"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/ClassificationStore"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/InputQuantityValue"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/QuantityValue"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Color"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Datetime"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Time"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Relation"]));let t=tc.kL.get(td.K["DynamicTypes/BatchEditRegistry"]);t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Text"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/TextArea"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Datetime"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Select"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Checkbox"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/ElementDropzone"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/ClassificationStore"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/DataObjectAdapter"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/DataObjectObjectBrick"])),tc.kL.get(td.K["DynamicTypes/ListingRegistry"]).registerDynamicType(tc.kL.get(td.K["DynamicTypes/Listing/AssetLink"]));let i=tc.kL.get(td.K["DynamicTypes/GridCellRegistry"]);i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Text"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/String"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Textarea"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Number"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Select"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/MultiSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Boolean"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Checkbox"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Date"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Time"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DateTime"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ObjectLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DocumentLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/OpenElement"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetPreview"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetActions"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectActions"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DependencyTypeIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ElementSubtypeIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetCustomMetadataIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetCustomMetadataValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/PropertyIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/PropertyValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/WebsiteSettingsValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ScheduleActionsSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/VersionsIdSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetVersionPreviewFieldLabel"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Asset"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Object"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Document"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Element"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/LanguageSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Translate"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectAdapter"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ClassificationStore"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectAdvanced"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectObjectBrick"]));let n=tc.kL.get(td.K["DynamicTypes/AdvancedGridCellRegistry"]);n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/String"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Integer"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Error"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Array"]));let r=tc.kL.get(td.K["DynamicTypes/MetadataRegistry"]);r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Asset"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Checkbox"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Date"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Document"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Input"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Object"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Select"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Textarea"]));let a=tc.kL.get(td.K["DynamicTypes/ObjectLayoutRegistry"]);a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Panel"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Tabpanel"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Accordion"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Region"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Text"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Fieldset"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/FieldContainer"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Iframe"]));let l=tc.kL.get(td.K["DynamicTypes/ObjectDataRegistry"]);l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Input"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Textarea"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Wysiwyg"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Password"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/InputQuantityValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Select"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/MultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Language"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/LanguageMultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Country"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/CountryMultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/User"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/BooleanSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Numeric"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/NumericRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Slider"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/QuantityValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/QuantityValueRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Consent"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Firstname"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Lastname"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Email"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Gender"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/RgbaColor"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/EncryptedField"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/CalculatedValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Checkbox"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Link"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/UrlSlug"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Date"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Datetime"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/DateRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Time"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ExternalImage"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Image"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Video"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/HotspotImage"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ImageGallery"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPoint"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoBounds"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPolygon"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPolyLine"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToOneRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToManyRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToManyObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/AdvancedManyToManyObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/AdvancedManyToManyRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ReverseObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Table"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/StructuredTable"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Block"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/LocalizedFields"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/FieldCollection"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ObjectBrick"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ClassificationStore"]));let o=tc.kL.get(td.K["DynamicTypes/DocumentEditableRegistry"]);o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Block"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/ScheduledBlock"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Checkbox"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Date"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Embed"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Input"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Link"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Numeric"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Relation"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Relations"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Renderlet"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Select"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Snippet"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Table"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Textarea"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Wysiwyg"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/MultiSelect"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Image"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Pdf"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Video"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Area"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Areablock"]));let s=tc.kL.get(td.K["DynamicTypes/EditableDialogLayoutRegistry"]);s.registerDynamicType(tc.kL.get(td.K["DynamicTypes/EditableDialogLayout/Tabpanel"])),s.registerDynamicType(tc.kL.get(td.K["DynamicTypes/EditableDialogLayout/Panel"]));let d=tc.kL.get(td.K["DynamicTypes/AssetRegistry"]);d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Archive"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Audio"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Document"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Folder"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Image"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Text"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Unknown"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Video"]));let c=tc.kL.get(td.K["DynamicTypes/DocumentRegistry"]);c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Email"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Folder"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Hardlink"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Link"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Newsletter"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Snippet"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Page"]));let f=tc.kL.get(td.K["DynamicTypes/ObjectRegistry"]);f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Folder"])),f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Object"])),f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Variant"]));let u=tc.kL.get(td.K["DynamicTypes/Grid/SourceFieldsRegistry"]);u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/Text"])),u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/SimpleField"])),u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/RelationField"]));let m=tc.kL.get(td.K["DynamicTypes/Grid/TransformersRegistry"]);m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/BooleanFormatter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/DateFormatter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/ElementCounter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/TwigOperator"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Anonymizer"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Blur"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/ChangeCase"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Combine"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Explode"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/StringReplace"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Substring"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Trim"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Translate"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/PHPCode"]))}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DynamicTypes/ThemeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Theme/StudioDefaultLight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Theme/StudioDefaultDark"]))}});let Ld=(0,iR.createStyles)(e=>{let{css:t,token:i}=e,n=t`
+ `}},{hashPriority:"low"}),MD=e=>{let{workflow:t}=e,[i,n]=(0,tG.useState)([]),{t:r}=(0,iQ.useTranslation)(),a=T9(t),{triggerAction:l,submissionLoading:o}=Sn();return(0,tG.useEffect)(()=>{let e;e=[],a.forEach(t=>{e.push({key:t.actionType+"-"+t.transitionId,label:r(t.label),onClick:()=>{l(t)}})}),n(e)},[]),(0,tq.jsx)(pu.m,{menu:{items:i},placement:"bottom",children:o?(0,tq.jsx)(az.$,{loading:!0,type:"link"}):(0,tq.jsx)(az.$,{children:r("component.workflow-card.action-btn")})})},MI=e=>{var t;let{workflow:i}=e,{styles:n}=MC();return(0,tq.jsx)(f_.Z,{className:n.workflowCard,extra:(0,tq.jsx)(MD,{workflow:i}),title:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)("p",{children:i.workflowName}),void 0!==i.workflowStatus&&(null==(t=i.workflowStatus)?void 0:t.length)>0&&i.workflowStatus.map((e,t)=>(0,tq.jsx)(ig.Tag,{className:e.colorInverted?"color-inverted":"",icon:(0,tq.jsx)(ig.Badge,{color:e.color,styles:e.colorInverted?{indicator:{outline:`1px solid ${e.color}4D`}}:{}}),style:e.colorInverted?{backgroundColor:`${e.color}33`}:{},title:e.title,children:e.label},`${t}-${e.title}`))]}),children:void 0!==i.graph&&(0,tq.jsx)("img",{alt:"workflow",src:`data:image/svg+xml;utf8,${encodeURIComponent(i.graph)}`})})},MM=()=>{let{t:e}=(0,iQ.useTranslation)(),{workflowDetailsData:t,isFetchingWorkflowDetails:i}=(0,Si.j)();return(0,tq.jsxs)(uE.U,{loading:i,none:(null==t?void 0:t.items)===void 0||(null==t?void 0:t.items.length)===0,noneOptions:{text:e("workflow.no-workflows-found")},padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("workflow.headline")}),(0,tq.jsx)(ig.Space,{direction:"vertical",children:(0,tq.jsxs)(Sp.F,{children:[(null==t?void 0:t.items)!==void 0&&(null==t?void 0:t.items.length)>0&&t.items.map((e,t)=>(0,tq.jsx)(MI,{workflow:e},t)),(0,tq.jsx)(Sg.x,{})]})})]})},ML=e=>{var t;let{elementType:i,...n}=e,{t:r}=(0,iQ.useTranslation)(),{isLoading:a,data:l}=pG({elementType:i});if(a)return(0,tq.jsx)(uE.U,{loading:!0});let o=null==l||null==(t=l.items)?void 0:t.map(e=>({value:e.id,label:e.id}));return(0,tq.jsxs)(tJ.lV,{layout:"vertical",...n,children:[(0,tq.jsx)(tJ.lV.Item,{label:r("type"),name:"type",children:(0,tq.jsx)(t8.l,{options:o,placeholder:r("select")})}),(0,tq.jsx)(tJ.lV.Item,{label:r("title"),name:"title",rules:[{required:!0,message:r("form.validation.required")}],children:(0,tq.jsx)(ig.Input,{})}),(0,tq.jsx)(tJ.lV.Item,{label:r("description"),name:"description",children:(0,tq.jsx)(n4.f,{autoSize:{minRows:3}})})]})},MF=e=>{let{...t}=e,{t:i}=(0,iQ.useTranslation)(),[n]=ni.Form.useForm(),[r,{isLoading:a}]=pW();async function l(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";await r({elementType:t.elementType,id:t.elementId,createNote:{type:i,title:e,description:n}})}async function o(e){await l(e.title,e.type,e.description),t.refetchNotes(),t.setOpen(!1),n.resetFields()}return(0,tq.jsx)(ig.Modal,{okButtonProps:{loading:a},okText:i("save"),onCancel:()=>{t.setOpen(!1),n.resetFields()},onOk:()=>{n.submit()},open:t.open,title:(0,tq.jsx)(p8.w,{iconName:"new",children:i("notes-and-events.new-note")}),children:(0,tq.jsx)(ML,{elementType:t.elementType,form:n,onFinish:o})})};var ME=i(40926);let MP=e=>{let{notes:t,pagination:i,onClickTrash:n,elementId:r,elementType:a,deleteLoading:l,refetchNotes:o}=e,{t:s}=(0,iQ.useTranslation)(),[d,c]=(0,tG.useState)(!1),f=t.map(e=>{let t;return{key:e.id.toString(),label:(0,tq.jsxs)(oI.B,{dividerSize:"small",size:"extra-small",theme:"secondary",children:[""!==e.title&&(0,tq.jsx)(tq.Fragment,{children:(0,tq.jsx)(n5.E,{strong:!0,children:e.title})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e.userName})]}),extra:(t=e.type??void 0,(0,tq.jsxs)(a$.$,{align:"center",size:"extra-small",children:[void 0!==t&&(0,tq.jsx)(ig.Tag,{children:t}),(0,tq.jsx)("span",{children:(0,pP.r6)({timestamp:e.date,dateStyle:"short",timeStyle:"medium"})}),!e.locked&&(0,tq.jsx)(lp.K,{"aria-label":i4().t("aria.notes-and-events.delete"),icon:{value:"trash"},loading:l,onClick:t=>{t.stopPropagation(),n(e.id)},theme:"primary"})]})),children:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ME.f,{children:(0,pD.SN)(e.description)}),e.data.length>0&&(0,tq.jsx)(pE,{note:e})]}),...0===e.description.length&&{disabled:!0}}});return(0,tq.jsx)(pl.s,{renderToolbar:0!==t.length?(0,tq.jsx)(pc.M,{justify:"flex-end",theme:"secondary",children:(0,tq.jsx)(tq.Fragment,{children:i})}):void 0,children:(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsxs)(kR.Y,{className:"p-l-mini",title:s("notes-and-events.notes-and-events"),children:[(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{c(!0)},children:s("new")}),(0,tq.jsx)(MF,{elementId:r,elementType:a,open:d,refetchNotes:o,setOpen:c})]}),(0,tq.jsx)(uE.U,{none:0===t.length,noneOptions:{text:s("notes-and-events.no-notes-and-events-to-show")},children:(0,tq.jsx)(ac.SD,{accordion:!1,items:f})})]})})},MA=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),[o,{error:s,isLoading:d}]=p$(),{isLoading:c,data:f,error:u,refetch:m}=pq({id:t,elementType:i,page:n,pageSize:a});async function p(e){await o({id:e}),await m()}return((0,tI.isUndefined)(u)||(0,iX.Ay)(new iX.hD(u)),(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s)),c)?(0,tq.jsx)(uE.U,{loading:!0}):(0,tq.jsx)(MP,{deleteLoading:d,elementId:t,elementType:i,notes:f.items,onClickTrash:p,pagination:(0,tq.jsx)(po.d,{current:n,onChange:(e,t)=>{r(e),l(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:f.totalItems}),refetchNotes:m})};var MN=i(6387);let MR=()=>{let e=(0,iv.useAppDispatch)();return{updateTagsForElementByTypeAndId:t=>e(MN.FH.util.updateQueryData("tagGetCollectionForElementByTypeAndId",{elementType:t.elementType,id:t.id},e=>{let i=t.flatTags.filter(e=>t.checkedTags.includes(e.id));return{totalItems:t.checkedTags.length,items:i}})),removeTagFromElement:t=>e(MN.FH.util.updateQueryData("tagGetCollectionForElementByTypeAndId",{elementType:t.elementType,id:t.id},e=>{e.items=e.items.filter(e=>e.id!==t.tagId),e.totalItems=e.items.length}))}},MV=e=>{let{tags:t,isLoading:i}=e,{t:n}=(0,iQ.useTranslation)(),{id:r,elementType:a}=(0,iZ.J)(),{removeTagFromElement:l}=MR(),[o]=(0,gZ.vX)(),s=async e=>{let t=l({elementType:a,id:r,tagId:e});try{await o({elementType:a,id:r,tagId:e})}catch{t.undo(),(0,iX.Ay)(new iX.$g("Failed to unassign tag from element"))}},d=(0,cH.createColumnHelper)(),c=[d.accessor("path",{header:n("tags.columns.path"),meta:{type:"text"},minSize:600,sortDescFirst:!1}),d.accessor("actions",{header:n("tags.columns.actions"),enableSorting:!1,cell:e=>(0,tq.jsx)(ig.Flex,{align:"center",className:"w-full h-full",justify:"center",children:(0,tq.jsx)(lp.K,{"aria-label":n("tags.actions.delete"),icon:{value:"trash"},onClick:async()=>{await s(e.row.original.id)},type:"link"})}),size:60})];return(0,tq.jsx)(ul.x,{columns:c,data:Object.values(t),enableSorting:!0,isLoading:i,sorting:[{id:"path",desc:!1}]})},Mz=e=>{let t,i,{elementId:n,elementType:r,tags:a,filter:l,setFilter:o,isLoading:s,defaultCheckedTags:d,setDefaultCheckedTags:c}=e,{t:f}=(0,iQ.useTranslation)(),u=(t=[],(i=e=>{for(let n of e)t.push(n),void 0!==n.children&&i(n.children)})(a),t).filter(e=>void 0!==e.id),[m,p]=tU().useState([0,...d]),{handleCheck:g,loadingNodes:h}=(e=>{let{elementId:t,elementType:i,flatTags:n,setDefaultCheckedTags:r}=e,a=(0,uI.J)(),{updateTagsForElementByTypeAndId:l}=MR(),[o]=(0,gZ.zC)(),[s]=(0,gZ.vX)(),[d,c]=(0,tG.useState)(new Set),f=async(e,n)=>{var r,a;if(0===e)return;let l=await (n?o:s)({elementType:i,id:t,tagId:e});if((null==(a=l.error)||null==(r=a.data)?void 0:r.error)!=null&&""!==l.error.data.error)throw Error(l.error.data.error);if(null!=l.error)throw Error(n?"Failed to assign tag to element":"Failed to unassign tag from element")},u=async e=>{l({elementType:i,id:t,flatTags:n,checkedTags:e.map(Number)}),r(e)};return{handleCheck:async(e,t)=>{let i=Number(t.node.key);c(e=>new Set(e).add(String(i))),u(e.checked);try{await f(i,t.checked)}catch{let n=t.checked?(0,i6.t)("failed-to-assign-tag-to-element"):(0,i6.t)("failed-to-un-assign-tag-to-element");a.error({content:n,type:"error",duration:5}),u(t.checked?e.checked.filter(e=>e!==String(i)):[...e.checked,String(i)])}finally{c(e=>{let t=new Set(e);return t.delete(String(i)),t})}},loadingNodes:d}})({elementId:n,elementType:r,flatTags:u,setDefaultCheckedTags:c}),y=(0,gJ.M)({tags:a,loadingNodes:h});return(0,tG.useEffect)(()=>{let e,t;!(0,tI.isNil)(l)&&l.length>0&&p([0,...(e=[],(t=i=>{for(let n of i)void 0!==n.key&&e.push(String(n.key)),(0,tI.isNull)(n.children)||t(n.children)})(y),e)])},[l]),(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ps.D,{loading:s,onSearch:o,placeholder:f("search")}),(0,tq.jsx)(gQ.l,{checkStrictly:!0,checkedKeys:{checked:d,halfChecked:[]},defaultExpandedKeys:m,onCheck:g,treeData:y,withCustomSwitcherIcon:!0})]})},MB=e=>{let[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)(e.tags.map(e=>e.id.toString())),{id:a,elementType:l}=(0,iZ.J)();(0,tG.useEffect)(()=>{r(e.tags.map(e=>e.id.toString()))},[e.tags]);let{data:o,isLoading:s}=(0,MN.uQ)({page:1,pageSize:9999,filter:t});return s||e.isLoading?(0,tq.jsx)(uE.U,{loading:!0}):(null==o?void 0:o.items)===void 0?(0,tq.jsx)("div",{children:"Failed to load tags"}):(0,tq.jsx)(Mz,{defaultCheckedTags:n,elementId:a,elementType:l,filter:t,isLoading:s,setDefaultCheckedTags:r,setFilter:i,tags:o.items})};class MO{async run(e){let{messageBus:t}=e;try{let e=await this.executeRequest();if((0,tI.isNil)(e))return;let i=new SU.j({jobRunId:e,title:this.title});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async executeRequest(){var e;let t=await uk.M_.dispatch(gZ.FH.endpoints.tagBatchOperationToElementsByTypeAndId.initiate({elementType:this.elementType,id:this.elementId,operation:this.operation}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}async handleJobFailure(e){console.error("Tag assign job failed:",e)}constructor(e){this.elementType=e.elementType,this.elementId=e.elementId,this.operation=e.operation,this.title=e.title}}let MK=()=>{let{t:e}=(0,iQ.useTranslation)(),{id:t,elementType:i}=(0,iZ.J)(),{element:n}=(0,Sl.D)(t,i),{applyTagsToChildren:r,removeAndApplyTagsToChildren:a}=(()=>{let{id:e,elementType:t}=(0,iZ.J)(),i=tc.kL.get(td.K.executionEngine),{t:n}=(0,iQ.useTranslation)();return{removeAndApplyTagsToChildren:async()=>{let r=new MO({elementType:t,elementId:e,operation:"replace",title:n("tags.remove-and-apply-tags-to-children")});await i.runJob(r)},applyTagsToChildren:async()=>{let r=new MO({elementType:t,elementId:e,operation:"assign",title:n("tags.apply-tags-to-children")});await i.runJob(r)}}})(),{data:l,isLoading:o}=(0,gZ.ET)({elementType:i,id:t});return(0,tq.jsx)(ht.n,{leftItem:{minSize:315,size:25,children:(0,tq.jsx)(uE.U,{loading:o,padded:!0,children:(0,tq.jsx)(MB,{isLoading:o,tags:(null==l?void 0:l.items)??[]})})},resizeAble:!0,rightItem:{minSize:300,size:75,children:(0,tq.jsxs)(uE.U,{padded:!0,children:[(0,tq.jsx)(kR.Y,{className:"p-l-mini",title:e("tags.assigned-tags-text"),children:(null==l?void 0:l.totalItems)===0?(0,tq.jsx)(az.$,{onClick:a,children:e("tags.remove-and-apply-tags-to-children")}):(0,tq.jsx)(ig.Dropdown.Button,{disabled:(null==n?void 0:n.hasChildren)!==!0,menu:{items:[{label:e("tags.remove-and-apply-tags-to-children"),key:"1",onClick:a}]},onClick:r,children:e("tags.apply-tags-to-children")})}),(0,tq.jsx)("div",{className:"pimcore-tags-content",children:(0,tq.jsx)(MV,{isLoading:o,tags:(null==l?void 0:l.items)??[]})})]})},withDivider:!0})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"detachable-tab",component:Mp});let e=tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]);e.register({name:tu.eb.element.editor.tab.properties.name,component:IV}),e.register({name:tu.eb.element.editor.tab.schedule.name,component:My}),e.register({name:tu.eb.element.editor.tab.dependencies.name,component:MS}),e.register({name:tu.eb.element.editor.tab.workflow.name,component:MM}),e.register({name:tu.eb.element.editor.tab.notesAndEvents.name,component:MA}),e.register({name:tu.eb.element.editor.tab.tags.name,component:MK})}});var M_=i(98053);let MH=pR.api.enhanceEndpoints({addTagTypes:["Elements"]}).injectEndpoints({endpoints:e=>({elementGetUsage:e.query({query:e=>({url:`/pimcore-studio/api/elements/usage/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,sortOrder:e.sortOrder,sortBy:e.sortBy}}),providesTags:["Elements"]}),elementUsageReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/usage/replace/${e.elementType}/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Elements"]})}),overrideExisting:!1}),{useElementGetUsageQuery:M$,useElementUsageReplaceMutation:MW}=MH,Mq=MH.enhanceEndpoints({endpoints:{elementUsageReplace:{invalidatesTags:[]}}}),{useLazyElementGetUsageQuery:MG,useElementUsageReplaceMutation:MU}=Mq;class MQ{async run(e){let{messageBus:t}=e;try{let e=await this.executeReplaceRequest();if((0,tI.isNil)(e))return void await this.handleCompletion();let i=new SU.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,iX.Ay)(new iX.$g(e.message))}}async executeReplaceRequest(){var e;let t=await uk.M_.dispatch(Mq.endpoints.elementUsageReplace.initiate({elementType:this.sourceElementType,id:this.sourceElementId,body:{targetType:this.targetElementType,targetId:this.targetElementId,elements:this.elements??[]}}));return(0,tI.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,iX.Ay)(new iX.hD(t.error)),null)}async handleCompletion(){var e;null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Search replace assignments job failed:",e)}constructor(e){this.sourceElementType=e.sourceElementType,this.sourceElementId=e.sourceElementId,this.targetElementType=e.targetElementType,this.targetElementId=e.targetElementId,this.elements=e.elements,this.title=e.title,this.onFinish=e.onFinish}}let MJ=(0,tG.createContext)(void 0),MZ=e=>{let{children:t}=e,{t:i}=(0,iQ.useTranslation)(),[n,r]=(0,tG.useState)(null),[a,l]=(0,tG.useState)(null),[o,s]=(0,tG.useState)(1),[d,c]=(0,tG.useState)(50),[f,u]=(0,tG.useState)({}),m=tc.kL.get(td.K.executionEngine),[p,{data:g,isFetching:h,isLoading:y}]=Mq.useLazyElementGetUsageQuery();(0,tG.useEffect)(()=>{null!==n&&p({id:n.id,elementType:n.type,page:o,pageSize:d,sortBy:"id",sortOrder:"ASC"})},[o,d,p]);let v=(null==g?void 0:g.totalCount)??0,b=(null==g?void 0:g.data)??[],x=(null==g?void 0:g.hasHidden)??!1,j=e=>{r(e)},w=e=>{l(e)},k=()=>{null!==n&&(s(1),u({}),p({id:n.id,elementType:n.type,page:1,pageSize:d,sortBy:"id",sortOrder:"ASC"}))},T=(e,t)=>{s(e),c(t)},S=async()=>{if(null!==n&&null!==a)try{let e=new MQ({sourceElementType:n.type,sourceElementId:n.id,targetElementType:a.type,targetElementId:a.id,title:i("search-replace-assignments.job.title-all"),onFinish:()=>{D(),u({})}});await m.runJob(e)}catch(e){console.error("Failed to apply replacement to all items",e)}},C=async()=>{if(null!==n&&null!==a)try{let e=Object.keys(f).map(Number).map(e=>{let t=b[e];return{id:t.id,type:"data-object"===t.type?"object":t.type}}),t=new MQ({sourceElementType:n.type,sourceElementId:n.id,targetElementType:a.type,targetElementId:a.id,elements:e,title:i("search-replace-assignments.job.title-selection",{count:e.length}),onFinish:()=>{D(),u({})}});await m.runJob(t)}catch(e){console.error("Failed to apply replacement to all items",e)}},D=()=>{null!==n&&p({id:n.id,elementType:n.type,page:o,pageSize:d,sortBy:"id",sortOrder:"ASC"})},I=()=>{u({})},M=null!==n&&null!==a,L=Object.keys(f).length,F=L>0,E=(0,tG.useMemo)(()=>({searchFor:n,replaceWith:a,currentPage:o,pageSize:d,selectedRows:f,defaultPageSize:50,totalItems:v,usageItems:b,isFetching:h,isLoading:y,isFormValid:M,selectedRowsCount:L,hasSelection:F,hasHidden:x,handleSearchForChange:j,handleReplaceWithChange:w,handleSearch:k,handlePageChange:T,handleApplyToAll:S,handleApplyToSelection:C,handleRefresh:D,handleClearSelection:I,setSelectedRows:u}),[n,a,o,d,f,v,b,h,y,M,L,F,x]);return(0,tq.jsx)(MJ.Provider,{value:E,children:t})},MY=()=>{let e=(0,tG.useContext)(MJ);if(void 0===e)throw Error("useSearchReplaceAssignments must be used within a SearchReplaceAssignmentsProvider");return e},MX=()=>{let{searchFor:e,replaceWith:t,handleSearchForChange:i,handleReplaceWithChange:n,handleSearch:r,handleApplyToAll:a,isFormValid:l,hasHidden:o}=MY(),[s]=ig.Form.useForm();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.search-replace-assignments")})}),(0,tq.jsx)(uE.U,{children:(0,tq.jsxs)(ni.Box,{margin:{x:"small",bottom:"small"},children:[(0,tq.jsxs)(ig.Form,{colon:!1,form:s,labelAlign:"left",labelCol:{style:{width:"150px"}},layout:"horizontal",style:{marginBottom:0},children:[(0,tq.jsx)(ig.Form.Item,{label:(0,tq.jsx)(pd.h,{children:(0,i6.t)("search-replace-assignments.search-for")}),name:"searchFor",children:(0,tq.jsxs)(ap.s,{gap:"extra-small",children:[(0,tq.jsx)("div",{style:{width:"600px"},children:(0,tq.jsx)(M_.h,{assetsAllowed:!0,dataObjectsAllowed:!0,documentsAllowed:!0,enableSearch:!0,onChange:i,value:e})}),(0,tq.jsx)(az.$,{disabled:null===e,onClick:r,type:"default",children:(0,i6.t)("search-replace-assignments.search")})]})}),(0,tq.jsx)(ig.Form.Item,{label:(0,tq.jsx)(pd.h,{children:(0,i6.t)("search-replace-assignments.replace-with")}),name:"replaceWith",style:{marginBottom:0},children:(0,tq.jsxs)(ap.s,{gap:"extra-small",children:[(0,tq.jsx)("div",{style:{width:"600px"},children:(0,tq.jsx)(M_.h,{assetsAllowed:!0,dataObjectsAllowed:!0,documentsAllowed:!0,enableSearch:!0,onChange:n,value:t})}),(0,tq.jsx)(ig.Popconfirm,{cancelText:(0,i6.t)("cancel"),description:(0,i6.t)("search-replace-assignments.confirm.description"),okText:(0,i6.t)("button.confirm"),onConfirm:a,overlayStyle:{maxWidth:"350px"},title:(0,i6.t)("search-replace-assignments.confirm.title"),children:(0,tq.jsx)(az.$,{disabled:!l,type:"primary",children:(0,i6.t)("search-replace-assignments.apply-to-all")})})]})})]}),o&&(0,tq.jsx)(ni.Box,{margin:{top:"small"},children:(0,tq.jsx)(kY.F,{banner:!0,message:(0,i6.t)("hidden-dependencies-warning"),type:"warning"})})]})})]})},M0=()=>{let{hasSelection:e,selectedRowsCount:t,handleClearSelection:i,handleApplyToSelection:n,handleRefresh:r,currentPage:a,handlePageChange:l,totalItems:o,defaultPageSize:s,isFormValid:d,isFetching:c,isLoading:f}=MY();return(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[e&&(0,tq.jsxs)(ap.s,{align:"center",gap:"small",children:[(0,tq.jsx)(tQ.S,{checked:!0,onClick:e=>{e.stopPropagation(),i()},children:(0,i6.t)("listing.selection.total",{total:t})}),(0,tq.jsx)(ig.Popconfirm,{cancelText:(0,i6.t)("cancel"),description:(0,i6.t)("search-replace-assignments.confirm.description"),okText:(0,i6.t)("button.confirm"),onConfirm:n,overlayStyle:{maxWidth:"350px"},title:(0,i6.t)("search-replace-assignments.confirm.title"),children:(0,tq.jsx)(az.$,{disabled:!d,type:"primary",children:(0,i6.t)("search-replace-assignments.apply-to-selection")})})]}),!e&&(0,tq.jsx)("div",{}),(0,tq.jsxs)(oI.B,{size:"extra-small",children:[(0,tq.jsx)(lp.K,{disabled:c||f,icon:{value:"refresh"},onClick:r}),(0,tq.jsx)(po.d,{current:a,defaultPageSize:s,onChange:l,showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:o})]})]})},M1=()=>{let{t:e}=(0,iQ.useTranslation)(),{usageItems:t,isFetching:i,selectedRows:n,setSelectedRows:r}=MY(),a=(0,cH.createColumnHelper)(),l=[a.accessor("id",{header:e("search-replace-assignments.columns.id"),size:150}),a.accessor("type",{header:e("search-replace-assignments.columns.type"),size:70,cell:t=>{let{row:i}=t,n=i.original.type;return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.Tooltip,{title:e(n),children:(0,tq.jsx)(r9.I,{value:(e=>{switch(e){case"data-object":return"data-object";case"document":return"document";case"asset":return"asset";default:return"file-05"}})(n)})})})}}),a.accessor("path",{header:e("search-replace-assignments.columns.path"),size:400,meta:{autoWidth:!0,type:"element",config:{getElementInfo:e=>({id:e.row.original.id,fullPath:e.row.original.path})}}})];return(0,tq.jsx)(ni.Box,{margin:{x:"small",bottom:"small"},children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:l,data:t,enableMultipleRowSelection:!0,enableRowSelection:!0,isLoading:i,onSelectedRowsChange:r,resizable:!0,selectedRows:n})})},M2=()=>((0,tG.useEffect)(()=>()=>{console.log("SearchReplaceAssignmentsContainer unmounting")},[]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(M0,{}),renderTopBar:(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(MX,{}),(0,tq.jsx)(ni.Box,{margin:{bottom:"small"},children:(0,tq.jsx)(ni.Divider,{size:"none",theme:"secondary"})})]}),children:(0,tq.jsx)(uE.U,{children:(0,tq.jsx)(M1,{})})})),M3=()=>(0,tq.jsx)(MZ,{children:(0,tq.jsx)(M2,{})});var M6=i(69676);let M4={name:"Search & Replace Assignments",id:"search-replace-assignments",component:"search-replace-assignments",config:{translationKey:"widget.search-replace-assignments",icon:{type:"name",value:"search"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/Search & Replace Assignments",label:"navigation.search-replace-assignments",className:"item-style-modifier",order:700,hidden:()=>!(0,M6.isAllowed)(pw.F.Assets)&&!(0,M6.isAllowed)(pw.F.Documents)&&!(0,M6.isAllowed)(pw.F.Objects),perspectivePermission:pk.d.SearchReplaceAssignments,widgetConfig:M4}),tc.kL.get(td.K.widgetManager).registerWidget({name:"search-replace-assignments",component:M3})}});var M5=i(10716),M7=i(86218),M8=i(81194),M9=i(20607),Le=i(78254);let Lt=()=>{let{t:e}=(0,iv.useTranslation)();return{createFallbackRootNode:(t,i)=>{let n=(e=>{if("document"===e)return{list:!1,view:!1,publish:!1,unpublish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1,save:!1};if("asset"===e)return{list:!1,view:!1,publish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1};if("data-object"===e)return{list:!1,view:!1,publish:!1,unpublish:!1,delete:!1,rename:!1,create:!1,settings:!1,versions:!1,properties:!1,save:!1,localizedEdit:null,localizedView:null};throw Error(`Unsupported element type: ${String(e)}`)})(i),r=(e=>{if("document"===e)return"document";if("asset"===e)return"asset";if("data-object"===e)return"dataObject";throw Error(`Unsupported element type: ${String(e)}`)})(i);return{nodes:[{id:String(t),internalKey:String(t),label:1===t?"home":e("home"),icon:{type:"name",value:"home-root-folder"},type:"folder",hasChildren:!1,parentId:void 0,fullPath:"/",elementType:i,permissions:n,locked:null,isLocked:!1,metaData:{[r]:void 0}}],total:1}}}},Li=()=>{let{pageSize:e,treeFilterArgs:t}=(0,Le._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=Lt();async function r(t,n){let r=i(Dc.FH.endpoints.dataObjectGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,M9.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"data-object"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var Ln=i(79563);let Lr=()=>{let{pageSize:e,treeFilterArgs:t}=(0,Le._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=Lt();async function r(t,n){let r=i(kc.api.endpoints.assetGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,Ln.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"asset"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var La=i(92472);let Ll=()=>{let{pageSize:e,treeFilterArgs:t}=(0,Le._)(),i=(0,iv.useAppDispatch)(),{createFallbackRootNode:n}=Lt();async function r(t,n){let r=i(od.FH.endpoints.documentGetTree.initiate(n,{forceRefetch:!0}));return await r.then(i=>{let{data:n,isError:r,error:a}=i;return r?void(0,iX.Ay)(new iX.hD(a)):r||(0,tI.isUndefined)(n)?void 0:(0,La.Z)(t,n,e)}).catch(()=>void 0)}return{fetchRoot:async function(e){let t=await r({id:"0",internalKey:"0"},{pageSize:1,page:1,excludeFolders:!1,pathIncludeParent:!0,pathIncludeDescendants:!1,pqlQuery:1===e?void 0:"id = "+e});return!(0,tI.isUndefined)(null==t?void 0:t.nodes)&&(null==t?void 0:t.nodes.length)>0?t:await Promise.resolve(n(e,"document"))},fetchChildren:async function(i,n){return await r(i,{parentId:parseInt(i.id),pageSize:e,page:n.page,idSearchTerm:n.searchTerm,...t})}}};var Lo=i(54604);let Ls=e=>{let{id:t,elementType:i,rootFolder:n,classes:r,pql:a,pageSize:l,contextPermissions:o,showRoot:s=!1}=e,{asset_tree_paging_limit:d,object_tree_paging_limit:c}=(0,p3.t)(),f=l??(i===sE.W.asset?d:c);return(0,tq.jsx)(M8.b,{treeId:t,children:(0,tq.jsx)(M7.P,{permissions:{...o},children:(0,tq.jsxs)(M5.S,{classIds:r,pageSize:f,pqlQuery:(0,a3.uI)(a)?a:void 0,children:[i===sE.W.asset&&(0,tq.jsx)(Lo.X,{nodeApiHook:Lr,children:(0,tq.jsx)(C1,{id:(null==n?void 0:n.id)??1,showRoot:s})}),i===sE.W.dataObject&&(0,tq.jsx)(Lo.X,{nodeApiHook:Li,children:(0,tq.jsx)(Iy,{id:(null==n?void 0:n.id)??1,showRoot:s})}),i===sE.W.document&&(0,tq.jsx)(Lo.X,{nodeApiHook:Ll,children:(0,tq.jsx)(Ml,{id:(null==n?void 0:n.id)??1,showRoot:s})})]})})})};var Ld=i(41045),Lc=i(18453),Lf=i(31325);let Lu=new class{supports(e){return["asset-editor","document-editor","data-object-editor"].includes(e.component)}cleanConfig(e){return{...e,config:{id:e.config.id,elementType:e.config.elementType}}}async restore(e,t){let{id:i}=e.config;if(!(0,tI.isNil)(i)){let n=await this.getWidgetConfig(e.component,Number(i));if(!(0,tI.isNil)(n))return t((0,yd.WK)(n)),!0}return!1}async getWidgetConfig(e,t){return"asset-editor"===e?await Ld.c.getWidgetConfig(t,!0):"document-editor"===e?await Lc.J.getWidgetConfig(t,!0):"data-object-editor"===e?await Lf.j.getWidgetConfig(t,!0):void 0}};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager);tc.kL.get(td.K.widgetRestorerRegistry).register(Lu),e.registerWidget({name:"element_tree",component:Ls,transformConfig:e=>({...e,translationKey:e.name}),isVisible:e=>{if((0,tI.has)(e,"elementType"))switch(e.elementType){case"document":return(0,yc.J)(pw.F.Documents);case"asset":return(0,yc.J)(pw.F.Assets);case"data-object":return(0,yc.J)(pw.F.Objects)}return!0}})}});var Lm=i(29247);ts.s.registerModule({onInit(){tc.kL.get(td.K["ExecutionEngine/JobComponentRegistry"]).registerComponent("default-message-bus",Lm.y)}}),ts.s.registerModule({onInit(){let e=tc.kL.get(td.K["DynamicTypes/FieldFilterRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/DataObjectAdapter"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/DataObjectObjectBrick"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/String"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/None"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Id"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Number"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Multiselect"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Date"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Boolean"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/BooleanSelect"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Consent"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/ClassificationStore"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/InputQuantityValue"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/QuantityValue"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Color"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Datetime"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Time"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/FieldFilter/Relation"]));let t=tc.kL.get(td.K["DynamicTypes/BatchEditRegistry"]);t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Text"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/TextArea"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Datetime"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Select"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/Checkbox"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/ElementDropzone"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/ClassificationStore"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/DataObjectAdapter"])),t.registerDynamicType(tc.kL.get(td.K["DynamicTypes/BatchEdit/DataObjectObjectBrick"])),tc.kL.get(td.K["DynamicTypes/ListingRegistry"]).registerDynamicType(tc.kL.get(td.K["DynamicTypes/Listing/AssetLink"]));let i=tc.kL.get(td.K["DynamicTypes/GridCellRegistry"]);i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Text"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/String"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Textarea"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Number"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Select"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/MultiSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Boolean"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Checkbox"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Date"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Time"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DateTime"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ObjectLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DocumentLink"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/OpenElement"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetPreview"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetActions"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectActions"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DependencyTypeIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ElementSubtypeIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetCustomMetadataIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetCustomMetadataValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/PropertyIcon"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/PropertyValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/WebsiteSettingsValue"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ScheduleActionsSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/VersionsIdSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/AssetVersionPreviewFieldLabel"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Asset"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Object"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Document"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Element"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/LanguageSelect"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Translate"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectAdapter"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/ClassificationStore"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectAdvanced"])),i.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/DataObjectObjectBrick"]));let n=tc.kL.get(td.K["DynamicTypes/AdvancedGridCellRegistry"]);n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/String"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Integer"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Error"])),n.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GridCell/Array"]));let r=tc.kL.get(td.K["DynamicTypes/MetadataRegistry"]);r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Asset"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Checkbox"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Date"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Document"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Input"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Object"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Select"])),r.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Metadata/Textarea"]));let a=tc.kL.get(td.K["DynamicTypes/ObjectLayoutRegistry"]);a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Panel"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Tabpanel"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Accordion"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Region"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Text"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Fieldset"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/FieldContainer"])),a.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectLayout/Iframe"]));let l=tc.kL.get(td.K["DynamicTypes/ObjectDataRegistry"]);l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Input"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Textarea"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Wysiwyg"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Password"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/InputQuantityValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Select"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/MultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Language"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/LanguageMultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Country"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/CountryMultiSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/User"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/BooleanSelect"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Numeric"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/NumericRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Slider"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/QuantityValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/QuantityValueRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Consent"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Firstname"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Lastname"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Email"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Gender"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/RgbaColor"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/EncryptedField"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/CalculatedValue"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Checkbox"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Link"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/UrlSlug"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Date"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Datetime"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/DateRange"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Time"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ExternalImage"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Image"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Video"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/HotspotImage"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ImageGallery"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPoint"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoBounds"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPolygon"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/GeoPolyLine"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToOneRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToManyRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ManyToManyObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/AdvancedManyToManyObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/AdvancedManyToManyRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ReverseObjectRelation"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Table"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/StructuredTable"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/Block"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/LocalizedFields"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/FieldCollection"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ObjectBrick"])),l.registerDynamicType(tc.kL.get(td.K["DynamicTypes/ObjectData/ClassificationStore"]));let o=tc.kL.get(td.K["DynamicTypes/DocumentEditableRegistry"]);o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Block"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/ScheduledBlock"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Checkbox"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Date"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Embed"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Input"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Link"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Numeric"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Relation"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Relations"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Renderlet"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Select"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Snippet"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Table"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Textarea"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Wysiwyg"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/MultiSelect"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Image"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Pdf"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Video"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Area"])),o.registerDynamicType(tc.kL.get(td.K["DynamicTypes/DocumentEditable/Areablock"]));let s=tc.kL.get(td.K["DynamicTypes/EditableDialogLayoutRegistry"]);s.registerDynamicType(tc.kL.get(td.K["DynamicTypes/EditableDialogLayout/Tabpanel"])),s.registerDynamicType(tc.kL.get(td.K["DynamicTypes/EditableDialogLayout/Panel"]));let d=tc.kL.get(td.K["DynamicTypes/AssetRegistry"]);d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Archive"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Audio"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Document"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Folder"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Image"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Text"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Unknown"])),d.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Asset/Video"]));let c=tc.kL.get(td.K["DynamicTypes/DocumentRegistry"]);c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Email"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Folder"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Hardlink"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Link"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Newsletter"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Snippet"])),c.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Document/Page"]));let f=tc.kL.get(td.K["DynamicTypes/ObjectRegistry"]);f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Folder"])),f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Object"])),f.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Object/Variant"]));let u=tc.kL.get(td.K["DynamicTypes/Grid/SourceFieldsRegistry"]);u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/Text"])),u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/SimpleField"])),u.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/SourceFields/RelationField"]));let m=tc.kL.get(td.K["DynamicTypes/Grid/TransformersRegistry"]);m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/BooleanFormatter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/DateFormatter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/ElementCounter"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/TwigOperator"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Anonymizer"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Blur"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/ChangeCase"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Combine"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Explode"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/StringReplace"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Substring"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Trim"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/Translate"])),m.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Grid/Transformers/PHPCode"]))}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DynamicTypes/ThemeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Theme/StudioDefaultLight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Theme/StudioDefaultDark"]))}});let Lp=(0,iR.createStyles)(e=>{let{css:t,token:i}=e,n=t`
min-height: 100px;
cursor: text;
`,r=t`
@@ -972,27 +972,27 @@
}
${r}
- `}}),Lc=(0,tG.forwardRef)((e,t)=>{let{value:i,onChange:n,disabled:r,width:a,height:l,placeholder:o,context:s}=e,d=(0,tG.useRef)(null),{styles:c}=Ld(),f=(0,tI.isNil)(i)||(0,tI.isEmpty)(i)||""===i.trim()||"
"===i||" "===i;return(0,tG.useImperativeHandle)(t,()=>({onDrop:e=>{}})),(0,tG.useEffect)(()=>{(0,tI.isNull)(d.current)||d.current.innerHTML===i||(d.current.innerHTML=i??"")},[i]),(0,tq.jsx)("div",{children:(0,tq.jsx)("div",{className:s===ai.f.DOCUMENT?c.editorDocument:c.editor,contentEditable:!0!==r,"data-empty":f,"data-placeholder":o,onInput:e=>{null!=n&&n(e.currentTarget.innerHTML)},ref:d,style:{maxWidth:(0,r7.x)(a),minHeight:(0,r7.x)(l)}})})});Lc.displayName="DefaultWysiwygEditor",ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:tu.eb.wysiwyg.editor.name,component:Lc})}});let Lf=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),{refreshPerspectives:r}=(0,m7.n)(),[a,{isLoading:l}]=(0,sO.usePerspectiveCreateMutation)(),[o,{isLoading:s}]=(0,sO.usePerspectiveUpdateConfigByIdMutation)(),[d,{isLoading:c}]=(0,sO.usePerspectiveDeleteMutation)(),f=async(e,t)=>{let l=a({addPerspectiveConfig:{name:e}});try{let a=await l;void 0!==a.error&&(0,iX.Ay)(new iX.hD(a.error)),null==t||t(e),r(),n(i("perspective-editor.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new perspective."))}},u=async(t,a)=>{let l=d({perspectiveId:t});try{let t=await l;if(!(0,tI.isUndefined)(t.error))return void(0,iX.Ay)(new iX.hD(t.error));e(sO.api.util.invalidateTags(uT.qN.PERSPECTIVES())),null==a||a(),r(),n(i("perspective-editor.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete perspective"))}};return{createPerspective:e=>{t.input({title:i("perspective-editor.add-modal.title"),label:i("perspective-editor.add-modal.name.label"),rule:{required:!0,message:i("perspective-editor.add-modal.name.validation")},onOk:async t=>{await f(t,()=>{null==e||e(t)})}})},getPerspectiveById:async t=>{try{let{data:i,isError:n,error:r}=await e(sO.api.endpoints.perspectiveGetConfigById.initiate({perspectiveId:t},{forceRefetch:!0}));if(!(0,tI.isUndefined)(i)&&n)return void(0,iX.Ay)(new iX.hD(r));return i}catch{(0,iX.Ay)(new iX.$g('Failed to load perspective data of perspective "'+t+'".'))}},updatePerspective:async(e,t,a)=>{let l=o({perspectiveId:e,savePerspectiveConfig:t});try{let e=await l;if(void 0!==e.error){null==a||a(),(0,iX.Ay)(new iX.hD(e.error));return}null==a||a(),r(),n(i("perspective-editor.update.success"))}catch{null==a||a(),(0,iX.Ay)(new iX.$g("Failed to update perspective."))}},removeWithConfirmation:(e,n)=>{t.confirm({title:i("element.delete.confirmation.title"),content:(0,tq.jsx)("span",{children:i("element.delete.confirmation.text")}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{await u(e,()=>{null==n||n()})}})},isLoading:l||s||c}},Lu=(0,tG.createContext)(void 0),Lm=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getPerspectiveById:l}=Lf(),o=async e=>{let t=await l(e);console.log("opening perspective",e,t),(0,tI.isNil)(t)||a(e=>e.findIndex(e=>e.id===t.id)>=0?(n(t.id),e):(n(t.id),[...e,t]))},s=e=>{let t=r.filter(t=>t.id!==e);a(t),i===e&&(t.length>0?n(t[0].id):n(void 0))},d=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n,perspectives:r,setPerspectives:a,openPerspective:o,closePerspective:s}),[i,r]);return(0,tq.jsx)(Lu.Provider,{value:d,children:t})};var Lp=i(154);let Lg=()=>{let e=(0,tG.useContext)(Lu);if(void 0===e)throw Error("usePerspectiveEditorContext must be used within a PerspectiveEditorProvider");return e},Lh=(0,iR.createStyles)(e=>{let{css:t}=e;return{panel:t`
+ `}}),Lg=(0,tG.forwardRef)((e,t)=>{let{value:i,onChange:n,disabled:r,width:a,height:l,placeholder:o,context:s}=e,d=(0,tG.useRef)(null),{styles:c}=Lp(),f=(0,tI.isNil)(i)||(0,tI.isEmpty)(i)||""===i.trim()||"
"===i||" "===i;return(0,tG.useImperativeHandle)(t,()=>({onDrop:e=>{}})),(0,tG.useEffect)(()=>{(0,tI.isNull)(d.current)||d.current.innerHTML===i||(d.current.innerHTML=i??"")},[i]),(0,tq.jsx)("div",{children:(0,tq.jsx)("div",{className:s===ai.f.DOCUMENT?c.editorDocument:c.editor,contentEditable:!0!==r,"data-empty":f,"data-placeholder":o,onInput:e=>{null!=n&&n(e.currentTarget.innerHTML)},ref:d,style:{maxWidth:(0,r7.x)(a),minHeight:(0,r7.x)(l)}})})});Lg.displayName="DefaultWysiwygEditor",ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).register({name:tu.eb.wysiwyg.editor.name,component:Lg})}});let Lh=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),{refreshPerspectives:r}=(0,m7.n)(),[a,{isLoading:l}]=(0,sO.usePerspectiveCreateMutation)(),[o,{isLoading:s}]=(0,sO.usePerspectiveUpdateConfigByIdMutation)(),[d,{isLoading:c}]=(0,sO.usePerspectiveDeleteMutation)(),f=async(e,t)=>{let l=a({addPerspectiveConfig:{name:e}});try{let a=await l;void 0!==a.error&&(0,iX.Ay)(new iX.hD(a.error)),null==t||t(e),r(),n(i("perspective-editor.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new perspective."))}},u=async(t,a)=>{let l=d({perspectiveId:t});try{let t=await l;if(!(0,tI.isUndefined)(t.error))return void(0,iX.Ay)(new iX.hD(t.error));e(sO.api.util.invalidateTags(uT.qN.PERSPECTIVES())),null==a||a(),r(),n(i("perspective-editor.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete perspective"))}};return{createPerspective:e=>{t.input({title:i("perspective-editor.add-modal.title"),label:i("perspective-editor.add-modal.name.label"),rule:{required:!0,message:i("perspective-editor.add-modal.name.validation")},onOk:async t=>{await f(t,()=>{null==e||e(t)})}})},getPerspectiveById:async t=>{try{let{data:i,isError:n,error:r}=await e(sO.api.endpoints.perspectiveGetConfigById.initiate({perspectiveId:t},{forceRefetch:!0}));if(!(0,tI.isUndefined)(i)&&n)return void(0,iX.Ay)(new iX.hD(r));return i}catch{(0,iX.Ay)(new iX.$g('Failed to load perspective data of perspective "'+t+'".'))}},updatePerspective:async(e,t,a)=>{let l=o({perspectiveId:e,savePerspectiveConfig:t});try{let e=await l;if(void 0!==e.error){null==a||a(),(0,iX.Ay)(new iX.hD(e.error));return}null==a||a(),r(),n(i("perspective-editor.update.success"))}catch{null==a||a(),(0,iX.Ay)(new iX.$g("Failed to update perspective."))}},removeWithConfirmation:(e,n)=>{t.confirm({title:i("element.delete.confirmation.title"),content:(0,tq.jsx)("span",{children:i("element.delete.confirmation.text")}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{await u(e,()=>{null==n||n()})}})},isLoading:l||s||c}},Ly=(0,tG.createContext)(void 0),Lv=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getPerspectiveById:l}=Lh(),o=async e=>{let t=await l(e);console.log("opening perspective",e,t),(0,tI.isNil)(t)||a(e=>e.findIndex(e=>e.id===t.id)>=0?(n(t.id),e):(n(t.id),[...e,t]))},s=e=>{let t=r.filter(t=>t.id!==e);a(t),i===e&&(t.length>0?n(t[0].id):n(void 0))},d=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n,perspectives:r,setPerspectives:a,openPerspective:o,closePerspective:s}),[i,r]);return(0,tq.jsx)(Ly.Provider,{value:d,children:t})};var Lb=i(154);let Lx=()=>{let e=(0,tG.useContext)(Ly);if(void 0===e)throw Error("usePerspectiveEditorContext must be used within a PerspectiveEditorProvider");return e},Lj=(0,iR.createStyles)(e=>{let{css:t}=e;return{panel:t`
> p {
padding: 4px;
margin: 0;
}
- `}}),Ly=()=>{let{t:e}=(0,iQ.useTranslation)(),{menuEntries:t,isLoading:i}=(()=>{let{data:e,isLoading:t}=(0,sO.usePerspectiveGetConfigByIdQuery)({perspectiveId:"studio_default_perspective"});return{menuEntries:(0,tG.useMemo)(()=>(null==e?void 0:e.contextPermissions)??{},[e]),isLoading:t}})(),{styles:n}=Lh(),r=(0,tG.useMemo)(()=>tc.kL.get(td.K.perspectivePermissionProviderRegistry).getPermissions().map(e=>{let i=e.permissions.filter(i=>{let n=t[e.key];return!(0,tI.isNil)(n)&&i.key in n||(console.error(`Permission ${e.key}.${i.key} is hidden because it is not in the menuEntries list.`),!1)});return{...e,permissions:i}}).filter(e=>e.permissions.length>0),[t]);return i?(0,tq.jsx)(n6.L.Panel,{collapsed:!1,collapsible:!0,theme:"fieldset",title:e("perspective-editor.form.main-nav-permission.title"),children:(0,tq.jsx)(sN.t,{})}):(0,tq.jsxs)(ap.s,{className:n.panel,gap:0,vertical:!0,children:[(0,tq.jsx)("p",{children:e("perspective-editor.form.main-nav-permission.title")}),(0,tq.jsx)(ap.s,{gap:8,vertical:!0,children:r.map(t=>(0,tq.jsx)(n6.L.Panel,{collapsed:!1,collapsible:!0,theme:"fieldset",title:e(`perspective-editor.form.main-nav-permission.category.${t.key}`),children:(0,tq.jsx)(ap.s,{gap:4,vertical:!0,children:t.permissions.map(i=>(0,tq.jsx)(tJ.lV.Item,{name:["contextPermissions",t.key,i.key],children:(0,tq.jsx)(sA.d,{labelRight:e(`perspective-editor.form.main-nav-permission.${t.key}.${i.key}`),size:"small"})},`${t.key}.${i.key}`))})},t.key))})]})};var Lv=i(27794);let Lb=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(tJ.lV.Item,{label:e("perspective-editor.form.general.name"),name:"name",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("perspective-editor.form.general.icon"),name:"icon",children:(0,tq.jsx)(Lv.N,{})})]})},Lx=(0,tG.createContext)(void 0),Lj=e=>{let{children:t,formChange:i,value:n}=e,[r,a]=(0,tG.useState)((null==n?void 0:n.widgets)??[]),[l,o]=(0,tG.useState)((null==n?void 0:n.expanded)??null),s=(e,t)=>{null==i||i({widgets:e,expanded:t})},d=e=>{if(r.some(t=>t.id===e.id))return;let t=[...r,e],i=0===r.length?e.id:l;a(t),o(i),s(t,i)},c=e=>{let t=r.filter(t=>t.id!==e),i=l===e?null:l;a(t),o(i),s(t,i)},f=e=>{let t=e.map(e=>r.find(t=>t.id===e.id)).filter(e=>void 0!==e);a(t),s(t,l)},u=e=>{let t=l===e?null:e;o(t),s(r,t)},m=(0,tG.useMemo)(()=>({widgetConfigs:r,expandedWidget:l,onAdd:d,onRemove:c,onReorder:f,setExpanded:u}),[r,l]);return(0,tq.jsx)(Lx.Provider,{value:m,children:t})},Lw=()=>{let e=(0,tG.useContext)(Lx);if(void 0===e)throw Error("useWidgetConfiguratorContext must be used within a WidgetConfiguratorProvider");return e},Lk=()=>{let{t:e}=(0,iQ.useTranslation)(),{onAdd:t}=Lw(),i=tc.kL.get(td.K["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]),{data:n,isFetching:r}=(0,sO.usePerspectiveWidgetGetConfigCollectionQuery)({skipWrapperWidgets:!1}),a=[...i.getMenuItems((null==n?void 0:n.items)??[],e=>{null==t||t(e)})];return(0,tq.jsx)(pu.m,{menu:{items:a},children:(0,tq.jsx)(az.$,{loading:r,type:"default",children:e("add")})})},LT=e=>{let{widget:t}=e;return(0,tI.isNil)(t)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ap.s,{align:"center",gap:8,children:[(0,tq.jsx)(r9.I,{...t.icon}),(0,tq.jsx)("span",{children:t.name})]})},LS=e=>{let{widget:t,allowExpandControl:i}=e,{expandedWidget:n,setExpanded:r,onRemove:a}=Lw(),l=n===t.id,o=[(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{a(t.id)},theme:"secondary"},"remove")];return!0===i&&(o=[(0,tq.jsx)(lp.K,{icon:{value:l?"eye":"eye-off"},onClick:()=>{r(t.id)},theme:"secondary"},"expand"),...o]),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})},LC=e=>{let{allowExpandControl:t=!0}=e,[i,n]=(0,tG.useState)([]),{onReorder:r,widgetConfigs:a}=Lw();return(0,tG.useEffect)(()=>{n(a.map((e,i)=>({id:e.id,sortable:!0,renderRightToolbar:(0,tq.jsx)(LS,{allowExpandControl:t,widget:e}),children:(0,tq.jsx)(LT,{widget:e})})))},[a]),(0,tq.jsx)(SK.N,{items:i,onItemsChange:r,sortable:!0})},LD=e=>{let{label:t,value:i,onChange:n,allowExpandControl:r=!0,"data-testid":a}=e;return(0,tq.jsx)(Lj,{formChange:n,value:i,children:(0,tq.jsx)(f_.Z,{className:"w-full","data-testid":a,title:(0,tq.jsxs)(ni.Flex,{align:"center",gap:8,children:[(0,tq.jsx)("span",{children:t}),(0,tq.jsx)(Lk,{})]}),children:(0,tq.jsx)(LC,{allowExpandControl:r})})})},LI=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ap.s,{"data-testid":"widget-configurator",gap:10,children:[(0,tq.jsx)(tJ.lV.Item,{name:"widgetsLeft",style:{flexGrow:1},children:(0,tq.jsx)(LD,{"data-testid":"widget-config-left",label:e("perspective-editor.system-widgets.left")})}),(0,tq.jsx)(tJ.lV.Item,{name:"widgetsBottom",style:{flexGrow:1},children:(0,tq.jsx)(LD,{allowExpandControl:!1,"data-testid":"widget-config-bottom",label:e("perspective-editor.system-widgets.bottom")})}),(0,tq.jsx)(tJ.lV.Item,{name:"widgetsRight",style:{flexGrow:1},children:(0,tq.jsx)(LD,{"data-testid":"widget-config-right",label:e("perspective-editor.system-widgets.right")})})]})},LM=(0,iR.createStyles)(e=>{let{css:t}=e;return{panel:t`
+ `}}),Lw=()=>{let{t:e}=(0,iQ.useTranslation)(),{menuEntries:t,isLoading:i}=(()=>{let{data:e,isLoading:t}=(0,sO.usePerspectiveGetConfigByIdQuery)({perspectiveId:"studio_default_perspective"});return{menuEntries:(0,tG.useMemo)(()=>(null==e?void 0:e.contextPermissions)??{},[e]),isLoading:t}})(),{styles:n}=Lj(),r=(0,tG.useMemo)(()=>tc.kL.get(td.K.perspectivePermissionProviderRegistry).getPermissions().map(e=>{let i=e.permissions.filter(i=>{let n=t[e.key];return!(0,tI.isNil)(n)&&i.key in n||(console.error(`Permission ${e.key}.${i.key} is hidden because it is not in the menuEntries list.`),!1)});return{...e,permissions:i}}).filter(e=>e.permissions.length>0),[t]);return i?(0,tq.jsx)(n6.L.Panel,{collapsed:!1,collapsible:!0,theme:"fieldset",title:e("perspective-editor.form.main-nav-permission.title"),children:(0,tq.jsx)(sN.t,{})}):(0,tq.jsxs)(ap.s,{className:n.panel,gap:0,vertical:!0,children:[(0,tq.jsx)("p",{children:e("perspective-editor.form.main-nav-permission.title")}),(0,tq.jsx)(ap.s,{gap:8,vertical:!0,children:r.map(t=>(0,tq.jsx)(n6.L.Panel,{collapsed:!1,collapsible:!0,theme:"fieldset",title:e(`perspective-editor.form.main-nav-permission.category.${t.key}`),children:(0,tq.jsx)(ap.s,{gap:4,vertical:!0,children:t.permissions.map(i=>(0,tq.jsx)(tJ.lV.Item,{name:["contextPermissions",t.key,i.key],children:(0,tq.jsx)(sA.d,{labelRight:e(`perspective-editor.form.main-nav-permission.${t.key}.${i.key}`),size:"small"})},`${t.key}.${i.key}`))})},t.key))})]})};var Lk=i(27794);let LT=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(tJ.lV.Item,{label:e("perspective-editor.form.general.name"),name:"name",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("perspective-editor.form.general.icon"),name:"icon",children:(0,tq.jsx)(Lk.N,{})})]})},LS=(0,tG.createContext)(void 0),LC=e=>{let{children:t,formChange:i,value:n}=e,[r,a]=(0,tG.useState)((null==n?void 0:n.widgets)??[]),[l,o]=(0,tG.useState)((null==n?void 0:n.expanded)??null),s=(e,t)=>{null==i||i({widgets:e,expanded:t})},d=e=>{if(r.some(t=>t.id===e.id))return;let t=[...r,e],i=0===r.length?e.id:l;a(t),o(i),s(t,i)},c=e=>{let t=r.filter(t=>t.id!==e),i=l===e?null:l;a(t),o(i),s(t,i)},f=e=>{let t=e.map(e=>r.find(t=>t.id===e.id)).filter(e=>void 0!==e);a(t),s(t,l)},u=e=>{let t=l===e?null:e;o(t),s(r,t)},m=(0,tG.useMemo)(()=>({widgetConfigs:r,expandedWidget:l,onAdd:d,onRemove:c,onReorder:f,setExpanded:u}),[r,l]);return(0,tq.jsx)(LS.Provider,{value:m,children:t})},LD=()=>{let e=(0,tG.useContext)(LS);if(void 0===e)throw Error("useWidgetConfiguratorContext must be used within a WidgetConfiguratorProvider");return e},LI=()=>{let{t:e}=(0,iQ.useTranslation)(),{onAdd:t}=LD(),i=tc.kL.get(td.K["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]),{data:n,isFetching:r}=(0,sO.usePerspectiveWidgetGetConfigCollectionQuery)({skipWrapperWidgets:!1}),a=[...i.getMenuItems((null==n?void 0:n.items)??[],e=>{null==t||t(e)})];return(0,tq.jsx)(pu.m,{menu:{items:a},children:(0,tq.jsx)(az.$,{loading:r,type:"default",children:e("add")})})},LM=e=>{let{widget:t}=e;return(0,tI.isNil)(t)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ap.s,{align:"center",gap:8,children:[(0,tq.jsx)(r9.I,{...t.icon}),(0,tq.jsx)("span",{children:t.name})]})},LL=e=>{let{widget:t,allowExpandControl:i}=e,{expandedWidget:n,setExpanded:r,onRemove:a}=LD(),l=n===t.id,o=[(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{a(t.id)},theme:"secondary"},"remove")];return!0===i&&(o=[(0,tq.jsx)(lp.K,{icon:{value:l?"eye":"eye-off"},onClick:()=>{r(t.id)},theme:"secondary"},"expand"),...o]),(0,tq.jsx)(TM.e,{items:o,noSpacing:!0})},LF=e=>{let{allowExpandControl:t=!0}=e,[i,n]=(0,tG.useState)([]),{onReorder:r,widgetConfigs:a}=LD();return(0,tG.useEffect)(()=>{n(a.map((e,i)=>({id:e.id,sortable:!0,renderRightToolbar:(0,tq.jsx)(LL,{allowExpandControl:t,widget:e}),children:(0,tq.jsx)(LM,{widget:e})})))},[a]),(0,tq.jsx)(SK.N,{items:i,onItemsChange:r,sortable:!0})},LE=e=>{let{label:t,value:i,onChange:n,allowExpandControl:r=!0,"data-testid":a}=e;return(0,tq.jsx)(LC,{formChange:n,value:i,children:(0,tq.jsx)(f_.Z,{className:"w-full","data-testid":a,title:(0,tq.jsxs)(ni.Flex,{align:"center",gap:8,children:[(0,tq.jsx)("span",{children:t}),(0,tq.jsx)(LI,{})]}),children:(0,tq.jsx)(LF,{allowExpandControl:r})})})},LP=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ap.s,{"data-testid":"widget-configurator",gap:10,children:[(0,tq.jsx)(tJ.lV.Item,{name:"widgetsLeft",style:{flexGrow:1},children:(0,tq.jsx)(LE,{"data-testid":"widget-config-left",label:e("perspective-editor.system-widgets.left")})}),(0,tq.jsx)(tJ.lV.Item,{name:"widgetsBottom",style:{flexGrow:1},children:(0,tq.jsx)(LE,{allowExpandControl:!1,"data-testid":"widget-config-bottom",label:e("perspective-editor.system-widgets.bottom")})}),(0,tq.jsx)(tJ.lV.Item,{name:"widgetsRight",style:{flexGrow:1},children:(0,tq.jsx)(LE,{"data-testid":"widget-config-right",label:e("perspective-editor.system-widgets.right")})})]})},LA=(0,iR.createStyles)(e=>{let{css:t}=e;return{panel:t`
> p {
padding: 4px;
margin: 0;
}
- `}}),LL=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=LM();return(0,tq.jsxs)(ap.s,{className:t.panel,gap:0,vertical:!0,children:[(0,tq.jsx)("p",{children:e("perspective-editor.form.general.widget-configuration")}),(0,tq.jsx)(LI,{})]})},LF=e=>{let{perspective:t}=e,{t:i}=(0,iQ.useTranslation)(),{updatePerspective:n,removeWithConfirmation:r,isLoading:a}=Lf(),{setPerspectives:l,closePerspective:o}=Lg(),[s]=tJ.lV.useForm(),d={...t,widgetsLeft:{widgets:t.widgetsLeft,expanded:t.expandedLeft},widgetsRight:{widgets:t.widgetsRight,expanded:t.expandedRight},widgetsBottom:{widgets:t.widgetsBottom,expanded:null}},c=t.isWriteable;return(0,tq.jsx)(n6.L,{formProps:{form:s,initialValues:d,onFinish:async e=>{let{widgetsLeft:i,widgetsRight:r,widgetsBottom:a,...l}=e,o={...l,widgetsLeft:Object.fromEntries(i.widgets.map(e=>[e.id,e.widgetType])),expandedLeft:i.expanded,widgetsRight:Object.fromEntries(r.widgets.map(e=>[e.id,e.widgetType])),expandedRight:r.expanded,widgetsBottom:Object.fromEntries(a.widgets.map(e=>[e.id,e.widgetType]))};await n(t.id,o)}},children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:[(0,tq.jsx)(Lb,{}),(0,tq.jsx)(LL,{}),(0,tq.jsx)(Ly,{})]}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{"data-testid":"perspective-form-refresh-button",disabled:a,icon:{value:"refresh"},onClick:()=>{s.resetFields(),s.setFieldsValue(d)},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:c?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{"data-testid":"perspective-form-delete-button",disabled:a||!c,icon:{value:"trash"},onClick:()=>{r(t.id,()=>{o(t.id),l(e=>e.filter(e=>e.id!==t.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:c?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"perspective-form-save-button",disabled:!c,htmlType:"submit",loading:a,type:"primary",children:i("save")})})]})]})})},LE=e=>{let{id:t}=e,{perspectives:i}=Lg(),n=i.find(e=>e.id===t);return void 0===n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(LF,{perspective:n})},LP=()=>{let{perspectives:e,activeTabId:t,setActiveTabId:i,closePerspective:n}=Lg();return(0,tq.jsx)(ni.Tabs,{activeKey:t,fullHeight:!0,items:e.map(e=>({key:e.id,label:e.name,children:(0,tq.jsx)(LE,{id:e.id})})),onChange:e=>{i(e)},onClose:e=>{n(e)}})},LA=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)([]),{openPerspective:a}=Lg(),{createPerspective:l}=Lf(),{data:o,isLoading:s,isFetching:d,refetch:c}=(0,sO.usePerspectiveGetConfigCollectionQuery)(),f=e=>[...e].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(ni.Icon,{type:e.icon.type,value:e.icon.value})}));return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)&&r([]),(0,tI.isUndefined)(o)||r(f(o.items))},[o]),(0,tq.jsx)(ni.ContentLayout,{renderToolbar:(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",children:[(0,tq.jsx)(ni.IconButton,{"data-testid":"perspective-tree-refresh-button",icon:{value:"refresh"},loading:s||d,onClick:async()=>{await c()},title:e("refresh")}),(0,tq.jsx)(ni.IconTextButton,{"data-testid":"perspective-tree-create-button",disabled:s||d,icon:{value:"new"},loading:s||d,onClick:async()=>{l()},children:e("toolbar.new")})]}),children:(0,tq.jsxs)(ni.Content,{loading:s||d,padded:!0,children:[(0,tq.jsx)(ni.SearchInput,{onChange:e=>{i(e.target.value)},onClear:()=>{i(""),(0,tI.isUndefined)(o)||r(f(o.items))},onSearch:e=>{if(0===e.length){(0,tI.isUndefined)(o)||r(f(o.items));return}(0,tI.isUndefined)(o)||r(f(o.items.filter(t=>!(0,tI.isNil)(t.name)&&t.name.toLowerCase().includes(e.toLowerCase()))))},value:t,withoutAddon:!0}),(0,tq.jsx)(ni.TreeElement,{hasRoot:!1,onSelected:e=>{a(e)},treeData:n})]})})},LN=()=>{let e={id:"widget-editor.perspective-editor.sidebar",minSize:170,children:[(0,tq.jsx)(LA,{},"widget-editor.perspective-editor.sidebar")]},t={id:"widget-editor.perspective-editor.main",minSize:600,children:[(0,tq.jsx)(LP,{},"widget-editor.perspective-editor.main.detailTab")]};return(0,tq.jsx)(Lp.v,{leftItem:e,rightItem:t})},LR=()=>(0,tq.jsx)(Lm,{children:(0,tq.jsx)(LN,{})});class LV{registerProvider(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.providers.push({provider:e,priority:t}),this.providers.sort((e,t)=>t.priority-e.priority)}getPermissions(){let e=new Map,t=[];for(let{provider:i}of this.providers)for(let n of i.getPermissions()){e.has(n.key)||(e.set(n.key,{...n,permissions:[]}),t.push(n.key));let i=e.get(n.key);for(let e of n.permissions)null==i.permissions.find(t=>t.key===e.key)&&i.permissions.push(e)}return t.map(t=>e.get(t))}constructor(){this.providers=[]}}LV=(0,tw.Cg)([(0,tk.injectable)()],LV);class Lz{getPermissions(){let e=tc.kL.get(td.K.mainNavRegistry).getMainNavTree(),t=[],i=e=>{(0,tI.isNil)(e.perspectivePermissionHide)||t.push(e.perspectivePermissionHide),(0,tI.isNil)(e.perspectivePermission)||t.push(e.perspectivePermission),(0,tI.isNil)(e.children)||e.children.forEach(e=>{i(e)})};e.forEach(e=>{i(e)});let n=new Map,r=[];return t.forEach(e=>{let t=e.split(".");if(t.length<2)return;let i=t[0],a=t[1];n.has(i)||(n.set(i,{key:i,permissions:[]}),r.push(i));let l=n.get(i);null==l.permissions.find(e=>e.key===a)&&l.permissions.push({key:a})}),r.map(e=>n.get(e))}}Lz=(0,tw.Cg)([(0,tk.injectable)()],Lz);class LB{getPermissions(){let[e,t]=pk.d.SearchHidden.split(".");return[{key:e,permissions:[{key:t}]}]}}LB=(0,tw.Cg)([(0,tk.injectable)()],LB),ts.s.registerModule({onInit:()=>{tc.kL.bind(td.K.perspectivePermissionProviderRegistry).to(LV).inSingletonScope();let e=tc.kL.get(td.K.perspectivePermissionProviderRegistry);e.registerProvider(new Lz,100),e.registerProvider(new LB,50),tc.kL.get(td.K.widgetManager).registerWidget({name:"perspective-editor",component:LR}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/Perspective-Editor",label:"navigation.widget-editor.perspective-editor",order:400,dividerBottom:!0,className:"item-style-modifier",permission:pw.F.PerspectiveEditor,perspectivePermission:pk.d.PerspectiveEditor,widgetConfig:{name:"perspectiveEditor",id:"perspective-editor",component:"perspective-editor",config:{translationKey:"widget.widget-editor.perspective-editor",icon:{type:"name",value:"book-open-01"}}}})}});let LO=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),[r,{isLoading:a}]=(0,sO.usePerspectiveWidgetCreateMutation)(),[l,{isLoading:o}]=(0,sO.usePerspectiveWidgetDeleteMutation)(),[s,{isLoading:d}]=(0,sO.usePerspectiveWidgetUpdateConfigByIdMutation)(),c=(0,tG.useRef)(i);c.current=i;let f=(0,tG.useRef)(n);f.current=n;let u=(0,tG.useRef)(t);u.current=t;let m=(0,tG.useCallback)(async(e,t,i)=>{let n=l({widgetId:e,widgetType:t});try{let e=await n;if(!(0,tI.isUndefined)(e.error))return void(0,iX.Ay)(new iX.hD(e.error));null==i||i(),f.current(c.current("widget-editor.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete widget"))}},[l]),p=(0,tG.useCallback)(async(e,t,i)=>{let n=r({widgetType:t,body:{data:{name:e}}});try{let e=await n;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));let{id:t}=e.data;null==i||i(t),f.current(c.current("widget-editor.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new widget."))}},[r]),g=(0,tG.useCallback)(async(t,i)=>{try{let{data:n,isError:r,error:a}=await e(sO.api.endpoints.perspectiveWidgetGetConfigById.initiate({widgetId:t,widgetType:i},{forceRefetch:!0}));if(!(0,tI.isUndefined)(n)&&r)return void(0,iX.Ay)(new iX.hD(a));return null==n?void 0:n.data}catch{(0,iX.Ay)(new iX.$g('Failed to load widget data of widget "'+t+'" with type "'+i+'".'))}},[e]),h=(0,tG.useCallback)(async(e,t,i,n)=>{var r;let a=i.classes??void 0,l=s({widgetId:e,widgetType:t,body:{data:{...i,rootFolder:(null==(r=i.rootFolder)?void 0:r.fullPath)??"/",classes:(0,tI.isUndefined)(a)?void 0:Object.keys(a).filter(e=>!0===a[e])}}});try{let e=await l;if(void 0!==e.error){null==n||n(i),(0,iX.Ay)(new iX.hD(e.error));return}null==n||n(i),f.current(c.current("widget-editor.update.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new perspective.")),null==n||n(i)}},[s]);return{createWidget:p,getWidgetById:g,updateWidget:h,removeWithConfirmation:(0,tG.useCallback)((e,t,i)=>{u.current.confirm({title:c.current("element.delete.confirmation.title"),content:(0,tq.jsxs)("span",{children:[c.current("element.delete.confirmation.text")," "]}),okText:c.current("element.delete.confirmation.ok"),onOk:async()=>{await m(e,t,()=>{null==i||i()})}})},[m]),isLoading:a||o||d}},LK=e=>{let{t}=(0,iQ.useTranslation)(),i=iv.container.get(iv.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).getDynamicTypes();return(0,tq.jsx)(t8.l,{...e,options:i.map(e=>({label:t(`widget-editor.create-form.widgetType.${e.name}`),value:e.id}))})};var L_=((b=L_||{}).ElementTree="element_tree",b);let LH=e=>{let{form:t,initialValues:i,inputRef:n,onPressEnter:r}=e,{t:a}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tJ.lV,{form:t,initialValues:{widgetType:L_.ElementTree,...i},layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:a("widget-editor.create-form.name"),name:"name",rules:[{required:!0,message:a("widget-editor.create-form.name.required")}],children:(0,tq.jsx)(ni.Input,{onPressEnter:r,ref:n})}),(0,tq.jsx)(tJ.lV.Item,{label:a("widget-editor.create-form.widgetType"),name:"widgetType",children:(0,tq.jsx)(LK,{})})]})},L$=(0,tG.createContext)(void 0),LW=(0,tG.createContext)(void 0),Lq=(0,tG.createContext)(void 0),LG=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getWidgetById:l,createWidget:o,isLoading:s}=LO(),[d,c]=(0,tG.useState)(!1),{t:f}=(0,iQ.useTranslation)(),[u]=ni.Form.useForm(),m=tU().useRef(null),p=(0,tG.useRef)(o);p.current=o;let g=(0,tG.useCallback)(async(e,t)=>{let i=await l(e,t);void 0!==i&&a(e=>e.findIndex(e=>e.id===i.id)>=0?(n(i.id),e):(n(i.id),[...e,i]))},[l]),h=(0,tG.useCallback)(e=>{a(t=>{let i=t.filter(t=>t.id!==e);return n(t=>t===e?i.length>0?i[0].id:void 0:t),i})},[]),y=(0,tG.useCallback)(()=>{c(!0)},[]),v=async()=>{await u.validateFields().then(async()=>{let{name:e,widgetType:t}=u.getFieldsValue();await p.current(e,t,e=>{c(!1),u.resetFields(),g(e,t)})})},b=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n}),[i]),x=(0,tG.useMemo)(()=>({widgets:r}),[r]),j=(0,tG.useMemo)(()=>({setWidgets:a,openWidget:g,closeWidget:h,createWidget:y}),[g,h,y]);return(0,tq.jsx)(Lq.Provider,{value:j,children:(0,tq.jsx)(LW.Provider,{value:x,children:(0,tq.jsxs)(L$.Provider,{value:b,children:[t,(0,tq.jsx)(ni.Modal,{afterOpenChange:e=>{if(e){var t;null==(t=m.current)||t.focus()}},okButtonProps:{loading:s},okText:f("widget-editor.create-modal.create"),onCancel:()=>{c(!1)},onOk:async()=>{await v()},open:d,size:"M",children:(0,tq.jsx)(LH,{form:u,inputRef:m,onPressEnter:()=>{v()}})})]})})})},LU=()=>{let e=(0,tG.useContext)(Lq);if(void 0===e)throw Error("useWidgetEditorActions must be used within a WidgetEditorProvider");return e};var LQ=i(72324);let LJ=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)([]),{openWidget:a,createWidget:l}=LU(),{data:o,isFetching:s,isLoading:d,refetch:c}=(0,LQ.usePerspectiveWidgetGetConfigCollectionQuery)({skipWrapperWidgets:!0}),f=(0,tG.useCallback)(e=>[...e].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(ni.Icon,{type:e.icon.type,value:e.icon.value})})),[]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)&&r([]),(0,tI.isUndefined)(o)||r(f(o.items))},[o,f]);let u=(0,tG.useCallback)(e=>{if(0===e.length){(0,tI.isUndefined)(o)||r(f(o.items));return}(0,tI.isUndefined)(o)||r(f(o.items.filter(t=>!(0,tI.isNil)(t.name)&&t.name.toLowerCase().includes(e.toLowerCase()))))},[o,f]),m=(0,tG.useCallback)(()=>{i(""),(0,tI.isUndefined)(o)||r(f(o.items))},[o,f]),p=(0,tG.useCallback)(async()=>{await c()},[c]),g=(0,tG.useCallback)(e=>{let t=null==o?void 0:o.items.find(t=>(0,tI.isString)(t.id)&&(0,tI.isString)(e)&&t.id===e);void 0!==t&&a(t.id,t.widgetType)},[o,a]),h=(0,tG.useCallback)(e=>{i(e.target.value)},[]),y=(0,tG.useMemo)(()=>(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",children:[(0,tq.jsx)(ni.IconButton,{"data-testid":"widget-tree-refresh-button",icon:{value:"refresh"},loading:d||s,onClick:p,title:e("refresh")}),(0,tq.jsx)(ni.IconTextButton,{"data-testid":"widget-tree-create-button",icon:{value:"new"},loading:d||s,onClick:l,children:e("toolbar.new")})]}),[d,s,p,l,e]);return(0,tq.jsx)(ni.ContentLayout,{renderToolbar:y,children:(0,tq.jsxs)(ni.Content,{loading:d||s,padded:!0,children:[(0,tq.jsx)(ni.SearchInput,{onChange:h,onClear:m,onSearch:u,value:t,withoutAddon:!0}),(0,tq.jsx)(ni.TreeElement,{hasRoot:!1,onSelected:g,treeData:n})]})})},LZ=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{collapsed:!1,collapsible:!0,title:e("widget-editor.widget-form.general.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("widget-editor.widget-form.general.name"),name:"name",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("widget-editor.widget-form.general.icon"),name:"icon",children:(0,tq.jsx)(Lv.N,{})})]})},LY=e=>(0,tI.isUndefined)(e)||!(0,tI.isArray)(e)?{}:e.reduce((e,t)=>(e[t]=!0,e),{}),LX=e=>{let{form:t}=e,{t:i}=(0,iQ.useTranslation)(),{form:n,widget:r}=sQ(),{setWidgets:a,closeWidget:l}=LU(),{removeWithConfirmation:o,updateWidget:s,getWidgetById:d,isLoading:c}=LO(),f=!1!==r.isWriteable,u=(0,tG.useCallback)(async e=>{await s(r.id,r.widgetType,e)},[r.id,r.widgetType,s]),m=(0,tG.useMemo)(()=>({...r,classes:LY(r.classes)}),[r]),p=(0,tG.useMemo)(()=>({form:n,layout:"vertical",initialValues:m,onFinish:u}),[n,m,u]);return(0,tq.jsx)(n6.L,{formProps:p,children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:[(0,tq.jsx)(LZ,{}),(0,tq.jsx)(t,{})]}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{"data-testid":"widget-form-refresh-button",disabled:c,icon:{value:"refresh"},onClick:async()=>{let e=await d(r.id,r.widgetType);void 0!==e&&(a(t=>t.map(t=>t.id===r.id?e:t)),n.resetFields(["classes"]),n.setFieldsValue({...e,classes:LY(e.classes)}))},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{"data-testid":"widget-form-delete-button",disabled:c||!f,icon:{value:"trash"},onClick:()=>{o(r.id,r.widgetType,()=>{l(r.id),a(e=>e.filter(e=>e.id!==r.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"widget-form-save-button",disabled:!f,htmlType:"submit",loading:c,type:"primary",children:i("save")})})]})]})})},L0=(0,tG.memo)(e=>{let{widget:t}=e,{form:i}=iv.container.get("DynamicTypes/WidgetEditor/WidgetTypeRegistry").getDynamicType(t.widgetType);return(0,tq.jsx)(sU,{widget:t,children:(0,tq.jsx)(LX,{form:i})})},(e,t)=>e.widget===t.widget),L1=()=>{let{widgets:e}=(()=>{let e=(0,tG.useContext)(LW);if(void 0===e)throw Error("useWidgetEditorData must be used within a WidgetEditorProvider");return e})(),{closeWidget:t}=LU(),{activeTabId:i,setActiveTabId:n}=(()=>{let e=(0,tG.useContext)(L$);if(void 0===e)throw Error("useActiveTabContext must be used within a WidgetEditorProvider");return e})(),r=(0,tG.useMemo)(()=>e.map(e=>({key:e.id,label:e.name,closable:!0,children:(0,tq.jsx)(L0,{widget:e})})),[e]),a=(0,tG.useCallback)(e=>{n(e)},[n]),l=(0,tG.useCallback)(e=>{t(e)},[t]);return(0,tq.jsx)(ge.t,{activeKey:i,fullHeight:!0,items:r,onChange:a,onClose:l})},L2=()=>{let e=(0,tG.useMemo)(()=>({id:"widget-editor.widget-editor.sidebar",minSize:170,children:[(0,tq.jsx)(LJ,{},"widget-editor.widget-editor.sidebar")]}),[]),t=(0,tG.useMemo)(()=>({id:"widget-editor.widget-editor.main",minSize:600,children:[(0,tq.jsx)(L1,{},"widget-editor.widget-editor.main.detailTab")]}),[]);return(0,tq.jsx)(Lp.v,{leftItem:e,rightItem:t})},L3=()=>(0,tq.jsx)(LG,{children:(0,tq.jsx)(L2,{})});ts.s.registerModule({onInit:()=>{tc.kL.get(iv.serviceIds.widgetManager).registerWidget({name:"widget-editor",component:L3}),tc.kL.get(iv.serviceIds.mainNavRegistry).registerMainNavItem({path:"System/Widget-Editor",label:"navigation.widget-editor.widget-editor",order:300,className:"item-style-modifier",permission:pw.F.WidgetEditor,perspectivePermission:pk.d.WidgetEditor,widgetConfig:{name:"widgetEditor",id:"widget-editor",component:"widget-editor",config:{translationKey:"widget.widget-editor.widget-editor",icon:{type:"name",value:"layout-grid-02"}}}}),tc.kL.get(iv.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).registerDynamicType(tc.kL.get(iv.serviceIds["DynamicTypes/WidgetEditor/ElementTree"]));let e=tc.kL.get(iv.serviceIds.elementTreeWidgetPermissionRegistry);e.registerItem("asset",{key:"hideAdd",priority:100}),e.registerItem("asset",{key:"addUpload",priority:200}),e.registerItem("asset",{key:"addUploadZip",priority:300}),e.registerItem("asset",{key:"addFolder",priority:400}),e.registerItem("asset",{key:"rename",priority:500}),e.registerItem("asset",{key:"copy",priority:600}),e.registerItem("asset",{key:"cut",priority:700}),e.registerItem("asset",{key:"paste",priority:800}),e.registerItem("asset",{key:"pasteCut",priority:900}),e.registerItem("asset",{key:"delete",priority:1e3}),e.registerItem("asset",{key:"uploadNewVersion",priority:1100}),e.registerItem("asset",{key:"lock",priority:1200}),e.registerItem("asset",{key:"lockAndPropagate",priority:1300}),e.registerItem("asset",{key:"unlock",priority:1400}),e.registerItem("asset",{key:"unlockAndPropagate",priority:1500}),e.registerItem("data-object",{key:"addFolder",priority:100}),e.registerItem("data-object",{key:"addObject",priority:200}),e.registerItem("data-object",{key:"addVariant",priority:300}),e.registerItem("data-object",{key:"rename",priority:400}),e.registerItem("data-object",{key:"copy",priority:500}),e.registerItem("data-object",{key:"cut",priority:600}),e.registerItem("data-object",{key:"paste",priority:700}),e.registerItem("data-object",{key:"publish",priority:800}),e.registerItem("data-object",{key:"unpublish",priority:900}),e.registerItem("data-object",{key:"delete",priority:1e3}),e.registerItem("data-object",{key:"refresh",priority:1100}),e.registerItem("data-object",{key:"changeChildrenSortBy",priority:1200}),e.registerItem("data-object",{key:"lock",priority:1300}),e.registerItem("data-object",{key:"lockAndPropagate",priority:1400}),e.registerItem("data-object",{key:"unlock",priority:1500}),e.registerItem("data-object",{key:"unlockAndPropagate",priority:1600}),e.registerItem("document",{key:"addFolder",priority:100}),e.registerItem("document",{key:"addPage",priority:200}),e.registerItem("document",{key:"addSnippet",priority:300}),e.registerItem("document",{key:"addLink",priority:400}),e.registerItem("document",{key:"addEmail",priority:500}),e.registerItem("document",{key:"addHardlink",priority:600}),e.registerItem("document",{key:"rename",priority:700}),e.registerItem("document",{key:"copy",priority:800}),e.registerItem("document",{key:"paste",priority:900}),e.registerItem("document",{key:"cut",priority:1e3}),e.registerItem("document",{key:"pasteCut",priority:1100}),e.registerItem("document",{key:"publish",priority:1200}),e.registerItem("document",{key:"unpublish",priority:1300}),e.registerItem("document",{key:"delete",priority:1400}),e.registerItem("document",{key:"open",priority:1500}),e.registerItem("document",{key:"refresh",priority:1600}),e.registerItem("document",{key:"lock",priority:1700}),e.registerItem("document",{key:"lockAndPropagate",priority:1800}),e.registerItem("document",{key:"unlock",priority:1900}),e.registerItem("document",{key:"unlockAndPropagate",priority:2e3})}});var L6=i(18228);ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetRestorerRegistry).register(L6.Z),tc.kL.get(td.K.widgetManager).registerWidget({name:"iframe",component:fH.C})}});let L4=()=>{let e=(0,aB.Vl)(),{t}=(0,iQ.useTranslation)(),[i]=(0,uM.j_)(),[n]=(0,uM.dc)(),{success:r}=(0,uI.J)(),a=async(e,n)=>{let a=i({emailAddressParameter:{email:e}});try{let e=await a;(0,tI.isUndefined)(e.error)||(0,uj.trackError)(new uj.ApiError(e.error)),null==n||n(),r(t("email-blocklist.add.email.success"))}catch(e){(0,uj.trackError)(new uj.GeneralError("Failed to add email to blocklist"))}};return{addNewEmail:async i=>{e.input({title:t("email-blocklist.add.label"),label:t("email-blocklist.add.email-address.label"),rule:{required:!0,type:"email",message:t("email-blocklist.add.validation")},onOk:async e=>{await a(e,()=>{null==i||i(e)})}})},removeEmail:async(e,t)=>{let i=n({email:e});try{let e=await i;void 0!==e.error&&(0,uj.trackError)(new uj.ApiError(e.error)),null==t||t()}catch(e){(0,uj.trackError)(new uj.GeneralError("Failed to remove email from blocklist"))}}}},L5=e=>{let{entry:t}=e,{t:i}=(0,iQ.useTranslation)(),{removeEmail:n}=L4(),[r,a]=(0,tG.useState)(!1);return(0,tq.jsx)(f_.Z,{contentPadding:{x:"small",y:"mini"},children:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",children:[(0,tq.jsx)("span",{children:t.email}),(0,tq.jsxs)(ig.Space,{children:[(0,tq.jsx)("span",{children:(0,af.formatDateTime)({timestamp:t.modificationDate,dateStyle:"short",timeStyle:"short"})}),(0,tq.jsx)(ni.IconButton,{"aria-label":i("aria.email-blocklist.remove.email"),icon:r?{value:"spinner"}:{value:"trash"},loading:r,onClick:()=>{a(!0),n(t.email)},type:"link"})]})]})})},L7=()=>{var e;let{t}=(0,iQ.useTranslation)(),i=(0,uk.jL)(),{addNewEmail:n}=L4(),[r,a]=(0,tG.useState)(1),[l,o]=(0,tG.useState)(20),[s,d]=(0,tG.useState)(!1),{data:c,isLoading:f,isFetching:u}=(0,uM.nD)({page:r,pageSize:l}),m=(null==c?void 0:c.totalItems)??0;return(0,tG.useEffect)(()=>{u||d(!1)},[u]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[(0,tq.jsx)(lp.K,{disabled:s||f,icon:{value:"refresh"},onClick:()=>{d(!0),i(uw.FH.util.invalidateTags(pR.invalidatingTags.EMAIL_BLOCKLIST()))}}),(0,tq.jsx)(ni.Pagination,{current:r,defaultPageSize:l,onChange:(e,t)=>{a(e),o(t)},showSizeChanger:!0,showTotal:e=>t("pagination.show-total",{total:e}),total:m})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{icon:(0,tq.jsx)(ni.Icon,{value:"users-x"}),children:t("widget.email-blocklist")}),(0,tq.jsx)(m4.J,{disabled:s||f,icon:{value:"new"},onClick:async()=>{await n(()=>{d(!1)})},children:t("email-blocklist.new")})]})}),children:(0,tq.jsx)(uE.U,{loading:s,none:(0,tI.isUndefined)(null==c?void 0:c.items)||0===c.items.length,padded:!0,children:(null==c?void 0:c.items)!==void 0&&(null==c||null==(e=c.items)?void 0:e.length)>0?c.items.map(e=>(0,tq.jsx)(L5,{entry:e},e.email)):""})})},L8=e=>{let{email:t,...i}=e,{t:n}=(0,iQ.useTranslation)(),[r]=tJ.lV.useForm(),[a,l]=(0,tG.useState)(!1),{forward:o}=uL(),s=(0,uk.jL)(),d=async e=>{l(!0),await o(t.id,e.to,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))}),i.setOpen(!1),r.resetFields(),l(!1)};return(0,tq.jsx)(pC.a,{okButtonProps:{loading:a},okText:n("email-log.send.label"),onCancel:()=>{i.setOpen(!1),r.resetFields()},onOk:()=>{r.submit()},open:i.open,size:"L",title:(0,tq.jsx)(p8.w,{iconName:"flip-forward",children:n("email-log.forward.label")}),children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",onFinish:d,children:[(0,tq.jsx)(tJ.lV.Item,{label:n("email-log.subject"),children:(0,tq.jsx)(aR.p,{disabled:!0,value:t.subject})}),(0,tq.jsx)(tJ.lV.Item,{label:n("widget.email-log.from"),children:(0,tq.jsx)(aR.p,{disabled:!0,value:t.from})}),(0,tq.jsx)(tJ.lV.Item,{label:n("widget.email-log.to"),name:"to",rules:[{type:"email",required:!0,message:n("email-blocklist.add.validation")}],children:(0,tq.jsx)(aR.p,{"data-testid":"forward-modal-to-input"})})]}),(0,tq.jsx)(uR,{height:300,id:t.id})]})})},L9=e=>{let{email:t}=e,{t:i}=(0,iQ.useTranslation)(),{resendWithConfirmation:n,removeWithConfirmation:r}=uL(),[a,l]=(0,tG.useState)(!1),{data:o}=(0,uM.et)({id:t.id}),s=(0,uk.jL)();return(0,tq.jsxs)(ap.s,{className:"email-log-content__header",justify:"space-between",children:[(0,tq.jsxs)(ap.s,{vertical:!0,children:[(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.from")}: ${t.from}`}),(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.to")}: ${t.from}`}),!(0,tI.isNil)(null==o?void 0:o.cc)&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ig.Divider,{type:"vertical"}),(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.cc")}: ${o.cc}`})]}),!(0,tI.isNil)(null==o?void 0:o.bcc)&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ig.Divider,{type:"vertical"}),(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.bcc")}: ${o.bcc}`})]})]})]}),(0,tq.jsxs)("div",{children:[(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.resend"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-resend-button-${t.id}`,icon:{value:"vector"},onClick:()=>{n(t.id,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))})}})}),(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.forward"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-forward-button-${t.id}`,icon:{value:"flip-forward"},onClick:()=>{l(!0)}})}),(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.delete"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-delete-button-${t.id}`,icon:{value:"trash"},onClick:()=>{r(t.id,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))})}})})]}),(0,tq.jsx)(L8,{email:t,open:a,setOpen:l})]})},Fe=e=>{let{email:t}=e,{data:i,isLoading:n}=(0,uM.et)({id:t.id});return n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.Alert,{description:(null==i?void 0:i.error)??"",showIcon:!0,type:"error"})};var Ft=i(6492),Fi=i.n(Ft);let Fn=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{codeEditor:i`
+ `}}),LN=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=LA();return(0,tq.jsxs)(ap.s,{className:t.panel,gap:0,vertical:!0,children:[(0,tq.jsx)("p",{children:e("perspective-editor.form.general.widget-configuration")}),(0,tq.jsx)(LP,{})]})},LR=e=>{let{perspective:t}=e,{t:i}=(0,iQ.useTranslation)(),{updatePerspective:n,removeWithConfirmation:r,isLoading:a}=Lh(),{setPerspectives:l,closePerspective:o}=Lx(),[s]=tJ.lV.useForm(),d={...t,widgetsLeft:{widgets:t.widgetsLeft,expanded:t.expandedLeft},widgetsRight:{widgets:t.widgetsRight,expanded:t.expandedRight},widgetsBottom:{widgets:t.widgetsBottom,expanded:null}},c=t.isWriteable;return(0,tq.jsx)(n6.L,{formProps:{form:s,initialValues:d,onFinish:async e=>{let{widgetsLeft:i,widgetsRight:r,widgetsBottom:a,...l}=e,o={...l,widgetsLeft:Object.fromEntries(i.widgets.map(e=>[e.id,e.widgetType])),expandedLeft:i.expanded,widgetsRight:Object.fromEntries(r.widgets.map(e=>[e.id,e.widgetType])),expandedRight:r.expanded,widgetsBottom:Object.fromEntries(a.widgets.map(e=>[e.id,e.widgetType]))};await n(t.id,o)}},children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:[(0,tq.jsx)(LT,{}),(0,tq.jsx)(LN,{}),(0,tq.jsx)(Lw,{})]}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{"data-testid":"perspective-form-refresh-button",disabled:a,icon:{value:"refresh"},onClick:()=>{s.resetFields(),s.setFieldsValue(d)},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:c?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{"data-testid":"perspective-form-delete-button",disabled:a||!c,icon:{value:"trash"},onClick:()=>{r(t.id,()=>{o(t.id),l(e=>e.filter(e=>e.id!==t.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:c?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"perspective-form-save-button",disabled:!c,htmlType:"submit",loading:a,type:"primary",children:i("save")})})]})]})})},LV=e=>{let{id:t}=e,{perspectives:i}=Lx(),n=i.find(e=>e.id===t);return void 0===n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(LR,{perspective:n})},Lz=()=>{let{perspectives:e,activeTabId:t,setActiveTabId:i,closePerspective:n}=Lx();return(0,tq.jsx)(ni.Tabs,{activeKey:t,fullHeight:!0,items:e.map(e=>({key:e.id,label:e.name,children:(0,tq.jsx)(LV,{id:e.id})})),onChange:e=>{i(e)},onClose:e=>{n(e)}})},LB=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)([]),{openPerspective:a}=Lx(),{createPerspective:l}=Lh(),{data:o,isLoading:s,isFetching:d,refetch:c}=(0,sO.usePerspectiveGetConfigCollectionQuery)(),f=e=>[...e].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(ni.Icon,{type:e.icon.type,value:e.icon.value})}));return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)&&r([]),(0,tI.isUndefined)(o)||r(f(o.items))},[o]),(0,tq.jsx)(ni.ContentLayout,{renderToolbar:(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",children:[(0,tq.jsx)(ni.IconButton,{"data-testid":"perspective-tree-refresh-button",icon:{value:"refresh"},loading:s||d,onClick:async()=>{await c()},title:e("refresh")}),(0,tq.jsx)(ni.IconTextButton,{"data-testid":"perspective-tree-create-button",disabled:s||d,icon:{value:"new"},loading:s||d,onClick:async()=>{l()},children:e("toolbar.new")})]}),children:(0,tq.jsxs)(ni.Content,{loading:s||d,padded:!0,children:[(0,tq.jsx)(ni.SearchInput,{onChange:e=>{i(e.target.value)},onClear:()=>{i(""),(0,tI.isUndefined)(o)||r(f(o.items))},onSearch:e=>{if(0===e.length){(0,tI.isUndefined)(o)||r(f(o.items));return}(0,tI.isUndefined)(o)||r(f(o.items.filter(t=>!(0,tI.isNil)(t.name)&&t.name.toLowerCase().includes(e.toLowerCase()))))},value:t,withoutAddon:!0}),(0,tq.jsx)(ni.TreeElement,{hasRoot:!1,onSelected:e=>{a(e)},treeData:n})]})})},LO=()=>{let e={id:"widget-editor.perspective-editor.sidebar",minSize:170,children:[(0,tq.jsx)(LB,{},"widget-editor.perspective-editor.sidebar")]},t={id:"widget-editor.perspective-editor.main",minSize:600,children:[(0,tq.jsx)(Lz,{},"widget-editor.perspective-editor.main.detailTab")]};return(0,tq.jsx)(Lb.v,{leftItem:e,rightItem:t})},LK=()=>(0,tq.jsx)(Lv,{children:(0,tq.jsx)(LO,{})});class L_{registerProvider(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.providers.push({provider:e,priority:t}),this.providers.sort((e,t)=>t.priority-e.priority)}getPermissions(){let e=new Map,t=[];for(let{provider:i}of this.providers)for(let n of i.getPermissions()){e.has(n.key)||(e.set(n.key,{...n,permissions:[]}),t.push(n.key));let i=e.get(n.key);for(let e of n.permissions)null==i.permissions.find(t=>t.key===e.key)&&i.permissions.push(e)}return t.map(t=>e.get(t))}constructor(){this.providers=[]}}L_=(0,tw.Cg)([(0,tk.injectable)()],L_);class LH{getPermissions(){let e=tc.kL.get(td.K.mainNavRegistry).getMainNavTree(),t=[],i=e=>{(0,tI.isNil)(e.perspectivePermissionHide)||t.push(e.perspectivePermissionHide),(0,tI.isNil)(e.perspectivePermission)||t.push(e.perspectivePermission),(0,tI.isNil)(e.children)||e.children.forEach(e=>{i(e)})};e.forEach(e=>{i(e)});let n=new Map,r=[];return t.forEach(e=>{let t=e.split(".");if(t.length<2)return;let i=t[0],a=t[1];n.has(i)||(n.set(i,{key:i,permissions:[]}),r.push(i));let l=n.get(i);null==l.permissions.find(e=>e.key===a)&&l.permissions.push({key:a})}),r.map(e=>n.get(e))}}LH=(0,tw.Cg)([(0,tk.injectable)()],LH);class L${getPermissions(){let[e,t]=pk.d.SearchHidden.split(".");return[{key:e,permissions:[{key:t}]}]}}L$=(0,tw.Cg)([(0,tk.injectable)()],L$),ts.s.registerModule({onInit:()=>{tc.kL.bind(td.K.perspectivePermissionProviderRegistry).to(L_).inSingletonScope();let e=tc.kL.get(td.K.perspectivePermissionProviderRegistry);e.registerProvider(new LH,100),e.registerProvider(new L$,50),tc.kL.get(td.K.widgetManager).registerWidget({name:"perspective-editor",component:LK}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/Perspective-Editor",label:"navigation.widget-editor.perspective-editor",order:400,dividerBottom:!0,className:"item-style-modifier",permission:pw.F.PerspectiveEditor,perspectivePermission:pk.d.PerspectiveEditor,widgetConfig:{name:"perspectiveEditor",id:"perspective-editor",component:"perspective-editor",config:{translationKey:"widget.widget-editor.perspective-editor",icon:{type:"name",value:"book-open-01"}}}})}});let LW=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),[r,{isLoading:a}]=(0,sO.usePerspectiveWidgetCreateMutation)(),[l,{isLoading:o}]=(0,sO.usePerspectiveWidgetDeleteMutation)(),[s,{isLoading:d}]=(0,sO.usePerspectiveWidgetUpdateConfigByIdMutation)(),c=(0,tG.useRef)(i);c.current=i;let f=(0,tG.useRef)(n);f.current=n;let u=(0,tG.useRef)(t);u.current=t;let m=(0,tG.useCallback)(async(e,t,i)=>{let n=l({widgetId:e,widgetType:t});try{let e=await n;if(!(0,tI.isUndefined)(e.error))return void(0,iX.Ay)(new iX.hD(e.error));null==i||i(),f.current(c.current("widget-editor.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete widget"))}},[l]),p=(0,tG.useCallback)(async(e,t,i)=>{let n=r({widgetType:t,body:{data:{name:e}}});try{let e=await n;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));let{id:t}=e.data;null==i||i(t),f.current(c.current("widget-editor.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new widget."))}},[r]),g=(0,tG.useCallback)(async(t,i)=>{try{let{data:n,isError:r,error:a}=await e(sO.api.endpoints.perspectiveWidgetGetConfigById.initiate({widgetId:t,widgetType:i},{forceRefetch:!0}));if(!(0,tI.isUndefined)(n)&&r)return void(0,iX.Ay)(new iX.hD(a));return null==n?void 0:n.data}catch{(0,iX.Ay)(new iX.$g('Failed to load widget data of widget "'+t+'" with type "'+i+'".'))}},[e]),h=(0,tG.useCallback)(async(e,t,i,n)=>{var r;let a=i.classes??void 0,l=s({widgetId:e,widgetType:t,body:{data:{...i,rootFolder:(null==(r=i.rootFolder)?void 0:r.fullPath)??"/",classes:(0,tI.isUndefined)(a)?void 0:Object.keys(a).filter(e=>!0===a[e])}}});try{let e=await l;if(void 0!==e.error){null==n||n(i),(0,iX.Ay)(new iX.hD(e.error));return}null==n||n(i),f.current(c.current("widget-editor.update.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new perspective.")),null==n||n(i)}},[s]);return{createWidget:p,getWidgetById:g,updateWidget:h,removeWithConfirmation:(0,tG.useCallback)((e,t,i)=>{u.current.confirm({title:c.current("element.delete.confirmation.title"),content:(0,tq.jsxs)("span",{children:[c.current("element.delete.confirmation.text")," "]}),okText:c.current("element.delete.confirmation.ok"),onOk:async()=>{await m(e,t,()=>{null==i||i()})}})},[m]),isLoading:a||o||d}},Lq=e=>{let{t}=(0,iQ.useTranslation)(),i=iv.container.get(iv.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).getDynamicTypes();return(0,tq.jsx)(t8.l,{...e,options:i.map(e=>({label:t(`widget-editor.create-form.widgetType.${e.name}`),value:e.id}))})};var LG=((b=LG||{}).ElementTree="element_tree",b);let LU=e=>{let{form:t,initialValues:i,inputRef:n,onPressEnter:r}=e,{t:a}=(0,iQ.useTranslation)();return(0,tq.jsxs)(tJ.lV,{form:t,initialValues:{widgetType:LG.ElementTree,...i},layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:a("widget-editor.create-form.name"),name:"name",rules:[{required:!0,message:a("widget-editor.create-form.name.required")}],children:(0,tq.jsx)(ni.Input,{onPressEnter:r,ref:n})}),(0,tq.jsx)(tJ.lV.Item,{label:a("widget-editor.create-form.widgetType"),name:"widgetType",children:(0,tq.jsx)(Lq,{})})]})},LQ=(0,tG.createContext)(void 0),LJ=(0,tG.createContext)(void 0),LZ=(0,tG.createContext)(void 0),LY=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getWidgetById:l,createWidget:o,isLoading:s}=LW(),[d,c]=(0,tG.useState)(!1),{t:f}=(0,iQ.useTranslation)(),[u]=ni.Form.useForm(),m=tU().useRef(null),p=(0,tG.useRef)(o);p.current=o;let g=(0,tG.useCallback)(async(e,t)=>{let i=await l(e,t);void 0!==i&&a(e=>e.findIndex(e=>e.id===i.id)>=0?(n(i.id),e):(n(i.id),[...e,i]))},[l]),h=(0,tG.useCallback)(e=>{a(t=>{let i=t.filter(t=>t.id!==e);return n(t=>t===e?i.length>0?i[0].id:void 0:t),i})},[]),y=(0,tG.useCallback)(()=>{c(!0)},[]),v=async()=>{await u.validateFields().then(async()=>{let{name:e,widgetType:t}=u.getFieldsValue();await p.current(e,t,e=>{c(!1),u.resetFields(),g(e,t)})})},b=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n}),[i]),x=(0,tG.useMemo)(()=>({widgets:r}),[r]),j=(0,tG.useMemo)(()=>({setWidgets:a,openWidget:g,closeWidget:h,createWidget:y}),[g,h,y]);return(0,tq.jsx)(LZ.Provider,{value:j,children:(0,tq.jsx)(LJ.Provider,{value:x,children:(0,tq.jsxs)(LQ.Provider,{value:b,children:[t,(0,tq.jsx)(ni.Modal,{afterOpenChange:e=>{if(e){var t;null==(t=m.current)||t.focus()}},okButtonProps:{loading:s},okText:f("widget-editor.create-modal.create"),onCancel:()=>{c(!1)},onOk:async()=>{await v()},open:d,size:"M",children:(0,tq.jsx)(LU,{form:u,inputRef:m,onPressEnter:()=>{v()}})})]})})})},LX=()=>{let e=(0,tG.useContext)(LZ);if(void 0===e)throw Error("useWidgetEditorActions must be used within a WidgetEditorProvider");return e};var L0=i(72324);let L1=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)([]),{openWidget:a,createWidget:l}=LX(),{data:o,isFetching:s,isLoading:d,refetch:c}=(0,L0.usePerspectiveWidgetGetConfigCollectionQuery)({skipWrapperWidgets:!0}),f=(0,tG.useCallback)(e=>[...e].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(ni.Icon,{type:e.icon.type,value:e.icon.value})})),[]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(o)&&r([]),(0,tI.isUndefined)(o)||r(f(o.items))},[o,f]);let u=(0,tG.useCallback)(e=>{if(0===e.length){(0,tI.isUndefined)(o)||r(f(o.items));return}(0,tI.isUndefined)(o)||r(f(o.items.filter(t=>!(0,tI.isNil)(t.name)&&t.name.toLowerCase().includes(e.toLowerCase()))))},[o,f]),m=(0,tG.useCallback)(()=>{i(""),(0,tI.isUndefined)(o)||r(f(o.items))},[o,f]),p=(0,tG.useCallback)(async()=>{await c()},[c]),g=(0,tG.useCallback)(e=>{let t=null==o?void 0:o.items.find(t=>(0,tI.isString)(t.id)&&(0,tI.isString)(e)&&t.id===e);void 0!==t&&a(t.id,t.widgetType)},[o,a]),h=(0,tG.useCallback)(e=>{i(e.target.value)},[]),y=(0,tG.useMemo)(()=>(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",children:[(0,tq.jsx)(ni.IconButton,{"data-testid":"widget-tree-refresh-button",icon:{value:"refresh"},loading:d||s,onClick:p,title:e("refresh")}),(0,tq.jsx)(ni.IconTextButton,{"data-testid":"widget-tree-create-button",icon:{value:"new"},loading:d||s,onClick:l,children:e("toolbar.new")})]}),[d,s,p,l,e]);return(0,tq.jsx)(ni.ContentLayout,{renderToolbar:y,children:(0,tq.jsxs)(ni.Content,{loading:d||s,padded:!0,children:[(0,tq.jsx)(ni.SearchInput,{onChange:h,onClear:m,onSearch:u,value:t,withoutAddon:!0}),(0,tq.jsx)(ni.TreeElement,{hasRoot:!1,onSelected:g,treeData:n})]})})},L2=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{collapsed:!1,collapsible:!0,title:e("widget-editor.widget-form.general.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("widget-editor.widget-form.general.name"),name:"name",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("widget-editor.widget-form.general.icon"),name:"icon",children:(0,tq.jsx)(Lk.N,{})})]})},L3=e=>(0,tI.isUndefined)(e)||!(0,tI.isArray)(e)?{}:e.reduce((e,t)=>(e[t]=!0,e),{}),L6=e=>{let{form:t}=e,{t:i}=(0,iQ.useTranslation)(),{form:n,widget:r}=sQ(),{setWidgets:a,closeWidget:l}=LX(),{removeWithConfirmation:o,updateWidget:s,getWidgetById:d,isLoading:c}=LW(),f=!1!==r.isWriteable,u=(0,tG.useCallback)(async e=>{await s(r.id,r.widgetType,e)},[r.id,r.widgetType,s]),m=(0,tG.useMemo)(()=>({...r,classes:L3(r.classes)}),[r]),p=(0,tG.useMemo)(()=>({form:n,layout:"vertical",initialValues:m,onFinish:u}),[n,m,u]);return(0,tq.jsx)(n6.L,{formProps:p,children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:[(0,tq.jsx)(L2,{}),(0,tq.jsx)(t,{})]}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{"data-testid":"widget-form-refresh-button",disabled:c,icon:{value:"refresh"},onClick:async()=>{let e=await d(r.id,r.widgetType);void 0!==e&&(a(t=>t.map(t=>t.id===r.id?e:t)),n.resetFields(["classes"]),n.setFieldsValue({...e,classes:L3(e.classes)}))},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{"data-testid":"widget-form-delete-button",disabled:c||!f,icon:{value:"trash"},onClick:()=>{o(r.id,r.widgetType,()=>{l(r.id),a(e=>e.filter(e=>e.id!==r.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"widget-form-save-button",disabled:!f,htmlType:"submit",loading:c,type:"primary",children:i("save")})})]})]})})},L4=(0,tG.memo)(e=>{let{widget:t}=e,{form:i}=iv.container.get("DynamicTypes/WidgetEditor/WidgetTypeRegistry").getDynamicType(t.widgetType);return(0,tq.jsx)(sU,{widget:t,children:(0,tq.jsx)(L6,{form:i})})},(e,t)=>e.widget===t.widget),L5=()=>{let{widgets:e}=(()=>{let e=(0,tG.useContext)(LJ);if(void 0===e)throw Error("useWidgetEditorData must be used within a WidgetEditorProvider");return e})(),{closeWidget:t}=LX(),{activeTabId:i,setActiveTabId:n}=(()=>{let e=(0,tG.useContext)(LQ);if(void 0===e)throw Error("useActiveTabContext must be used within a WidgetEditorProvider");return e})(),r=(0,tG.useMemo)(()=>e.map(e=>({key:e.id,label:e.name,closable:!0,children:(0,tq.jsx)(L4,{widget:e})})),[e]),a=(0,tG.useCallback)(e=>{n(e)},[n]),l=(0,tG.useCallback)(e=>{t(e)},[t]);return(0,tq.jsx)(ge.t,{activeKey:i,fullHeight:!0,items:r,onChange:a,onClose:l})},L7=()=>{let e=(0,tG.useMemo)(()=>({id:"widget-editor.widget-editor.sidebar",minSize:170,children:[(0,tq.jsx)(L1,{},"widget-editor.widget-editor.sidebar")]}),[]),t=(0,tG.useMemo)(()=>({id:"widget-editor.widget-editor.main",minSize:600,children:[(0,tq.jsx)(L5,{},"widget-editor.widget-editor.main.detailTab")]}),[]);return(0,tq.jsx)(Lb.v,{leftItem:e,rightItem:t})},L8=()=>(0,tq.jsx)(LY,{children:(0,tq.jsx)(L7,{})});ts.s.registerModule({onInit:()=>{tc.kL.get(iv.serviceIds.widgetManager).registerWidget({name:"widget-editor",component:L8}),tc.kL.get(iv.serviceIds.mainNavRegistry).registerMainNavItem({path:"System/Widget-Editor",label:"navigation.widget-editor.widget-editor",order:300,className:"item-style-modifier",permission:pw.F.WidgetEditor,perspectivePermission:pk.d.WidgetEditor,widgetConfig:{name:"widgetEditor",id:"widget-editor",component:"widget-editor",config:{translationKey:"widget.widget-editor.widget-editor",icon:{type:"name",value:"layout-grid-02"}}}}),tc.kL.get(iv.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).registerDynamicType(tc.kL.get(iv.serviceIds["DynamicTypes/WidgetEditor/ElementTree"]));let e=tc.kL.get(iv.serviceIds.elementTreeWidgetPermissionRegistry);e.registerItem("asset",{key:"hideAdd",priority:100}),e.registerItem("asset",{key:"addUpload",priority:200}),e.registerItem("asset",{key:"addUploadZip",priority:300}),e.registerItem("asset",{key:"addFolder",priority:400}),e.registerItem("asset",{key:"rename",priority:500}),e.registerItem("asset",{key:"copy",priority:600}),e.registerItem("asset",{key:"cut",priority:700}),e.registerItem("asset",{key:"paste",priority:800}),e.registerItem("asset",{key:"pasteCut",priority:900}),e.registerItem("asset",{key:"delete",priority:1e3}),e.registerItem("asset",{key:"uploadNewVersion",priority:1100}),e.registerItem("asset",{key:"lock",priority:1200}),e.registerItem("asset",{key:"lockAndPropagate",priority:1300}),e.registerItem("asset",{key:"unlock",priority:1400}),e.registerItem("asset",{key:"unlockAndPropagate",priority:1500}),e.registerItem("data-object",{key:"addFolder",priority:100}),e.registerItem("data-object",{key:"addObject",priority:200}),e.registerItem("data-object",{key:"addVariant",priority:300}),e.registerItem("data-object",{key:"rename",priority:400}),e.registerItem("data-object",{key:"copy",priority:500}),e.registerItem("data-object",{key:"cut",priority:600}),e.registerItem("data-object",{key:"paste",priority:700}),e.registerItem("data-object",{key:"publish",priority:800}),e.registerItem("data-object",{key:"unpublish",priority:900}),e.registerItem("data-object",{key:"delete",priority:1e3}),e.registerItem("data-object",{key:"refresh",priority:1100}),e.registerItem("data-object",{key:"changeChildrenSortBy",priority:1200}),e.registerItem("data-object",{key:"lock",priority:1300}),e.registerItem("data-object",{key:"lockAndPropagate",priority:1400}),e.registerItem("data-object",{key:"unlock",priority:1500}),e.registerItem("data-object",{key:"unlockAndPropagate",priority:1600}),e.registerItem("document",{key:"addFolder",priority:100}),e.registerItem("document",{key:"addPage",priority:200}),e.registerItem("document",{key:"addSnippet",priority:300}),e.registerItem("document",{key:"addLink",priority:400}),e.registerItem("document",{key:"addEmail",priority:500}),e.registerItem("document",{key:"addHardlink",priority:600}),e.registerItem("document",{key:"rename",priority:700}),e.registerItem("document",{key:"copy",priority:800}),e.registerItem("document",{key:"paste",priority:900}),e.registerItem("document",{key:"cut",priority:1e3}),e.registerItem("document",{key:"pasteCut",priority:1100}),e.registerItem("document",{key:"publish",priority:1200}),e.registerItem("document",{key:"unpublish",priority:1300}),e.registerItem("document",{key:"delete",priority:1400}),e.registerItem("document",{key:"open",priority:1500}),e.registerItem("document",{key:"refresh",priority:1600}),e.registerItem("document",{key:"lock",priority:1700}),e.registerItem("document",{key:"lockAndPropagate",priority:1800}),e.registerItem("document",{key:"unlock",priority:1900}),e.registerItem("document",{key:"unlockAndPropagate",priority:2e3})}});var L9=i(18228);ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetRestorerRegistry).register(L9.Z),tc.kL.get(td.K.widgetManager).registerWidget({name:"iframe",component:fH.C})}});let Fe=()=>{let e=(0,aB.Vl)(),{t}=(0,iQ.useTranslation)(),[i]=(0,uM.j_)(),[n]=(0,uM.dc)(),{success:r}=(0,uI.J)(),a=async(e,n)=>{let a=i({emailAddressParameter:{email:e}});try{let e=await a;(0,tI.isUndefined)(e.error)||(0,uj.trackError)(new uj.ApiError(e.error)),null==n||n(),r(t("email-blocklist.add.email.success"))}catch(e){(0,uj.trackError)(new uj.GeneralError("Failed to add email to blocklist"))}};return{addNewEmail:async i=>{e.input({title:t("email-blocklist.add.label"),label:t("email-blocklist.add.email-address.label"),rule:{required:!0,type:"email",message:t("email-blocklist.add.validation")},onOk:async e=>{await a(e,()=>{null==i||i(e)})}})},removeEmail:async(e,t)=>{let i=n({email:e});try{let e=await i;void 0!==e.error&&(0,uj.trackError)(new uj.ApiError(e.error)),null==t||t()}catch(e){(0,uj.trackError)(new uj.GeneralError("Failed to remove email from blocklist"))}}}},Ft=e=>{let{entry:t}=e,{t:i}=(0,iQ.useTranslation)(),{removeEmail:n}=Fe(),[r,a]=(0,tG.useState)(!1);return(0,tq.jsx)(f_.Z,{contentPadding:{x:"small",y:"mini"},children:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",children:[(0,tq.jsx)("span",{children:t.email}),(0,tq.jsxs)(ig.Space,{children:[(0,tq.jsx)("span",{children:(0,af.formatDateTime)({timestamp:t.modificationDate,dateStyle:"short",timeStyle:"short"})}),(0,tq.jsx)(ni.IconButton,{"aria-label":i("aria.email-blocklist.remove.email"),icon:r?{value:"spinner"}:{value:"trash"},loading:r,onClick:()=>{a(!0),n(t.email)},type:"link"})]})]})})},Fi=()=>{var e;let{t}=(0,iQ.useTranslation)(),i=(0,uk.jL)(),{addNewEmail:n}=Fe(),[r,a]=(0,tG.useState)(1),[l,o]=(0,tG.useState)(20),[s,d]=(0,tG.useState)(!1),{data:c,isLoading:f,isFetching:u}=(0,uM.nD)({page:r,pageSize:l}),m=(null==c?void 0:c.totalItems)??0;return(0,tG.useEffect)(()=>{u||d(!1)},[u]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[(0,tq.jsx)(lp.K,{disabled:s||f,icon:{value:"refresh"},onClick:()=>{d(!0),i(uw.FH.util.invalidateTags(pR.invalidatingTags.EMAIL_BLOCKLIST()))}}),(0,tq.jsx)(ni.Pagination,{current:r,defaultPageSize:l,onChange:(e,t)=>{a(e),o(t)},showSizeChanger:!0,showTotal:e=>t("pagination.show-total",{total:e}),total:m})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{icon:(0,tq.jsx)(ni.Icon,{value:"users-x"}),children:t("widget.email-blocklist")}),(0,tq.jsx)(m4.J,{disabled:s||f,icon:{value:"new"},onClick:async()=>{await n(()=>{d(!1)})},children:t("email-blocklist.new")})]})}),children:(0,tq.jsx)(uE.U,{loading:s,none:(0,tI.isUndefined)(null==c?void 0:c.items)||0===c.items.length,padded:!0,children:(null==c?void 0:c.items)!==void 0&&(null==c||null==(e=c.items)?void 0:e.length)>0?c.items.map(e=>(0,tq.jsx)(Ft,{entry:e},e.email)):""})})},Fn=e=>{let{email:t,...i}=e,{t:n}=(0,iQ.useTranslation)(),[r]=tJ.lV.useForm(),[a,l]=(0,tG.useState)(!1),{forward:o}=uL(),s=(0,uk.jL)(),d=async e=>{l(!0),await o(t.id,e.to,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))}),i.setOpen(!1),r.resetFields(),l(!1)};return(0,tq.jsx)(pC.a,{okButtonProps:{loading:a},okText:n("email-log.send.label"),onCancel:()=>{i.setOpen(!1),r.resetFields()},onOk:()=>{r.submit()},open:i.open,size:"L",title:(0,tq.jsx)(p8.w,{iconName:"flip-forward",children:n("email-log.forward.label")}),children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",onFinish:d,children:[(0,tq.jsx)(tJ.lV.Item,{label:n("email-log.subject"),children:(0,tq.jsx)(aR.p,{disabled:!0,value:t.subject})}),(0,tq.jsx)(tJ.lV.Item,{label:n("widget.email-log.from"),children:(0,tq.jsx)(aR.p,{disabled:!0,value:t.from})}),(0,tq.jsx)(tJ.lV.Item,{label:n("widget.email-log.to"),name:"to",rules:[{type:"email",required:!0,message:n("email-blocklist.add.validation")}],children:(0,tq.jsx)(aR.p,{"data-testid":"forward-modal-to-input"})})]}),(0,tq.jsx)(uR,{height:300,id:t.id})]})})},Fr=e=>{let{email:t}=e,{t:i}=(0,iQ.useTranslation)(),{resendWithConfirmation:n,removeWithConfirmation:r}=uL(),[a,l]=(0,tG.useState)(!1),{data:o}=(0,uM.et)({id:t.id}),s=(0,uk.jL)();return(0,tq.jsxs)(ap.s,{className:"email-log-content__header",justify:"space-between",children:[(0,tq.jsxs)(ap.s,{vertical:!0,children:[(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.from")}: ${t.from}`}),(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.to")}: ${t.from}`}),!(0,tI.isNil)(null==o?void 0:o.cc)&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ig.Divider,{type:"vertical"}),(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.cc")}: ${o.cc}`})]}),!(0,tI.isNil)(null==o?void 0:o.bcc)&&(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ig.Divider,{type:"vertical"}),(0,tq.jsx)(ni.Text,{type:"secondary",children:`${i("widget.email-log.bcc")}: ${o.bcc}`})]})]})]}),(0,tq.jsxs)("div",{children:[(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.resend"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-resend-button-${t.id}`,icon:{value:"vector"},onClick:()=>{n(t.id,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))})}})}),(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.forward"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-forward-button-${t.id}`,icon:{value:"flip-forward"},onClick:()=>{l(!0)}})}),(0,tq.jsx)(iN.m,{title:i("email-log.tooltip.delete"),children:(0,tq.jsx)(lp.K,{"data-testid":`email-log-delete-button-${t.id}`,icon:{value:"trash"},onClick:()=>{r(t.id,()=>{s(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))})}})})]}),(0,tq.jsx)(Fn,{email:t,open:a,setOpen:l})]})},Fa=e=>{let{email:t}=e,{data:i,isLoading:n}=(0,uM.et)({id:t.id});return n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.Alert,{description:(null==i?void 0:i.error)??"",showIcon:!0,type:"error"})};var Fl=i(6492),Fo=i.n(Fl);let Fs=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{codeEditor:i`
max-height: 650px;
- `}}),Fr=e=>{let{email:t}=e,{data:i,isLoading:n}=(0,uM.lF)({id:t.id}),{styles:r}=Fn();return(0,tq.jsx)(uE.U,{loading:n,none:(0,tI.isUndefined)(null==i?void 0:i.data)||0===i.data.length,children:(0,tq.jsx)(Fi(),{basicSetup:{lineNumbers:!0,syntaxHighlighting:!0,searchKeymap:!0},className:r.codeEditor,extensions:(0,kG.R)("html"),readOnly:!0,value:(null==i?void 0:i.data)??""})})},Fa=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{errorIcon:i`
+ `}}),Fd=e=>{let{email:t}=e,{data:i,isLoading:n}=(0,uM.lF)({id:t.id}),{styles:r}=Fs();return(0,tq.jsx)(uE.U,{loading:n,none:(0,tI.isUndefined)(null==i?void 0:i.data)||0===i.data.length,children:(0,tq.jsx)(Fo(),{basicSetup:{lineNumbers:!0,syntaxHighlighting:!0,searchKeymap:!0},className:r.codeEditor,extensions:(0,kG.R)("html"),readOnly:!0,value:(null==i?void 0:i.data)??""})})},Fc=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{errorIcon:i`
color: ${t.colorError};
`,divider:i`
border-color: ${t.colorTextSecondary};
margin-left: 2px;
margin-right: 2px;
- `}}),Fl=e=>{let{emails:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=Fa(),r=t.map(e=>{let t;return t=[{label:i("widget.email-log.tab.text"),key:"text",children:(0,tq.jsx)(Fr,{email:e})},{label:i("widget.email-log.tab.html"),key:"html",children:(0,tq.jsx)(uR,{id:e.id})},{label:i("widget.email-log.tab.parameters"),key:"parameters",children:(0,tq.jsx)(uP,{id:e.id})}],{key:e.id.toString(),"data-testid":`email-log-entry-${e.id}`,label:(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(r9.I,{value:"send-03"}),(0,tq.jsx)("span",{"data-testid":`email-log-subject-${e.id}`,children:e.subject})]}),subLabel:(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)("span",{children:`${i("widget.email-log.from")}: ${e.from}`}),(0,tq.jsx)(m1.c,{className:n.divider,type:"vertical"}),(0,tq.jsx)("span",{children:`${i("widget.email-log.to")}: ${e.to}`})]}),theme:e.hasError?"error":"default",subLabelPosition:"inline",extra:(0,tq.jsxs)(ap.s,{align:"center",gap:4,children:[e.hasError&&(0,tq.jsx)(r9.I,{className:n.errorIcon,value:"close-filled"}),(0,tq.jsx)("span",{children:(0,af.formatDateTime)({timestamp:e.sentDate,dateStyle:"short",timeStyle:"short"})})]}),children:(0,tq.jsxs)(ap.s,{className:"email-log-content","data-testid":`email-log-entry-content-${e.id}`,gap:"small",vertical:!0,children:[(0,tq.jsx)(L9,{email:e}),e.hasError&&(0,tq.jsx)(ap.s,{vertical:!0,children:(0,tq.jsx)(Fe,{email:e})}),(0,tq.jsx)(ge.t,{destroyInactiveTabPane:!0,items:t,noPadding:!0})]})}});return(0,tq.jsx)(ac.SD,{items:r})},Fo=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,uk.jL)(),[i,n]=(0,tG.useState)(1),[r,a]=(0,tG.useState)(20),[l,o]=(0,tG.useState)(!1),{data:s,isLoading:d,isFetching:c}=(0,uM.CH)({page:i,pageSize:r}),f=(null==s?void 0:s.totalItems)??0;return(0,tG.useEffect)(()=>{c||o(!1)},[c]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[(0,tq.jsx)(lp.K,{"data-testid":"email-log-refresh-button",disabled:d||l,icon:{value:"refresh"},onClick:()=>{o(!0),t(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))}}),(0,tq.jsx)(po.d,{current:i,defaultPageSize:r,onChange:(e,t)=>{n(e),a(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:f})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(ap.s,{gap:"small",children:(0,tq.jsx)(pd.h,{children:e("widget.email-log")})})}),children:(0,tq.jsx)(uE.U,{"data-testid":"email-log-content",loading:d||l&&c,none:(0,tI.isUndefined)(null==s?void 0:s.items)||0===s.items.length,padded:!0,children:!(0,tI.isUndefined)(null==s?void 0:s.items)&&(0,tq.jsx)(Fl,{emails:s.items})})})};var Fs=i(5229);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager);e.registerWidget({name:"email-blocklist",component:L7}),e.registerWidget({name:"email-log",component:Fo});let t=tc.kL.get(td.K.mainNavRegistry);t.registerMainNavItem({path:"ExperienceEcommerce/Email",label:"navigation.email",order:300,permission:pw.F.Emails,perspectivePermission:pk.d.Mails}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Sent-Emails",label:"navigation.email-log",order:100,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,widgetConfig:{name:"emailLog",id:"email-log",component:"email-log",config:{translationKey:"widget.email-log",icon:{type:"name",value:"mail-02"}}}}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Email-Blocklist",label:"navigation.email-blocklist",order:200,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,widgetConfig:{name:"EmailBlocklist",id:"email-blocklist",component:"email-blocklist",config:{translationKey:"widget.email-blocklist",icon:{type:"name",value:"users-x"}}}}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Send Test-Email",label:"navigation.test-email",order:300,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,useCustomMainNavItem:()=>{let{setIsOpen:e}=(()=>{let e=(0,tG.useContext)(Fs.w);if((0,tI.isNil)(e))throw Error("useSendTestEmailContext must be used within a SendTestEmailProvider");return e})();return{name:"SendTestEmail",onClick:()=>{e(!0)},icon:{type:"name",value:"users-x"}}}})}});var Fd=i(64860);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"QuickAccess/Open Asset",label:"navigation.open-asset",order:100,permission:pw.F.Assets,perspectivePermission:pk.d.OpenAsset,useCustomMainNavItem:()=>{let{open:e}=(0,Fd.Q)();return{name:"OpenAsset",onClick:()=>{e("asset")}}}}),e.registerMainNavItem({path:"QuickAccess/Open Data Object",label:"navigation.open-data-object",order:200,permission:pw.F.Objects,perspectivePermission:pk.d.OpenObject,useCustomMainNavItem:()=>{let{open:e}=(0,Fd.Q)();return{name:"OpenDataObject",onClick:()=>{e("data-object")}}}}),e.registerMainNavItem({path:"QuickAccess/Open Document",label:"navigation.open-document",dividerBottom:!0,order:300,permission:pw.F.Documents,perspectivePermission:pk.d.OpenDocument,useCustomMainNavItem:()=>{let{open:e}=(0,Fd.Q)();return{name:"OpenDocument",onClick:()=>{e("document")}}}})}});var Fc=i(16939);let Ff=()=>{let[e,{isLoading:t}]=(0,Fc.gu)(),[i,{isLoading:n}]=(0,Fc.nT)(),[r,{isLoading:a}]=(0,Fc.Xi)();return{createNewProperty:async()=>{try{let t=await e();if("data"in t)return{success:!0,data:t.data}}catch(e){(0,iX.Ay)(new iX.$g("Was not able to create Property"))}return{success:!1}},createLoading:t,deletePropertyById:async e=>{try{let t=await i({id:e});return{success:"data"in t}}catch(e){return(0,iX.Ay)(new iX.$g("Was not able to delete Property")),{success:!1}}},deleteLoading:n,updatePropertyById:async(e,t)=>{try{let i=await r({id:e,updatePredefinedProperty:{name:t.name??"",description:t.description??"",key:t.key??"",type:t.type??"",data:t.data??"",config:t.config??"",ctype:t.ctype??"",inheritable:t.inheritable}});return{success:"data"in i}}catch(e){return(0,iX.Ay)(new iX.$g("Was not able to update Property")),{success:!1}}},updateLoading:a}};var Fu=((x={}).Text="text",x.Document="document",x.Asset="asset",x.Object="object",x.Boolean="bool",x.Select="select",x);let Fm=e=>{let{info:t,setPredefinedPropertyRows:i}=e,n=t.row.original.id,{deletePropertyById:r,deleteLoading:a}=Ff(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsxs)("div",{className:"properties-table--actions-column",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"translate"},onClick:()=>{console.log("Open Translate View")},type:"link"}),(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})]})},Fp=e=>{let{predefinedPropertyRows:t,setPredefinedPropertyRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updatePropertyById:r}=Ff(),[a,l]=(0,tG.useState)([]),o=(0,cH.createColumnHelper)(),s=[o.accessor("name",{header:n("properties.columns.name"),meta:{editable:!0},size:200}),o.accessor("description",{header:n("properties.columns.description"),meta:{editable:!0},size:200}),o.accessor("key",{header:n("properties.columns.key"),meta:{editable:!0},size:200}),o.accessor("type",{header:n("properties.columns.type"),meta:{type:"select",editable:!0,config:{options:Object.values(Fu)}},size:100}),o.accessor("data",{header:n("properties.columns.data"),meta:{editable:!0},size:150}),o.accessor("config",{header:n("properties.columns.configuration"),meta:{editable:!0},size:150}),o.accessor("ctype",{header:n("properties.columns.content-type"),meta:{type:"select",editable:!0,config:{options:dR.allLegacyElementTypes}},size:110}),o.accessor("inheritable",{header:n("properties.columns.inheritable"),size:95,meta:{type:"checkbox",editable:!0,config:{align:"center"}}}),o.accessor("actions",{header:n("properties.columns.actions"),size:80,cell:e=>(0,tq.jsx)(Fm,{info:e,setPredefinedPropertyRows:i})})],d=async e=>{let{columnId:t,value:n,rowData:a}=e,o=a.rowId,s={...a,[t]:n};i(e=>e.map(e=>e.rowId===o?s:e)),l([{columnId:t,rowIndex:o}]);let{success:d}=await r(s.id,s);d?l([]):i(e=>e.map(e=>e.rowId===o?a:e))};return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:s,data:t,enableSorting:!0,modifiedCells:a,onUpdateCellData:d,resizable:!0,setRowId:e=>e.rowId})})},Fg=()=>{let{createNewProperty:e,createLoading:t}=Ff(),[i,n]=(0,tG.useState)(""),r=(0,tG.useMemo)(()=>({filter:i}),[i]),{data:a,isLoading:l,isFetching:o,error:s,refetch:d}=(0,Fc.VC)(r),c=()=>{d().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})};(0,tG.useEffect)(()=>{c()},[]);let[f,u]=(0,tG.useState)([]),m=null==a?void 0:a.items,p=[...f].sort((e,t)=>t.creationDate-e.creationDate);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||u(m.map(e=>({...e,rowId:(0,af.uuid)()})))},[m]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]);let g=async()=>{let{success:t,data:i}=await e();t&&void 0!==i&&u(e=>[{...i,rowId:(0,af.uuid)()},...e])};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{theme:"secondary",children:(0,tq.jsx)(lp.K,{disabled:o,icon:{value:"refresh"},onClick:c})}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:[(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.predefined-properties")}),(0,tq.jsx)(ni.IconTextButton,{disabled:l||t,icon:{value:"new"},loading:t,onClick:g,children:(0,i6.t)("predefined-properties.new")})]}),(0,tq.jsx)(ni.SearchInput,{loading:o,onSearch:e=>{n(e)},placeholder:"Search",withPrefix:!1,withoutAddon:!1})]}),children:(0,tq.jsx)(uE.U,{loading:l||o,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(m)||0===m.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(Fp,{predefinedPropertyRows:p,setPredefinedPropertyRows:u})})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/Predefined Properties",label:"navigation.predefined-properties",order:900,className:"item-style-modifier",permission:pw.F.PredefinedProperties,perspectivePermission:pk.d.PredefinedProperties,widgetConfig:{name:"Predefined Properties",id:"predefined-properties",component:"predefined-properties",config:{translationKey:"widget.predefined-properties",icon:{type:"name",value:"properties"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"predefined-properties",component:Fg})}});let Fh=()=>{let[e,{isLoading:t}]=(0,I0.zO)(),[i,{isLoading:n}]=(0,I0.Pp)(),[r,{isLoading:a}]=(0,I0.v2)(),l={docTypeAddParameters:{name:"New Document Type",type:"page"}};return{createNewDocumentType:async()=>{try{let t=await e(l);if((0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),"data"in t)return{success:!0,data:t.data}}catch{(0,iX.Ay)(new iX.$g("Was not able to create DocumentType"))}return{success:!1}},createLoading:t,deleteDocumentTypeById:async e=>{try{let t=await i({id:e});return(0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Was not able to delete DocumentType")),{success:!1}}},deleteLoading:n,updateDocumentTypeById:async(e,t)=>{try{let i=await r({id:e,docTypeUpdateParameters:{name:t.name??"",type:t.type??"",group:t.group??"",controller:t.controller??"",template:t.template??"",priority:t.priority??0,staticGeneratorEnabled:t.staticGeneratorEnabled??!1}});return(0,tI.isUndefined)(i.error)||(0,iX.Ay)(new iX.hD(i.error)),{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Was not able to update DocumentType")),{success:!1}}},updateLoading:a}},Fy=e=>{let{documentTypeRows:t,setDocumentTypeRows:i,config:n}=e,{t:r}=(0,iQ.useTranslation)(),{updateDocumentTypeById:a}=Fh(),{controllers:l,templates:o,docTypes:s}=n,[d,c]=(0,tG.useState)([]),f=l.map(e=>e.name),u=o.map(e=>e.path),m=s.map(e=>e.name),p=(0,cH.createColumnHelper)(),g=[p.accessor("name",{header:r("document-types.columns.name"),meta:{editable:!0},size:200}),p.accessor("group",{header:r("document-types.columns.group"),meta:{editable:!0},size:100}),p.accessor("controller",{header:r("document-types.columns.controller"),meta:{type:"select",editable:!0,config:{options:Object.values(f)}},size:200}),p.accessor("template",{header:r("document-types.columns.template"),meta:{type:"select",editable:!0,config:{options:Object.values(u)}},size:150}),p.accessor("type",{header:r("document-types.columns.type"),meta:{type:"select",editable:!0,config:{options:Object.values(m)}},size:80}),p.accessor("staticGeneratorEnabled",{header:r("document-types.columns.static"),size:70,cell:e=>(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:"page"===e.row.original.type&&(0,tq.jsx)(ni.Checkbox,{checked:!!e.getValue(),onChange:t=>{var i,n;null==(n=e.table.options.meta)||null==(i=n.onUpdateCellData)||i.call(n,{rowIndex:e.row.index,columnId:e.column.id,value:t.target.checked,rowData:e.row.original})}})})}),p.accessor("priority",{header:r("document-types.columns.priority"),meta:{type:"number",editable:!0},size:80}),p.accessor("creationDate",{header:r("document-types.columns.creation-date"),meta:{type:"date"},size:150}),p.accessor("modificationDate",{header:r("document-types.columns.modification-date"),meta:{type:"date"},size:150}),p.accessor("actions",{header:r("document-types.columns.actions"),size:80,cell:e=>(e=>{let{info:t,setDocumentTypeRows:i}=e,n=t.row.original.id,{deleteDocumentTypeById:r,deleteLoading:a}=Fh(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsxs)("div",{className:"document-types-table--actions-column",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"translate"},onClick:()=>{console.log("Open Translate View")},type:"link"}),(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})]})})({info:e,setDocumentTypeRows:i})})],h=async e=>{let{columnId:t,value:n,rowData:r}=e,l=r.rowId,o={...r,[t]:n};i(e=>e.map(e=>e.rowId===l?o:e)),c([{columnId:t,rowIndex:l}]);let{success:s}=await a(o.id,o);s?c([]):i(e=>e.map(e=>e.rowId===l?r:e))};return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:g,data:t,enableSorting:!0,modifiedCells:d,onUpdateCellData:h,resizable:!0,setRowId:e=>e.rowId})})},Fv=()=>{let{createNewDocumentType:e,createLoading:t}=Fh(),i=(()=>{let{data:e,error:t}=(0,od.XS)(),{data:i,error:n}=(0,od.$P)(),{data:r,error:a}=(0,od.XE)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(t)||(0,iX.Ay)(new iX.hD(t))},[t]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(n)||(0,iX.Ay)(new iX.hD(n))},[n]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(a)||(0,iX.Ay)(new iX.hD(a))},[a]),{controllers:(0,tI.isUndefined)(e)?[]:null==e?void 0:e.items,templates:(0,tI.isUndefined)(i)?[]:null==i?void 0:i.items,docTypes:(0,tI.isUndefined)(r)?[]:null==r?void 0:r.items}})(),{data:n,isLoading:r,isFetching:a,error:l,refetch:o}=(0,od.BZ)({}),s=()=>{o().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})};(0,tG.useEffect)(()=>{s()},[]);let[d,c]=(0,tG.useState)([]),f=(null==n?void 0:n.items)??[],u=[...d].sort((e,t)=>{let i=e.name??"",n=t.name??"";return i.localeCompare(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||c(f.map(e=>({...e,rowId:(0,af.uuid)()})))},[f]);let m=async()=>{let{success:t,data:i}=await e();t&&void 0!==i&&c(e=>[{...i,rowId:(0,af.uuid)()},...e])};return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{theme:"secondary",children:(0,tq.jsx)(ni.IconButton,{disabled:a,icon:{value:"refresh"},onClick:s})}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.document-types")}),(0,tq.jsx)(ni.IconTextButton,{disabled:r??t,icon:{value:"new"},loading:t,onClick:m,children:(0,i6.t)("document-types.new")})]})}),children:(0,tq.jsx)(uE.U,{loading:r||a,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(f)??0===f.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(Fy,{config:i,documentTypeRows:u,setDocumentTypeRows:c})})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"ExperienceEcommerce/Document Types",label:"navigation.document-types",className:"item-style-modifier",order:900,permission:pw.F.DocumentTypes,perspectivePermission:pk.d.DocumentTypes,widgetConfig:{name:"Document Types",id:"document-types",component:"document-types",config:{translationKey:"widget.document-types",icon:{type:"name",value:"document-types"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"document-types",component:Fv})}});let Fb=pR.api.enhanceEndpoints({addTagTypes:["Website Settings"]}).injectEndpoints({endpoints:e=>({websiteSettingsAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/website-settings/add",method:"POST",body:e.websiteSettingsAdd}),invalidatesTags:["Website Settings"]}),websiteSettingsGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/website-settings",method:"POST",body:e.body}),providesTags:["Website Settings"]}),websiteSettingsUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/website-settings/${e.id}`,method:"PUT",body:e.websiteSettingsUpdate}),invalidatesTags:["Website Settings"]}),websiteSettingsDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/website-settings/${e.id}`,method:"DELETE"}),invalidatesTags:["Website Settings"]}),websiteSettingsListTypes:e.query({query:()=>({url:"/pimcore-studio/api/website-settings/types"}),providesTags:["Website Settings"]})}),overrideExisting:!1}),{useWebsiteSettingsAddMutation:Fx,useWebsiteSettingsGetCollectionQuery:Fj,useWebsiteSettingsUpdateMutation:Fw,useWebsiteSettingsDeleteMutation:Fk,useWebsiteSettingsListTypesQuery:FT}=Fb,FS=Fb.enhanceEndpoints({addTagTypes:[uT.nP.WEBSITE_SETTINGS],endpoints:{websiteSettingsGetCollection:{providesTags:(e,t,i)=>uT.yc.WEBSITE_SETTINGS()},websiteSettingsDelete:{invalidatesTags:()=>[]},websiteSettingsAdd:{invalidatesTags:()=>[]},websiteSettingsUpdate:{invalidatesTags:()=>[]},websiteSettingsListTypes:{providesTags:()=>[]}}}),{useWebsiteSettingsAddMutation:FC,useWebsiteSettingsDeleteMutation:FD,useWebsiteSettingsGetCollectionQuery:FI,useWebsiteSettingsUpdateMutation:FM,useWebsiteSettingsListTypesQuery:FL}=FS,FF=()=>{let[e,{isLoading:t}]=FC(),[i,{isLoading:n}]=FD(),[r,{isLoading:a}]=FM();return{createNewSetting:async(t,i)=>{try{let n=await e({websiteSettingsAdd:{name:t,type:i}});if((0,tI.isUndefined)(n.error)||(0,iX.Ay)(new iX.hD(n.error)),"data"in n)return{success:!0,data:n.data}}catch{(0,iX.Ay)(new iX.$g("Error creating Website Settings"))}return{success:!1}},createLoading:t,deleteSettingById:async e=>{try{let t=await i({id:e});return(0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Error deleting Website Settings")),{success:!1}}},deleteLoading:n,updateSettingById:async(e,t)=>{try{let i=await r({id:e,websiteSettingsUpdate:t});return(0,tI.isUndefined)(i.error)||(0,iX.Ay)(new iX.hD(i.error)),{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Error updating Website Settings")),{success:!1}}},updateLoading:a}},FE=e=>{let{info:t,setWebsiteSettingRows:i}=e,n=t.row.original.id,{deleteSettingById:r,deleteLoading:a}=FF(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",className:"website-settings-table--actions-column",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},FP=e=>{let{websiteSettingRows:t,setWebsiteSettingRows:i,typeSelectOptions:n}=e,{t:r}=(0,iQ.useTranslation)(),{updateSettingById:a}=FF(),[l,o]=(0,tG.useState)([]),{getAllSites:s,getSiteById:d}=(0,c9.u)(),c=t.map(e=>{if(null==e.siteId)return{...e,siteDomain:""};let t=isNaN(Number(null==e?void 0:e.siteId))?void 0:d(Number(e.siteId)),i=(0,tI.isUndefined)(t)?"":r(t.domain);return{...e,siteDomain:i}}),f=s().map(e=>({value:e.id,label:r(e.domain)})),u=async e=>{let{columnId:t,value:n,rowData:r}=e,l=r.rowId,s={...r,["siteDomain"===t?"siteId":t]:n};i(e=>e.map(e=>e.rowId===l?s:e)),o([{columnId:t,rowIndex:l}]);let{success:d}=await a(s.id,{name:s.name??"",language:s.language??"",data:s.data,siteId:s.siteId??0});d?o([]):i(e=>e.map(e=>e.rowId===l?r:e))},m=(0,cH.createColumnHelper)(),p=[m.accessor("type",{header:r("website-settings.columns.type"),meta:{type:"select",editable:!1,config:{options:n}},size:80}),m.accessor("name",{header:r("website-settings.columns.name"),meta:{editable:!0},size:200}),m.accessor("language",{header:r("website-settings.columns.language"),meta:{type:"language-select",editable:!0},size:60}),m.accessor("data",{header:r("website-settings.columns.value"),meta:{type:"website-settings-value",editable:!0,clearable:!0,showPublishedState:!1},size:200}),m.accessor("siteDomain",{header:r("website-settings.columns.site"),meta:{type:"select",editable:!0,config:{options:f}},size:110}),m.accessor("actions",{header:r("properties.columns.actions"),size:60,cell:e=>(0,tq.jsx)(FE,{info:e,setWebsiteSettingRows:i})})];return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:p,data:c,enableSorting:!0,modifiedCells:l,onUpdateCellData:u,resizable:!0,setRowId:e=>e.rowId})})},FA=()=>{let[e]=ni.Form.useForm(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o}=FL(),s=null==o?void 0:o.items,d=(0,tI.isUndefined)(s)?[]:s.map(e=>({value:e.key,label:e.title})),{data:c,isLoading:f,isFetching:u,error:m}=FI((0,tG.useMemo)(()=>({body:{filters:{page:n,pageSize:a,columnFilters:t.length>0?[{key:"name",type:"like",filterValue:t}]:[]}}}),[t,n,a]),{refetchOnMountOrArgChange:!0}),{createNewSetting:p,createLoading:g}=FF(),h=(0,iv.useAppDispatch)(),[y,v]=(0,tG.useState)([]),b=(null==c?void 0:c.items)??[],x=[...y].sort((e,t)=>{let i=e.name??"",n=t.name??"";return i.localeCompare(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(b)||v(b.map(e=>({...e,rowId:(0,af.uuid)()})))},[b]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,iX.Ay)(new iX.hD(m))},[m]);let{showModal:j,closeModal:w,renderModal:k}=(0,ni.useModal)({type:"error"}),{showModal:T,closeModal:S,renderModal:C}=(0,ni.useModal)({type:"error"}),D=(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(k,{footer:(0,tq.jsx)(ni.ModalFooter,{children:(0,tq.jsx)(ni.Button,{onClick:w,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("website-settings.website-settings-already-exist.title"),children:(0,i6.t)("website-settings.website-settings-already-exist.error")}),(0,tq.jsx)(C,{footer:(0,tq.jsx)(ni.ModalFooter,{children:(0,tq.jsx)(ni.Button,{onClick:S,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("website-settings.website-settings.add-entry-mandatory-fields-missing.title"),children:(0,i6.t)("website-settings.website-settings.add-entry-mandatory-fields-missing.error")})]}),I=async(t,i)=>{let n=void 0!==i&&""!==i;if(""===t||void 0===t||!n)return void T();if((null==y?void 0:y.find(e=>e.name===t))!==void 0)return void j();let{success:r,data:a}=await p(t,i);r&&void 0!==a&&(v(e=>[{...a,rowId:(0,af.uuid)()},...e]),e.resetFields())};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(lp.K,{disabled:u,icon:{value:"refresh"},onClick:()=>{h(FS.util.invalidateTags(pR.invalidatingTags.WEBSITE_SETTINGS()))}}),(0,tq.jsx)(ni.Pagination,{current:n,onChange:(e,t)=>{r(e),l(t)},showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:(null==c?void 0:c.totalItems)??0})]}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},padding:{x:"small"},theme:"secondary",children:[(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.website-settings")}),(0,tq.jsx)(ni.Form,{form:e,layout:"inline",onFinish:e=>{let{name:t,type:i}=e;I(t,i)},children:(0,tq.jsxs)(ap.s,{children:[(0,tq.jsx)(ni.Form.Item,{name:"name",children:(0,tq.jsx)(ni.Input,{placeholder:(0,i6.t)("properties.add-custom-property.key")})}),(0,tq.jsx)(ni.Form.Item,{name:"type",children:(0,tq.jsx)(ni.Select,{className:"min-w-100",options:d,placeholder:(0,i6.t)("properties.add-custom-property.type")})}),(0,tq.jsx)(ni.Form.Item,{children:(0,tq.jsx)(ni.IconTextButton,{htmlType:"submit",icon:{value:"new"},loading:g,children:(0,i6.t)("website-settings.new")})})]})})]}),(0,tq.jsx)(ni.SearchInput,{loading:u,onSearch:e=>{i(e)},placeholder:"Search",withPrefix:!1,withoutAddon:!1})]}),children:(0,tq.jsx)(uE.U,{loading:f||u,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(y)||0===y.length,children:(0,tq.jsxs)(ni.Box,{margin:{x:"extra-small",y:"none"},children:[(0,tq.jsx)(FP,{setWebsiteSettingRows:v,typeSelectOptions:d,websiteSettingRows:x}),D]})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"ExperienceEcommerce/Website Settings",label:"navigation.website-settings",order:1e3,className:"item-style-modifier",permission:pw.F.WebsiteSettings,perspectivePermission:pk.d.WebsiteSettings,widgetConfig:{name:"Website Settings",id:"website-settings",component:"website-settings",config:{translationKey:"widget.website-settings",icon:{type:"name",value:"web-settings"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"website-settings",component:FA})}});var FN=i(52626),FR=i(72098);let FV=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance(),i=e=>(0,tI.isObject)(e)&&(0,tI.has)(e,"cleared")&&!0===e.cleared?"":(0,tI.isObject)(e)?e.toHexString():"";return(0,tq.jsx)(ay.Z,{border:!1,collapsed:!1,collapsible:!0,contentPadding:"extra-small",theme:"card-with-highlight",title:e("appearance-branding.color.title"),children:(0,tq.jsxs)(a$.$,{direction:"vertical",size:"extra-small",children:[(0,tq.jsxs)(tJ.lV.Item,{label:e("appearance-branding.color.brand-color.label"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["branding","brandColor"],noStyle:!0,children:(0,tq.jsx)(md.s,{allowClear:!0,"data-testid":"appearance-branding-brand-color",format:"hex",onChange:e=>{let n=i(e);t.setFieldValue(["branding","brandColor"],n)},showText:!0})}),(0,tq.jsx)("div",{style:{marginTop:8,fontSize:"12px",color:"#666"},children:e("appearance-branding.color.brand-color.description")})]}),(0,tq.jsxs)(tJ.lV.Item,{label:e("appearance-branding.color.background-shade.label"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["branding","backgroundShade"],noStyle:!0,children:(0,tq.jsx)(md.s,{allowClear:!0,"data-testid":"appearance-branding-background-shade",format:"hex",onChange:e=>{let n=i(e);t.setFieldValue(["branding","backgroundShade"],n)},showText:!0})}),(0,tq.jsx)("div",{style:{marginTop:8,fontSize:"12px",color:"#666"},children:e("appearance-branding.color.background-shade.description")})]})]})})},Fz=e=>{let{titleKey:t,descriptionKey:i,fieldName:n,width:r=300,height:a=150,dataTestId:l}=e,{t:o}=(0,iQ.useTranslation)();return(0,tq.jsx)("div",{"data-testid":l,children:(0,tq.jsx)(ay.Z,{border:!1,collapsed:!1,collapsible:!0,contentPadding:"small",theme:"card-with-highlight",title:o(t),children:(0,tq.jsx)(tJ.lV.Item,{getValueFromEvent:e=>null!==e?{id:e.id,type:e.type??"asset",subtype:"image",fullPath:e.fullPath}:null,getValueProps:e=>({value:null!==e?{type:"asset",id:e.id,fullPath:e.fullPath}:null}),name:n,children:(0,tq.jsx)(mg,{allowedTypes:["image"],description:i,height:a,type:"add",width:r})})})})},FB=()=>{var e,t,i,n,r,a;let{t:l}=(0,iQ.useTranslation)(),{success:o}=(0,uI.J)(),{updateSettings:s,isLoading:d,adminSettings:c}=(()=>{let[e,{isLoading:t}]=(0,FN.Gg)(),i=(0,uk.jL)();(0,FN.cC)();let n=(0,Cv.useSelector)(FR.rC);return{updateSettings:async t=>{if(!(0,tI.isUndefined)(n)){let e={...n,...t};i((0,FR.XE)(e))}try{let r=await e({updateAdminSettings:t});if(!(0,tI.isUndefined)(r.error))return(0,tI.isUndefined)(n)||i((0,FR.XE)(n)),(0,iX.Ay)(new iX.hD(r.error)),{success:!1};return{success:"data"in r}}catch{return(0,tI.isUndefined)(n)||i((0,FR.XE)(n)),(0,iX.Ay)(new iX.$g("Failed to update appearance settings.")),{success:!1}}},isLoading:t,adminSettings:n}})(),[f]=tJ.lV.useForm(),u=(null==c?void 0:c.writeable)??!1,m={branding:{brandColor:(null==c||null==(e=c.branding)?void 0:e.brandColor)??"",backgroundShade:(null==c||null==(t=c.branding)?void 0:t.backgroundShade)??"",loginScreenCustomBackgroundImage:(null==c||null==(i=c.branding)?void 0:i.loginScreenCustomBackgroundImage)??null,customLogo:(null==c||null==(n=c.branding)?void 0:n.customLogo)??null},assets:{hide_edit_image:(null==c||null==(r=c.assets)?void 0:r.hide_edit_image)??!1,disable_tree_preview:(null==c||null==(a=c.assets)?void 0:a.disable_tree_preview)??!1}};return(0,tq.jsx)(n6.L,{formProps:{form:f,initialValues:m,onFinish:async e=>{let t={...e,assets:{hide_edit_image:m.assets.hide_edit_image,disable_tree_preview:m.assets.disable_tree_preview}};(await s(t)).success&&o(l("appearance-branding.update.success"))}},children:(0,tq.jsxs)(ap.s,{className:"appearance-branding-form absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"extra-small",y:"extra-small"},children:[(0,tq.jsx)(pd.h,{level:2,children:l("appearance-branding.title")}),(0,tq.jsxs)(a$.$,{direction:"vertical",size:"large",children:[(0,tq.jsx)(FV,{}),(0,tq.jsx)(Fz,{dataTestId:"appearance-branding-custom-logo",descriptionKey:"appearance-branding.custom-logo.description",fieldName:["branding","customLogo"],height:150,titleKey:"appearance-branding.custom-logo.title",width:300}),(0,tq.jsx)(Fz,{dataTestId:"appearance-branding-login-background",descriptionKey:"appearance-branding.custom-login-background.description",fieldName:["branding","loginScreenCustomBackgroundImage"],height:150,titleKey:"appearance-branding.custom-login-background.title",width:300})]})]}),(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(iN.m,{title:u?"":l("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"appearance-branding-save-button",disabled:!u,htmlType:"submit",loading:d,type:"primary",children:l("save")})})})]})})},FO={name:"Appearance & Branding",id:"appearance-branding",component:"appearance-branding",config:{translationKey:"widget.appearance-branding",icon:{type:"name",value:"appearance-branding"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/Appearance-Branding",label:"navigation.appearance-branding",className:"item-style-modifier",order:200,permission:pw.F.Appearance,perspectivePermission:pk.d.Appearance,widgetConfig:FO}),tc.kL.get(td.K.widgetManager).registerWidget({name:"appearance-branding",component:FB})}});let FK=e=>{let{isFetching:t,onAdd:i,onRefresh:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(iN.m,{title:r("refresh"),children:(0,tq.jsx)(lp.K,{disabled:t,icon:{value:"refresh"},onClick:n,title:r("refresh"),type:"link"})}),(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new"},onClick:i,type:"link",children:r("new")})]})},F_=(e,t)=>{for(let i of t){if(i.id===e)return i;if("children"in i&&Array.isArray(i.children)){let t=F_(e,i.children);if(null!==t)return t}}return null},FH=(e,t)=>{let i=t.toLowerCase();return e.filter(e=>{let n=e.name.toLowerCase().includes(i);if("children"in e&&Array.isArray(e.children)){let i=FH(e.children,t).length>0;return n||i}return n}).map(e=>"children"in e&&Array.isArray(e.children)?{...e,children:FH(e.children,t)}:e)},F$=e=>{let t=[];for(let i of e)"children"in i&&Array.isArray(i.children)&&t.push(String(i.id),...F$(i.children));return t},FW=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{icon:i`
+ `}}),Ff=e=>{let{emails:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=Fc(),r=t.map(e=>{let t;return t=[{label:i("widget.email-log.tab.text"),key:"text",children:(0,tq.jsx)(Fd,{email:e})},{label:i("widget.email-log.tab.html"),key:"html",children:(0,tq.jsx)(uR,{id:e.id})},{label:i("widget.email-log.tab.parameters"),key:"parameters",children:(0,tq.jsx)(uP,{id:e.id})}],{key:e.id.toString(),"data-testid":`email-log-entry-${e.id}`,label:(0,tq.jsxs)(ap.s,{align:"center",gap:"extra-small",children:[(0,tq.jsx)(r9.I,{value:"send-03"}),(0,tq.jsx)("span",{"data-testid":`email-log-subject-${e.id}`,children:e.subject})]}),subLabel:(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)("span",{children:`${i("widget.email-log.from")}: ${e.from}`}),(0,tq.jsx)(m1.c,{className:n.divider,type:"vertical"}),(0,tq.jsx)("span",{children:`${i("widget.email-log.to")}: ${e.to}`})]}),theme:e.hasError?"error":"default",subLabelPosition:"inline",extra:(0,tq.jsxs)(ap.s,{align:"center",gap:4,children:[e.hasError&&(0,tq.jsx)(r9.I,{className:n.errorIcon,value:"close-filled"}),(0,tq.jsx)("span",{children:(0,af.formatDateTime)({timestamp:e.sentDate,dateStyle:"short",timeStyle:"short"})})]}),children:(0,tq.jsxs)(ap.s,{className:"email-log-content","data-testid":`email-log-entry-content-${e.id}`,gap:"small",vertical:!0,children:[(0,tq.jsx)(Fr,{email:e}),e.hasError&&(0,tq.jsx)(ap.s,{vertical:!0,children:(0,tq.jsx)(Fa,{email:e})}),(0,tq.jsx)(ge.t,{destroyInactiveTabPane:!0,items:t,noPadding:!0})]})}});return(0,tq.jsx)(ac.SD,{items:r})},Fu=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,uk.jL)(),[i,n]=(0,tG.useState)(1),[r,a]=(0,tG.useState)(20),[l,o]=(0,tG.useState)(!1),{data:s,isLoading:d,isFetching:c}=(0,uM.CH)({page:i,pageSize:r}),f=(null==s?void 0:s.totalItems)??0;return(0,tG.useEffect)(()=>{c||o(!1)},[c]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",theme:"secondary",children:[(0,tq.jsx)(lp.K,{"data-testid":"email-log-refresh-button",disabled:d||l,icon:{value:"refresh"},onClick:()=>{o(!0),t(uw.FH.util.invalidateTags(uT.qN.EMAIL_LOG()))}}),(0,tq.jsx)(po.d,{current:i,defaultPageSize:r,onChange:(e,t)=>{n(e),a(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:f})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(ap.s,{gap:"small",children:(0,tq.jsx)(pd.h,{children:e("widget.email-log")})})}),children:(0,tq.jsx)(uE.U,{"data-testid":"email-log-content",loading:d||l&&c,none:(0,tI.isUndefined)(null==s?void 0:s.items)||0===s.items.length,padded:!0,children:!(0,tI.isUndefined)(null==s?void 0:s.items)&&(0,tq.jsx)(Ff,{emails:s.items})})})};var Fm=i(5229);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.widgetManager);e.registerWidget({name:"email-blocklist",component:Fi}),e.registerWidget({name:"email-log",component:Fu});let t=tc.kL.get(td.K.mainNavRegistry);t.registerMainNavItem({path:"ExperienceEcommerce/Email",label:"navigation.email",order:300,permission:pw.F.Emails,perspectivePermission:pk.d.Mails}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Sent-Emails",label:"navigation.email-log",order:100,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,widgetConfig:{name:"emailLog",id:"email-log",component:"email-log",config:{translationKey:"widget.email-log",icon:{type:"name",value:"mail-02"}}}}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Email-Blocklist",label:"navigation.email-blocklist",order:200,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,widgetConfig:{name:"EmailBlocklist",id:"email-blocklist",component:"email-blocklist",config:{translationKey:"widget.email-blocklist",icon:{type:"name",value:"users-x"}}}}),t.registerMainNavItem({path:"ExperienceEcommerce/Email/Send Test-Email",label:"navigation.test-email",order:300,className:"item-style-modifier",permission:pw.F.Emails,perspectivePermission:pk.d.Mails,useCustomMainNavItem:()=>{let{setIsOpen:e}=(()=>{let e=(0,tG.useContext)(Fm.w);if((0,tI.isNil)(e))throw Error("useSendTestEmailContext must be used within a SendTestEmailProvider");return e})();return{name:"SendTestEmail",onClick:()=>{e(!0)},icon:{type:"name",value:"users-x"}}}})}});var Fp=i(64860);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"QuickAccess/Open Asset",label:"navigation.open-asset",order:100,permission:pw.F.Assets,perspectivePermission:pk.d.OpenAsset,useCustomMainNavItem:()=>{let{open:e}=(0,Fp.Q)();return{name:"OpenAsset",onClick:()=>{e("asset")}}}}),e.registerMainNavItem({path:"QuickAccess/Open Data Object",label:"navigation.open-data-object",order:200,permission:pw.F.Objects,perspectivePermission:pk.d.OpenObject,useCustomMainNavItem:()=>{let{open:e}=(0,Fp.Q)();return{name:"OpenDataObject",onClick:()=>{e("data-object")}}}}),e.registerMainNavItem({path:"QuickAccess/Open Document",label:"navigation.open-document",dividerBottom:!0,order:300,permission:pw.F.Documents,perspectivePermission:pk.d.OpenDocument,useCustomMainNavItem:()=>{let{open:e}=(0,Fp.Q)();return{name:"OpenDocument",onClick:()=>{e("document")}}}})}});var Fg=i(16939);let Fh=()=>{let[e,{isLoading:t}]=(0,Fg.gu)(),[i,{isLoading:n}]=(0,Fg.nT)(),[r,{isLoading:a}]=(0,Fg.Xi)();return{createNewProperty:async()=>{try{let t=await e();if("data"in t)return{success:!0,data:t.data}}catch(e){(0,iX.Ay)(new iX.$g("Was not able to create Property"))}return{success:!1}},createLoading:t,deletePropertyById:async e=>{try{let t=await i({id:e});return{success:"data"in t}}catch(e){return(0,iX.Ay)(new iX.$g("Was not able to delete Property")),{success:!1}}},deleteLoading:n,updatePropertyById:async(e,t)=>{try{let i=await r({id:e,updatePredefinedProperty:{name:t.name??"",description:t.description??"",key:t.key??"",type:t.type??"",data:t.data??"",config:t.config??"",ctype:t.ctype??"",inheritable:t.inheritable}});return{success:"data"in i}}catch(e){return(0,iX.Ay)(new iX.$g("Was not able to update Property")),{success:!1}}},updateLoading:a}};var Fy=((x={}).Text="text",x.Document="document",x.Asset="asset",x.Object="object",x.Boolean="bool",x.Select="select",x);let Fv=e=>{let{info:t,setPredefinedPropertyRows:i}=e,n=t.row.original.id,{deletePropertyById:r,deleteLoading:a}=Fh(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsxs)("div",{className:"properties-table--actions-column",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"translate"},onClick:()=>{console.log("Open Translate View")},type:"link"}),(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})]})},Fb=e=>{let{predefinedPropertyRows:t,setPredefinedPropertyRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updatePropertyById:r}=Fh(),[a,l]=(0,tG.useState)([]),o=(0,cH.createColumnHelper)(),s=[o.accessor("name",{header:n("properties.columns.name"),meta:{editable:!0},size:200}),o.accessor("description",{header:n("properties.columns.description"),meta:{editable:!0},size:200}),o.accessor("key",{header:n("properties.columns.key"),meta:{editable:!0},size:200}),o.accessor("type",{header:n("properties.columns.type"),meta:{type:"select",editable:!0,config:{options:Object.values(Fy)}},size:100}),o.accessor("data",{header:n("properties.columns.data"),meta:{editable:!0},size:150}),o.accessor("config",{header:n("properties.columns.configuration"),meta:{editable:!0},size:150}),o.accessor("ctype",{header:n("properties.columns.content-type"),meta:{type:"select",editable:!0,config:{options:dR.allLegacyElementTypes}},size:110}),o.accessor("inheritable",{header:n("properties.columns.inheritable"),size:95,meta:{type:"checkbox",editable:!0,config:{align:"center"}}}),o.accessor("actions",{header:n("properties.columns.actions"),size:80,cell:e=>(0,tq.jsx)(Fv,{info:e,setPredefinedPropertyRows:i})})],d=async e=>{let{columnId:t,value:n,rowData:a}=e,o=a.rowId,s={...a,[t]:n};i(e=>e.map(e=>e.rowId===o?s:e)),l([{columnId:t,rowIndex:o}]);let{success:d}=await r(s.id,s);d?l([]):i(e=>e.map(e=>e.rowId===o?a:e))};return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:s,data:t,enableSorting:!0,modifiedCells:a,onUpdateCellData:d,resizable:!0,setRowId:e=>e.rowId})})},Fx=()=>{let{createNewProperty:e,createLoading:t}=Fh(),[i,n]=(0,tG.useState)(""),r=(0,tG.useMemo)(()=>({filter:i}),[i]),{data:a,isLoading:l,isFetching:o,error:s,refetch:d}=(0,Fg.VC)(r),c=()=>{d().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})};(0,tG.useEffect)(()=>{c()},[]);let[f,u]=(0,tG.useState)([]),m=null==a?void 0:a.items,p=[...f].sort((e,t)=>t.creationDate-e.creationDate);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||u(m.map(e=>({...e,rowId:(0,af.uuid)()})))},[m]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]);let g=async()=>{let{success:t,data:i}=await e();t&&void 0!==i&&u(e=>[{...i,rowId:(0,af.uuid)()},...e])};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{theme:"secondary",children:(0,tq.jsx)(lp.K,{disabled:o,icon:{value:"refresh"},onClick:c})}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:[(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.predefined-properties")}),(0,tq.jsx)(ni.IconTextButton,{disabled:l||t,icon:{value:"new"},loading:t,onClick:g,children:(0,i6.t)("predefined-properties.new")})]}),(0,tq.jsx)(ni.SearchInput,{loading:o,onSearch:e=>{n(e)},placeholder:"Search",withPrefix:!1,withoutAddon:!1})]}),children:(0,tq.jsx)(uE.U,{loading:l||o,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(m)||0===m.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(Fb,{predefinedPropertyRows:p,setPredefinedPropertyRows:u})})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/Predefined Properties",label:"navigation.predefined-properties",order:900,className:"item-style-modifier",permission:pw.F.PredefinedProperties,perspectivePermission:pk.d.PredefinedProperties,widgetConfig:{name:"Predefined Properties",id:"predefined-properties",component:"predefined-properties",config:{translationKey:"widget.predefined-properties",icon:{type:"name",value:"properties"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"predefined-properties",component:Fx})}});let Fj=()=>{let[e,{isLoading:t}]=(0,I4.zO)(),[i,{isLoading:n}]=(0,I4.Pp)(),[r,{isLoading:a}]=(0,I4.v2)(),l={docTypeAddParameters:{name:"New Document Type",type:"page"}};return{createNewDocumentType:async()=>{try{let t=await e(l);if((0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),"data"in t)return{success:!0,data:t.data}}catch{(0,iX.Ay)(new iX.$g("Was not able to create DocumentType"))}return{success:!1}},createLoading:t,deleteDocumentTypeById:async e=>{try{let t=await i({id:e});return(0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Was not able to delete DocumentType")),{success:!1}}},deleteLoading:n,updateDocumentTypeById:async(e,t)=>{try{let i=await r({id:e,docTypeUpdateParameters:{name:t.name??"",type:t.type??"",group:t.group??"",controller:t.controller??"",template:t.template??"",priority:t.priority??0,staticGeneratorEnabled:t.staticGeneratorEnabled??!1}});return(0,tI.isUndefined)(i.error)||(0,iX.Ay)(new iX.hD(i.error)),{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Was not able to update DocumentType")),{success:!1}}},updateLoading:a}},Fw=e=>{let{documentTypeRows:t,setDocumentTypeRows:i,config:n}=e,{t:r}=(0,iQ.useTranslation)(),{updateDocumentTypeById:a}=Fj(),{controllers:l,templates:o,docTypes:s}=n,[d,c]=(0,tG.useState)([]),f=l.map(e=>e.name),u=o.map(e=>e.path),m=s.map(e=>e.name),p=(0,cH.createColumnHelper)(),g=[p.accessor("name",{header:r("document-types.columns.name"),meta:{editable:!0},size:200}),p.accessor("group",{header:r("document-types.columns.group"),meta:{editable:!0},size:100}),p.accessor("controller",{header:r("document-types.columns.controller"),meta:{type:"select",editable:!0,config:{options:Object.values(f)}},size:200}),p.accessor("template",{header:r("document-types.columns.template"),meta:{type:"select",editable:!0,config:{options:Object.values(u)}},size:150}),p.accessor("type",{header:r("document-types.columns.type"),meta:{type:"select",editable:!0,config:{options:Object.values(m)}},size:80}),p.accessor("staticGeneratorEnabled",{header:r("document-types.columns.static"),size:70,cell:e=>(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:"page"===e.row.original.type&&(0,tq.jsx)(ni.Checkbox,{checked:!!e.getValue(),onChange:t=>{var i,n;null==(n=e.table.options.meta)||null==(i=n.onUpdateCellData)||i.call(n,{rowIndex:e.row.index,columnId:e.column.id,value:t.target.checked,rowData:e.row.original})}})})}),p.accessor("priority",{header:r("document-types.columns.priority"),meta:{type:"number",editable:!0},size:80}),p.accessor("creationDate",{header:r("document-types.columns.creation-date"),meta:{type:"date"},size:150}),p.accessor("modificationDate",{header:r("document-types.columns.modification-date"),meta:{type:"date"},size:150}),p.accessor("actions",{header:r("document-types.columns.actions"),size:80,cell:e=>(e=>{let{info:t,setDocumentTypeRows:i}=e,n=t.row.original.id,{deleteDocumentTypeById:r,deleteLoading:a}=Fj(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsxs)("div",{className:"document-types-table--actions-column",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"translate"},onClick:()=>{console.log("Open Translate View")},type:"link"}),(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})]})})({info:e,setDocumentTypeRows:i})})],h=async e=>{let{columnId:t,value:n,rowData:r}=e,l=r.rowId,o={...r,[t]:n};i(e=>e.map(e=>e.rowId===l?o:e)),c([{columnId:t,rowIndex:l}]);let{success:s}=await a(o.id,o);s?c([]):i(e=>e.map(e=>e.rowId===l?r:e))};return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:g,data:t,enableSorting:!0,modifiedCells:d,onUpdateCellData:h,resizable:!0,setRowId:e=>e.rowId})})},Fk=()=>{let{createNewDocumentType:e,createLoading:t}=Fj(),i=(()=>{let{data:e,error:t}=(0,od.XS)(),{data:i,error:n}=(0,od.$P)(),{data:r,error:a}=(0,od.XE)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(t)||(0,iX.Ay)(new iX.hD(t))},[t]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(n)||(0,iX.Ay)(new iX.hD(n))},[n]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(a)||(0,iX.Ay)(new iX.hD(a))},[a]),{controllers:(0,tI.isUndefined)(e)?[]:null==e?void 0:e.items,templates:(0,tI.isUndefined)(i)?[]:null==i?void 0:i.items,docTypes:(0,tI.isUndefined)(r)?[]:null==r?void 0:r.items}})(),{data:n,isLoading:r,isFetching:a,error:l,refetch:o}=(0,od.BZ)({}),s=()=>{o().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})};(0,tG.useEffect)(()=>{s()},[]);let[d,c]=(0,tG.useState)([]),f=(null==n?void 0:n.items)??[],u=[...d].sort((e,t)=>{let i=e.name??"",n=t.name??"";return i.localeCompare(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||c(f.map(e=>({...e,rowId:(0,af.uuid)()})))},[f]);let m=async()=>{let{success:t,data:i}=await e();t&&void 0!==i&&c(e=>[{...i,rowId:(0,af.uuid)()},...e])};return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{theme:"secondary",children:(0,tq.jsx)(ni.IconButton,{disabled:a,icon:{value:"refresh"},onClick:s})}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.document-types")}),(0,tq.jsx)(ni.IconTextButton,{disabled:r??t,icon:{value:"new"},loading:t,onClick:m,children:(0,i6.t)("document-types.new")})]})}),children:(0,tq.jsx)(uE.U,{loading:r||a,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(f)??0===f.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(Fw,{config:i,documentTypeRows:u,setDocumentTypeRows:c})})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"ExperienceEcommerce/Document Types",label:"navigation.document-types",className:"item-style-modifier",order:900,permission:pw.F.DocumentTypes,perspectivePermission:pk.d.DocumentTypes,widgetConfig:{name:"Document Types",id:"document-types",component:"document-types",config:{translationKey:"widget.document-types",icon:{type:"name",value:"document-types"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"document-types",component:Fk})}});let FT=pR.api.enhanceEndpoints({addTagTypes:["Website Settings"]}).injectEndpoints({endpoints:e=>({websiteSettingsAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/website-settings/add",method:"POST",body:e.websiteSettingsAdd}),invalidatesTags:["Website Settings"]}),websiteSettingsGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/website-settings",method:"POST",body:e.body}),providesTags:["Website Settings"]}),websiteSettingsUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/website-settings/${e.id}`,method:"PUT",body:e.websiteSettingsUpdate}),invalidatesTags:["Website Settings"]}),websiteSettingsDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/website-settings/${e.id}`,method:"DELETE"}),invalidatesTags:["Website Settings"]}),websiteSettingsListTypes:e.query({query:()=>({url:"/pimcore-studio/api/website-settings/types"}),providesTags:["Website Settings"]})}),overrideExisting:!1}),{useWebsiteSettingsAddMutation:FS,useWebsiteSettingsGetCollectionQuery:FC,useWebsiteSettingsUpdateMutation:FD,useWebsiteSettingsDeleteMutation:FI,useWebsiteSettingsListTypesQuery:FM}=FT,FL=FT.enhanceEndpoints({addTagTypes:[uT.nP.WEBSITE_SETTINGS],endpoints:{websiteSettingsGetCollection:{providesTags:(e,t,i)=>uT.yc.WEBSITE_SETTINGS()},websiteSettingsDelete:{invalidatesTags:()=>[]},websiteSettingsAdd:{invalidatesTags:()=>[]},websiteSettingsUpdate:{invalidatesTags:()=>[]},websiteSettingsListTypes:{providesTags:()=>[]}}}),{useWebsiteSettingsAddMutation:FF,useWebsiteSettingsDeleteMutation:FE,useWebsiteSettingsGetCollectionQuery:FP,useWebsiteSettingsUpdateMutation:FA,useWebsiteSettingsListTypesQuery:FN}=FL,FR=()=>{let[e,{isLoading:t}]=FF(),[i,{isLoading:n}]=FE(),[r,{isLoading:a}]=FA();return{createNewSetting:async(t,i)=>{try{let n=await e({websiteSettingsAdd:{name:t,type:i}});if((0,tI.isUndefined)(n.error)||(0,iX.Ay)(new iX.hD(n.error)),"data"in n)return{success:!0,data:n.data}}catch{(0,iX.Ay)(new iX.$g("Error creating Website Settings"))}return{success:!1}},createLoading:t,deleteSettingById:async e=>{try{let t=await i({id:e});return(0,tI.isUndefined)(t.error)||(0,iX.Ay)(new iX.hD(t.error)),{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Error deleting Website Settings")),{success:!1}}},deleteLoading:n,updateSettingById:async(e,t)=>{try{let i=await r({id:e,websiteSettingsUpdate:t});return(0,tI.isUndefined)(i.error)||(0,iX.Ay)(new iX.hD(i.error)),{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Error updating Website Settings")),{success:!1}}},updateLoading:a}},FV=e=>{let{info:t,setWebsiteSettingRows:i}=e,n=t.row.original.id,{deleteSettingById:r,deleteLoading:a}=FR(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",className:"website-settings-table--actions-column",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},Fz=e=>{let{websiteSettingRows:t,setWebsiteSettingRows:i,typeSelectOptions:n}=e,{t:r}=(0,iQ.useTranslation)(),{updateSettingById:a}=FR(),[l,o]=(0,tG.useState)([]),{getAllSites:s,getSiteById:d}=(0,c9.u)(),c=t.map(e=>{if(null==e.siteId)return{...e,siteDomain:""};let t=isNaN(Number(null==e?void 0:e.siteId))?void 0:d(Number(e.siteId)),i=(0,tI.isUndefined)(t)?"":r(t.domain);return{...e,siteDomain:i}}),f=s().map(e=>({value:e.id,label:r(e.domain)})),u=async e=>{let{columnId:t,value:n,rowData:r}=e,l=r.rowId,s={...r,["siteDomain"===t?"siteId":t]:n};i(e=>e.map(e=>e.rowId===l?s:e)),o([{columnId:t,rowIndex:l}]);let{success:d}=await a(s.id,{name:s.name??"",language:s.language??"",data:s.data,siteId:s.siteId??0});d?o([]):i(e=>e.map(e=>e.rowId===l?r:e))},m=(0,cH.createColumnHelper)(),p=[m.accessor("type",{header:r("website-settings.columns.type"),meta:{type:"select",editable:!1,config:{options:n}},size:80}),m.accessor("name",{header:r("website-settings.columns.name"),meta:{editable:!0},size:200}),m.accessor("language",{header:r("website-settings.columns.language"),meta:{type:"language-select",editable:!0},size:60}),m.accessor("data",{header:r("website-settings.columns.value"),meta:{type:"website-settings-value",editable:!0,clearable:!0,showPublishedState:!1},size:200}),m.accessor("siteDomain",{header:r("website-settings.columns.site"),meta:{type:"select",editable:!0,config:{options:f}},size:110}),m.accessor("actions",{header:r("properties.columns.actions"),size:60,cell:e=>(0,tq.jsx)(FV,{info:e,setWebsiteSettingRows:i})})];return(0,tq.jsx)("div",{children:(0,tq.jsx)(ul.x,{autoWidth:!0,columns:p,data:c,enableSorting:!0,modifiedCells:l,onUpdateCellData:u,resizable:!0,setRowId:e=>e.rowId})})},FB=()=>{let[e]=ni.Form.useForm(),[t,i]=(0,tG.useState)(""),[n,r]=(0,tG.useState)(1),[a,l]=(0,tG.useState)(20),{data:o}=FN(),s=null==o?void 0:o.items,d=(0,tI.isUndefined)(s)?[]:s.map(e=>({value:e.key,label:e.title})),{data:c,isLoading:f,isFetching:u,error:m}=FP((0,tG.useMemo)(()=>({body:{filters:{page:n,pageSize:a,columnFilters:t.length>0?[{key:"name",type:"like",filterValue:t}]:[]}}}),[t,n,a]),{refetchOnMountOrArgChange:!0}),{createNewSetting:p,createLoading:g}=FR(),h=(0,iv.useAppDispatch)(),[y,v]=(0,tG.useState)([]),b=(null==c?void 0:c.items)??[],x=[...y].sort((e,t)=>{let i=e.name??"",n=t.name??"";return i.localeCompare(n)});(0,tG.useEffect)(()=>{(0,tI.isUndefined)(b)||v(b.map(e=>({...e,rowId:(0,af.uuid)()})))},[b]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,iX.Ay)(new iX.hD(m))},[m]);let{showModal:j,closeModal:w,renderModal:k}=(0,ni.useModal)({type:"error"}),{showModal:T,closeModal:S,renderModal:C}=(0,ni.useModal)({type:"error"}),D=(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(k,{footer:(0,tq.jsx)(ni.ModalFooter,{children:(0,tq.jsx)(ni.Button,{onClick:w,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("website-settings.website-settings-already-exist.title"),children:(0,i6.t)("website-settings.website-settings-already-exist.error")}),(0,tq.jsx)(C,{footer:(0,tq.jsx)(ni.ModalFooter,{children:(0,tq.jsx)(ni.Button,{onClick:S,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("website-settings.website-settings.add-entry-mandatory-fields-missing.title"),children:(0,i6.t)("website-settings.website-settings.add-entry-mandatory-fields-missing.error")})]}),I=async(t,i)=>{let n=void 0!==i&&""!==i;if(""===t||void 0===t||!n)return void T();if((null==y?void 0:y.find(e=>e.name===t))!==void 0)return void j();let{success:r,data:a}=await p(t,i);r&&void 0!==a&&(v(e=>[{...a,rowId:(0,af.uuid)()},...e]),e.resetFields())};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(lp.K,{disabled:u,icon:{value:"refresh"},onClick:()=>{h(FL.util.invalidateTags(pR.invalidatingTags.WEBSITE_SETTINGS()))}}),(0,tq.jsx)(ni.Pagination,{current:n,onChange:(e,t)=>{r(e),l(t)},showSizeChanger:!0,showTotal:e=>(0,i6.t)("pagination.show-total",{total:e}),total:(null==c?void 0:c.totalItems)??0})]}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},padding:{x:"small"},theme:"secondary",children:[(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.website-settings")}),(0,tq.jsx)(ni.Form,{form:e,layout:"inline",onFinish:e=>{let{name:t,type:i}=e;I(t,i)},children:(0,tq.jsxs)(ap.s,{children:[(0,tq.jsx)(ni.Form.Item,{name:"name",children:(0,tq.jsx)(ni.Input,{placeholder:(0,i6.t)("properties.add-custom-property.key")})}),(0,tq.jsx)(ni.Form.Item,{name:"type",children:(0,tq.jsx)(ni.Select,{className:"min-w-100",options:d,placeholder:(0,i6.t)("properties.add-custom-property.type")})}),(0,tq.jsx)(ni.Form.Item,{children:(0,tq.jsx)(ni.IconTextButton,{htmlType:"submit",icon:{value:"new"},loading:g,children:(0,i6.t)("website-settings.new")})})]})})]}),(0,tq.jsx)(ni.SearchInput,{loading:u,onSearch:e=>{i(e)},placeholder:"Search",withPrefix:!1,withoutAddon:!1})]}),children:(0,tq.jsx)(uE.U,{loading:f||u,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(y)||0===y.length,children:(0,tq.jsxs)(ni.Box,{margin:{x:"extra-small",y:"none"},children:[(0,tq.jsx)(Fz,{setWebsiteSettingRows:v,typeSelectOptions:d,websiteSettingRows:x}),D]})})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"ExperienceEcommerce/Website Settings",label:"navigation.website-settings",order:1e3,className:"item-style-modifier",permission:pw.F.WebsiteSettings,perspectivePermission:pk.d.WebsiteSettings,widgetConfig:{name:"Website Settings",id:"website-settings",component:"website-settings",config:{translationKey:"widget.website-settings",icon:{type:"name",value:"web-settings"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"website-settings",component:FB})}});var FO=i(52626),FK=i(72098);let F_=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance(),i=e=>(0,tI.isObject)(e)&&(0,tI.has)(e,"cleared")&&!0===e.cleared?"":(0,tI.isObject)(e)?e.toHexString():"";return(0,tq.jsx)(ay.Z,{border:!1,collapsed:!1,collapsible:!0,contentPadding:"extra-small",theme:"card-with-highlight",title:e("appearance-branding.color.title"),children:(0,tq.jsxs)(a$.$,{direction:"vertical",size:"extra-small",children:[(0,tq.jsxs)(tJ.lV.Item,{label:e("appearance-branding.color.brand-color.label"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["branding","brandColor"],noStyle:!0,children:(0,tq.jsx)(md.s,{allowClear:!0,"data-testid":"appearance-branding-brand-color",format:"hex",onChange:e=>{let n=i(e);t.setFieldValue(["branding","brandColor"],n)},showText:!0})}),(0,tq.jsx)("div",{style:{marginTop:8,fontSize:"12px",color:"#666"},children:e("appearance-branding.color.brand-color.description")})]}),(0,tq.jsxs)(tJ.lV.Item,{label:e("appearance-branding.color.background-shade.label"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["branding","backgroundShade"],noStyle:!0,children:(0,tq.jsx)(md.s,{allowClear:!0,"data-testid":"appearance-branding-background-shade",format:"hex",onChange:e=>{let n=i(e);t.setFieldValue(["branding","backgroundShade"],n)},showText:!0})}),(0,tq.jsx)("div",{style:{marginTop:8,fontSize:"12px",color:"#666"},children:e("appearance-branding.color.background-shade.description")})]})]})})},FH=e=>{let{titleKey:t,descriptionKey:i,fieldName:n,width:r=300,height:a=150,dataTestId:l}=e,{t:o}=(0,iQ.useTranslation)();return(0,tq.jsx)("div",{"data-testid":l,children:(0,tq.jsx)(ay.Z,{border:!1,collapsed:!1,collapsible:!0,contentPadding:"small",theme:"card-with-highlight",title:o(t),children:(0,tq.jsx)(tJ.lV.Item,{getValueFromEvent:e=>null!==e?{id:e.id,type:e.type??"asset",subtype:"image",fullPath:e.fullPath}:null,getValueProps:e=>({value:null!==e?{type:"asset",id:e.id,fullPath:e.fullPath}:null}),name:n,children:(0,tq.jsx)(mg,{allowedTypes:["image"],description:i,height:a,type:"add",width:r})})})})},F$=()=>{var e,t,i,n,r,a;let{t:l}=(0,iQ.useTranslation)(),{success:o}=(0,uI.J)(),{updateSettings:s,isLoading:d,adminSettings:c}=(()=>{let[e,{isLoading:t}]=(0,FO.Gg)(),i=(0,uk.jL)();(0,FO.cC)();let n=(0,Cw.useSelector)(FK.rC);return{updateSettings:async t=>{if(!(0,tI.isUndefined)(n)){let e={...n,...t};i((0,FK.XE)(e))}try{let r=await e({updateAdminSettings:t});if(!(0,tI.isUndefined)(r.error))return(0,tI.isUndefined)(n)||i((0,FK.XE)(n)),(0,iX.Ay)(new iX.hD(r.error)),{success:!1};return{success:"data"in r}}catch{return(0,tI.isUndefined)(n)||i((0,FK.XE)(n)),(0,iX.Ay)(new iX.$g("Failed to update appearance settings.")),{success:!1}}},isLoading:t,adminSettings:n}})(),[f]=tJ.lV.useForm(),u=(null==c?void 0:c.writeable)??!1,m={branding:{brandColor:(null==c||null==(e=c.branding)?void 0:e.brandColor)??"",backgroundShade:(null==c||null==(t=c.branding)?void 0:t.backgroundShade)??"",loginScreenCustomBackgroundImage:(null==c||null==(i=c.branding)?void 0:i.loginScreenCustomBackgroundImage)??null,customLogo:(null==c||null==(n=c.branding)?void 0:n.customLogo)??null},assets:{hide_edit_image:(null==c||null==(r=c.assets)?void 0:r.hide_edit_image)??!1,disable_tree_preview:(null==c||null==(a=c.assets)?void 0:a.disable_tree_preview)??!1}};return(0,tq.jsx)(n6.L,{formProps:{form:f,initialValues:m,onFinish:async e=>{let t={...e,assets:{hide_edit_image:m.assets.hide_edit_image,disable_tree_preview:m.assets.disable_tree_preview}};(await s(t)).success&&o(l("appearance-branding.update.success"))}},children:(0,tq.jsxs)(ap.s,{className:"appearance-branding-form absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsxs)(uE.U,{padded:!0,padding:{x:"extra-small",y:"extra-small"},children:[(0,tq.jsx)(pd.h,{level:2,children:l("appearance-branding.title")}),(0,tq.jsxs)(a$.$,{direction:"vertical",size:"large",children:[(0,tq.jsx)(F_,{}),(0,tq.jsx)(FH,{dataTestId:"appearance-branding-custom-logo",descriptionKey:"appearance-branding.custom-logo.description",fieldName:["branding","customLogo"],height:150,titleKey:"appearance-branding.custom-logo.title",width:300}),(0,tq.jsx)(FH,{dataTestId:"appearance-branding-login-background",descriptionKey:"appearance-branding.custom-login-background.description",fieldName:["branding","loginScreenCustomBackgroundImage"],height:150,titleKey:"appearance-branding.custom-login-background.title",width:300})]})]}),(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(iN.m,{title:u?"":l("config_not_writeable"),children:(0,tq.jsx)(az.$,{"data-testid":"appearance-branding-save-button",disabled:!u,htmlType:"submit",loading:d,type:"primary",children:l("save")})})})]})})},FW={name:"Appearance & Branding",id:"appearance-branding",component:"appearance-branding",config:{translationKey:"widget.appearance-branding",icon:{type:"name",value:"appearance-branding"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/Appearance-Branding",label:"navigation.appearance-branding",className:"item-style-modifier",order:200,permission:pw.F.Appearance,perspectivePermission:pk.d.Appearance,widgetConfig:FW}),tc.kL.get(td.K.widgetManager).registerWidget({name:"appearance-branding",component:F$})}});let Fq=e=>{let{isFetching:t,onAdd:i,onRefresh:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(iN.m,{title:r("refresh"),children:(0,tq.jsx)(lp.K,{disabled:t,icon:{value:"refresh"},onClick:n,title:r("refresh"),type:"link"})}),(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new"},onClick:i,type:"link",children:r("new")})]})},FG=(e,t)=>{for(let i of t){if(i.id===e)return i;if("children"in i&&Array.isArray(i.children)){let t=FG(e,i.children);if(null!==t)return t}}return null},FU=(e,t)=>{let i=t.toLowerCase();return e.filter(e=>{let n=e.name.toLowerCase().includes(i);if("children"in e&&Array.isArray(e.children)){let i=FU(e.children,t).length>0;return n||i}return n}).map(e=>"children"in e&&Array.isArray(e.children)?{...e,children:FU(e.children,t)}:e)},FQ=e=>{let t=[];for(let i of e)"children"in i&&Array.isArray(i.children)&&t.push(String(i.id),...FQ(i.children));return t},FJ=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{icon:i`
color: ${t.colorTextTreeElement};
- `}}),Fq=(0,tG.createContext)(void 0),FG=e=>{let{children:t}=e,{data:i,isLoading:n,isFetching:r,refetch:a,error:l}=(0,k9.Ji)(),[o,s]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,uj.trackError)(new uj.ApiError(l))},[l]);let d=(0,tG.useMemo)(()=>({thumbnailsData:i,isLoading:n,isFetching:r,refetch:a,expandedKeys:o,setExpandedKeys:s}),[i,n,r,a,o,s]);return(0,tq.jsx)(Fq.Provider,{value:d,children:t})},FU=e=>{let{onThumbnailSelect:t,onThumbnailClose:i,openedThumbnails:n,activeTabKey:r,modifiedThumbnails:a=[]}=e,{thumbnailsData:l,isLoading:o,isFetching:s,refetch:d,expandedKeys:c,setExpandedKeys:f}=(()=>{let e=(0,tG.useContext)(Fq);if(void 0===e)throw Error("useImageThumbnailsContext must be used within an ImageThumbnailsProvider");return e})(),[u,m]=(0,tG.useState)([]),[p,g]=(0,tG.useState)([]),[h,y]=(0,tG.useState)(""),[v,b]=(0,tG.useState)(0),{styles:x}=FW(),{handleDelete:j,handleAdd:w}=(e=>{let{refetch:t}=e,i=(0,aB.Vl)(),{t:n}=(0,iQ.useTranslation)(),r=(0,uI.J)(),[a,{error:l}]=(0,k9.HZ)(),[o,{error:s}]=(0,k9.eZ)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]),{handleDelete:(0,tG.useCallback)(async(e,r)=>{(0,tI.isNil)(e)||i.confirm({title:n("delete"),content:n("image-thumbnails.delete.confirm")+` "${e.name}"?`,onOk:async()=>{let i=await a({name:e.name});!(0,tI.has)(i,"error")&&(t(),(0,tI.isNil)(r)||r())}})},[t,n,a,i]),handleAdd:(0,tG.useCallback)(e=>{i.input({label:n("image-thumbnails.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:n("image-thumbnails.add.validation.message")},onOk:async i=>{let a=i.replaceAll(/[^a-zA-Z0-9_-]/g,"");if(a.length<=2)return void r.error(n("image-thumbnails.add.validation.message"));let l=await o({createThumbnailConfig:{name:a}});!(0,tI.has)(l,"error")&&(t(),(0,tI.isNil)(e)||e(a))}})},[o,t,n,i,r])}})({refetch:d}),k=(0,tG.useRef)(null);(0,tG.useEffect)(()=>{if(!(0,tI.isNil)(null==l?void 0:l.items)&&(m(l.items),g(l.items),b(e=>e+1),!(0,tI.isNil)(k.current))){let e=k.current,i=l.items.find(t=>"name"in t&&t.name===e);!(0,tI.isUndefined)(i)&&"writeable"in i&&t(i),k.current=null}},[l]),(0,tG.useEffect)(()=>{if(""===h)g(u),f([]);else{let e=FH(u,h);g(e),f(F$(e))}},[h,u]);let{t:T}=(0,iQ.useTranslation)(),S=e=>(0,tI.isNil)(e)?[]:[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:"base"})).map(e=>{let t="children"in e&&Array.isArray(e.children),i=!t&&a.includes(e.id);return{key:(0,tI.isUndefined)(e.id)?"":String(e.id),title:`${e.name}${i?" *":""}`,icon:"children"in e&&Array.isArray(e.children)?(0,tq.jsx)(r9.I,{className:x.icon,value:"folder"}):(0,tq.jsx)(r9.I,{className:x.icon,value:"image-thumbnail"}),children:t?S(e.children):void 0,isLeaf:!t,actions:t?[]:[{key:"delete",icon:"trash"}],allowDrag:!1,allowDrop:!1}}),C=(0,tG.useMemo)(()=>S(p),[p,a]),D=async e=>{let t=F_(e,u);!(0,tI.isNil)(t)&&"writeable"in t&&await j(t,()=>{i(e)})},I=async(e,t)=>{"delete"===t&&await D(e)};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(FK,{isFetching:s,onAdd:()=>{w(e=>{k.current=e})},onRefresh:d}),children:(0,tq.jsxs)(uE.U,{loading:o,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{y(e.target.value)},placeholder:T("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:s?"center":"start",vertical:!0,children:s?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:0===p.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(gQ.l,{defaultExpandedKeys:c,onActionsClick:I,onExpand:e=>{f(e)},onSelected:e=>{var i;let n;n=F_(i=String(e),u),(0,tI.isNil)(n)||("children"in n&&Array.isArray(n.children)?!(0,tI.isNil)(c)&&c.includes(i)?f(c.filter(e=>e!==i)):f([...c,i]):t(n))},selectedKeys:null!=r?[r]:[],treeData:C},`thumbnail-tree-${v}`)})})]})})};var FQ=i(76103),FJ=i(37836),FZ=i(3109),FY=i(44317);let FX=e=>{let{mediaQuery:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,tG.useMemo)(()=>t.transformations.map(e=>({type:e.type,data:e.config??{}})),[t.transformations]),a=(0,tG.useCallback)(e=>{null!=e&&i(e)},[i]),l=(0,tG.useMemo)(()=>tc.kL.get(td.K["DynamicTypes/TransformationFieldCollectionRegistry"]),[]);return(0,tq.jsx)(FY.Z,{addLabel:n("image-thumbnails.transformations.add"),onChange:a,registry:l,title:n("image-thumbnails.editor.transformations"),value:r})},F0=e=>{let{mediaQuery:t,onMediaQueryUpdate:i}=e,n=(0,tG.useRef)({}),r=(0,tG.useRef)(t);(0,tG.useEffect)(()=>{r.current=t});let a=(0,tG.useCallback)(e=>{let t=r.current;i({...t,transformations:e.map((e,i)=>{var r,a;let l=null==(r=t.transformations[i])?void 0:r.id;return""!==l&&null!=l?n.current[i]=l:(a=n.current)[i]??(a[i]=`transformation-${crypto.randomUUID()}`),{id:n.current[i],type:e.type,config:e.data}})})},[i]);return(0,tq.jsx)(FZ.p,{item:{name:"transformations"},children:(0,tq.jsx)(FX,{mediaQuery:t,onChange:a})})},F1="default",F2=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[],n=e[F1]??[],r={id:F1,query:F1,displayName:F1,transformations:n.map(e=>({id:F4(),type:e.method,config:e.arguments??{}})),order:0};return Object.entries(e).forEach(e=>{let[n,r]=e;if(n===F1)return;let a={id:F6(),query:n,displayName:F3(n),transformations:r.map(e=>({id:F4(),type:e.method,config:e.arguments??{}})),order:(0===t[n]?0:t[n])??0};i.push(a)}),i.sort((e,t)=>e.order-t.order),[r,...i]},F3=e=>{if(e.includes("min-width")){let t=/min-width:\s*(\d+)/.exec(e);return null===t?e:`≥ ${t[1]}px`}if(e.includes("max-width")){let t=/max-width:\s*(\d+)/.exec(e);return null===t?e:`≤ ${t[1]}px`}return e.length>20?e.substring(0,20)+"...":e},F6=()=>`mq-${(0,n7.u)()}`,F4=()=>`tr-${(0,n7.u)()}`,F5=e=>{let{mediaQueries:t,activeKey:i,onTabChange:n,onTabClose:r,onMediaQueryUpdate:a}=e,{t:l}=(0,iQ.useTranslation)(),o=(0,tG.useCallback)(e=>{a(e.id,e)},[a]),s=(0,tG.useCallback)((e,t)=>{"remove"===t&&"string"==typeof e&&r(e)},[r]),d=(0,tG.useMemo)(()=>t.map(e=>({key:e.id,label:e.id===F1?l("image-thumbnails.editor.media-queries.default"):e.displayName,closable:e.id!==F1,children:(0,tq.jsx)(F0,{mediaQuery:e,onMediaQueryUpdate:o})})),[t,o]);return(0,tq.jsx)(ge.t,{activeKey:i,hideAdd:!0,items:d,onChange:n,onEdit:s,size:"small",type:"editable-card"})},F7=e=>{let{mediaQueries:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,aB.Vl)(),[a,l]=(0,tG.useState)(F1),o=(0,tG.useCallback)(()=>{r.input({title:n("image-thumbnails.editor.media-queries.add.title"),label:n("image-thumbnails.editor.media-queries.add.label"),okText:"Create",cancelButtonProps:{style:{display:"none"}},maskClosable:!0,rule:{required:!0},onOk:async e=>{let n=e.trim().replaceAll(/[^a-zA-Z0-9_\-+]/g,"");if(""===n)return;let r={id:F6(),query:n,displayName:F3(n),transformations:[],order:t.length};i([...t,r]),l(r.id)}})},[t,i,r,n]),s=(0,tG.useCallback)((e,n)=>{i(t.map(t=>t.id===e?n:t))},[t,i]),d=(0,tG.useCallback)(e=>{if(e===F1)return;let n=t.filter(t=>t.id!==e);i(n),a===e&&l(n.length>0?n[0].id:F1)},[t,i,a]),c=(0,tq.jsx)(az.$,{icon:(0,tq.jsx)(r9.I,{options:{width:16,height:16},value:"plus-circle"}),onClick:o,size:"small",type:"link",children:n("image-thumbnails.editor.media-queries.new")});return(0,tq.jsx)(ay.Z,{border:!0,contentPadding:"small",extra:c,extraPosition:"end",theme:"card-with-highlight",title:n("image-thumbnails.editor.media-queries"),children:(0,tq.jsx)(F5,{activeKey:a,mediaQueries:t,onMediaQueryUpdate:s,onTabChange:l,onTabClose:d})})},F8=[{value:"auto",label:"Auto (Web-optimized - recommended)"},{value:"original",label:"ORIGINAL"},{value:"png",label:"PNG"},{value:"gif",label:"GIF"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"},{value:"avif",label:"AVIF"},{value:"tiff",label:"TIFF"}],F9=e=>{let{isNameDisabled:t=!1}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{contentPadding:"extra-small",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.name"),name:"name",rules:[{required:!0,message:i("image-thumbnails.editor.name-required")}],children:(0,tq.jsx)(aR.p,{disabled:t})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:4})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.format"),name:"format",rules:[{required:!0,message:i("image-thumbnails.editor.format-required")}],children:(0,tq.jsx)(t8.l,{options:F8,placeholder:i("image-thumbnails.editor.format-placeholder")})})]})},Ee=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ay.Z,{border:!0,collapsed:!0,collapsible:!0,contentPadding:"extra-small",theme:"card-with-highlight",title:e("image-thumbnails.editor.advanced"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("image-thumbnails.editor.quality"),name:"quality",tooltip:e("image-thumbnails.editor.quality.tooltip"),children:(0,tq.jsx)(df.Y,{max:100,min:1,placeholder:"85"})}),(0,tq.jsx)(tJ.lV.Item,{label:e("image-thumbnails.editor.high-resolution"),name:"highResolution",tooltip:e("image-thumbnails.editor.high-resolution.tooltip"),children:(0,tq.jsx)(df.Y,{max:10,min:1,step:.1})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveColor",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-color"),tooltip:e("image-thumbnails.editor.preserve-color.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"forceProcessICCProfiles",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.force-process-icc"),tooltip:e("image-thumbnails.editor.force-process-icc.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveMetaData",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-metadata"),tooltip:e("image-thumbnails.editor.preserve-metadata.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"rasterizeSVG",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.rasterize-svg"),tooltip:e("image-thumbnails.editor.rasterize-svg.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"useCropBox",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.use-cropbox"),tooltip:e("image-thumbnails.editor.use-cropbox.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveAnimation",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-animation"),tooltip:e("image-thumbnails.editor.preserve-animation.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"downloadable",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.downloadable"),tooltip:e("image-thumbnails.editor.downloadable.tooltip")})})]})},Et=e=>{let{selectedThumbnail:t,isActive:i=!0,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),[a]=tJ.lV.useForm(),l=(0,uI.J)(),[o,s]=(0,tG.useState)(null),[d,c]=(0,tG.useState)(null),[f,u]=(0,tG.useState)(null),[m,p]=(0,tG.useState)([]),{data:g,isLoading:h}=(0,k9.vi)({name:(null==t?void 0:t.name)??""},{skip:(null==t?void 0:t.name)==null}),[y,{isLoading:v,error:b}]=(0,k9.d5)();(0,tG.useEffect)(()=>{(0,tI.isNil)(b)||(0,iX.Ay)(new iX.hD(b))},[b]);let x=(0,tG.useMemo)(()=>!((0,tI.isNull)(d)||(0,tI.isNull)(f))&&!(0,tI.isEqual)(d,f),[d,f]);(0,tG.useEffect)(()=>{if((null==t?void 0:t.id)!==o&&!(0,tI.isEmpty)(null==g?void 0:g.settings)&&null!==t){let e;s(((null==t?void 0:t.id)===""?null:null==t?void 0:t.id)??null);let i={name:(""===g.settings.name?"":g.settings.name)??"",description:g.settings.description??"",format:(["","source"].includes((g.settings.format??"").toLowerCase())?"auto":g.settings.format)??"auto",group:g.settings.group??"",quality:(0===g.settings.quality?85:g.settings.quality)??85,highResolution:g.settings.highResolution??null,preserveColor:g.settings.preserveColor??!1,forceProcessICCProfiles:g.settings.forceProcessICCProfiles??!1,preserveMetaData:g.settings.preserveMetaData??!1,rasterizeSVG:g.settings.rasterizeSVG??!1,useCropBox:g.settings.useCropBox??!1,downloadable:g.settings.downloadable??!1,preserveAnimation:g.settings.preserveAnimation??!1,mediaQueries:(e=F2(g.medias??{},{})).some(e=>e.id===F1)?e:[{id:F1,query:F1,displayName:F1,transformations:[],order:0},...e]};c({...i}),u({...i}),p(i.mediaQueries),a.setFieldsValue(i)}},[null==t?void 0:t.id,o,null==g?void 0:g.settings,a]),(0,tG.useEffect)(()=>{null==n||n(x)},[x,n]);let j=(0,tG.useCallback)((e,t)=>{u(e=>null===e?null:{...e,...t})},[]),w=(0,tG.useCallback)(e=>{p(e),u(t=>null===t?null:{...t,mediaQueries:e})},[]),k=(0,tG.useCallback)(()=>{(0,tI.isEmpty)(t)||null===f||a.validateFields().then(async e=>{var i;let n,a,o,s={name:e.name,description:e.description,format:e.format,group:(""===e.group?"":e.group)??"",quality:e.quality,highResolution:e.highResolution,preserveColor:e.preserveColor??!1,forceProcessICCProfiles:e.forceProcessICCProfiles??!1,preserveMetaData:e.preserveMetaData??!1,rasterizeSVG:e.rasterizeSVG??!1,useCropBox:e.useCropBox??!1,downloadable:e.downloadable??!1,preserveAnimation:e.preserveAnimation??!1},{medias:d,mediaOrder:u}=(i=f.mediaQueries??[],n={},a={},void 0===(o=i.find(e=>e.id===F1))?(n.default=[],a.default=0):(n.default=o.transformations.map(e=>({method:e.type,arguments:e.config})),a.default=o.order),i.forEach(e=>{if(e.id===F1)return;let t=(""===e.query?`media-${e.id}`:e.query)??`media-${e.id}`;n[t]=e.transformations.map(e=>({method:e.type,arguments:e.config})),a[t]=e.order}),{medias:n,mediaOrder:a}),m=await y({name:t.name,updateThumbnailConfig:{settings:s,medias:d,mediaOrder:u}});(0,tI.has)(m,"error")||(c({...f}),l.success(r("save-success")))}).catch(()=>{(0,iX.Ay)(new iX.$g("Validation failed"))})},[t,f,y,a,l,r]);return null==t?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{style:{textAlign:"center",color:"#999",marginTop:"50px"},children:r("image-thumbnails.editor.select-thumbnail")})}):(0,tq.jsxs)(uE.U,{loading:h,padded:!0,padding:{top:"small",right:"small",bottom:"small",left:"small"},children:[!(0,tI.isNull)(f)&&(0,tq.jsxs)(n6.L,{formProps:{form:a,onValuesChange:j},children:[(0,tq.jsx)(F9,{isNameDisabled:!0}),(0,tq.jsx)(Ee,{}),(0,tq.jsx)(F7,{mediaQueries:m,onChange:w})]},null==t?void 0:t.id),i&&null!=t?(0,tq.jsx)(FJ.Z,{targetId:"image-thumbnails-save-button",children:(0,tq.jsx)(az.$,{disabled:!x,loading:v,onClick:k,type:"primary",children:r("save")})}):null]})},Ei=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{tabsContainer:t`
+ `}}),FZ=(0,tG.createContext)(void 0),FY=e=>{let{children:t}=e,{data:i,isLoading:n,isFetching:r,refetch:a,error:l}=(0,k9.Ji)(),[o,s]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,uj.trackError)(new uj.ApiError(l))},[l]);let d=(0,tG.useMemo)(()=>({thumbnailsData:i,isLoading:n,isFetching:r,refetch:a,expandedKeys:o,setExpandedKeys:s}),[i,n,r,a,o,s]);return(0,tq.jsx)(FZ.Provider,{value:d,children:t})},FX=e=>{let{onThumbnailSelect:t,onThumbnailClose:i,openedThumbnails:n,activeTabKey:r,modifiedThumbnails:a=[]}=e,{thumbnailsData:l,isLoading:o,isFetching:s,refetch:d,expandedKeys:c,setExpandedKeys:f}=(()=>{let e=(0,tG.useContext)(FZ);if(void 0===e)throw Error("useImageThumbnailsContext must be used within an ImageThumbnailsProvider");return e})(),[u,m]=(0,tG.useState)([]),[p,g]=(0,tG.useState)([]),[h,y]=(0,tG.useState)(""),[v,b]=(0,tG.useState)(0),{styles:x}=FJ(),{handleDelete:j,handleAdd:w}=(e=>{let{refetch:t}=e,i=(0,aB.Vl)(),{t:n}=(0,iQ.useTranslation)(),r=(0,uI.J)(),[a,{error:l}]=(0,k9.HZ)(),[o,{error:s}]=(0,k9.eZ)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]),{handleDelete:(0,tG.useCallback)(async(e,r)=>{(0,tI.isNil)(e)||i.confirm({title:n("delete"),content:n("image-thumbnails.delete.confirm")+` "${e.name}"?`,onOk:async()=>{let i=await a({name:e.name});!(0,tI.has)(i,"error")&&(t(),(0,tI.isNil)(r)||r())}})},[t,n,a,i]),handleAdd:(0,tG.useCallback)(e=>{i.input({label:n("image-thumbnails.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:n("image-thumbnails.add.validation.message")},onOk:async i=>{let a=i.replaceAll(/[^a-zA-Z0-9_-]/g,"");if(a.length<=2)return void r.error(n("image-thumbnails.add.validation.message"));let l=await o({createThumbnailConfig:{name:a}});!(0,tI.has)(l,"error")&&(t(),(0,tI.isNil)(e)||e(a))}})},[o,t,n,i,r])}})({refetch:d}),k=(0,tG.useRef)(null);(0,tG.useEffect)(()=>{if(!(0,tI.isNil)(null==l?void 0:l.items)&&(m(l.items),g(l.items),b(e=>e+1),!(0,tI.isNil)(k.current))){let e=k.current,i=l.items.find(t=>"name"in t&&t.name===e);!(0,tI.isUndefined)(i)&&"writeable"in i&&t(i),k.current=null}},[l]),(0,tG.useEffect)(()=>{if(""===h)g(u),f([]);else{let e=FU(u,h);g(e),f(FQ(e))}},[h,u]);let{t:T}=(0,iQ.useTranslation)(),S=e=>(0,tI.isNil)(e)?[]:[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:"base"})).map(e=>{let t="children"in e&&Array.isArray(e.children),i=!t&&a.includes(e.id);return{key:(0,tI.isUndefined)(e.id)?"":String(e.id),title:`${e.name}${i?" *":""}`,icon:"children"in e&&Array.isArray(e.children)?(0,tq.jsx)(r9.I,{className:x.icon,value:"folder"}):(0,tq.jsx)(r9.I,{className:x.icon,value:"image-thumbnail"}),children:t?S(e.children):void 0,isLeaf:!t,actions:t?[]:[{key:"delete",icon:"trash"}],allowDrag:!1,allowDrop:!1}}),C=(0,tG.useMemo)(()=>S(p),[p,a]),D=async e=>{let t=FG(e,u);!(0,tI.isNil)(t)&&"writeable"in t&&await j(t,()=>{i(e)})},I=async(e,t)=>{"delete"===t&&await D(e)};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(Fq,{isFetching:s,onAdd:()=>{w(e=>{k.current=e})},onRefresh:d}),children:(0,tq.jsxs)(uE.U,{loading:o,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{y(e.target.value)},placeholder:T("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:s?"center":"start",vertical:!0,children:s?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:0===p.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(gQ.l,{defaultExpandedKeys:c,onActionsClick:I,onExpand:e=>{f(e)},onSelected:e=>{var i;let n;n=FG(i=String(e),u),(0,tI.isNil)(n)||("children"in n&&Array.isArray(n.children)?!(0,tI.isNil)(c)&&c.includes(i)?f(c.filter(e=>e!==i)):f([...c,i]):t(n))},selectedKeys:null!=r?[r]:[],treeData:C},`thumbnail-tree-${v}`)})})]})})};var F0=i(76103),F1=i(37836),F2=i(3109),F3=i(44317);let F6=e=>{let{mediaQuery:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,tG.useMemo)(()=>t.transformations.map(e=>({type:e.type,data:e.config??{}})),[t.transformations]),a=(0,tG.useCallback)(e=>{null!=e&&i(e)},[i]),l=(0,tG.useMemo)(()=>tc.kL.get(td.K["DynamicTypes/TransformationFieldCollectionRegistry"]),[]);return(0,tq.jsx)(F3.Z,{addLabel:n("image-thumbnails.transformations.add"),onChange:a,registry:l,title:n("image-thumbnails.editor.transformations"),value:r})},F4=e=>{let{mediaQuery:t,onMediaQueryUpdate:i}=e,n=(0,tG.useRef)({}),r=(0,tG.useRef)(t);(0,tG.useEffect)(()=>{r.current=t});let a=(0,tG.useCallback)(e=>{let t=r.current;i({...t,transformations:e.map((e,i)=>{var r,a;let l=null==(r=t.transformations[i])?void 0:r.id;return""!==l&&null!=l?n.current[i]=l:(a=n.current)[i]??(a[i]=`transformation-${crypto.randomUUID()}`),{id:n.current[i],type:e.type,config:e.data}})})},[i]);return(0,tq.jsx)(F2.p,{item:{name:"transformations"},children:(0,tq.jsx)(F6,{mediaQuery:t,onChange:a})})},F5="default",F7=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[],n=e[F5]??[],r={id:F5,query:F5,displayName:F5,transformations:n.map(e=>({id:Ee(),type:e.method,config:e.arguments??{}})),order:0};return Object.entries(e).forEach(e=>{let[n,r]=e;if(n===F5)return;let a={id:F9(),query:n,displayName:F8(n),transformations:r.map(e=>({id:Ee(),type:e.method,config:e.arguments??{}})),order:(0===t[n]?0:t[n])??0};i.push(a)}),i.sort((e,t)=>e.order-t.order),[r,...i]},F8=e=>{if(e.includes("min-width")){let t=/min-width:\s*(\d+)/.exec(e);return null===t?e:`≥ ${t[1]}px`}if(e.includes("max-width")){let t=/max-width:\s*(\d+)/.exec(e);return null===t?e:`≤ ${t[1]}px`}return e.length>20?e.substring(0,20)+"...":e},F9=()=>`mq-${(0,n7.u)()}`,Ee=()=>`tr-${(0,n7.u)()}`,Et=e=>{let{mediaQueries:t,activeKey:i,onTabChange:n,onTabClose:r,onMediaQueryUpdate:a}=e,{t:l}=(0,iQ.useTranslation)(),o=(0,tG.useCallback)(e=>{a(e.id,e)},[a]),s=(0,tG.useCallback)((e,t)=>{"remove"===t&&"string"==typeof e&&r(e)},[r]),d=(0,tG.useMemo)(()=>t.map(e=>({key:e.id,label:e.id===F5?l("image-thumbnails.editor.media-queries.default"):e.displayName,closable:e.id!==F5,children:(0,tq.jsx)(F4,{mediaQuery:e,onMediaQueryUpdate:o})})),[t,o]);return(0,tq.jsx)(ge.t,{activeKey:i,hideAdd:!0,items:d,onChange:n,onEdit:s,size:"small",type:"editable-card"})},Ei=e=>{let{mediaQueries:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,aB.Vl)(),[a,l]=(0,tG.useState)(F5),o=(0,tG.useCallback)(()=>{r.input({title:n("image-thumbnails.editor.media-queries.add.title"),label:n("image-thumbnails.editor.media-queries.add.label"),okText:"Create",cancelButtonProps:{style:{display:"none"}},maskClosable:!0,rule:{required:!0},onOk:async e=>{let n=e.trim().replaceAll(/[^a-zA-Z0-9_\-+]/g,"");if(""===n)return;let r={id:F9(),query:n,displayName:F8(n),transformations:[],order:t.length};i([...t,r]),l(r.id)}})},[t,i,r,n]),s=(0,tG.useCallback)((e,n)=>{i(t.map(t=>t.id===e?n:t))},[t,i]),d=(0,tG.useCallback)(e=>{if(e===F5)return;let n=t.filter(t=>t.id!==e);i(n),a===e&&l(n.length>0?n[0].id:F5)},[t,i,a]),c=(0,tq.jsx)(az.$,{icon:(0,tq.jsx)(r9.I,{options:{width:16,height:16},value:"plus-circle"}),onClick:o,size:"small",type:"link",children:n("image-thumbnails.editor.media-queries.new")});return(0,tq.jsx)(ay.Z,{border:!0,contentPadding:"small",extra:c,extraPosition:"end",theme:"card-with-highlight",title:n("image-thumbnails.editor.media-queries"),children:(0,tq.jsx)(Et,{activeKey:a,mediaQueries:t,onMediaQueryUpdate:s,onTabChange:l,onTabClose:d})})},En=[{value:"auto",label:"Auto (Web-optimized - recommended)"},{value:"original",label:"ORIGINAL"},{value:"png",label:"PNG"},{value:"gif",label:"GIF"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"},{value:"avif",label:"AVIF"},{value:"tiff",label:"TIFF"}],Er=e=>{let{isNameDisabled:t=!1}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{contentPadding:"extra-small",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.name"),name:"name",rules:[{required:!0,message:i("image-thumbnails.editor.name-required")}],children:(0,tq.jsx)(aR.p,{disabled:t})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:4})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("image-thumbnails.editor.format"),name:"format",rules:[{required:!0,message:i("image-thumbnails.editor.format-required")}],children:(0,tq.jsx)(t8.l,{options:En,placeholder:i("image-thumbnails.editor.format-placeholder")})})]})},Ea=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ay.Z,{border:!0,collapsed:!0,collapsible:!0,contentPadding:"extra-small",theme:"card-with-highlight",title:e("image-thumbnails.editor.advanced"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("image-thumbnails.editor.quality"),name:"quality",tooltip:e("image-thumbnails.editor.quality.tooltip"),children:(0,tq.jsx)(df.Y,{max:100,min:1,placeholder:"85"})}),(0,tq.jsx)(tJ.lV.Item,{label:e("image-thumbnails.editor.high-resolution"),name:"highResolution",tooltip:e("image-thumbnails.editor.high-resolution.tooltip"),children:(0,tq.jsx)(df.Y,{max:10,min:1,step:.1})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveColor",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-color"),tooltip:e("image-thumbnails.editor.preserve-color.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"forceProcessICCProfiles",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.force-process-icc"),tooltip:e("image-thumbnails.editor.force-process-icc.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveMetaData",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-metadata"),tooltip:e("image-thumbnails.editor.preserve-metadata.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"rasterizeSVG",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.rasterize-svg"),tooltip:e("image-thumbnails.editor.rasterize-svg.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"useCropBox",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.use-cropbox"),tooltip:e("image-thumbnails.editor.use-cropbox.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"preserveAnimation",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.preserve-animation"),tooltip:e("image-thumbnails.editor.preserve-animation.tooltip")})}),(0,tq.jsx)(tJ.lV.Item,{name:"downloadable",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("image-thumbnails.editor.downloadable"),tooltip:e("image-thumbnails.editor.downloadable.tooltip")})})]})},El=e=>{let{selectedThumbnail:t,isActive:i=!0,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),[a]=tJ.lV.useForm(),l=(0,uI.J)(),[o,s]=(0,tG.useState)(null),[d,c]=(0,tG.useState)(null),[f,u]=(0,tG.useState)(null),[m,p]=(0,tG.useState)([]),{data:g,isLoading:h}=(0,k9.vi)({name:(null==t?void 0:t.name)??""},{skip:(null==t?void 0:t.name)==null}),[y,{isLoading:v,error:b}]=(0,k9.d5)();(0,tG.useEffect)(()=>{(0,tI.isNil)(b)||(0,iX.Ay)(new iX.hD(b))},[b]);let x=(0,tG.useMemo)(()=>!((0,tI.isNull)(d)||(0,tI.isNull)(f))&&!(0,tI.isEqual)(d,f),[d,f]);(0,tG.useEffect)(()=>{if((null==t?void 0:t.id)!==o&&!(0,tI.isEmpty)(null==g?void 0:g.settings)&&null!==t){let e;s(((null==t?void 0:t.id)===""?null:null==t?void 0:t.id)??null);let i={name:(""===g.settings.name?"":g.settings.name)??"",description:g.settings.description??"",format:(["","source"].includes((g.settings.format??"").toLowerCase())?"auto":g.settings.format)??"auto",group:g.settings.group??"",quality:(0===g.settings.quality?85:g.settings.quality)??85,highResolution:g.settings.highResolution??null,preserveColor:g.settings.preserveColor??!1,forceProcessICCProfiles:g.settings.forceProcessICCProfiles??!1,preserveMetaData:g.settings.preserveMetaData??!1,rasterizeSVG:g.settings.rasterizeSVG??!1,useCropBox:g.settings.useCropBox??!1,downloadable:g.settings.downloadable??!1,preserveAnimation:g.settings.preserveAnimation??!1,mediaQueries:(e=F7(g.medias??{},{})).some(e=>e.id===F5)?e:[{id:F5,query:F5,displayName:F5,transformations:[],order:0},...e]};c({...i}),u({...i}),p(i.mediaQueries),a.setFieldsValue(i)}},[null==t?void 0:t.id,o,null==g?void 0:g.settings,a]),(0,tG.useEffect)(()=>{null==n||n(x)},[x,n]);let j=(0,tG.useCallback)((e,t)=>{u(e=>null===e?null:{...e,...t})},[]),w=(0,tG.useCallback)(e=>{p(e),u(t=>null===t?null:{...t,mediaQueries:e})},[]),k=(0,tG.useCallback)(()=>{(0,tI.isEmpty)(t)||null===f||a.validateFields().then(async e=>{var i;let n,a,o,s={name:e.name,description:e.description,format:e.format,group:(""===e.group?"":e.group)??"",quality:e.quality,highResolution:e.highResolution,preserveColor:e.preserveColor??!1,forceProcessICCProfiles:e.forceProcessICCProfiles??!1,preserveMetaData:e.preserveMetaData??!1,rasterizeSVG:e.rasterizeSVG??!1,useCropBox:e.useCropBox??!1,downloadable:e.downloadable??!1,preserveAnimation:e.preserveAnimation??!1},{medias:d,mediaOrder:u}=(i=f.mediaQueries??[],n={},a={},void 0===(o=i.find(e=>e.id===F5))?(n.default=[],a.default=0):(n.default=o.transformations.map(e=>({method:e.type,arguments:e.config})),a.default=o.order),i.forEach(e=>{if(e.id===F5)return;let t=(""===e.query?`media-${e.id}`:e.query)??`media-${e.id}`;n[t]=e.transformations.map(e=>({method:e.type,arguments:e.config})),a[t]=e.order}),{medias:n,mediaOrder:a}),m=await y({name:t.name,updateThumbnailConfig:{settings:s,medias:d,mediaOrder:u}});(0,tI.has)(m,"error")||(c({...f}),l.success(r("save-success")))}).catch(()=>{(0,iX.Ay)(new iX.$g("Validation failed"))})},[t,f,y,a,l,r]);return null==t?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{style:{textAlign:"center",color:"#999",marginTop:"50px"},children:r("image-thumbnails.editor.select-thumbnail")})}):(0,tq.jsxs)(uE.U,{loading:h,padded:!0,padding:{top:"small",right:"small",bottom:"small",left:"small"},children:[!(0,tI.isNull)(f)&&(0,tq.jsxs)(n6.L,{formProps:{form:a,onValuesChange:j},children:[(0,tq.jsx)(Er,{isNameDisabled:!0}),(0,tq.jsx)(Ea,{}),(0,tq.jsx)(Ei,{mediaQueries:m,onChange:w})]},null==t?void 0:t.id),i&&null!=t?(0,tq.jsx)(F1.Z,{targetId:"image-thumbnails-save-button",children:(0,tq.jsx)(az.$,{disabled:!x,loading:v,onClick:k,type:"primary",children:r("save")})}):null]})},Eo=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{tabsContainer:t`
height: 100%;
.ant-tabs-content,
@@ -1003,13 +1003,13 @@
.ant-tabs-tab {
padding: ${i.paddingSM}px ${i.paddingXXS}px !important;
}
- `}}),En=(0,tG.memo)(e=>{let{thumbnail:t,activeTabKey:i,onTabDirtyChange:n}=e,r=i===t.id,a=(0,tG.useCallback)(e=>{n(t.id,e)},[t.id,n]);return(0,tq.jsx)(Et,{isActive:r,onChange:a,selectedThumbnail:t})});En.displayName="ImageThumbnailsTabEditor";let Er=e=>{let{openedThumbnails:t,activeTabKey:i,onChangeTab:n,onCloseTab:r,onTabDirtyChange:a}=e,{styles:l}=Ei(),o=(0,tG.useMemo)(()=>t.map(e=>({key:e.thumbnail.id,label:`${e.thumbnail.name}${e.isDirty?" *":""}`,icon:(0,tq.jsx)(r9.I,{value:"image-thumbnail"}),children:(0,tq.jsx)(En,{activeTabKey:i,onTabDirtyChange:a,thumbnail:e.thumbnail})})),[t,i,a]);return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(FQ.J,{id:"image-thumbnails-save-button"})}),children:(0,tq.jsx)(ge.t,{activeKey:i,className:l.tabs,hasStickyHeader:!0,items:o,onChange:n,onClose:r,rootClassName:l.tabsContainer,type:"editable-card"})})},Ea=(0,iR.createStyles)(e=>{let{css:t}=e;return{emptyState:t`
+ `}}),Es=(0,tG.memo)(e=>{let{thumbnail:t,activeTabKey:i,onTabDirtyChange:n}=e,r=i===t.id,a=(0,tG.useCallback)(e=>{n(t.id,e)},[t.id,n]);return(0,tq.jsx)(El,{isActive:r,onChange:a,selectedThumbnail:t})});Es.displayName="ImageThumbnailsTabEditor";let Ed=e=>{let{openedThumbnails:t,activeTabKey:i,onChangeTab:n,onCloseTab:r,onTabDirtyChange:a}=e,{styles:l}=Eo(),o=(0,tG.useMemo)(()=>t.map(e=>({key:e.thumbnail.id,label:`${e.thumbnail.name}${e.isDirty?" *":""}`,icon:(0,tq.jsx)(r9.I,{value:"image-thumbnail"}),children:(0,tq.jsx)(Es,{activeTabKey:i,onTabDirtyChange:a,thumbnail:e.thumbnail})})),[t,i,a]);return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(F0.J,{id:"image-thumbnails-save-button"})}),children:(0,tq.jsx)(ge.t,{activeKey:i,className:l.tabs,hasStickyHeader:!0,items:o,onChange:n,onClose:r,rootClassName:l.tabsContainer,type:"editable-card"})})},Ec=(0,iR.createStyles)(e=>{let{css:t}=e;return{emptyState:t`
text-align: center;
color: #999;
margin-top: 50px;
- `}}),El=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=Ea(),{openedThumbnails:i,activeTabKey:n,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}=(()=>{let[e,t]=(0,tG.useState)([]),[i,n]=(0,tG.useState)(void 0),r=(0,tG.useCallback)(i=>{if(!e.some(e=>e.thumbnail.id===i.id)){let e={thumbnail:i,isDirty:!1};t(t=>[...t,e])}n(i.id)},[e]),a=(0,tG.useCallback)(e=>{t(t=>{let r=t.findIndex(t=>t.thumbnail.id===e),a=t.filter(t=>t.thumbnail.id!==e);if(e===i){let e=t[r-1],i=t[r+1];n((null==e?void 0:e.thumbnail.id)??(null==i?void 0:i.thumbnail.id))}return a})},[i]),l=(0,tG.useCallback)(e=>{n(e)},[]),o=(0,tG.useCallback)((e,i)=>{t(t=>t.map(t=>t.thumbnail.id===e?{...t,isDirty:i}:t))},[]),s=(0,tG.useCallback)(()=>e.filter(e=>e.isDirty).map(e=>e.thumbnail.id),[e]);return{openedThumbnails:e,activeTabKey:i,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}})(),d=(0,tG.useMemo)(()=>s(),[s]);return(0,tq.jsx)(FG,{children:(0,tq.jsx)(Lp.v,{leftItem:{size:25,minSize:200,children:(0,tq.jsx)(FU,{activeTabKey:n,modifiedThumbnails:d,onThumbnailClose:a,onThumbnailSelect:e=>{r(e)},openedThumbnails:i})},rightItem:{size:75,children:0===i.length?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{className:t.emptyState,children:e("image-thumbnails.editor.select-thumbnail")})}):(0,tq.jsx)(Er,{activeTabKey:n,onChangeTab:l,onCloseTab:a,onTabDirtyChange:o,openedThumbnails:i})}})})},Eo={name:"Image Thumbnails",id:"image-thumbnails",component:"image-thumbnails",config:{translationKey:"widget.image-thumbnails",icon:{type:"name",value:"image-thumbnail"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Image Thumbnails",label:"navigation.image-thumbnails",className:"item-style-modifier",order:100,permission:pw.F.Thumbnails,perspectivePermission:pk.d.AssetThumbnails,widgetConfig:Eo}),tc.kL.get(td.K.widgetManager).registerWidget({name:"image-thumbnails",component:El});let e=tc.kL.get(td.K["DynamicTypes/TransformationDynamicTypeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Cover"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Resize"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ScaleByWidth"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ScaleByHeight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Trim"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Sepia"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Grayscale"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Sharpen"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Contain"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Crop"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Frame"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Rotate"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Mirror"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/GaussianBlur"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/BrightnessSaturation"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/SetBackgroundColor"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/SetBackgroundImage"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/RoundCorners"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/AddOverlay"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/AddOverlayFit"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ApplyMask"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/TiffOriginal"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/OnePixel"]))}});let Es=e=>{let{isFetching:t,onAdd:i,onRefresh:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(iN.m,{title:r("refresh"),children:(0,tq.jsx)(lp.K,{disabled:t,icon:{value:"refresh"},onClick:n,title:r("refresh"),type:"link"})}),(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new"},onClick:i,type:"link",children:r("new")})]})},Ed=(e,t)=>{for(let i of t){if(i.id===e)return i;if("children"in i&&Array.isArray(i.children)){let t=Ed(e,i.children);if(null!==t)return t}}return null},Ec=(e,t)=>{let i=t.toLowerCase();return e.filter(e=>{let n=e.name.toLowerCase().includes(i);if("children"in e&&Array.isArray(e.children)){let i=Ec(e.children,t).length>0;return n||i}return n}).map(e=>"children"in e&&Array.isArray(e.children)?{...e,children:Ec(e.children,t)}:e)},Ef=function(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,tI.isNil)(e)?[]:[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:"base"})).map(e=>{let r="children"in e&&Array.isArray(e.children),a=!r&&n.includes(e.id),l=r?tU().createElement(r9.I,{value:"folder",className:i}):tU().createElement(r9.I,{value:t,className:i});return{key:(0,tI.isUndefined)(e.id)?"":String(e.id),title:`${e.name}${a?" *":""}`,icon:l,children:r?Ef(e.children,t,i,n):void 0,isLeaf:!r,actions:r?[]:[{key:"delete",icon:"trash"}],allowDrag:!1,allowDrop:!1}})},Eu=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{icon:i`
+ `}}),Ef=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=Ec(),{openedThumbnails:i,activeTabKey:n,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}=(()=>{let[e,t]=(0,tG.useState)([]),[i,n]=(0,tG.useState)(void 0),r=(0,tG.useCallback)(i=>{if(!e.some(e=>e.thumbnail.id===i.id)){let e={thumbnail:i,isDirty:!1};t(t=>[...t,e])}n(i.id)},[e]),a=(0,tG.useCallback)(e=>{t(t=>{let r=t.findIndex(t=>t.thumbnail.id===e),a=t.filter(t=>t.thumbnail.id!==e);if(e===i){let e=t[r-1],i=t[r+1];n((null==e?void 0:e.thumbnail.id)??(null==i?void 0:i.thumbnail.id))}return a})},[i]),l=(0,tG.useCallback)(e=>{n(e)},[]),o=(0,tG.useCallback)((e,i)=>{t(t=>t.map(t=>t.thumbnail.id===e?{...t,isDirty:i}:t))},[]),s=(0,tG.useCallback)(()=>e.filter(e=>e.isDirty).map(e=>e.thumbnail.id),[e]);return{openedThumbnails:e,activeTabKey:i,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}})(),d=(0,tG.useMemo)(()=>s(),[s]);return(0,tq.jsx)(FY,{children:(0,tq.jsx)(Lb.v,{leftItem:{size:25,minSize:200,children:(0,tq.jsx)(FX,{activeTabKey:n,modifiedThumbnails:d,onThumbnailClose:a,onThumbnailSelect:e=>{r(e)},openedThumbnails:i})},rightItem:{size:75,children:0===i.length?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{className:t.emptyState,children:e("image-thumbnails.editor.select-thumbnail")})}):(0,tq.jsx)(Ed,{activeTabKey:n,onChangeTab:l,onCloseTab:a,onTabDirtyChange:o,openedThumbnails:i})}})})},Eu={name:"Image Thumbnails",id:"image-thumbnails",component:"image-thumbnails",config:{translationKey:"widget.image-thumbnails",icon:{type:"name",value:"image-thumbnail"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Image Thumbnails",label:"navigation.image-thumbnails",className:"item-style-modifier",order:100,permission:pw.F.Thumbnails,perspectivePermission:pk.d.AssetThumbnails,widgetConfig:Eu}),tc.kL.get(td.K.widgetManager).registerWidget({name:"image-thumbnails",component:Ef});let e=tc.kL.get(td.K["DynamicTypes/TransformationDynamicTypeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Cover"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Resize"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ScaleByWidth"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ScaleByHeight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Trim"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Sepia"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Grayscale"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Sharpen"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Contain"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Crop"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Frame"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Rotate"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/Mirror"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/GaussianBlur"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/BrightnessSaturation"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/SetBackgroundColor"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/SetBackgroundImage"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/RoundCorners"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/AddOverlay"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/AddOverlayFit"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/ApplyMask"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/TiffOriginal"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/Transformation/OnePixel"]))}});let Em=e=>{let{isFetching:t,onAdd:i,onRefresh:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(iN.m,{title:r("refresh"),children:(0,tq.jsx)(lp.K,{disabled:t,icon:{value:"refresh"},onClick:n,title:r("refresh"),type:"link"})}),(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new"},onClick:i,type:"link",children:r("new")})]})},Ep=(e,t)=>{for(let i of t){if(i.id===e)return i;if("children"in i&&Array.isArray(i.children)){let t=Ep(e,i.children);if(null!==t)return t}}return null},Eg=(e,t)=>{let i=t.toLowerCase();return e.filter(e=>{let n=e.name.toLowerCase().includes(i);if("children"in e&&Array.isArray(e.children)){let i=Eg(e.children,t).length>0;return n||i}return n}).map(e=>"children"in e&&Array.isArray(e.children)?{...e,children:Eg(e.children,t)}:e)},Eh=function(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,tI.isNil)(e)?[]:[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:"base"})).map(e=>{let r="children"in e&&Array.isArray(e.children),a=!r&&n.includes(e.id),l=r?tU().createElement(r9.I,{value:"folder",className:i}):tU().createElement(r9.I,{value:t,className:i});return{key:(0,tI.isUndefined)(e.id)?"":String(e.id),title:`${e.name}${a?" *":""}`,icon:l,children:r?Eh(e.children,t,i,n):void 0,isLeaf:!r,actions:r?[]:[{key:"delete",icon:"trash"}],allowDrag:!1,allowDrop:!1}})},Ey=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{icon:i`
color: ${t.colorTextTreeElement};
- `}}),Em=(0,tG.createContext)(void 0),Ep=e=>{let{children:t}=e,{data:i,isLoading:n,isFetching:r,refetch:a,error:l}=(0,k9.Tg)(),[o,s]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,uj.trackError)(new uj.ApiError(l))},[l]);let d=(0,tG.useMemo)(()=>({thumbnailsData:i,isLoading:n,isFetching:r,refetch:a,expandedKeys:o,setExpandedKeys:s}),[i,n,r,a,o,s]);return(0,tq.jsx)(Em.Provider,{value:d,children:t})},Eg=e=>{let{onThumbnailSelect:t,openedThumbnails:i,activeTabKey:n,modifiedThumbnails:r=[]}=e,{thumbnailsData:a,isLoading:l,isFetching:o,refetch:s,expandedKeys:d,setExpandedKeys:c}=(()=>{let e=(0,tG.useContext)(Em);if(void 0===e)throw Error("useVideoThumbnailsContext must be used within a VideoThumbnailsProvider");return e})(),[f,u]=(0,tG.useState)([]),[m,p]=(0,tG.useState)([]),[g,h]=(0,tG.useState)(""),[y,v]=(0,tG.useState)(0),{styles:b}=Eu(),{handleDelete:x,handleAdd:j}=(e=>{let{refetch:t}=e,i=(0,aB.Vl)(),{t:n}=(0,iQ.useTranslation)(),r=(0,uI.J)(),[a,{error:l}]=(0,k9.td)(),[o,{error:s}]=(0,k9.Gy)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]),{handleDelete:(0,tG.useCallback)(async(e,r)=>{(0,tI.isNil)(e)||i.confirm({title:n("delete"),content:n("video-thumbnails.delete.confirm")+` "${e.name}"?`,onOk:async()=>{let i=await a({name:e.name});!(0,tI.has)(i,"error")&&(t(),(0,tI.isNil)(r)||r())}})},[t,n,a,i]),handleAdd:(0,tG.useCallback)(e=>{i.input({label:n("video-thumbnails.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:n("video-thumbnails.add.validation.message")},onOk:async i=>{let a=i.replaceAll(/[^a-zA-Z0-9_-]/g,"");if(a.length<=2)return void r.error(n("video-thumbnails.add.validation.message"));let l=await o({createThumbnailConfig:{name:a}});!(0,tI.has)(l,"error")&&(t(),(0,tI.isNil)(e)||e(a))}})},[o,t,n,i,r])}})({refetch:s}),w=(0,tG.useRef)(null),k=(0,tG.useRef)(null);(0,tG.useEffect)(()=>{if(!(0,tI.isNil)(null==a?void 0:a.items)&&(u(a.items),!(0,tI.isNil)(w.current))){let e=w.current,i=a.items.find(t=>"name"in t&&t.name===e);!(0,tI.isUndefined)(i)&&"writeable"in i&&t(i),w.current=null}},[a]),(0,tG.useEffect)(()=>{if(""===g)p(f),null!==k.current&&(c(k.current),k.current=null);else{let e,t;null===k.current&&(k.current=d);let i=Ec(f,g);p(i),c((e=[],(t=i=>{for(let n of i)"children"in n&&Array.isArray(n.children)&&(e.push(n.id),t(n.children))})(i),e))}v(e=>e+1)},[g,f]);let{t:T}=(0,iQ.useTranslation)(),S=(0,tG.useMemo)(()=>Ef(m,"video-thumbnail",b.icon,r),[m,r]),C=async e=>{let t=Ed(e,f);!(0,tI.isNil)(t)&&"writeable"in t&&await x(t)},D=async(e,t)=>{"delete"===t&&await C(e)};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(Es,{isFetching:o,onAdd:()=>{j(e=>{w.current=e})},onRefresh:s}),children:(0,tq.jsxs)(uE.U,{loading:l,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{h(e.target.value)},placeholder:T("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:o?"center":"start",vertical:!0,children:o?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:0===m.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(gQ.l,{defaultExpandedKeys:d,onActionsClick:D,onExpand:e=>{c(e)},onSelected:e=>{var i;let n;n=Ed(i=String(e),f),(0,tI.isNil)(n)||("children"in n&&Array.isArray(n.children)?(0,tI.isNil)(d)||!d.includes(i)?c([...d,i]):c(d.filter(e=>e!==i)):t(n))},selectedKeys:null!=n?[n]:[],treeData:S},`video-thumbnail-tree-${y}`)})})]})})},Eh=e=>{let{mediaQuery:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,tG.useMemo)(()=>t.transformations.map(e=>({type:e.type,data:e.config??{}})),[t.transformations]),a=(0,tG.useCallback)(e=>{null!=e&&i(e)},[i]),l=(0,tG.useMemo)(()=>tc.kL.get(td.K["DynamicTypes/VideoTransformationFieldCollectionRegistry"]),[]);return(0,tq.jsx)(FY.Z,{onChange:a,registry:l,title:n("video-thumbnails.editor.transformations"),value:r})},Ey=e=>{let{mediaQuery:t,onMediaQueryUpdate:i}=e,n=(0,tG.useRef)({}),r=(0,tG.useRef)(t);(0,tG.useEffect)(()=>{r.current=t});let a=(0,tG.useCallback)(e=>{let t=r.current;i({...t,transformations:e.map((e,i)=>{var r,a;let l=null==(r=t.transformations[i])?void 0:r.id;return""!==l&&null!=l?n.current[i]=l:(a=n.current)[i]??(a[i]=`transformation-${crypto.randomUUID()}`),{id:n.current[i],type:e.type,config:e.data}})})},[i]);return(0,tq.jsx)(FZ.p,{item:{name:"transformations"},children:(0,tq.jsx)(Eh,{mediaQuery:t,onChange:a})})},Ev=e=>{let{mediaQueries:t,activeKey:i,onTabChange:n,onTabClose:r,onMediaQueryUpdate:a}=e,l=(0,tG.useCallback)(e=>{a(e.id,e)},[a]),o=(0,tG.useCallback)((e,t)=>{"remove"===t&&"string"==typeof e&&r(e)},[r]),s=(0,tG.useMemo)(()=>t.map(e=>({key:e.id,label:e.displayName,closable:!0,children:(0,tq.jsx)(Ey,{mediaQuery:e,onMediaQueryUpdate:l})})),[t,l]);return(0,tq.jsx)(ge.t,{activeKey:i,hideAdd:!0,items:s,onChange:n,onEdit:o,size:"small",type:"editable-card"})},Eb=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[];return Object.entries(e).forEach(e=>{let[n,r]=e;if("default"===n)return;let a={id:Ex(),query:n,displayName:n,transformations:r.map(e=>({id:Ej(),type:e.method,config:e.arguments??{}})),order:(0===t[n]?0:t[n])??0};i.push(a)}),i.sort((e,t)=>e.order-t.order)},Ex=()=>`mq-${(0,n7.u)()}`,Ej=()=>`tr-${(0,n7.u)()}`,Ew=e=>{let{mediaQueries:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,aB.Vl)(),[a,l]=(0,tG.useState)(t.length>0?t[0].id:void 0),o=(0,tG.useCallback)(()=>{r.input({title:n("video-thumbnails.editor.media-segments.add.title"),label:n("video-thumbnails.editor.media-segments.add.label"),okText:n("video-thumbnails.editor.media-segments.add.ok"),cancelButtonProps:{style:{display:"none"}},maskClosable:!0,rule:{required:!0},onOk:async e=>{let n=e.trim().replaceAll(/[^a-zA-Z0-9_\-+]/g,"");if(""===n||t.some(e=>e.query===n))return;let r={id:Ex(),query:n,displayName:n,transformations:[],order:t.length};i([...t,r]),l(r.id)}})},[t,i,r,n]),s=(0,tG.useCallback)((e,n)=>{i(t.map(t=>t.id===e?n:t))},[t,i]),d=(0,tG.useCallback)(e=>{let n=t.filter(t=>t.id!==e);i(n),a===e&&l(n.length>0?n[0].id:void 0)},[t,i,a]),c=(0,tq.jsx)(az.$,{icon:(0,tq.jsx)(r9.I,{options:{width:16,height:16},value:"plus-circle"}),onClick:o,size:"small",type:"link",children:n("video-thumbnails.editor.media-segments.new")});return(0,tq.jsx)(ay.Z,{border:!0,contentPadding:"small",extra:c,extraPosition:"end",theme:"card-with-highlight",title:n("video-thumbnails.editor.media-segments"),children:(0,tq.jsx)(Ev,{activeKey:a,mediaQueries:t,onMediaQueryUpdate:s,onTabChange:l,onTabClose:d})})},Ek=[{value:"average",label:"Average"},{value:"good",label:"Good"},{value:"best",label:"Best"}],ET=e=>{let{onPresettingChange:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{contentPadding:"extra-small",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.name"),name:"name",rules:[{required:!0,message:i("video-thumbnails.editor.name-required")}],children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:4})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.presetting"),name:"presetting",children:(0,tq.jsx)(t8.l,{allowClear:!0,onChange:t,options:Ek})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.video-bitrate"),name:"videoBitrate",children:(0,tq.jsx)(df.Y,{addonAfter:"kbps",min:0})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.audio-bitrate"),name:"audioBitrate",children:(0,tq.jsx)(df.Y,{addonAfter:"kbps",min:0})})]})},ES={average:{videoBitrate:400,audioBitrate:128},good:{videoBitrate:600,audioBitrate:128},best:{videoBitrate:800,audioBitrate:196}},EC=e=>{let{selectedThumbnail:t,isActive:i=!0,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),[a]=tJ.lV.useForm(),l=(0,uI.J)(),o=(0,tG.useRef)(null),[s,d]=(0,tG.useState)(null),[c,f]=(0,tG.useState)(null),[u,m]=(0,tG.useState)(null),[p,g]=(0,tG.useState)([]),{data:h,isLoading:y}=(0,k9.p0)({name:(null==t?void 0:t.name)??""},{skip:(null==t?void 0:t.name)==null}),[v,{isLoading:b,error:x}]=(0,k9.pM)();(0,tG.useEffect)(()=>{(0,tI.isNil)(x)||(0,iX.Ay)(new iX.hD(x))},[x]);let j=(0,tG.useMemo)(()=>!((0,tI.isNull)(c)||(0,tI.isNull)(u))&&!(0,tI.isEqual)(c,u),[c,u]);(0,tG.useEffect)(()=>{if((null==t?void 0:t.id)!==s&&!(0,tI.isEmpty)(null==h?void 0:h.settings)&&null!==t){d(((null==t?void 0:t.id)===""?null:null==t?void 0:t.id)??null);let e=Eb(h.medias??{},{}),i=e.length>0?e:[{id:Ex(),query:"Default",displayName:r("video-thumbnails.editor.media-segments.default"),transformations:[],order:0}],n={name:h.settings.name??"",description:h.settings.description??"",group:h.settings.group??"",videoBitrate:h.settings.videoBitrate??null,audioBitrate:h.settings.audioBitrate??null,mediaSegments:i};f({...n}),m({...n}),g(i),a.setFieldsValue(n),o.current=h.settings.modificationDate??Date.now()}},[null==t?void 0:t.id,s,null==h?void 0:h.settings,a]),(0,tG.useEffect)(()=>{null==n||n(j)},[j,n]);let w=(0,tG.useCallback)((e,t)=>{m(e=>null===e?null:{...e,...t,mediaSegments:e.mediaSegments})},[]),k=(0,tG.useCallback)(e=>{g(e),m(t=>null===t?null:{...t,mediaSegments:e})},[]),T=(0,tG.useCallback)(e=>{let t=ES[e];null!=t&&(a.setFieldsValue({videoBitrate:t.videoBitrate,audioBitrate:t.audioBitrate}),m(e=>null===e?null:{...e,videoBitrate:t.videoBitrate,audioBitrate:t.audioBitrate}))},[a]),S=(0,tG.useCallback)(()=>{(0,tI.isNil)(t)||null===u||a.validateFields().then(async e=>{var i,n,a,s;let d,c,m={name:e.name,description:e.description,group:(""===e.group?"":e.group)??"",videoBitrate:e.videoBitrate,audioBitrate:e.audioBitrate},{medias:p,mediaOrder:g}=(a=[],s=u.mediaSegments??[],c={},(d={}).default=a.map(e=>({method:e.type,arguments:e.config})),c.default=0,s.forEach(e=>{let t=(""===e.query?`segment-${e.id}`:e.query)??`segment-${e.id}`;d[t]=e.transformations.map(e=>({method:e.type,arguments:e.config})),c[t]=e.order}),{medias:d,mediaOrder:c}),h=await v({name:t.name,updateThumbnailConfig:{settings:m,medias:p,mediaOrder:g}});"error"in h||((null==(n=h.data)||null==(i=n.settings)?void 0:i.modificationDate)!=null&&(o.current=h.data.settings.modificationDate),f({...u}),l.success(r("save-success")))}).catch(()=>{(0,iX.Ay)(new iX.$g("Validation failed"))})},[t,u,v,a,l,r]);return null==t?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{style:{textAlign:"center",color:"#999",marginTop:"50px"},children:r("video-thumbnails.editor.select-thumbnail")})}):(0,tq.jsxs)(uE.U,{loading:y,padded:!0,padding:{top:"small",right:"small",bottom:"small",left:"small"},children:[!(0,tI.isNull)(u)&&(0,tq.jsxs)(n6.L,{formProps:{form:a,onValuesChange:w},children:[(0,tq.jsx)(ET,{onPresettingChange:T}),(0,tq.jsx)(Ew,{mediaQueries:p,onChange:k})]},null==t?void 0:t.id),i&&null!=t?(0,tq.jsx)(FJ.Z,{targetId:"video-thumbnails-save-button",children:(0,tq.jsx)(az.$,{disabled:!j,loading:b,onClick:S,type:"primary",children:r("save")})}):null]})},ED=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{tabsContainer:t`
+ `}}),Ev=(0,tG.createContext)(void 0),Eb=e=>{let{children:t}=e,{data:i,isLoading:n,isFetching:r,refetch:a,error:l}=(0,k9.Tg)(),[o,s]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,uj.trackError)(new uj.ApiError(l))},[l]);let d=(0,tG.useMemo)(()=>({thumbnailsData:i,isLoading:n,isFetching:r,refetch:a,expandedKeys:o,setExpandedKeys:s}),[i,n,r,a,o,s]);return(0,tq.jsx)(Ev.Provider,{value:d,children:t})},Ex=e=>{let{onThumbnailSelect:t,openedThumbnails:i,activeTabKey:n,modifiedThumbnails:r=[]}=e,{thumbnailsData:a,isLoading:l,isFetching:o,refetch:s,expandedKeys:d,setExpandedKeys:c}=(()=>{let e=(0,tG.useContext)(Ev);if(void 0===e)throw Error("useVideoThumbnailsContext must be used within a VideoThumbnailsProvider");return e})(),[f,u]=(0,tG.useState)([]),[m,p]=(0,tG.useState)([]),[g,h]=(0,tG.useState)(""),[y,v]=(0,tG.useState)(0),{styles:b}=Ey(),{handleDelete:x,handleAdd:j}=(e=>{let{refetch:t}=e,i=(0,aB.Vl)(),{t:n}=(0,iQ.useTranslation)(),r=(0,uI.J)(),[a,{error:l}]=(0,k9.td)(),[o,{error:s}]=(0,k9.Gy)();return(0,tG.useEffect)(()=>{(0,tI.isUndefined)(l)||(0,iX.Ay)(new iX.hD(l))},[l]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(s)||(0,iX.Ay)(new iX.hD(s))},[s]),{handleDelete:(0,tG.useCallback)(async(e,r)=>{(0,tI.isNil)(e)||i.confirm({title:n("delete"),content:n("video-thumbnails.delete.confirm")+` "${e.name}"?`,onOk:async()=>{let i=await a({name:e.name});!(0,tI.has)(i,"error")&&(t(),(0,tI.isNil)(r)||r())}})},[t,n,a,i]),handleAdd:(0,tG.useCallback)(e=>{i.input({label:n("video-thumbnails.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:n("video-thumbnails.add.validation.message")},onOk:async i=>{let a=i.replaceAll(/[^a-zA-Z0-9_-]/g,"");if(a.length<=2)return void r.error(n("video-thumbnails.add.validation.message"));let l=await o({createThumbnailConfig:{name:a}});!(0,tI.has)(l,"error")&&(t(),(0,tI.isNil)(e)||e(a))}})},[o,t,n,i,r])}})({refetch:s}),w=(0,tG.useRef)(null),k=(0,tG.useRef)(null);(0,tG.useEffect)(()=>{if(!(0,tI.isNil)(null==a?void 0:a.items)&&(u(a.items),!(0,tI.isNil)(w.current))){let e=w.current,i=a.items.find(t=>"name"in t&&t.name===e);!(0,tI.isUndefined)(i)&&"writeable"in i&&t(i),w.current=null}},[a]),(0,tG.useEffect)(()=>{if(""===g)p(f),null!==k.current&&(c(k.current),k.current=null);else{let e,t;null===k.current&&(k.current=d);let i=Eg(f,g);p(i),c((e=[],(t=i=>{for(let n of i)"children"in n&&Array.isArray(n.children)&&(e.push(n.id),t(n.children))})(i),e))}v(e=>e+1)},[g,f]);let{t:T}=(0,iQ.useTranslation)(),S=(0,tG.useMemo)(()=>Eh(m,"video-thumbnail",b.icon,r),[m,r]),C=async e=>{let t=Ep(e,f);!(0,tI.isNil)(t)&&"writeable"in t&&await x(t)},D=async(e,t)=>{"delete"===t&&await C(e)};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(Em,{isFetching:o,onAdd:()=>{j(e=>{w.current=e})},onRefresh:s}),children:(0,tq.jsxs)(uE.U,{loading:l,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{h(e.target.value)},placeholder:T("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:o?"center":"start",vertical:!0,children:o?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:0===m.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(gQ.l,{defaultExpandedKeys:d,onActionsClick:D,onExpand:e=>{c(e)},onSelected:e=>{var i;let n;n=Ep(i=String(e),f),(0,tI.isNil)(n)||("children"in n&&Array.isArray(n.children)?(0,tI.isNil)(d)||!d.includes(i)?c([...d,i]):c(d.filter(e=>e!==i)):t(n))},selectedKeys:null!=n?[n]:[],treeData:S},`video-thumbnail-tree-${y}`)})})]})})},Ej=e=>{let{mediaQuery:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,tG.useMemo)(()=>t.transformations.map(e=>({type:e.type,data:e.config??{}})),[t.transformations]),a=(0,tG.useCallback)(e=>{null!=e&&i(e)},[i]),l=(0,tG.useMemo)(()=>tc.kL.get(td.K["DynamicTypes/VideoTransformationFieldCollectionRegistry"]),[]);return(0,tq.jsx)(F3.Z,{onChange:a,registry:l,title:n("video-thumbnails.editor.transformations"),value:r})},Ew=e=>{let{mediaQuery:t,onMediaQueryUpdate:i}=e,n=(0,tG.useRef)({}),r=(0,tG.useRef)(t);(0,tG.useEffect)(()=>{r.current=t});let a=(0,tG.useCallback)(e=>{let t=r.current;i({...t,transformations:e.map((e,i)=>{var r,a;let l=null==(r=t.transformations[i])?void 0:r.id;return""!==l&&null!=l?n.current[i]=l:(a=n.current)[i]??(a[i]=`transformation-${crypto.randomUUID()}`),{id:n.current[i],type:e.type,config:e.data}})})},[i]);return(0,tq.jsx)(F2.p,{item:{name:"transformations"},children:(0,tq.jsx)(Ej,{mediaQuery:t,onChange:a})})},Ek=e=>{let{mediaQueries:t,activeKey:i,onTabChange:n,onTabClose:r,onMediaQueryUpdate:a}=e,l=(0,tG.useCallback)(e=>{a(e.id,e)},[a]),o=(0,tG.useCallback)((e,t)=>{"remove"===t&&"string"==typeof e&&r(e)},[r]),s=(0,tG.useMemo)(()=>t.map(e=>({key:e.id,label:e.displayName,closable:!0,children:(0,tq.jsx)(Ew,{mediaQuery:e,onMediaQueryUpdate:l})})),[t,l]);return(0,tq.jsx)(ge.t,{activeKey:i,hideAdd:!0,items:s,onChange:n,onEdit:o,size:"small",type:"editable-card"})},ET=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[];return Object.entries(e).forEach(e=>{let[n,r]=e;if("default"===n)return;let a={id:ES(),query:n,displayName:n,transformations:r.map(e=>({id:EC(),type:e.method,config:e.arguments??{}})),order:(0===t[n]?0:t[n])??0};i.push(a)}),i.sort((e,t)=>e.order-t.order)},ES=()=>`mq-${(0,n7.u)()}`,EC=()=>`tr-${(0,n7.u)()}`,ED=e=>{let{mediaQueries:t,onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=(0,aB.Vl)(),[a,l]=(0,tG.useState)(t.length>0?t[0].id:void 0),o=(0,tG.useCallback)(()=>{r.input({title:n("video-thumbnails.editor.media-segments.add.title"),label:n("video-thumbnails.editor.media-segments.add.label"),okText:n("video-thumbnails.editor.media-segments.add.ok"),cancelButtonProps:{style:{display:"none"}},maskClosable:!0,rule:{required:!0},onOk:async e=>{let n=e.trim().replaceAll(/[^a-zA-Z0-9_\-+]/g,"");if(""===n||t.some(e=>e.query===n))return;let r={id:ES(),query:n,displayName:n,transformations:[],order:t.length};i([...t,r]),l(r.id)}})},[t,i,r,n]),s=(0,tG.useCallback)((e,n)=>{i(t.map(t=>t.id===e?n:t))},[t,i]),d=(0,tG.useCallback)(e=>{let n=t.filter(t=>t.id!==e);i(n),a===e&&l(n.length>0?n[0].id:void 0)},[t,i,a]),c=(0,tq.jsx)(az.$,{icon:(0,tq.jsx)(r9.I,{options:{width:16,height:16},value:"plus-circle"}),onClick:o,size:"small",type:"link",children:n("video-thumbnails.editor.media-segments.new")});return(0,tq.jsx)(ay.Z,{border:!0,contentPadding:"small",extra:c,extraPosition:"end",theme:"card-with-highlight",title:n("video-thumbnails.editor.media-segments"),children:(0,tq.jsx)(Ek,{activeKey:a,mediaQueries:t,onMediaQueryUpdate:s,onTabChange:l,onTabClose:d})})},EI=[{value:"average",label:"Average"},{value:"good",label:"Good"},{value:"best",label:"Best"}],EM=e=>{let{onPresettingChange:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsxs)(n6.L.Panel,{contentPadding:"extra-small",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.name"),name:"name",rules:[{required:!0,message:i("video-thumbnails.editor.name-required")}],children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:4})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.presetting"),name:"presetting",children:(0,tq.jsx)(t8.l,{allowClear:!0,onChange:t,options:EI})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.video-bitrate"),name:"videoBitrate",children:(0,tq.jsx)(df.Y,{addonAfter:"kbps",min:0})}),(0,tq.jsx)(tJ.lV.Item,{label:i("video-thumbnails.editor.audio-bitrate"),name:"audioBitrate",children:(0,tq.jsx)(df.Y,{addonAfter:"kbps",min:0})})]})},EL={average:{videoBitrate:400,audioBitrate:128},good:{videoBitrate:600,audioBitrate:128},best:{videoBitrate:800,audioBitrate:196}},EF=e=>{let{selectedThumbnail:t,isActive:i=!0,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),[a]=tJ.lV.useForm(),l=(0,uI.J)(),o=(0,tG.useRef)(null),[s,d]=(0,tG.useState)(null),[c,f]=(0,tG.useState)(null),[u,m]=(0,tG.useState)(null),[p,g]=(0,tG.useState)([]),{data:h,isLoading:y}=(0,k9.p0)({name:(null==t?void 0:t.name)??""},{skip:(null==t?void 0:t.name)==null}),[v,{isLoading:b,error:x}]=(0,k9.pM)();(0,tG.useEffect)(()=>{(0,tI.isNil)(x)||(0,iX.Ay)(new iX.hD(x))},[x]);let j=(0,tG.useMemo)(()=>!((0,tI.isNull)(c)||(0,tI.isNull)(u))&&!(0,tI.isEqual)(c,u),[c,u]);(0,tG.useEffect)(()=>{if((null==t?void 0:t.id)!==s&&!(0,tI.isEmpty)(null==h?void 0:h.settings)&&null!==t){d(((null==t?void 0:t.id)===""?null:null==t?void 0:t.id)??null);let e=ET(h.medias??{},{}),i=e.length>0?e:[{id:ES(),query:"Default",displayName:r("video-thumbnails.editor.media-segments.default"),transformations:[],order:0}],n={name:h.settings.name??"",description:h.settings.description??"",group:h.settings.group??"",videoBitrate:h.settings.videoBitrate??null,audioBitrate:h.settings.audioBitrate??null,mediaSegments:i};f({...n}),m({...n}),g(i),a.setFieldsValue(n),o.current=h.settings.modificationDate??Date.now()}},[null==t?void 0:t.id,s,null==h?void 0:h.settings,a]),(0,tG.useEffect)(()=>{null==n||n(j)},[j,n]);let w=(0,tG.useCallback)((e,t)=>{m(e=>null===e?null:{...e,...t,mediaSegments:e.mediaSegments})},[]),k=(0,tG.useCallback)(e=>{g(e),m(t=>null===t?null:{...t,mediaSegments:e})},[]),T=(0,tG.useCallback)(e=>{let t=EL[e];null!=t&&(a.setFieldsValue({videoBitrate:t.videoBitrate,audioBitrate:t.audioBitrate}),m(e=>null===e?null:{...e,videoBitrate:t.videoBitrate,audioBitrate:t.audioBitrate}))},[a]),S=(0,tG.useCallback)(()=>{(0,tI.isNil)(t)||null===u||a.validateFields().then(async e=>{var i,n,a,s;let d,c,m={name:e.name,description:e.description,group:(""===e.group?"":e.group)??"",videoBitrate:e.videoBitrate,audioBitrate:e.audioBitrate},{medias:p,mediaOrder:g}=(a=[],s=u.mediaSegments??[],c={},(d={}).default=a.map(e=>({method:e.type,arguments:e.config})),c.default=0,s.forEach(e=>{let t=(""===e.query?`segment-${e.id}`:e.query)??`segment-${e.id}`;d[t]=e.transformations.map(e=>({method:e.type,arguments:e.config})),c[t]=e.order}),{medias:d,mediaOrder:c}),h=await v({name:t.name,updateThumbnailConfig:{settings:m,medias:p,mediaOrder:g}});"error"in h||((null==(n=h.data)||null==(i=n.settings)?void 0:i.modificationDate)!=null&&(o.current=h.data.settings.modificationDate),f({...u}),l.success(r("save-success")))}).catch(()=>{(0,iX.Ay)(new iX.$g("Validation failed"))})},[t,u,v,a,l,r]);return null==t?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{style:{textAlign:"center",color:"#999",marginTop:"50px"},children:r("video-thumbnails.editor.select-thumbnail")})}):(0,tq.jsxs)(uE.U,{loading:y,padded:!0,padding:{top:"small",right:"small",bottom:"small",left:"small"},children:[!(0,tI.isNull)(u)&&(0,tq.jsxs)(n6.L,{formProps:{form:a,onValuesChange:w},children:[(0,tq.jsx)(EM,{onPresettingChange:T}),(0,tq.jsx)(ED,{mediaQueries:p,onChange:k})]},null==t?void 0:t.id),i&&null!=t?(0,tq.jsx)(F1.Z,{targetId:"video-thumbnails-save-button",children:(0,tq.jsx)(az.$,{disabled:!j,loading:b,onClick:S,type:"primary",children:r("save")})}):null]})},EE=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{tabsContainer:t`
height: 100%;
.ant-tabs-content,
@@ -1020,11 +1020,11 @@
.ant-tabs-tab {
padding: ${i.paddingSM}px ${i.paddingXXS}px !important;
}
- `}}),EI=(0,tG.memo)(e=>{let{thumbnail:t,activeTabKey:i,onTabDirtyChange:n}=e,r=i===t.id,a=(0,tG.useCallback)(e=>{n(t.id,e)},[t.id,n]);return(0,tq.jsx)(EC,{isActive:r,onChange:a,selectedThumbnail:t})});EI.displayName="VideoThumbnailsTabEditor";let EM=e=>{let{openedThumbnails:t,activeTabKey:i,onChangeTab:n,onCloseTab:r,onTabDirtyChange:a}=e,{styles:l}=ED(),o=(0,tG.useMemo)(()=>t.map(e=>({key:e.thumbnail.id,label:`${e.thumbnail.name}${e.isDirty?" *":""}`,icon:(0,tq.jsx)(r9.I,{value:"video-thumbnail"}),children:(0,tq.jsx)(EI,{activeTabKey:i,onTabDirtyChange:a,thumbnail:e.thumbnail})})),[t,i,a]);return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(FQ.J,{id:"video-thumbnails-save-button"})}),children:(0,tq.jsx)(ge.t,{activeKey:i,className:l.tabs,hasStickyHeader:!0,items:o,onChange:n,onClose:r,rootClassName:l.tabsContainer,type:"editable-card"})})},EL=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{emptyState:i`
+ `}}),EP=(0,tG.memo)(e=>{let{thumbnail:t,activeTabKey:i,onTabDirtyChange:n}=e,r=i===t.id,a=(0,tG.useCallback)(e=>{n(t.id,e)},[t.id,n]);return(0,tq.jsx)(EF,{isActive:r,onChange:a,selectedThumbnail:t})});EP.displayName="VideoThumbnailsTabEditor";let EA=e=>{let{openedThumbnails:t,activeTabKey:i,onChangeTab:n,onCloseTab:r,onTabDirtyChange:a}=e,{styles:l}=EE(),o=(0,tG.useMemo)(()=>t.map(e=>({key:e.thumbnail.id,label:`${e.thumbnail.name}${e.isDirty?" *":""}`,icon:(0,tq.jsx)(r9.I,{value:"video-thumbnail"}),children:(0,tq.jsx)(EP,{activeTabKey:i,onTabDirtyChange:a,thumbnail:e.thumbnail})})),[t,i,a]);return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"flex-end",children:(0,tq.jsx)(F0.J,{id:"video-thumbnails-save-button"})}),children:(0,tq.jsx)(ge.t,{activeKey:i,className:l.tabs,hasStickyHeader:!0,items:o,onChange:n,onClose:r,rootClassName:l.tabsContainer,type:"editable-card"})})},EN=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{emptyState:i`
text-align: center;
color: ${t.colorTextDisabled};
margin-top: 50px;
- `}}),EF=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=EL(),{openedThumbnails:i,activeTabKey:n,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}=(()=>{let[e,t]=(0,tG.useState)([]),[i,n]=(0,tG.useState)(void 0),r=(0,tG.useCallback)(i=>{if(!e.some(e=>e.thumbnail.id===i.id)){let e={thumbnail:i,isDirty:!1};t(t=>[...t,e])}n(i.id)},[e]),a=(0,tG.useCallback)(e=>{t(t=>{let r=t.findIndex(t=>t.thumbnail.id===e),a=t.filter(t=>t.thumbnail.id!==e);if(e===i){let e=t[r-1],i=t[r+1];n((null==e?void 0:e.thumbnail.id)??(null==i?void 0:i.thumbnail.id))}return a})},[i]),l=(0,tG.useCallback)(e=>{n(e)},[]),o=(0,tG.useCallback)((e,i)=>{t(t=>t.map(t=>t.thumbnail.id===e?{...t,isDirty:i}:t))},[]),s=(0,tG.useCallback)(()=>e.filter(e=>e.isDirty).map(e=>e.thumbnail.id),[e]);return{openedThumbnails:e,activeTabKey:i,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}})(),d=(0,tG.useMemo)(()=>s(),[s]);return(0,tq.jsx)(Ep,{children:(0,tq.jsx)(Lp.v,{leftItem:{size:25,minSize:200,children:(0,tq.jsx)(Eg,{activeTabKey:n,modifiedThumbnails:d,onThumbnailSelect:e=>{r(e)},openedThumbnails:i})},rightItem:{size:75,children:0===i.length?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{className:t.emptyState,children:e("video-thumbnails.editor.select-thumbnail")})}):(0,tq.jsx)(EM,{activeTabKey:n,onChangeTab:l,onCloseTab:a,onTabDirtyChange:o,openedThumbnails:i})}})})},EE={name:"Video Thumbnails",id:"video-thumbnails",component:"video-thumbnails",config:{translationKey:"widget.video-thumbnails",icon:{type:"name",value:"video-thumbnail"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Video Thumbnails",label:"navigation.video-thumbnails",className:"item-style-modifier",order:101,permission:pw.F.Thumbnails,perspectivePermission:pk.d.AssetThumbnails,widgetConfig:EE}),tc.kL.get(td.K.widgetManager).registerWidget({name:"video-thumbnails",component:EF});let e=tc.kL.get(td.K["DynamicTypes/VideoTransformationDynamicTypeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Resize"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ScaleByWidth"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ScaleByHeight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Cut"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/SetFramerate"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ColorChannelMixer"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Mute"]))}});let EP=()=>{let[e,{isLoading:t,error:i}]=(0,TD.k9)(),[n,{isLoading:r,error:a}]=(0,TD.RB)(),[l,{isLoading:o,error:s}]=(0,TD.Rq)();return(0,tG.useEffect)(()=>{void 0!==i&&"error_invalid_argument"!==(0,iX.ok)(i)&&(0,iX.Ay)(new iX.hD(i))},[i]),(0,tG.useEffect)(()=>{void 0!==a&&(0,iX.Ay)(new iX.hD(a))},[a]),(0,tG.useEffect)(()=>{void 0!==s&&"error_invalid_argument"!==(0,iX.ok)(s)&&(0,iX.Ay)(new iX.hD(s))},[s]),{createNewMetadata:async()=>{let{data:t,error:i}=await e({createPredefinedMetadata:{name:"",type:"input",description:null,targetSubType:null,data:null,config:null,language:null,group:null}});return void 0!==i?{success:!1,errorKey:(0,iX.ok)(i)}:void 0!==t?{success:!0,data:t}:{success:!1}},createLoading:t,deleteMetadataById:async e=>{let{error:t}=await n({id:e});return{success:void 0===t}},deleteLoading:r,updateMetadataById:async(e,t)=>{let{error:i}=await l({id:e,updatePredefinedMetadata:{name:t.name??"",description:t.description??null,type:t.type.includes("metadata.")?t.type.split(".")[1]??t.type:t.type,targetSubType:t.targetSubType??null,data:t.data??null,config:t.config??null,language:t.language??null,group:t.group??null}});return void 0!==i?{success:!1,errorKey:(0,iX.ok)(i)}:{success:!0}},updateLoading:o}},EA=e=>{let{info:t,setPredefinedAssetMetadataRows:i}=e,n=t.row.original.id,{deleteMetadataById:r,deleteLoading:a}=EP(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},EN=e=>{let{predefinedAssetMetadataRows:t,setPredefinedAssetMetadataRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updateMetadataById:r}=EP(),[a,l]=(0,tG.useState)([]),{showModal:o,closeModal:s,renderModal:d}=(0,TI.hS)({type:"error"}),c=(0,tG.useRef)({name:"",language:""}),f=(0,tc.Lt)(td.K["DynamicTypes/MetadataRegistry"]),u=(0,tc.Lt)(td.K["DynamicTypes/AssetRegistry"]),m=(0,tG.useMemo)(()=>f.getDynamicTypes().map(e=>({value:e.id,label:n("data-type."+e.id.split(".")[1])})),[n]),p=(0,tG.useMemo)(()=>u.getDynamicTypes().map(e=>({value:e.id,label:e.id})),[]),g=(0,tG.useMemo)(()=>t.map(e=>({...e,type:e.type.includes("metadata.")?e.type:`metadata.${e.type}`})),[t]),h=(0,cH.createColumnHelper)(),y=[h.accessor("type",{header:n("predefined-asset-metadata.columns.icon"),meta:{type:"asset-custom-metadata-icon",editable:!1},size:40,enableSorting:!1}),h.accessor("name",{header:n("predefined-asset-metadata.columns.name"),meta:{editable:!0},size:200}),h.accessor("group",{header:n("predefined-asset-metadata.columns.group"),meta:{editable:!0},size:150}),h.accessor("description",{header:n("predefined-asset-metadata.columns.description"),meta:{editable:!0},size:200}),h.accessor("type",{id:"typeSelect",header:n("predefined-asset-metadata.columns.type"),meta:{type:"select",editable:!0,config:{options:m}},size:130}),h.accessor("data",{header:n("predefined-asset-metadata.columns.value"),meta:{type:"asset-custom-metadata-value",editable:!0,autoWidth:!0},size:300}),h.accessor("config",{header:n("predefined-asset-metadata.columns.config"),meta:{editable:!0},size:150}),h.accessor("language",{header:n("predefined-asset-metadata.columns.language"),meta:{type:"language-select",editable:!0,config:{allowClear:!0}},size:100}),h.accessor("targetSubType",{header:n("predefined-asset-metadata.columns.target-type"),meta:{type:"select",editable:!0,config:{options:p}},size:130}),h.accessor("actions",{header:n("predefined-asset-metadata.columns.actions"),size:80,enableSorting:!1,cell:e=>(0,tq.jsx)(EA,{info:e,setPredefinedAssetMetadataRows:i})})],v=async e=>{let{columnId:n,value:a,rowData:s}=e,d=s.rowId,f="typeSelect"===n?"type":n,u={...s,..."type"===f?{data:null}:{},[f]:a};if(("name"===f||"language"===f)&&t.some(e=>e.rowId!==d&&e.name===u.name&&(e.language??null)===(u.language??null))){c.current={name:u.name,language:u.language??""},o();return}i(e=>e.map(e=>e.rowId===d?u:e)),l([{columnId:n,rowIndex:d}]);let{success:m,errorKey:p}=await r(u.id,u);m?l([]):("error_invalid_argument"===p&&(c.current={name:u.name,language:u.language??""},o()),i(e=>e.map(e=>e.rowId===d?s:e)))};return(0,tq.jsxs)("div",{children:[(0,tq.jsx)(ul.x,{autoWidth:!0,columns:y,data:g,enableSorting:!0,modifiedCells:a,onUpdateCellData:v,resizable:!0,setRowId:e=>e.rowId}),(0,tq.jsxs)(d,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(ig.Button,{onClick:s,type:"primary",children:n("button.ok")})}),title:n("predefined-asset-metadata.duplicate-entry.title"),children:[(0,tq.jsx)("p",{children:n("predefined-asset-metadata.duplicate-entry.error")}),(0,tq.jsxs)("div",{style:{marginTop:8},children:[(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[n("predefined-asset-metadata.columns.name"),":"]})," ",c.current.name]}),(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[n("predefined-asset-metadata.columns.language"),":"]})," ",""!==c.current.language?c.current.language:"—"]})]})]})]})},ER=()=>{let{createNewMetadata:e,createLoading:t}=EP(),{showModal:i,closeModal:n,renderModal:r}=(0,TI.hS)({type:"error"}),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)(!0),d=(0,tG.useRef)(null),[c,{error:f}]=(0,TD.Hw)(),u=async e=>{s(!0);let{data:t}=await c({body:{searchTerm:e??null}});l((null==t?void 0:t.items)===void 0||null===t.items?[]:(Array.isArray(t.items)?t.items:Object.values(t.items)).map(e=>({...e,rowId:e.id}))),s(!1)};(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||(0,iX.Ay)(new iX.hD(f))},[f]),(0,tG.useEffect)(()=>{u()},[]);let m=e=>{u(e.length>0?e:void 0)},p=[...a].sort((e,t)=>t.creationDate-e.creationDate),g=!o&&0===a.length,h=async()=>{if(a.some(e=>"New Definition"===e.name&&(e.language??null)===null&&(e.targetSubType??null)===null))return void i();let{success:t,data:n,errorKey:r}=await e();t&&void 0!==n?l(e=>[{...n,rowId:(0,af.uuid)()},...e]):"error_invalid_argument"===r&&i()};return(0,tq.jsxs)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(lp.K,{disabled:o,icon:{value:"refresh"},onClick:()=>{var e;let t=null==(e=d.current)?void 0:e.input;(0,tI.isNil)(t)||(t.value=""),u()}}),(0,tq.jsx)(ni.IconTextButton,{disabled:o||t,icon:{value:"new"},loading:t,onClick:h,children:(0,i6.t)("predefined-asset-metadata.new")})]}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.predefined-asset-metadata")}),(0,tq.jsx)(ni.SearchInput,{loading:o,onClear:()=>{m("")},onSearch:m,placeholder:"Search",ref:d,withPrefix:!1,withoutAddon:!1})]}),children:[(0,tq.jsx)(uE.U,{loading:o,margin:{x:"extra-small",y:"none"},none:g,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(EN,{predefinedAssetMetadataRows:p,setPredefinedAssetMetadataRows:l})})}),(0,tq.jsxs)(r,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(ig.Button,{onClick:n,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("predefined-asset-metadata.duplicate-entry.title"),children:[(0,tq.jsx)("p",{children:(0,i6.t)("predefined-asset-metadata.duplicate-entry.error")}),(0,tq.jsxs)("div",{style:{marginTop:8},children:[(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[(0,i6.t)("predefined-asset-metadata.columns.name"),":"]})," New Definition"]}),(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[(0,i6.t)("predefined-asset-metadata.columns.language"),":"]})," —"]})]})]})]})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Predefined Asset Metadata",label:"navigation.predefined-asset-metadata",order:102,className:"item-style-modifier",permission:pw.F.AssetMetadata,perspectivePermission:pk.d.PredefinedAssetMetadata,widgetConfig:{name:"Predefined Asset Metadata",id:"predefined-asset-metadata",component:"predefined-asset-metadata",config:{translationKey:"widget.predefined-asset-metadata",icon:{type:"name",value:"custom-metadata"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"predefined-asset-metadata",component:ER})}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DynamicTypes/IconSetRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/IconSet/PimcoreDefault"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/IconSet/Twemoji"]))}});var EV=i(75401);ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/About",label:"navigation.about",className:"item-style-modifier",order:9999,perspectivePermission:pk.d.About,useCustomMainNavItem:()=>{let{open:e}=(0,EV.c)();return{name:"SystemAbout",onClick:e}}})}});let Ez=e=>{let{hideCredentialsForm:t=!1}=e,{t:i}=(0,iQ.useTranslation)(),n=(0,CC.e)().getSlotComponents(yl.e.form.login.name).length>1;return t||!n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(m1.c,{plain:!0,children:i("login-form-additional-logins.or")})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(tu.eb.form.login.name,{name:"loginFormDivider",priority:0,component:Ez})}});var EB=i(24184),EO=i(35235),EK=i(86970);let E_=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,EK.Ux)(),n=(0,tG.useRef)(null),{data:r,isLoading:a,error:l}=(0,cV.useClassDefinitionGetIdentifierDataQuery)(),[o]=(0,cV.useClassDefinitionCreateMutation)(),{openConfiguration:s}=(0,EO.wB)();return(0,tG.useEffect)(()=>{void 0!==l&&(0,uj.trackError)(new uj.ApiError(l))},[l]),(0,tG.useEffect)(()=>{(null==r?void 0:r.suggestedId)!==void 0&&t.setFieldValue("uniqueIdentifier",r.suggestedId)},[null==r?void 0:r.suggestedId]),(0,tq.jsx)(EK.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("class-definition.create-new"),children:(0,tq.jsx)(ni.Content,{loading:a,children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{void 0!==r&&o({createClassDefinition:{name:e.className,uid:e.uniqueIdentifier}}).then(e=>{t.resetFields(),i(),s({id:e.data.id,name:e.data.name,group:e.data.group,icon:e.data.icon})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("class-definition.class-name"),name:"className",rules:[{required:!0,message:e("class-definition.validation.enter-class-name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:e("class-definition.validation.class-name-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)(ni.Form.Item,{initialValue:null==r?void 0:r.suggestedId,label:e("class-definition.unique-identifier"),name:"uniqueIdentifier",rules:[{required:!0,message:e("class-definition.validation.enter-unique-identifier")},{validator:async(t,i)=>{if((null==r?void 0:r.existingIds.includes(i.toLowerCase()))===!0)return await Promise.reject(Error(e("class-definition.validation.unique-identifier-in-use")));await Promise.resolve()}},{pattern:/^[a-zA-Z0-9_]{0,63}$/,message:e("class-definition.validation.unique-identifier-format")}],children:(0,tq.jsx)(ni.Input,{maxLength:64})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e("class-definition.unique-identifier-warning")}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})})},EH=(0,cH.createColumnHelper)(),E$=e=>{let{classId:t}=e,{data:i,isLoading:n}=(0,fk.hp)({id:t}),r=(()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[EH.accessor("key",{header:e("object-brick-key"),size:200}),EH.accessor("fieldName",{header:e("field-name"),size:200})],[e])})();return n?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:r,data:(null==i?void 0:i.items)??[],enableMultipleRowSelection:!1,resizable:!1})};var EW=i(89966),Eq=i(59438);let EG=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,EW.g)(),i=(0,tG.useMemo)(()=>(0,tI.isNil)(null==t?void 0:t.fieldDefinitions)?[]:Object.values(t.fieldDefinitions).filter(e=>"data"===e.datatype&&(0,tI.isString)(e.name)&&e.name.trim().length>0).map(e=>({label:e.title??e.name,value:e.name})).sort((e,t)=>e.label.localeCompare(t.label)),[null==t?void 0:t.fieldDefinitions]);return(0,tq.jsx)(tJ.lV.Item,{name:"compositeIndices",children:(0,tq.jsxs)(Eq.e,{getItemTitle:(t,i)=>(null==t?void 0:t.index_key)??`${e("class-definition.composite-indices.index-label")} ${i+1}`,title:e("class-definition.composite-indices.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.index-name"),name:"index_key",children:(0,tq.jsx)(aR.p,{placeholder:e("class-definition.composite-indices.enter-index-name")})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.type"),name:"index_type",children:(0,tq.jsx)(t8.l,{options:[{label:e("class-definition.composite-indices.type-query"),value:"query"},{label:e("class-definition.composite-indices.type-localized-query"),value:"localized_query"},{label:e("class-definition.composite-indices.type-store"),value:"store"},{label:e("class-definition.composite-indices.type-localized-store"),value:"localized_store"}],placeholder:e("class-definition.composite-indices.select-index-type")})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.columns"),name:"index_columns",children:(0,tq.jsx)(t8.l,{mode:"tags",options:i,placeholder:e("class-definition.composite-indices.select-column-names")})})]})})},EU=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance(),i=tJ.lV.useWatch("name",t),n=t.getFieldValue("id");return(0,tG.useEffect)(()=>{if((0,tI.isString)(i)){let e="Pimcore\\Model\\DataObject\\"+(0,tI.upperFirst)(i);t.getFieldValue("phpClassName")!==e&&t.setFieldValue("phpClassName",e,{triggerChange:!0})}},[i]),(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("class-definition.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("name"),name:"name",rules:[{required:!0,message:e("class-definition.general-settings.enter-name")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:3})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.id"),name:"id",children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.php-class-name"),name:"phpClassName",children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.icon"),name:"icon",children:(0,tq.jsx)(Lv.N,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.listing-parent-class"),name:"listingParentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.use-traits"),name:"useTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.listing-use-traits"),name:"listingUseTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.link-generator-reference"),name:"linkGeneratorReference",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.preview-generator-reference"),name:"previewGeneratorReference",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{name:"allowInherit",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.allow-inherit")})}),(0,tq.jsx)(tJ.lV.Item,{name:"allowVariants",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.allow-variants")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showVariants",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-variants")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showAppLoggerTab",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-app-logger-tab")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showFieldLookup",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-field-lookup")})}),(0,tq.jsx)(tJ.lV.Item,{name:"enableGridLocking",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.enable-grid-locking")})}),(0,tq.jsx)(tJ.lV.Item,{name:"encryption",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.encrypt-data")})})]}),(0,tq.jsxs)(ni.FormKit.Panel,{title:e("class-definition.property-visibility.title"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","id"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.id-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","id"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.id-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","key"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.key-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","key"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.key-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","path"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.path-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","path"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.path-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","modificationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.modification-date-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","modificationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.modification-date-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","creationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.creation-date-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","creationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.creation-date-search")})})]}),(0,tq.jsx)(EG,{}),!(0,tI.isNil)(n)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("class-definition.object-bricks.title"),children:(0,tq.jsx)(E$,{classId:n})})]}),[])};var EQ=i(23004);let EJ=e=>{let[t,i]=(0,EQ.lr)(e),{getLayout:n}=(0,EW.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>{var e;return t({id:r.id,classDefinitionUpdate:{configuration:{children:n().children??[]},values:{...r,icon:(null==(e=r.icon)?void 0:e.value)??""}}})},i]};var EZ=i(54436);let EY=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,EK.Ux)(),n=(0,tG.useRef)(null),{configuration:r}=(0,EZ.R6)(),{data:a,isLoading:l,error:o}=(0,cV.useClassCustomLayoutGetIdentifierDataQuery)({classDefinitionId:r.id}),[s]=(0,cV.useClassCustomLayoutCreateMutation)(),{openConfiguration:d}=(0,EO.wB)();return(0,tG.useEffect)(()=>{void 0!==o&&(0,uj.trackError)(new uj.ApiError(o))},[o]),(0,tG.useEffect)(()=>{(null==a?void 0:a.suggestedId)!==void 0&&t.setFieldValue("uniqueIdentifier",a.suggestedId)},[null==a?void 0:a.suggestedId]),(0,tq.jsx)(EK.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("field-definitions.create-new-class-definition"),children:(0,tq.jsx)(ni.Content,{loading:l,children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{void 0!==a&&s({customLayoutId:e.uniqueIdentifier,customLayoutNew:{classId:r.id,name:e.name}}).then(e=>{t.resetFields(),i(),d({id:e.data.id,name:e.data.name,group:e.data.group,icon:e.data.icon})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("name"),name:"name",rules:[{required:!0,message:e("field-definitions.validation.enter-class-name")},{pattern:/^[-A-Za-z0-9_]*$/,message:e("field-definitions.validation.class-name-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)(ni.Form.Item,{initialValue:null==a?void 0:a.suggestedId,label:e("field-definitions.validation.unique-identifier"),name:"uniqueIdentifier",rules:[{required:!0,message:e("field-definitions.validation.enter-unique-identifier")},{validator:async(t,i)=>{if((null==a?void 0:a.existingIds.includes(i.toLowerCase()))===!0)return await Promise.reject(Error(e("field-definitions.validation.unique-identifier-in-use")));await Promise.resolve()}},{pattern:/^[-a-zA-Z0-9_]{0,63}$/,message:e("field-definitions.validation.unique-identifier-format")}],children:(0,tq.jsx)(ni.Input,{maxLength:64})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e("class-definition.unique-identifier-warning")}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})})},EX=()=>{let{generalSettings:e}=(0,f$.dq)(),{t}=(0,iQ.useTranslation)();return(0,tI.isNil)(e)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ni.FormKit.Panel,{title:t("general"),children:[(0,tq.jsx)(ig.Form.Item,{label:t("name"),name:"name",children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("class-definition.custom-layouts.default-layout"),name:"default_layout",valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("description"),name:"description",children:(0,tq.jsx)(ni.TextArea,{rows:3})})]})},E0=()=>({accessor:e=>e.layoutDefinition??void 0}),E1=()=>{let{configuration:e}=(0,EZ.R6)();return(0,cV.useClassCustomLayoutCollectionQuery)({classIds:e.id})},E2=e=>(0,cV.useClassCustomLayoutGetQuery)({customLayoutId:e.id});var E3=i(13604),E6=i(25277);let{LayoutProvider:E4,useLayout:E5}=(0,E6.v)(),E7=e=>{let{fieldDefinitionRegistry:t}=(0,E3.t0)();return(0,tq.jsx)(E4,{...e,fieldDefinitionRegistry:t})},E8=e=>{let[t,i]=(0,EQ.Zz)(e),{getLayout:n}=E5(),{generalSettings:r}=(0,f$.dq)();return[()=>t({customLayoutId:String(r.id),customLayoutUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},E9=e=>{let[t,i]=(0,EQ.Zq)(e);return[e=>t({customLayoutId:String(e.id)}),i]};var Pe=i(11182),Pt=i(38939);let Pi=()=>{var e,t,i,n;let{configuration:r}=(0,EZ.R6)(),a=(0,E3.t0)(),l=null==(t=a.customLayouts)||null==(e=t.parent)?void 0:e.area,o=null==(n=a.customLayouts)||null==(i=n.parent)?void 0:i.useLayout,{fieldDefinitionRegistry:s}=a;if(void 0===o)throw Error("Custom Layout Parent: useLayout is not defined in editor settings");if(void 0===l)throw Error("Custom Layout Parent: area is not defined in editor settings");let{structure:d,fieldDefinitions:c,getLayout:f}=o(),u=(0,tG.useMemo)(()=>(e,t)=>{var i;let n=c[e.key];if(void 0===n)return t;let r={type:"field-definition",icon:n.icon??{value:"folder"},title:n.title??n.name??e.title,data:{area:l,internal:{id:e.key,fieldDefinition:n,path:(null==(i=e.meta)?void 0:i.currentPath)??[]},external:f({startNode:e.key.toString()})}};return(0,tq.jsx)(ni.Draggable,{info:r,children:t})},[c,l,f]),m=tU().useMemo(()=>void 0===d?[]:[(0,Pt.buildTree)({structure:d,fieldDefinitions:c,registry:s,itemCallback:e=>{let{fieldDefinition:t,initialTreeItem:i}=e;return{...i,className:"ant-tree-node--has-drag-and-drop"}}}).children].flat(),[d,c]);return(0,tq.jsxs)(ni.Content,{padded:!0,padding:{y:"small",x:"mini"},children:[(0,tq.jsx)(ni.Header,{style:{flexShrink:0},title:r.name}),(0,tq.jsx)(ni.Content,{overflow:{x:"hidden",y:"auto"},style:{minHeight:0,flex:1},children:(0,tq.jsx)(ni.TreeElement,{defaultExpandAll:!0,titleRender:u,treeData:m})})]})};var Pn=i(28587),Pr=i(4839);let Pa=e=>"application/json"===e.type||e.name.endsWith(".json"),Pl=()=>{let{t:e}=(0,iQ.useTranslation)(),{useDetailLayoutQuery:t,useDetailGeneralSettingsQuery:i,importExportConfig:n,useItemsDeleteMutation:r}=(0,E3.t0)(),{activeConfiguration:a,closeConfiguration:l}=(0,EO.wB)(),o=(0,ni.useMessage)(),s=(0,ni.useFormModal)(),[d,c]=(0,tG.useState)(!1),f=void 0!==r,[u,m]=(r??(()=>[async()=>{},{}]))(),p=!!f&&!0===m.isLoading,g=null==a?void 0:a.id,h=null==t?void 0:t({id:g??""}),y=i({id:g??""});if((0,tI.isNil)(n))return(0,tq.jsx)(tq.Fragment,{});let{getExportUrl:v,getImportUrl:b,validateFile:x=Pa,acceptFileTypes:j=".json,application/json",acceptMimeTypes:w=["application/json"],successMessageKey:k="class-definition.import-success"}=n,T=(0,tI.isNil)(g)?"":b(g);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ni.ButtonGroup,{items:[(0,tq.jsx)(ni.IconButton,{icon:{value:"export"},onClick:()=>{if((0,tI.isNil)(g))return;let e=document.createElement("a");e.href=v(g),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)},title:e("export"),type:"link"},"export"),(0,tq.jsx)(ni.IconButton,{icon:{value:"upload-import"},onClick:()=>{c(!0)},title:e("import"),type:"link"},"import"),...f?[(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:p,onClick:()=>{(0,tI.isNil)(g)||(0,tI.isNil)(a)||s.confirm({title:e("delete"),content:e("custom-layout.delete.confirmation"),okText:e("delete"),onOk:async()=>{try{await u({id:g}),l(a),o.success(e("custom-layout.delete.success"))}catch(e){(0,iX.Ay)(new iX.hD(e))}}})},title:e("delete"),type:"link"},"delete")]:[]]}),(0,tq.jsx)(Pr.z,{accept:j,acceptMimeTypes:w,action:T,onOpenChange:c,onUploadSuccess:()=>{o.success(e(k)),c(!1),null==h||h.refetch(),null==y||y.refetch()},open:d,title:e("class-definition.import"),uploadButtonLabel:e("import"),validateFile:x})]})};var Po=i(33627),Ps=i(11498);let Pd=()=>{let{activeConfiguration:e,setDetailView:t}=(0,EO.wB)(),{useDetailGeneralSettingsQuery:i,useDetailLayoutQuery:n,useDetailLayoutAccessor:r,customLayouts:a,LayoutProvider:l}=(0,E3.t0)(),o=null==n?void 0:n({id:e.id}),s=null==o?void 0:o.error,d=(0,tG.useMemo)(()=>null==r?void 0:r(),[r]),c=i({id:e.id}),{isLoading:f,isFetching:u,refetch:m,data:p}=c,g=c.error,[h,y]=(0,tG.useState)(null==o?void 0:o.data),[v,b]=(0,tG.useState)(0);return(0,tG.useEffect)(()=>{y(null==o?void 0:o.data)},[null==o?void 0:o.data]),(0,tG.useEffect)(()=>{if(void 0!==d&&void 0!==p){let e=d.accessor(p);if(void 0===e)return void y({name:"pimcore_root",children:[],fieldtype:"panel",bodyStyle:"",border:!1,collapsible:!1,title:"",datatype:"layout",collapsed:!1,height:0,width:0,icon:{type:"name",value:"none"},labelAlign:"left",labelWidth:100,layout:null,locked:!1,region:"",type:"layout",additionalAttributes:{}});y(e)}},[p,d]),(0,tG.useEffect)(()=>{void 0!==s&&"status"in s&&404===s.status?y({name:"pimcore_root",children:[],fieldtype:"panel",bodyStyle:"",border:!1,collapsible:!1,title:"",datatype:"layout",collapsed:!1,height:0,width:0,icon:{type:"name",value:"none"},labelAlign:"left",labelWidth:100,layout:null,locked:!1,region:"",type:"layout",additionalAttributes:{}}):void 0!==s&&(0,uj.trackError)(new uj.ApiError(s))},[s]),(0,tG.useEffect)(()=>{void 0!==g&&(0,uj.trackError)(new uj.ApiError(g))},[g]),(0,tq.jsx)(f$.Ts,{generalSettings:p,children:(0,tq.jsx)(l,{layout:h,children:(0,tq.jsx)(ni.ContentLayout,{className:"absolute-stretch",renderToolbar:(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",padding:{x:"none"},theme:"secondary",children:[(0,tq.jsx)(Pl,{}),(0,tq.jsxs)(ni.Flex,{gap:"mini",children:[(0,tq.jsxs)(ni.Flex,{gap:"mini",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"refresh"},onClick:()=>{null==o||o.refetch(),m(),b(e=>e+1),t("general")}}),(null==a?void 0:a.ModalContent)!==void 0&&(0,tq.jsx)(Pe.q,{})]}),(0,tq.jsx)(Po.x,{})]})]}),children:(0,tq.jsx)(ni.Content,{loading:(null==o?void 0:o.isLoading)===!0||f||(null==o?void 0:o.isFetching)===!0||u,children:(0,tq.jsx)(ni.ConfigLayout,{leftItem:{minSize:250,maxSize:350,size:250,children:(0,tq.jsx)(Pi,{})},resizeAble:!0,rightItem:{children:(0,tq.jsx)(ni.ConfigLayout,{leftItem:{minSize:250,maxSize:350,size:250,children:(0,tq.jsx)(Ps.C,{allowExternalDrop:!0})},resizeAble:!0,rightItem:{children:(0,tq.jsx)(Pn.R,{})}})}})})})},v)})},Pc=()=>{let{activeConfiguration:e}=(0,EO.wB)();return void 0===e?(0,tq.jsx)(ni.Content,{centered:!0,children:"Create a new Custom Layout or edit an existing one"}):(0,tq.jsx)(Pd,{},String(e.id))},Pf=()=>{let{openModal:e}=(0,EK.Ux)(),{AddModal:t}=(0,E3.t0)();return void 0===t?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new-something"},onClick:e,children:"New layout"})},Pu=()=>{var e;let{t}=(0,iQ.useTranslation)(),{useItemsQuery:i}=(0,E3.t0)(),{isLoading:n,data:r}=i(),{setActiveConfiguration:a,activeConfiguration:l}=(0,EO.wB)(),o=tU().useMemo(()=>void 0===r?[]:r.items.map(e=>({key:e.id,label:e.name,onClick:()=>{a(e)}})),[r,a]);return(0,tq.jsx)(tq.Fragment,{children:n||void 0===r||(null==r||null==(e=r.items)?void 0:e.length)===0?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.Dropdown,{menu:{items:o},children:(0,tq.jsx)(ni.IconTextButton,{icon:{value:"edit"},children:void 0!==l?l.name:t("field-definitions.select-item-configuration")})})})},Pm=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsx)(ni.Toolbar,{padding:{x:"none"},position:"content",theme:"secondary",children:(0,tq.jsx)(ni.Header,{title:e("field-definitions.custom-layout-title"),children:(0,tq.jsxs)(ni.Split,{children:[(0,tq.jsx)(Pf,{}),(0,tq.jsx)(Pu,{})]})})})};var Pp=i(69933);let Pg=()=>(0,tq.jsx)(EK.e,{children:(0,tq.jsx)(ni.ContentLayout,{renderTopBar:(0,tq.jsx)(Pm,{}),children:(0,tq.jsxs)(ni.Content,{style:{height:"60vh"},children:[(0,tq.jsx)(Pp.A,{}),(0,tq.jsx)(Pc,{})]})})}),Ph={getExportUrl:e=>`${(0,tD.$)()}/class/custom-layout/export/${e}`,getImportUrl:e=>`${(0,tD.$)()}/class/custom-layout/import/${e}`,successMessageKey:"custom-layout.import-success"},Py=()=>(0,tq.jsx)(EB.K,{AddModal:EY,GeneralSettingsFormFields:EX,LayoutProvider:E7,area:["class","custom-layout"],customLayouts:{parent:{area:["class"],useLayout:EW.g}},importExportConfig:Ph,useDetailGeneralSettingsQuery:E2,useDetailLayoutAccessor:E0,useDetailUpdateMutation:E8,useItemsDeleteMutation:E9,useItemsQuery:E1,useLayout:E5,view:(0,tq.jsx)(Pg,{})}),Pv={getExportUrl:e=>`${(0,tD.$)()}/class/definition/configuration-view/detail/${e}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/definition/configuration-view/detail/${e}/import`},Pb=()=>(0,tq.jsx)(EB.K,{AddModal:E_,GeneralSettingsFormFields:EU,area:["class"],customLayouts:{ModalContent:(0,tq.jsx)(Py,{})},importExportConfig:Pv,useDetailGeneralSettingsQuery:fk.tc,useDetailLayoutQuery:fk.PA,useDetailUpdateMutation:EJ,useItemsDeleteMutation:fk.zB,useItemsQuery:fk.HE});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/ClassDefinitions",label:"navigation.class-definitions",className:"class",order:100,permission:pw.F.Classes,perspectivePermission:pk.d.ClassDefinitions,widgetConfig:{name:"classes",id:"class-definitions",component:"class-definitions",config:{translationKey:"widget.class-definitions",icon:{type:"name",value:"class"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"class-definitions",component:Pb})}});var Px=i(97264);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/BulkExport",label:"navigation.bulk-export",order:700,permission:MX.UserPermission.Classes,perspectivePermission:I8.NavPermission.BulkExport,useCustomMainNavItem:()=>{let{open:e}=(0,Px.$)();return{name:"DataModelDefinitionsBulkExport",onClick:e}}})}});var Pj=i(18087);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/BulkImport",label:"navigation.bulk-import",order:800,permission:MX.UserPermission.Classes,perspectivePermission:I8.NavPermission.BulkImport,useCustomMainNavItem:()=>{let{open:e}=(0,Pj.G)();return{name:"DataModelDefinitionsBulkImport",onClick:e}}})}});let Pw=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,EK.Ux)(),n=(0,tG.useRef)(null),[r]=(0,fk.XA)(),{openConfiguration:a}=(0,EO.wB)();return(0,tq.jsx)(EK.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("field-collection.create-new"),children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{t.resetFields(),r({createFieldCollection:{key:e.key}}).then(e=>{i(),a({id:e.data.key,name:e.data.title??e.data.key})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("field-collection.key"),name:"key",rules:[{required:!0,message:e("field-collection.validation.enter-key")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:e("field-collection.validation.key-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})},Pk=(0,cH.createColumnHelper)(),PT=e=>{let{collectionKey:t}=e,{data:i,isLoading:n}=(0,fk.sD)({key:t}),r=(()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[Pk.accessor("class",{header:e("field-collection.general-settings.usages.class"),size:200}),Pk.accessor("field",{header:e("field-collection.general-settings.usages.field"),size:200})],[e])})();return n?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:r,data:(null==i?void 0:i.items)??[],enableMultipleRowSelection:!1,resizable:!1})},PS=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance().getFieldValue("id");return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("field-collection.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.title-label"),name:"title",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})})]}),!(0,tI.isNil)(t)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("field-collection.general-settings.usages.title"),children:(0,tq.jsx)(PT,{collectionKey:t})})]}),[t])},PC=e=>{let[t,i]=(0,fk.M0)(e),{getLayout:n}=(0,EW.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>t({key:null==r?void 0:r.id,fieldCollectionUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},PD=e=>{let t=String(e.id),i=(0,fk.cj)({key:t});return void 0!==i.data?{...i,data:{...i.data,id:i.data.key}}:i},PI=e=>{let t=String(e.id);return(0,fk.AY)({key:t})},PM=()=>{let e=(0,fk.kJ)({}),t=(0,tG.useMemo)(()=>{if(void 0===e.data||!("items"in e.data))return;let t=[];for(let r of e.data.items){var i,n;if("children"in r)for(let e of r.children)t.push({id:e.key,name:e.name,group:e.group??void 0,icon:{value:(null==(i=e.icon)?void 0:i.value)!==void 0&&""!==e.icon.value?e.icon.value:"field-collection-field"}});else t.push({id:r.key,name:r.name,group:r.group??void 0,icon:{value:(null==(n=r.icon)?void 0:n.value)!==void 0&&""!==r.icon.value?r.icon.value:"field-collection-field"}})}return{...e.data,items:t}},[e.data]);return void 0!==t?{...e,data:t}:e},PL=function(){for(var e=arguments.length,t=Array(e),i=0;in({key:String(e.id)}),r]},PF={getExportUrl:e=>`${(0,tD.$)()}/class/field-collection/${String(e)}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/field-collection/${String(e)}/import`},PE=()=>(0,tq.jsx)(EB.K,{AddModal:Pw,GeneralSettingsFormFields:PS,area:["fieldcollection"],importExportConfig:PF,useDetailGeneralSettingsQuery:PD,useDetailLayoutQuery:PI,useDetailUpdateMutation:PC,useItemsDeleteMutation:PL,useItemsQuery:PM});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/FieldCollections",label:"navigation.field-collections",className:"fieldcollection",order:200,permission:pw.F.FieldCollections,perspectivePermission:pk.d.FieldCollections,widgetConfig:{name:"field-collections",id:"field-collections",component:"field-collections",config:{translationKey:"widget.field-collections",icon:{type:"name",value:"field-collection-field"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"field-collections",component:PE})}});let PP=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,EK.Ux)(),n=(0,tG.useRef)(null),[r]=(0,fk.ll)(),{openConfiguration:a}=(0,EO.wB)();return(0,tq.jsx)(EK.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("object-brick.create-new"),children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{t.resetFields(),r({createObjectBrick:{key:e.key}}).then(e=>{i(),a({id:e.data.key,name:e.data.title??e.data.key})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("object-brick.key"),name:"key",rules:[{required:!0,message:e("object-brick.validation.enter-key")},{pattern:/^[a-zA-Z]\w*$/,message:e("object-brick.validation.key-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})};var PA=i(8320);let PN=e=>{let{blockIndex:t,value:i,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),{operations:a}=(0,PA.S)(),l=a.getValue(["classDefinitions",t,"classname"]),o=(0,tG.useRef)(l);(0,tG.useEffect)(()=>{void 0!==o.current&&o.current!==l&&(null==n||n(null)),o.current=l},[l]);let{data:s,isFetching:d}=(0,fk.hp)({id:l},{skip:void 0===l||""===l}),c=(0,tG.useMemo)(()=>{if((null==s?void 0:s.items)===void 0)return[];let e=new Set;return s.items.reduce((t,i)=>(e.has(i.fieldName)||(e.add(i.fieldName),t.push({label:i.fieldName,value:i.fieldName})),t),[])},[s]);return(0,tq.jsx)(t8.l,{disabled:void 0===l||""===l,loadingSkeleton:d,onChange:n,options:c,placeholder:r("object-brick.class-definitions-block.select-fieldname"),value:i})},PR=()=>{let{t:e}=(0,iQ.useTranslation)(),{data:t,isFetching:i}=(0,fk.qA)(),n=(0,tG.useMemo)(()=>(null==t?void 0:t.items)===void 0?[]:t.items.map(e=>({label:e.name,value:e.id})),[t]),r=(0,tG.useMemo)(()=>{var e;let i={};return null==t||null==(e=t.items)||e.forEach(e=>{i[e.id]=e.name}),i},[t]);return(0,tq.jsx)(tJ.lV.Item,{name:"classDefinitions",children:(0,tq.jsx)(Eq.e,{getItemTitle:t=>(null==t?void 0:t.classname)!==void 0?r[t.classname]??t.classname:e("object-brick.class-definitions-block.new-entry"),title:e("object-brick.class-definitions-block.title"),children:t=>{let{blockIndex:r}=t;return(0,tq.jsxs)(ni.FormKit.Panel,{children:[(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.class-definitions-block.classname"),name:"classname",children:(0,tq.jsx)(t8.l,{loadingSkeleton:i,options:n,placeholder:e("object-brick.class-definitions-block.select-classname"),showSearch:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.class-definitions-block.fieldname"),name:"fieldname",children:(0,tq.jsx)(PN,{blockIndex:r})})]})}})})},PV=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("object-brick.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.title-label"),name:"title",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})})]}),(0,tq.jsx)(PR,{})]}),[])},Pz=e=>{let[t,i]=(0,fk.q9)(e),{getLayout:n}=(0,EW.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>t({key:null==r?void 0:r.id,objectBrickUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},PB=()=>{let{generalSettings:e}=(0,f$.dq)(),{t}=(0,iQ.useTranslation)();return(0,tI.isNil)(e)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ni.FormKit.Panel,{title:t("general"),children:[(0,tq.jsx)(ig.Form.Item,{label:t("name"),name:"name",children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("class-definition.custom-layouts.default-layout"),name:"default",valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("description"),name:"description",children:(0,tq.jsx)(ni.TextArea,{rows:3})})]})},PO=()=>({accessor:e=>e.layoutDefinition??void 0}),PK=()=>{let{data:e}=(0,cV.useClassObjectBrickClassesQuery)(),t=null==e?void 0:e.items.map(e=>e.id).join(",");return(0,cV.useClassCustomLayoutCollectionQuery)({classIds:t},{skip:void 0===t})},P_=e=>{let{configuration:t}=(0,EZ.R6)(),i=String((null==t?void 0:t.id)??""),n=String((null==e?void 0:e.id)??""),r=(0,cV.useClassObjectBrickCustomLayoutGetQuery)({key:i,customLayoutId:n},{skip:""===i||""===n});return void 0!==r.error&&"status"in r.error&&404===r.error.status?{...r,error:void 0,isError:!1,data:{id:n,name:"",description:"",creationDate:0,modificationDate:0,userOwner:0,classId:"",default:!1,layoutDefinition:null}}:r},{LayoutProvider:PH,useLayout:P$}=(0,E6.v)(),PW=e=>{let{fieldDefinitionRegistry:t}=(0,E3.t0)();return(0,tq.jsx)(PH,{...e,fieldDefinitionRegistry:t})},Pq=e=>{let[t,i]=(0,cV.useClassObjectBrickCustomLayoutUpdateMutation)(e),{getLayout:n}=P$(),{generalSettings:r}=(0,f$.dq)(),{configuration:a}=(0,EZ.R6)(),{activeConfiguration:l}=(0,EO.wB)(),o=String((null==a?void 0:a.id)??""),s=String((null==l?void 0:l.id)??"");return[()=>t({key:o,customLayoutId:s,customLayoutUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},{LayoutProvider:PG,useLayout:PU}=(0,E6.v)(),PQ=()=>{let{configuration:e}=(0,EZ.R6)(),t=String((null==e?void 0:e.id)??""),i=(0,tG.useMemo)(()=>({getExportUrl:e=>`${(0,tD.$)()}/class/object-brick/${t}/custom-layout/${e}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/object-brick/${t}/custom-layout/${e}/import`,successMessageKey:"custom-layout.import-success"}),[t]);return(0,tq.jsx)(EB.K,{GeneralSettingsFormFields:PB,LayoutProvider:PW,area:["objectbrick","custom-layout"],customLayouts:{parent:{area:["objectbrick"],useLayout:PU}},importExportConfig:i,useDetailGeneralSettingsQuery:P_,useDetailLayoutAccessor:PO,useDetailUpdateMutation:Pq,useItemsQuery:PK,useLayout:P$,view:(0,tq.jsx)(Pg,{})})},PJ=e=>{let t=String(e.id),i=(0,fk.Ss)({key:t});return void 0!==i.data?{...i,data:{...i.data,id:i.data.key}}:i},PZ=e=>{let t=String(e.id);return(0,fk.Io)({key:t})},PY=()=>{let e=(0,fk.eK)(),t=(0,tG.useMemo)(()=>{if(void 0===e.data||!("items"in e.data))return;let t=[];for(let r of e.data.items){var i,n;if("children"in r)for(let e of r.children)t.push({id:e.key,name:e.name,group:e.group??void 0,icon:{value:(null==(i=e.icon)?void 0:i.value)!==void 0&&""!==e.icon.value?e.icon.value:"object-bricks"}});else t.push({id:r.key,name:r.name,group:r.group??void 0,icon:{value:(null==(n=r.icon)?void 0:n.value)!==void 0&&""!==r.icon.value?r.icon.value:"object-bricks"}})}return{...e.data,items:t}},[e.data]);return void 0!==t?{...e,data:t}:e},PX=function(){for(var e=arguments.length,t=Array(e),i=0;in({key:String(e.id)}),r]},P0={getExportUrl:e=>`${(0,tD.$)()}/class/object-brick/${String(e)}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/object-brick/${String(e)}/import`},P1=e=>{let{children:t,...i}=e,{fieldDefinitionRegistry:n}=(0,E3.t0)();return(0,tq.jsx)(EW.U,{...i,children:(0,tq.jsx)(PG,{...i,fieldDefinitionRegistry:n,children:t})})},P2=()=>(0,tq.jsx)(EB.K,{AddModal:PP,GeneralSettingsFormFields:PV,LayoutProvider:P1,area:["objectbrick"],customLayouts:{ModalContent:(0,tq.jsx)(PQ,{})},importExportConfig:P0,useDetailGeneralSettingsQuery:PJ,useDetailLayoutQuery:PZ,useDetailUpdateMutation:Pz,useItemsDeleteMutation:PX,useItemsQuery:PY});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/ObjectBricks",label:"navigation.object-bricks",className:"objectbrick",order:300,permission:pw.F.ObjectBricks,perspectivePermission:pk.d.ObjectBricks,widgetConfig:{name:"object-bricks",id:"object-bricks",component:"object-bricks",config:{translationKey:"widget.object-bricks",icon:{type:"name",value:"object-bricks"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"object-bricks",component:P2})}});let P3=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),[r,{isLoading:a}]=(0,fk.KB)(),[l,{isLoading:o}]=(0,fk.v2)(),[s,{isLoading:d}]=(0,fk.Lv)(),c=async(e,t)=>{let a=r({createSelectOption:{id:e}});try{let r=await a;void 0!==r.error&&(0,iX.Ay)(new iX.hD(r.error)),null==t||t(e),n(i("select-option.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new select option."))}},f=async(t,r)=>{let a=s({id:t});try{let t=await a;if(!(0,tI.isUndefined)(t.error))return void(0,iX.Ay)(new iX.hD(t.error));e(fk.FH.util.invalidateTags(uT.qN.SELECT_OPTION_COLLECTION())),null==r||r(),n(i("select-option.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete select option"))}};return{createSelectOption:e=>{t.input({title:i("select-option.create-new"),label:i("select-option.enter-name-new-item"),rule:{required:!0,pattern:/^[A-Z][a-zA-Z0-9]*$/,message:i("select-option.validation.id-format")},onOk:async t=>{await c(t,()=>{null==e||e(t)})}})},getSelectOptionById:async t=>{try{let{data:i,isError:n,error:r}=await e(fk.FH.endpoints.classSelectOptionGet.initiate({id:t},{forceRefetch:!0}));if(!(0,tI.isUndefined)(i)&&n)return void(0,iX.Ay)(new iX.hD(r));return i}catch{(0,iX.Ay)(new iX.$g('Failed to load select option data of "'+t+'".'))}},updateSelectOption:async(e,t,r)=>{let a=l({id:e,updateSelectOption:t});try{let e=await a;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));null==r||r(),n(i("select-option.update.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to update select option."))}},removeWithConfirmation:(e,n)=>{t.confirm({title:i("element.delete.confirmation.title"),content:(0,tq.jsx)("span",{children:i("element.delete.confirmation.text")}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{await f(e,()=>{null==n||n()})}})},isLoading:a||o||d}},P6=(0,tG.createContext)(void 0),P4=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getSelectOptionById:l}=P3(),o=async e=>{let t=await l(e);(0,tI.isNil)(t)||a(e=>e.findIndex(e=>e.id===t.id)>=0?(n(t.id),e):(n(t.id),[...e,t]))},s=e=>{let t=r.filter(t=>t.id!==e);a(t),i===e&&(t.length>0?n(t[0].id):n(void 0))},d=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n,selectOptions:r,setSelectOptions:a,openSelectOption:o,closeSelectOption:s}),[i,r]);return(0,tq.jsx)(P6.Provider,{value:d,children:t})},P5=()=>{let e=(0,tG.useContext)(P6);if(void 0===e)throw Error("useSelectOptionEditorContext must be used within a SelectOptionEditorProvider");return e},P7=e=>{let{selectOptionId:t}=e,{t:i}=(0,iQ.useTranslation)(),{data:n,isLoading:r}=(0,fk.P1)({id:t}),a=(0,cH.createColumnHelper)(),l=[a.accessor("class",{header:i("select-option.general-settings.usages.class"),size:200}),a.accessor("field",{header:i("select-option.general-settings.usages.field"),size:200})];return r?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:l,data:(null==n?void 0:n.items)??[],enableMultipleRowSelection:!1,resizable:!1})},P8=(0,cH.createColumnHelper)(),P9=e=>{let{value:t=[],onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=((e,t)=>{let{t:i}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[P8.accessor("label",{header:i("select-option.entries.display-name"),meta:{editable:!0}}),P8.accessor("value",{header:i("select-option.entries.value"),meta:{editable:!0}}),P8.accessor("name",{header:i("select-option.entries.name"),meta:{editable:!0}}),P8.display({header:i("select-option.entries.action"),cell:n=>(0,tq.jsx)(ni.Box,{padding:"mini",children:(0,tq.jsx)(ni.ButtonGroup,{items:[(0,tq.jsx)(ni.IconButton,{disabled:0===n.row.index,icon:{value:"chevron-up"},onClick:()=>{let i=n.row.index;if(i>0){let n=[...e],r=n[i-1];n[i-1]=n[i],n[i]=r,null==t||t(n)}},size:"small",tooltip:{title:i("select-option.entries.move-up")},type:"link"},"move-up"),(0,tq.jsx)(ni.IconButton,{disabled:n.row.index===e.length-1,icon:{value:"chevron-down"},onClick:()=>{let i=n.row.index;if(i{let i=[...e];i.splice(n.row.index,1),null==t||t(i)},size:"small",tooltip:{title:i("delete")},type:"link"},"delete")],noSpacing:!0})}),id:"actions",size:120})],[e,t])})(t,i);return(0,tq.jsx)(ni.OperationalGrid,{columns:r,enableSorting:!1,onChange:i,setRowId:(e,t)=>`row-${e.value}-${t}`,value:t,children:(0,tq.jsxs)(ni.Space,{direction:"vertical",size:"small",style:{width:"100%"},children:[(0,tq.jsx)(ni.OperationalGrid.Grid,{}),(0,tq.jsx)(ni.OperationalGrid.Operations,{children:e=>(0,tq.jsx)(ni.Space,{children:(0,tq.jsx)(ni.IconButton,{icon:{value:"new-something"},onClick:()=>{e.addRow({label:"",value:"",name:""})},tooltip:{title:n("add")},type:"default"})})})]})})},Ae=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance().getFieldValue("id");return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("select-option.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.enum-name"),name:"enumName",children:(0,tq.jsx)(aR.p,{readOnly:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.use-traits"),name:"useTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.admin-only"),name:"adminOnly",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{})})]}),(0,tq.jsx)(ni.FormKit.Panel,{title:e("select-option.entries.title"),children:(0,tq.jsx)(tJ.lV.Item,{name:"selectOptions",children:(0,tq.jsx)(P9,{})})}),!(0,tI.isNil)(t)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("select-option.general-settings.usages.title"),children:(0,tq.jsx)(P7,{selectOptionId:t})})]}),[t])},At=e=>{let{selectOption:t}=e,{t:i}=(0,iQ.useTranslation)(),{updateSelectOption:n,getSelectOptionById:r,removeWithConfirmation:a,isLoading:l}=P3(),{setSelectOptions:o,closeSelectOption:s}=P5(),[d]=tJ.lV.useForm(),c={...t},f=t.isWriteable;return(0,tq.jsx)(n6.L,{formProps:{form:d,initialValues:c,onFinish:async e=>{let i={group:e.group??null,adminOnly:e.adminOnly??!1,useTraits:e.useTraits??"",implementsInterfaces:e.implementsInterfaces??"",selectOptions:e.selectOptions??[]};await n(t.id,i,async()=>{let e=await r(t.id);void 0!==e&&(o(t=>t.map(t=>t.id===e.id?e:t)),d.setFieldsValue(e))})}},children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsx)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:(0,tq.jsx)(Ae,{})}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{disabled:l,icon:{value:"refresh"},onClick:async()=>{let e=await r(t.id);void 0!==e&&(o(t=>t.map(t=>t.id===e.id?e:t)),d.setFieldsValue(e))},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{disabled:l||!f,icon:{value:"trash"},onClick:()=>{a(t.id,()=>{s(t.id),o(e=>e.filter(e=>e.id!==t.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{disabled:!f,htmlType:"submit",loading:l,type:"primary",children:i("save")})})]})]})})},Ai=e=>{let{id:t}=e,{selectOptions:i}=P5(),n=i.find(e=>e.id===t);return void 0===n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(At,{selectOption:n})},An=()=>{let{selectOptions:e,activeTabId:t,setActiveTabId:i,closeSelectOption:n}=P5();return(0,tq.jsx)(ni.Tabs,{activeKey:t,fullHeight:!0,items:e.map(e=>({key:e.id,label:e.id,children:(0,tq.jsx)(Ai,{id:e.id})})),onChange:e=>{i(e)},onClose:e=>{n(e)}})},Ar=e=>{let{onReload:t,onAddItem:i}=e,{t:n}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{children:[(0,tq.jsx)(lp.K,{icon:{value:"refresh"},onClick:t,children:n("toolbar.reload")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:i,children:n("toolbar.new")})]})},Aa=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{treeContainer:i`
+ `}}),ER=()=>{let{t:e}=(0,iQ.useTranslation)(),{styles:t}=EN(),{openedThumbnails:i,activeTabKey:n,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}=(()=>{let[e,t]=(0,tG.useState)([]),[i,n]=(0,tG.useState)(void 0),r=(0,tG.useCallback)(i=>{if(!e.some(e=>e.thumbnail.id===i.id)){let e={thumbnail:i,isDirty:!1};t(t=>[...t,e])}n(i.id)},[e]),a=(0,tG.useCallback)(e=>{t(t=>{let r=t.findIndex(t=>t.thumbnail.id===e),a=t.filter(t=>t.thumbnail.id!==e);if(e===i){let e=t[r-1],i=t[r+1];n((null==e?void 0:e.thumbnail.id)??(null==i?void 0:i.thumbnail.id))}return a})},[i]),l=(0,tG.useCallback)(e=>{n(e)},[]),o=(0,tG.useCallback)((e,i)=>{t(t=>t.map(t=>t.thumbnail.id===e?{...t,isDirty:i}:t))},[]),s=(0,tG.useCallback)(()=>e.filter(e=>e.isDirty).map(e=>e.thumbnail.id),[e]);return{openedThumbnails:e,activeTabKey:i,handleOpenThumbnail:r,handleCloseTab:a,handleChangeTab:l,handleTabDirtyChange:o,getModifiedThumbnailIds:s}})(),d=(0,tG.useMemo)(()=>s(),[s]);return(0,tq.jsx)(Eb,{children:(0,tq.jsx)(Lb.v,{leftItem:{size:25,minSize:200,children:(0,tq.jsx)(Ex,{activeTabKey:n,modifiedThumbnails:d,onThumbnailSelect:e=>{r(e)},openedThumbnails:i})},rightItem:{size:75,children:0===i.length?(0,tq.jsx)(uE.U,{padded:!0,children:(0,tq.jsx)("div",{className:t.emptyState,children:e("video-thumbnails.editor.select-thumbnail")})}):(0,tq.jsx)(EA,{activeTabKey:n,onChangeTab:l,onCloseTab:a,onTabDirtyChange:o,openedThumbnails:i})}})})},EV={name:"Video Thumbnails",id:"video-thumbnails",component:"video-thumbnails",config:{translationKey:"widget.video-thumbnails",icon:{type:"name",value:"video-thumbnail"}}};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Video Thumbnails",label:"navigation.video-thumbnails",className:"item-style-modifier",order:101,permission:pw.F.Thumbnails,perspectivePermission:pk.d.AssetThumbnails,widgetConfig:EV}),tc.kL.get(td.K.widgetManager).registerWidget({name:"video-thumbnails",component:ER});let e=tc.kL.get(td.K["DynamicTypes/VideoTransformationDynamicTypeRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Resize"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ScaleByWidth"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ScaleByHeight"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Cut"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/SetFramerate"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/ColorChannelMixer"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/VideoTransformation/Mute"]))}});let Ez=()=>{let[e,{isLoading:t,error:i}]=(0,TD.k9)(),[n,{isLoading:r,error:a}]=(0,TD.RB)(),[l,{isLoading:o,error:s}]=(0,TD.Rq)();return(0,tG.useEffect)(()=>{void 0!==i&&"error_invalid_argument"!==(0,iX.ok)(i)&&(0,iX.Ay)(new iX.hD(i))},[i]),(0,tG.useEffect)(()=>{void 0!==a&&(0,iX.Ay)(new iX.hD(a))},[a]),(0,tG.useEffect)(()=>{void 0!==s&&"error_invalid_argument"!==(0,iX.ok)(s)&&(0,iX.Ay)(new iX.hD(s))},[s]),{createNewMetadata:async()=>{let{data:t,error:i}=await e({createPredefinedMetadata:{name:"",type:"input",description:null,targetSubType:null,data:null,config:null,language:null,group:null}});return void 0!==i?{success:!1,errorKey:(0,iX.ok)(i)}:void 0!==t?{success:!0,data:t}:{success:!1}},createLoading:t,deleteMetadataById:async e=>{let{error:t}=await n({id:e});return{success:void 0===t}},deleteLoading:r,updateMetadataById:async(e,t)=>{let{error:i}=await l({id:e,updatePredefinedMetadata:{name:t.name??"",description:t.description??null,type:t.type.includes("metadata.")?t.type.split(".")[1]??t.type:t.type,targetSubType:t.targetSubType??null,data:t.data??null,config:t.config??null,language:t.language??null,group:t.group??null}});return void 0!==i?{success:!1,errorKey:(0,iX.ok)(i)}:{success:!0}},updateLoading:o}},EB=e=>{let{info:t,setPredefinedAssetMetadataRows:i}=e,n=t.row.original.id,{deleteMetadataById:r,deleteLoading:a}=Ez(),l=async()=>{let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},EO=e=>{let{predefinedAssetMetadataRows:t,setPredefinedAssetMetadataRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updateMetadataById:r}=Ez(),[a,l]=(0,tG.useState)([]),{showModal:o,closeModal:s,renderModal:d}=(0,TI.hS)({type:"error"}),c=(0,tG.useRef)({name:"",language:""}),f=(0,tc.Lt)(td.K["DynamicTypes/MetadataRegistry"]),u=(0,tc.Lt)(td.K["DynamicTypes/AssetRegistry"]),m=(0,tG.useMemo)(()=>f.getDynamicTypes().map(e=>({value:e.id,label:n("data-type."+e.id.split(".")[1])})),[n]),p=(0,tG.useMemo)(()=>u.getDynamicTypes().map(e=>({value:e.id,label:e.id})),[]),g=(0,tG.useMemo)(()=>t.map(e=>({...e,type:e.type.includes("metadata.")?e.type:`metadata.${e.type}`})),[t]),h=(0,cH.createColumnHelper)(),y=[h.accessor("type",{header:n("predefined-asset-metadata.columns.icon"),meta:{type:"asset-custom-metadata-icon",editable:!1},size:40,enableSorting:!1}),h.accessor("name",{header:n("predefined-asset-metadata.columns.name"),meta:{editable:!0},size:200}),h.accessor("group",{header:n("predefined-asset-metadata.columns.group"),meta:{editable:!0},size:150}),h.accessor("description",{header:n("predefined-asset-metadata.columns.description"),meta:{editable:!0},size:200}),h.accessor("type",{id:"typeSelect",header:n("predefined-asset-metadata.columns.type"),meta:{type:"select",editable:!0,config:{options:m}},size:130}),h.accessor("data",{header:n("predefined-asset-metadata.columns.value"),meta:{type:"asset-custom-metadata-value",editable:!0,autoWidth:!0},size:300}),h.accessor("config",{header:n("predefined-asset-metadata.columns.config"),meta:{editable:!0},size:150}),h.accessor("language",{header:n("predefined-asset-metadata.columns.language"),meta:{type:"language-select",editable:!0,config:{allowClear:!0}},size:100}),h.accessor("targetSubType",{header:n("predefined-asset-metadata.columns.target-type"),meta:{type:"select",editable:!0,config:{options:p}},size:130}),h.accessor("actions",{header:n("predefined-asset-metadata.columns.actions"),size:80,enableSorting:!1,cell:e=>(0,tq.jsx)(EB,{info:e,setPredefinedAssetMetadataRows:i})})],v=async e=>{let{columnId:n,value:a,rowData:s}=e,d=s.rowId,f="typeSelect"===n?"type":n,u={...s,..."type"===f?{data:null}:{},[f]:a};if(("name"===f||"language"===f)&&t.some(e=>e.rowId!==d&&e.name===u.name&&(e.language??null)===(u.language??null))){c.current={name:u.name,language:u.language??""},o();return}i(e=>e.map(e=>e.rowId===d?u:e)),l([{columnId:n,rowIndex:d}]);let{success:m,errorKey:p}=await r(u.id,u);m?l([]):("error_invalid_argument"===p&&(c.current={name:u.name,language:u.language??""},o()),i(e=>e.map(e=>e.rowId===d?s:e)))};return(0,tq.jsxs)("div",{children:[(0,tq.jsx)(ul.x,{autoWidth:!0,columns:y,data:g,enableSorting:!0,modifiedCells:a,onUpdateCellData:v,resizable:!0,setRowId:e=>e.rowId}),(0,tq.jsxs)(d,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(ig.Button,{onClick:s,type:"primary",children:n("button.ok")})}),title:n("predefined-asset-metadata.duplicate-entry.title"),children:[(0,tq.jsx)("p",{children:n("predefined-asset-metadata.duplicate-entry.error")}),(0,tq.jsxs)("div",{style:{marginTop:8},children:[(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[n("predefined-asset-metadata.columns.name"),":"]})," ",c.current.name]}),(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[n("predefined-asset-metadata.columns.language"),":"]})," ",""!==c.current.language?c.current.language:"—"]})]})]})]})},EK=()=>{let{createNewMetadata:e,createLoading:t}=Ez(),{showModal:i,closeModal:n,renderModal:r}=(0,TI.hS)({type:"error"}),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)(!0),d=(0,tG.useRef)(null),[c,{error:f}]=(0,TD.Hw)(),u=async e=>{s(!0);let{data:t}=await c({body:{searchTerm:e??null}});l((null==t?void 0:t.items)===void 0||null===t.items?[]:(Array.isArray(t.items)?t.items:Object.values(t.items)).map(e=>({...e,rowId:e.id}))),s(!1)};(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||(0,iX.Ay)(new iX.hD(f))},[f]),(0,tG.useEffect)(()=>{u()},[]);let m=e=>{u(e.length>0?e:void 0)},p=[...a].sort((e,t)=>t.creationDate-e.creationDate),g=!o&&0===a.length,h=async()=>{if(a.some(e=>"New Definition"===e.name&&(e.language??null)===null&&(e.targetSubType??null)===null))return void i();let{success:t,data:n,errorKey:r}=await e();t&&void 0!==n?l(e=>[{...n,rowId:(0,af.uuid)()},...e]):"error_invalid_argument"===r&&i()};return(0,tq.jsxs)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsx)(lp.K,{disabled:o,icon:{value:"refresh"},onClick:()=>{var e;let t=null==(e=d.current)?void 0:e.input;(0,tI.isNil)(t)||(t.value=""),u()}}),(0,tq.jsx)(ni.IconTextButton,{disabled:o||t,icon:{value:"new"},loading:t,onClick:h,children:(0,i6.t)("predefined-asset-metadata.new")})]}),renderTopBar:(0,tq.jsxs)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:[(0,tq.jsx)(pd.h,{children:(0,i6.t)("widget.predefined-asset-metadata")}),(0,tq.jsx)(ni.SearchInput,{loading:o,onClear:()=>{m("")},onSearch:m,placeholder:"Search",ref:d,withPrefix:!1,withoutAddon:!1})]}),children:[(0,tq.jsx)(uE.U,{loading:o,margin:{x:"extra-small",y:"none"},none:g,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(EO,{predefinedAssetMetadataRows:p,setPredefinedAssetMetadataRows:l})})}),(0,tq.jsxs)(r,{footer:(0,tq.jsx)(p9.j,{children:(0,tq.jsx)(ig.Button,{onClick:n,type:"primary",children:(0,i6.t)("button.ok")})}),title:(0,i6.t)("predefined-asset-metadata.duplicate-entry.title"),children:[(0,tq.jsx)("p",{children:(0,i6.t)("predefined-asset-metadata.duplicate-entry.error")}),(0,tq.jsxs)("div",{style:{marginTop:8},children:[(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[(0,i6.t)("predefined-asset-metadata.columns.name"),":"]})," New Definition"]}),(0,tq.jsxs)("div",{children:[(0,tq.jsxs)("strong",{children:[(0,i6.t)("predefined-asset-metadata.columns.language"),":"]})," —"]})]})]})]})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"AssetManagement/Predefined Asset Metadata",label:"navigation.predefined-asset-metadata",order:102,className:"item-style-modifier",permission:pw.F.AssetMetadata,perspectivePermission:pk.d.PredefinedAssetMetadata,widgetConfig:{name:"Predefined Asset Metadata",id:"predefined-asset-metadata",component:"predefined-asset-metadata",config:{translationKey:"widget.predefined-asset-metadata",icon:{type:"name",value:"custom-metadata"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"predefined-asset-metadata",component:EK})}}),ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K["DynamicTypes/IconSetRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/IconSet/PimcoreDefault"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/IconSet/Twemoji"]))}});var E_=i(75401);ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/About",label:"navigation.about",className:"item-style-modifier",order:9999,perspectivePermission:pk.d.About,useCustomMainNavItem:()=>{let{open:e}=(0,E_.c)();return{name:"SystemAbout",onClick:e}}})}});let EH=e=>{let{hideCredentialsForm:t=!1}=e,{t:i}=(0,iQ.useTranslation)(),n=(0,CL.e)().getSlotComponents(yl.e.form.login.name).length>1;return t||!n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(m1.c,{plain:!0,children:i("login-form-additional-logins.or")})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(tu.eb.form.login.name,{name:"loginFormDivider",priority:0,component:EH})}});var E$=i(24184),EW=i(35235),Eq=i(86970);let EG=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,Eq.Ux)(),n=(0,tG.useRef)(null),{data:r,isLoading:a,error:l}=(0,cV.useClassDefinitionGetIdentifierDataQuery)(),[o]=(0,cV.useClassDefinitionCreateMutation)(),{openConfiguration:s}=(0,EW.wB)();return(0,tG.useEffect)(()=>{void 0!==l&&(0,uj.trackError)(new uj.ApiError(l))},[l]),(0,tG.useEffect)(()=>{(null==r?void 0:r.suggestedId)!==void 0&&t.setFieldValue("uniqueIdentifier",r.suggestedId)},[null==r?void 0:r.suggestedId]),(0,tq.jsx)(Eq.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("class-definition.create-new"),children:(0,tq.jsx)(ni.Content,{loading:a,children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{void 0!==r&&o({createClassDefinition:{name:e.className,uid:e.uniqueIdentifier}}).then(e=>{t.resetFields(),i(),s({id:e.data.id,name:e.data.name,group:e.data.group,icon:e.data.icon})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("class-definition.class-name"),name:"className",rules:[{required:!0,message:e("class-definition.validation.enter-class-name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:e("class-definition.validation.class-name-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)(ni.Form.Item,{initialValue:null==r?void 0:r.suggestedId,label:e("class-definition.unique-identifier"),name:"uniqueIdentifier",rules:[{required:!0,message:e("class-definition.validation.enter-unique-identifier")},{validator:async(t,i)=>{if((null==r?void 0:r.existingIds.includes(i.toLowerCase()))===!0)return await Promise.reject(Error(e("class-definition.validation.unique-identifier-in-use")));await Promise.resolve()}},{pattern:/^[a-zA-Z0-9_]{0,63}$/,message:e("class-definition.validation.unique-identifier-format")}],children:(0,tq.jsx)(ni.Input,{maxLength:64})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e("class-definition.unique-identifier-warning")}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})})},EU=(0,cH.createColumnHelper)(),EQ=e=>{let{classId:t}=e,{data:i,isLoading:n}=(0,fk.hp)({id:t}),r=(()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[EU.accessor("key",{header:e("object-brick-key"),size:200}),EU.accessor("fieldName",{header:e("field-name"),size:200})],[e])})();return n?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:r,data:(null==i?void 0:i.items)??[],enableMultipleRowSelection:!1,resizable:!1})};var EJ=i(89966),EZ=i(59438);let EY=()=>{let{t:e}=(0,iQ.useTranslation)(),t=(0,EJ.g)(),i=(0,tG.useMemo)(()=>(0,tI.isNil)(null==t?void 0:t.fieldDefinitions)?[]:Object.values(t.fieldDefinitions).filter(e=>"data"===e.datatype&&(0,tI.isString)(e.name)&&e.name.trim().length>0).map(e=>({label:e.title??e.name,value:e.name})).sort((e,t)=>e.label.localeCompare(t.label)),[null==t?void 0:t.fieldDefinitions]);return(0,tq.jsx)(tJ.lV.Item,{name:"compositeIndices",children:(0,tq.jsxs)(EZ.e,{getItemTitle:(t,i)=>(null==t?void 0:t.index_key)??`${e("class-definition.composite-indices.index-label")} ${i+1}`,title:e("class-definition.composite-indices.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.index-name"),name:"index_key",children:(0,tq.jsx)(aR.p,{placeholder:e("class-definition.composite-indices.enter-index-name")})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.type"),name:"index_type",children:(0,tq.jsx)(t8.l,{options:[{label:e("class-definition.composite-indices.type-query"),value:"query"},{label:e("class-definition.composite-indices.type-localized-query"),value:"localized_query"},{label:e("class-definition.composite-indices.type-store"),value:"store"},{label:e("class-definition.composite-indices.type-localized-store"),value:"localized_store"}],placeholder:e("class-definition.composite-indices.select-index-type")})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.composite-indices.columns"),name:"index_columns",children:(0,tq.jsx)(t8.l,{mode:"tags",options:i,placeholder:e("class-definition.composite-indices.select-column-names")})})]})})},EX=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance(),i=tJ.lV.useWatch("name",t),n=t.getFieldValue("id");return(0,tG.useEffect)(()=>{if((0,tI.isString)(i)){let e="Pimcore\\Model\\DataObject\\"+(0,tI.upperFirst)(i);t.getFieldValue("phpClassName")!==e&&t.setFieldValue("phpClassName",e,{triggerChange:!0})}},[i]),(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("class-definition.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("name"),name:"name",rules:[{required:!0,message:e("class-definition.general-settings.enter-name")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.description"),name:"description",children:(0,tq.jsx)(n4.f,{rows:3})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.id"),name:"id",children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.php-class-name"),name:"phpClassName",children:(0,tq.jsx)(aR.p,{disabled:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.icon"),name:"icon",children:(0,tq.jsx)(Lk.N,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.listing-parent-class"),name:"listingParentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.use-traits"),name:"useTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.listing-use-traits"),name:"listingUseTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.link-generator-reference"),name:"linkGeneratorReference",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("class-definition.general-settings.preview-generator-reference"),name:"previewGeneratorReference",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{name:"allowInherit",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.allow-inherit")})}),(0,tq.jsx)(tJ.lV.Item,{name:"allowVariants",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.allow-variants")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showVariants",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-variants")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showAppLoggerTab",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-app-logger-tab")})}),(0,tq.jsx)(tJ.lV.Item,{name:"showFieldLookup",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.show-field-lookup")})}),(0,tq.jsx)(tJ.lV.Item,{name:"enableGridLocking",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.enable-grid-locking")})}),(0,tq.jsx)(tJ.lV.Item,{name:"encryption",valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.general-settings.encrypt-data")})})]}),(0,tq.jsxs)(ni.FormKit.Panel,{title:e("class-definition.property-visibility.title"),children:[(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","id"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.id-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","id"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.id-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","key"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.key-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","key"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.key-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","path"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.path-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","path"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.path-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","modificationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.modification-date-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","modificationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.modification-date-search")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","grid","creationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.creation-date-grid")})}),(0,tq.jsx)(tJ.lV.Item,{name:["propertyVisibility","search","creationDate"],valuePropName:"checked",children:(0,tq.jsx)(sA.d,{labelRight:e("class-definition.property-visibility.creation-date-search")})})]}),(0,tq.jsx)(EY,{}),!(0,tI.isNil)(n)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("class-definition.object-bricks.title"),children:(0,tq.jsx)(EQ,{classId:n})})]}),[])};var E0=i(23004);let E1=e=>{let[t,i]=(0,E0.lr)(e),{getLayout:n}=(0,EJ.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>{var e;return t({id:r.id,classDefinitionUpdate:{configuration:{children:n().children??[]},values:{...r,icon:(null==(e=r.icon)?void 0:e.value)??""}}})},i]};var E2=i(54436);let E3=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,Eq.Ux)(),n=(0,tG.useRef)(null),{configuration:r}=(0,E2.R6)(),{data:a,isLoading:l,error:o}=(0,cV.useClassCustomLayoutGetIdentifierDataQuery)({classDefinitionId:r.id}),[s]=(0,cV.useClassCustomLayoutCreateMutation)(),{openConfiguration:d}=(0,EW.wB)();return(0,tG.useEffect)(()=>{void 0!==o&&(0,uj.trackError)(new uj.ApiError(o))},[o]),(0,tG.useEffect)(()=>{(null==a?void 0:a.suggestedId)!==void 0&&t.setFieldValue("uniqueIdentifier",a.suggestedId)},[null==a?void 0:a.suggestedId]),(0,tq.jsx)(Eq.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("field-definitions.create-new-class-definition"),children:(0,tq.jsx)(ni.Content,{loading:l,children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{void 0!==a&&s({customLayoutId:e.uniqueIdentifier,customLayoutNew:{classId:r.id,name:e.name}}).then(e=>{t.resetFields(),i(),d({id:e.data.id,name:e.data.name,group:e.data.group,icon:e.data.icon})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("name"),name:"name",rules:[{required:!0,message:e("field-definitions.validation.enter-class-name")},{pattern:/^[-A-Za-z0-9_]*$/,message:e("field-definitions.validation.class-name-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)(ni.Form.Item,{initialValue:null==a?void 0:a.suggestedId,label:e("field-definitions.validation.unique-identifier"),name:"uniqueIdentifier",rules:[{required:!0,message:e("field-definitions.validation.enter-unique-identifier")},{validator:async(t,i)=>{if((null==a?void 0:a.existingIds.includes(i.toLowerCase()))===!0)return await Promise.reject(Error(e("field-definitions.validation.unique-identifier-in-use")));await Promise.resolve()}},{pattern:/^[-a-zA-Z0-9_]{0,63}$/,message:e("field-definitions.validation.unique-identifier-format")}],children:(0,tq.jsx)(ni.Input,{maxLength:64})}),(0,tq.jsx)(n5.E,{type:"secondary",children:e("class-definition.unique-identifier-warning")}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})})},E6=()=>{let{generalSettings:e}=(0,f$.dq)(),{t}=(0,iQ.useTranslation)();return(0,tI.isNil)(e)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ni.FormKit.Panel,{title:t("general"),children:[(0,tq.jsx)(ig.Form.Item,{label:t("name"),name:"name",children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("class-definition.custom-layouts.default-layout"),name:"default_layout",valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("description"),name:"description",children:(0,tq.jsx)(ni.TextArea,{rows:3})})]})},E4=()=>({accessor:e=>e.layoutDefinition??void 0}),E5=()=>{let{configuration:e}=(0,E2.R6)();return(0,cV.useClassCustomLayoutCollectionQuery)({classIds:e.id})},E7=e=>(0,cV.useClassCustomLayoutGetQuery)({customLayoutId:e.id});var E8=i(13604),E9=i(25277);let{LayoutProvider:Pe,useLayout:Pt}=(0,E9.v)(),Pi=e=>{let{fieldDefinitionRegistry:t}=(0,E8.t0)();return(0,tq.jsx)(Pe,{...e,fieldDefinitionRegistry:t})},Pn=e=>{let[t,i]=(0,E0.Zz)(e),{getLayout:n}=Pt(),{generalSettings:r}=(0,f$.dq)();return[()=>t({customLayoutId:String(r.id),customLayoutUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},Pr=e=>{let[t,i]=(0,E0.Zq)(e);return[e=>t({customLayoutId:String(e.id)}),i]};var Pa=i(11182),Pl=i(38939);let Po=()=>{var e,t,i,n;let{configuration:r}=(0,E2.R6)(),a=(0,E8.t0)(),l=null==(t=a.customLayouts)||null==(e=t.parent)?void 0:e.area,o=null==(n=a.customLayouts)||null==(i=n.parent)?void 0:i.useLayout,{fieldDefinitionRegistry:s}=a;if(void 0===o)throw Error("Custom Layout Parent: useLayout is not defined in editor settings");if(void 0===l)throw Error("Custom Layout Parent: area is not defined in editor settings");let{structure:d,fieldDefinitions:c,getLayout:f}=o(),u=(0,tG.useMemo)(()=>(e,t)=>{var i;let n=c[e.key];if(void 0===n)return t;let r={type:"field-definition",icon:n.icon??{value:"folder"},title:n.title??n.name??e.title,data:{area:l,internal:{id:e.key,fieldDefinition:n,path:(null==(i=e.meta)?void 0:i.currentPath)??[]},external:f({startNode:e.key.toString()})}};return(0,tq.jsx)(ni.Draggable,{info:r,children:t})},[c,l,f]),m=tU().useMemo(()=>void 0===d?[]:[(0,Pl.buildTree)({structure:d,fieldDefinitions:c,registry:s,itemCallback:e=>{let{fieldDefinition:t,initialTreeItem:i}=e;return{...i,className:"ant-tree-node--has-drag-and-drop"}}}).children].flat(),[d,c]);return(0,tq.jsxs)(ni.Content,{padded:!0,padding:{y:"small",x:"mini"},children:[(0,tq.jsx)(ni.Header,{style:{flexShrink:0},title:r.name}),(0,tq.jsx)(ni.Content,{overflow:{x:"hidden",y:"auto"},style:{minHeight:0,flex:1},children:(0,tq.jsx)(ni.TreeElement,{defaultExpandAll:!0,titleRender:u,treeData:m})})]})};var Ps=i(28587),Pd=i(4839);let Pc=e=>"application/json"===e.type||e.name.endsWith(".json"),Pf=()=>{let{t:e}=(0,iQ.useTranslation)(),{useDetailLayoutQuery:t,useDetailGeneralSettingsQuery:i,importExportConfig:n,useItemsDeleteMutation:r}=(0,E8.t0)(),{activeConfiguration:a,closeConfiguration:l}=(0,EW.wB)(),o=(0,ni.useMessage)(),s=(0,ni.useFormModal)(),[d,c]=(0,tG.useState)(!1),f=void 0!==r,[u,m]=(r??(()=>[async()=>{},{}]))(),p=!!f&&!0===m.isLoading,g=null==a?void 0:a.id,h=null==t?void 0:t({id:g??""}),y=i({id:g??""});if((0,tI.isNil)(n))return(0,tq.jsx)(tq.Fragment,{});let{getExportUrl:v,getImportUrl:b,validateFile:x=Pc,acceptFileTypes:j=".json,application/json",acceptMimeTypes:w=["application/json"],successMessageKey:k="class-definition.import-success"}=n,T=(0,tI.isNil)(g)?"":b(g);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(ni.ButtonGroup,{items:[(0,tq.jsx)(ni.IconButton,{icon:{value:"export"},onClick:()=>{if((0,tI.isNil)(g))return;let e=document.createElement("a");e.href=v(g),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)},title:e("export"),type:"link"},"export"),(0,tq.jsx)(ni.IconButton,{icon:{value:"upload-import"},onClick:()=>{c(!0)},title:e("import"),type:"link"},"import"),...f?[(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:p,onClick:()=>{(0,tI.isNil)(g)||(0,tI.isNil)(a)||s.confirm({title:e("delete"),content:e("custom-layout.delete.confirmation"),okText:e("delete"),onOk:async()=>{try{await u({id:g}),l(a),o.success(e("custom-layout.delete.success"))}catch(e){(0,iX.Ay)(new iX.hD(e))}}})},title:e("delete"),type:"link"},"delete")]:[]]}),(0,tq.jsx)(Pd.z,{accept:j,acceptMimeTypes:w,action:T,onOpenChange:c,onUploadSuccess:()=>{o.success(e(k)),c(!1),null==h||h.refetch(),null==y||y.refetch()},open:d,title:e("class-definition.import"),uploadButtonLabel:e("import"),validateFile:x})]})};var Pu=i(33627),Pm=i(11498);let Pp=()=>{let{activeConfiguration:e,setDetailView:t}=(0,EW.wB)(),{useDetailGeneralSettingsQuery:i,useDetailLayoutQuery:n,useDetailLayoutAccessor:r,customLayouts:a,LayoutProvider:l}=(0,E8.t0)(),o=null==n?void 0:n({id:e.id}),s=null==o?void 0:o.error,d=(0,tG.useMemo)(()=>null==r?void 0:r(),[r]),c=i({id:e.id}),{isLoading:f,isFetching:u,refetch:m,data:p}=c,g=c.error,[h,y]=(0,tG.useState)(null==o?void 0:o.data),[v,b]=(0,tG.useState)(0);return(0,tG.useEffect)(()=>{y(null==o?void 0:o.data)},[null==o?void 0:o.data]),(0,tG.useEffect)(()=>{if(void 0!==d&&void 0!==p){let e=d.accessor(p);if(void 0===e)return void y({name:"pimcore_root",children:[],fieldtype:"panel",bodyStyle:"",border:!1,collapsible:!1,title:"",datatype:"layout",collapsed:!1,height:0,width:0,icon:{type:"name",value:"none"},labelAlign:"left",labelWidth:100,layout:null,locked:!1,region:"",type:"layout",additionalAttributes:{}});y(e)}},[p,d]),(0,tG.useEffect)(()=>{void 0!==s&&"status"in s&&404===s.status?y({name:"pimcore_root",children:[],fieldtype:"panel",bodyStyle:"",border:!1,collapsible:!1,title:"",datatype:"layout",collapsed:!1,height:0,width:0,icon:{type:"name",value:"none"},labelAlign:"left",labelWidth:100,layout:null,locked:!1,region:"",type:"layout",additionalAttributes:{}}):void 0!==s&&(0,uj.trackError)(new uj.ApiError(s))},[s]),(0,tG.useEffect)(()=>{void 0!==g&&(0,uj.trackError)(new uj.ApiError(g))},[g]),(0,tq.jsx)(f$.Ts,{generalSettings:p,children:(0,tq.jsx)(l,{layout:h,children:(0,tq.jsx)(ni.ContentLayout,{className:"absolute-stretch",renderToolbar:(0,tq.jsxs)(ni.Toolbar,{justify:"space-between",padding:{x:"none"},theme:"secondary",children:[(0,tq.jsx)(Pf,{}),(0,tq.jsxs)(ni.Flex,{gap:"mini",children:[(0,tq.jsxs)(ni.Flex,{gap:"mini",children:[(0,tq.jsx)(ni.IconButton,{icon:{value:"refresh"},onClick:()=>{null==o||o.refetch(),m(),b(e=>e+1),t("general")}}),(null==a?void 0:a.ModalContent)!==void 0&&(0,tq.jsx)(Pa.q,{})]}),(0,tq.jsx)(Pu.x,{})]})]}),children:(0,tq.jsx)(ni.Content,{loading:(null==o?void 0:o.isLoading)===!0||f||(null==o?void 0:o.isFetching)===!0||u,children:(0,tq.jsx)(ni.ConfigLayout,{leftItem:{minSize:250,maxSize:350,size:250,children:(0,tq.jsx)(Po,{})},resizeAble:!0,rightItem:{children:(0,tq.jsx)(ni.ConfigLayout,{leftItem:{minSize:250,maxSize:350,size:250,children:(0,tq.jsx)(Pm.C,{allowExternalDrop:!0})},resizeAble:!0,rightItem:{children:(0,tq.jsx)(Ps.R,{})}})}})})})},v)})},Pg=()=>{let{activeConfiguration:e}=(0,EW.wB)();return void 0===e?(0,tq.jsx)(ni.Content,{centered:!0,children:"Create a new Custom Layout or edit an existing one"}):(0,tq.jsx)(Pp,{},String(e.id))},Ph=()=>{let{openModal:e}=(0,Eq.Ux)(),{AddModal:t}=(0,E8.t0)();return void 0===t?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.IconTextButton,{icon:{value:"new-something"},onClick:e,children:"New layout"})},Py=()=>{var e;let{t}=(0,iQ.useTranslation)(),{useItemsQuery:i}=(0,E8.t0)(),{isLoading:n,data:r}=i(),{setActiveConfiguration:a,activeConfiguration:l}=(0,EW.wB)(),o=tU().useMemo(()=>void 0===r?[]:r.items.map(e=>({key:e.id,label:e.name,onClick:()=>{a(e)}})),[r,a]);return(0,tq.jsx)(tq.Fragment,{children:n||void 0===r||(null==r||null==(e=r.items)?void 0:e.length)===0?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(ni.Dropdown,{menu:{items:o},children:(0,tq.jsx)(ni.IconTextButton,{icon:{value:"edit"},children:void 0!==l?l.name:t("field-definitions.select-item-configuration")})})})},Pv=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsx)(ni.Toolbar,{padding:{x:"none"},position:"content",theme:"secondary",children:(0,tq.jsx)(ni.Header,{title:e("field-definitions.custom-layout-title"),children:(0,tq.jsxs)(ni.Split,{children:[(0,tq.jsx)(Ph,{}),(0,tq.jsx)(Py,{})]})})})};var Pb=i(69933);let Px=()=>(0,tq.jsx)(Eq.e,{children:(0,tq.jsx)(ni.ContentLayout,{renderTopBar:(0,tq.jsx)(Pv,{}),children:(0,tq.jsxs)(ni.Content,{style:{height:"60vh"},children:[(0,tq.jsx)(Pb.A,{}),(0,tq.jsx)(Pg,{})]})})}),Pj={getExportUrl:e=>`${(0,tD.$)()}/class/custom-layout/export/${e}`,getImportUrl:e=>`${(0,tD.$)()}/class/custom-layout/import/${e}`,successMessageKey:"custom-layout.import-success"},Pw=()=>(0,tq.jsx)(E$.K,{AddModal:E3,GeneralSettingsFormFields:E6,LayoutProvider:Pi,area:["class","custom-layout"],customLayouts:{parent:{area:["class"],useLayout:EJ.g}},importExportConfig:Pj,useDetailGeneralSettingsQuery:E7,useDetailLayoutAccessor:E4,useDetailUpdateMutation:Pn,useItemsDeleteMutation:Pr,useItemsQuery:E5,useLayout:Pt,view:(0,tq.jsx)(Px,{})}),Pk={getExportUrl:e=>`${(0,tD.$)()}/class/definition/configuration-view/detail/${e}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/definition/configuration-view/detail/${e}/import`},PT=()=>(0,tq.jsx)(E$.K,{AddModal:EG,GeneralSettingsFormFields:EX,area:["class"],customLayouts:{ModalContent:(0,tq.jsx)(Pw,{})},importExportConfig:Pk,useDetailGeneralSettingsQuery:fk.tc,useDetailLayoutQuery:fk.PA,useDetailUpdateMutation:E1,useItemsDeleteMutation:fk.zB,useItemsQuery:fk.HE});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/ClassDefinitions",label:"navigation.class-definitions",className:"class",order:100,permission:pw.F.Classes,perspectivePermission:pk.d.ClassDefinitions,widgetConfig:{name:"classes",id:"class-definitions",component:"class-definitions",config:{translationKey:"widget.class-definitions",icon:{type:"name",value:"class"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"class-definitions",component:PT})}});var PS=i(97264);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/BulkExport",label:"navigation.bulk-export",order:700,permission:M6.UserPermission.Classes,perspectivePermission:Mn.NavPermission.BulkExport,useCustomMainNavItem:()=>{let{open:e}=(0,PS.$)();return{name:"DataModelDefinitionsBulkExport",onClick:e}}})}});var PC=i(18087);ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/BulkImport",label:"navigation.bulk-import",order:800,permission:M6.UserPermission.Classes,perspectivePermission:Mn.NavPermission.BulkImport,useCustomMainNavItem:()=>{let{open:e}=(0,PC.G)();return{name:"DataModelDefinitionsBulkImport",onClick:e}}})}});let PD=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,Eq.Ux)(),n=(0,tG.useRef)(null),[r]=(0,fk.XA)(),{openConfiguration:a}=(0,EW.wB)();return(0,tq.jsx)(Eq.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("field-collection.create-new"),children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{t.resetFields(),r({createFieldCollection:{key:e.key}}).then(e=>{i(),a({id:e.data.key,name:e.data.title??e.data.key})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("field-collection.key"),name:"key",rules:[{required:!0,message:e("field-collection.validation.enter-key")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:e("field-collection.validation.key-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})},PI=(0,cH.createColumnHelper)(),PM=e=>{let{collectionKey:t}=e,{data:i,isLoading:n}=(0,fk.sD)({key:t}),r=(()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[PI.accessor("class",{header:e("field-collection.general-settings.usages.class"),size:200}),PI.accessor("field",{header:e("field-collection.general-settings.usages.field"),size:200})],[e])})();return n?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:r,data:(null==i?void 0:i.items)??[],enableMultipleRowSelection:!1,resizable:!1})},PL=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance().getFieldValue("id");return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("field-collection.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.title-label"),name:"title",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("field-collection.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})})]}),!(0,tI.isNil)(t)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("field-collection.general-settings.usages.title"),children:(0,tq.jsx)(PM,{collectionKey:t})})]}),[t])},PF=e=>{let[t,i]=(0,fk.M0)(e),{getLayout:n}=(0,EJ.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>t({key:null==r?void 0:r.id,fieldCollectionUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},PE=e=>{let t=String(e.id),i=(0,fk.cj)({key:t});return void 0!==i.data?{...i,data:{...i.data,id:i.data.key}}:i},PP=e=>{let t=String(e.id);return(0,fk.AY)({key:t})},PA=()=>{let e=(0,fk.kJ)({}),t=(0,tG.useMemo)(()=>{if(void 0===e.data||!("items"in e.data))return;let t=[];for(let r of e.data.items){var i,n;if("children"in r)for(let e of r.children)t.push({id:e.key,name:e.name,group:e.group??void 0,icon:{value:(null==(i=e.icon)?void 0:i.value)!==void 0&&""!==e.icon.value?e.icon.value:"field-collection-field"}});else t.push({id:r.key,name:r.name,group:r.group??void 0,icon:{value:(null==(n=r.icon)?void 0:n.value)!==void 0&&""!==r.icon.value?r.icon.value:"field-collection-field"}})}return{...e.data,items:t}},[e.data]);return void 0!==t?{...e,data:t}:e},PN=function(){for(var e=arguments.length,t=Array(e),i=0;in({key:String(e.id)}),r]},PR={getExportUrl:e=>`${(0,tD.$)()}/class/field-collection/${String(e)}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/field-collection/${String(e)}/import`},PV=()=>(0,tq.jsx)(E$.K,{AddModal:PD,GeneralSettingsFormFields:PL,area:["fieldcollection"],importExportConfig:PR,useDetailGeneralSettingsQuery:PE,useDetailLayoutQuery:PP,useDetailUpdateMutation:PF,useItemsDeleteMutation:PN,useItemsQuery:PA});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/FieldCollections",label:"navigation.field-collections",className:"fieldcollection",order:200,permission:pw.F.FieldCollections,perspectivePermission:pk.d.FieldCollections,widgetConfig:{name:"field-collections",id:"field-collections",component:"field-collections",config:{translationKey:"widget.field-collections",icon:{type:"name",value:"field-collection-field"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"field-collections",component:PV})}});let Pz=()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=ni.Form.useForm(),{closeModal:i}=(0,Eq.Ux)(),n=(0,tG.useRef)(null),[r]=(0,fk.ll)(),{openConfiguration:a}=(0,EW.wB)();return(0,tq.jsx)(Eq.dI,{afterOpenChange:e=>{var t;e&&(null==(t=n.current)||t.focus())},focusTriggerAfterClose:!1,onOk:()=>{t.submit()},title:e("object-brick.create-new"),children:(0,tq.jsxs)(ni.Form,{form:t,layout:"vertical",onFinish:e=>{t.resetFields(),r({createObjectBrick:{key:e.key}}).then(e=>{i(),a({id:e.data.key,name:e.data.title??e.data.key})}).catch(e=>{(0,uj.trackError)(new uj.ApiError(e))})},children:[(0,tq.jsx)(ni.Form.Item,{label:e("object-brick.key"),name:"key",rules:[{required:!0,message:e("object-brick.validation.enter-key")},{pattern:/^[a-zA-Z]\w*$/,message:e("object-brick.validation.key-format")}],children:(0,tq.jsx)(ni.Input,{ref:n})}),(0,tq.jsx)("button",{style:{display:"none"},type:"submit"})]})})};var PB=i(8320);let PO=e=>{let{blockIndex:t,value:i,onChange:n}=e,{t:r}=(0,iQ.useTranslation)(),{operations:a}=(0,PB.S)(),l=a.getValue(["classDefinitions",t,"classname"]),o=(0,tG.useRef)(l);(0,tG.useEffect)(()=>{void 0!==o.current&&o.current!==l&&(null==n||n(null)),o.current=l},[l]);let{data:s,isFetching:d}=(0,fk.hp)({id:l},{skip:void 0===l||""===l}),c=(0,tG.useMemo)(()=>{if((null==s?void 0:s.items)===void 0)return[];let e=new Set;return s.items.reduce((t,i)=>(e.has(i.fieldName)||(e.add(i.fieldName),t.push({label:i.fieldName,value:i.fieldName})),t),[])},[s]);return(0,tq.jsx)(t8.l,{disabled:void 0===l||""===l,loadingSkeleton:d,onChange:n,options:c,placeholder:r("object-brick.class-definitions-block.select-fieldname"),value:i})},PK=()=>{let{t:e}=(0,iQ.useTranslation)(),{data:t,isFetching:i}=(0,fk.qA)(),n=(0,tG.useMemo)(()=>(null==t?void 0:t.items)===void 0?[]:t.items.map(e=>({label:e.name,value:e.id})),[t]),r=(0,tG.useMemo)(()=>{var e;let i={};return null==t||null==(e=t.items)||e.forEach(e=>{i[e.id]=e.name}),i},[t]);return(0,tq.jsx)(tJ.lV.Item,{name:"classDefinitions",children:(0,tq.jsx)(EZ.e,{getItemTitle:t=>(null==t?void 0:t.classname)!==void 0?r[t.classname]??t.classname:e("object-brick.class-definitions-block.new-entry"),title:e("object-brick.class-definitions-block.title"),children:t=>{let{blockIndex:r}=t;return(0,tq.jsxs)(ni.FormKit.Panel,{children:[(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.class-definitions-block.classname"),name:"classname",children:(0,tq.jsx)(t8.l,{loadingSkeleton:i,options:n,placeholder:e("object-brick.class-definitions-block.select-classname"),showSearch:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.class-definitions-block.fieldname"),name:"fieldname",children:(0,tq.jsx)(PO,{blockIndex:r})})]})}})})},P_=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("object-brick.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.parent-class"),name:"parentClass",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.title-label"),name:"title",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("object-brick.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})})]}),(0,tq.jsx)(PK,{})]}),[])},PH=e=>{let[t,i]=(0,fk.q9)(e),{getLayout:n}=(0,EJ.g)(),{generalSettings:r}=(0,f$.dq)();return[()=>t({key:null==r?void 0:r.id,objectBrickUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},P$=()=>{let{generalSettings:e}=(0,f$.dq)(),{t}=(0,iQ.useTranslation)();return(0,tI.isNil)(e)?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsxs)(ni.FormKit.Panel,{title:t("general"),children:[(0,tq.jsx)(ig.Form.Item,{label:t("name"),name:"name",children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("class-definition.custom-layouts.default-layout"),name:"default",valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ig.Form.Item,{label:t("description"),name:"description",children:(0,tq.jsx)(ni.TextArea,{rows:3})})]})},PW=()=>({accessor:e=>e.layoutDefinition??void 0}),Pq=()=>{let{data:e}=(0,cV.useClassObjectBrickClassesQuery)(),t=null==e?void 0:e.items.map(e=>e.id).join(",");return(0,cV.useClassCustomLayoutCollectionQuery)({classIds:t},{skip:void 0===t})},PG=e=>{let{configuration:t}=(0,E2.R6)(),i=String((null==t?void 0:t.id)??""),n=String((null==e?void 0:e.id)??""),r=(0,cV.useClassObjectBrickCustomLayoutGetQuery)({key:i,customLayoutId:n},{skip:""===i||""===n});return void 0!==r.error&&"status"in r.error&&404===r.error.status?{...r,error:void 0,isError:!1,data:{id:n,name:"",description:"",creationDate:0,modificationDate:0,userOwner:0,classId:"",default:!1,layoutDefinition:null}}:r},{LayoutProvider:PU,useLayout:PQ}=(0,E9.v)(),PJ=e=>{let{fieldDefinitionRegistry:t}=(0,E8.t0)();return(0,tq.jsx)(PU,{...e,fieldDefinitionRegistry:t})},PZ=e=>{let[t,i]=(0,cV.useClassObjectBrickCustomLayoutUpdateMutation)(e),{getLayout:n}=PQ(),{generalSettings:r}=(0,f$.dq)(),{configuration:a}=(0,E2.R6)(),{activeConfiguration:l}=(0,EW.wB)(),o=String((null==a?void 0:a.id)??""),s=String((null==l?void 0:l.id)??"");return[()=>t({key:o,customLayoutId:s,customLayoutUpdate:{configuration:{children:n().children??[]},values:{...r}}}),i]},{LayoutProvider:PY,useLayout:PX}=(0,E9.v)(),P0=()=>{let{configuration:e}=(0,E2.R6)(),t=String((null==e?void 0:e.id)??""),i=(0,tG.useMemo)(()=>({getExportUrl:e=>`${(0,tD.$)()}/class/object-brick/${t}/custom-layout/${e}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/object-brick/${t}/custom-layout/${e}/import`,successMessageKey:"custom-layout.import-success"}),[t]);return(0,tq.jsx)(E$.K,{GeneralSettingsFormFields:P$,LayoutProvider:PJ,area:["objectbrick","custom-layout"],customLayouts:{parent:{area:["objectbrick"],useLayout:PX}},importExportConfig:i,useDetailGeneralSettingsQuery:PG,useDetailLayoutAccessor:PW,useDetailUpdateMutation:PZ,useItemsQuery:Pq,useLayout:PQ,view:(0,tq.jsx)(Px,{})})},P1=e=>{let t=String(e.id),i=(0,fk.Ss)({key:t});return void 0!==i.data?{...i,data:{...i.data,id:i.data.key}}:i},P2=e=>{let t=String(e.id);return(0,fk.Io)({key:t})},P3=()=>{let e=(0,fk.eK)(),t=(0,tG.useMemo)(()=>{if(void 0===e.data||!("items"in e.data))return;let t=[];for(let r of e.data.items){var i,n;if("children"in r)for(let e of r.children)t.push({id:e.key,name:e.name,group:e.group??void 0,icon:{value:(null==(i=e.icon)?void 0:i.value)!==void 0&&""!==e.icon.value?e.icon.value:"object-bricks"}});else t.push({id:r.key,name:r.name,group:r.group??void 0,icon:{value:(null==(n=r.icon)?void 0:n.value)!==void 0&&""!==r.icon.value?r.icon.value:"object-bricks"}})}return{...e.data,items:t}},[e.data]);return void 0!==t?{...e,data:t}:e},P6=function(){for(var e=arguments.length,t=Array(e),i=0;in({key:String(e.id)}),r]},P4={getExportUrl:e=>`${(0,tD.$)()}/class/object-brick/${String(e)}/export`,getImportUrl:e=>`${(0,tD.$)()}/class/object-brick/${String(e)}/import`},P5=e=>{let{children:t,...i}=e,{fieldDefinitionRegistry:n}=(0,E8.t0)();return(0,tq.jsx)(EJ.U,{...i,children:(0,tq.jsx)(PY,{...i,fieldDefinitionRegistry:n,children:t})})},P7=()=>(0,tq.jsx)(E$.K,{AddModal:Pz,GeneralSettingsFormFields:P_,LayoutProvider:P5,area:["objectbrick"],customLayouts:{ModalContent:(0,tq.jsx)(P0,{})},importExportConfig:P4,useDetailGeneralSettingsQuery:P1,useDetailLayoutQuery:P2,useDetailUpdateMutation:PH,useItemsDeleteMutation:P6,useItemsQuery:P3});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/ObjectBricks",label:"navigation.object-bricks",className:"objectbrick",order:300,permission:pw.F.ObjectBricks,perspectivePermission:pk.d.ObjectBricks,widgetConfig:{name:"object-bricks",id:"object-bricks",component:"object-bricks",config:{translationKey:"widget.object-bricks",icon:{type:"name",value:"object-bricks"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"object-bricks",component:P7})}});let P8=()=>{let e=(0,uk.jL)(),t=(0,aB.Vl)(),{t:i}=(0,iQ.useTranslation)(),{success:n}=(0,uI.J)(),[r,{isLoading:a}]=(0,fk.KB)(),[l,{isLoading:o}]=(0,fk.v2)(),[s,{isLoading:d}]=(0,fk.Lv)(),c=async(e,t)=>{let a=r({createSelectOption:{id:e}});try{let r=await a;void 0!==r.error&&(0,iX.Ay)(new iX.hD(r.error)),null==t||t(e),n(i("select-option.create.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to create new select option."))}},f=async(t,r)=>{let a=s({id:t});try{let t=await a;if(!(0,tI.isUndefined)(t.error))return void(0,iX.Ay)(new iX.hD(t.error));e(fk.FH.util.invalidateTags(uT.qN.SELECT_OPTION_COLLECTION())),null==r||r(),n(i("select-option.delete.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to delete select option"))}};return{createSelectOption:e=>{t.input({title:i("select-option.create-new"),label:i("select-option.enter-name-new-item"),rule:{required:!0,pattern:/^[A-Z][a-zA-Z0-9]*$/,message:i("select-option.validation.id-format")},onOk:async t=>{await c(t,()=>{null==e||e(t)})}})},getSelectOptionById:async t=>{try{let{data:i,isError:n,error:r}=await e(fk.FH.endpoints.classSelectOptionGet.initiate({id:t},{forceRefetch:!0}));if(!(0,tI.isUndefined)(i)&&n)return void(0,iX.Ay)(new iX.hD(r));return i}catch{(0,iX.Ay)(new iX.$g('Failed to load select option data of "'+t+'".'))}},updateSelectOption:async(e,t,r)=>{let a=l({id:e,updateSelectOption:t});try{let e=await a;if(void 0!==e.error)return void(0,iX.Ay)(new iX.hD(e.error));null==r||r(),n(i("select-option.update.success"))}catch{(0,iX.Ay)(new iX.$g("Failed to update select option."))}},removeWithConfirmation:(e,n)=>{t.confirm({title:i("element.delete.confirmation.title"),content:(0,tq.jsx)("span",{children:i("element.delete.confirmation.text")}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{await f(e,()=>{null==n||n()})}})},isLoading:a||o||d}},P9=(0,tG.createContext)(void 0),Ae=e=>{let{children:t}=e,[i,n]=(0,tG.useState)(void 0),[r,a]=(0,tG.useState)([]),{getSelectOptionById:l}=P8(),o=async e=>{let t=await l(e);(0,tI.isNil)(t)||a(e=>e.findIndex(e=>e.id===t.id)>=0?(n(t.id),e):(n(t.id),[...e,t]))},s=e=>{let t=r.filter(t=>t.id!==e);a(t),i===e&&(t.length>0?n(t[0].id):n(void 0))},d=(0,tG.useMemo)(()=>({activeTabId:i,setActiveTabId:n,selectOptions:r,setSelectOptions:a,openSelectOption:o,closeSelectOption:s}),[i,r]);return(0,tq.jsx)(P9.Provider,{value:d,children:t})},At=()=>{let e=(0,tG.useContext)(P9);if(void 0===e)throw Error("useSelectOptionEditorContext must be used within a SelectOptionEditorProvider");return e},Ai=e=>{let{selectOptionId:t}=e,{t:i}=(0,iQ.useTranslation)(),{data:n,isLoading:r}=(0,fk.P1)({id:t}),a=(0,cH.createColumnHelper)(),l=[a.accessor("class",{header:i("select-option.general-settings.usages.class"),size:200}),a.accessor("field",{header:i("select-option.general-settings.usages.field"),size:200})];return r?(0,tq.jsx)(ig.Skeleton,{active:!0}):(0,tq.jsx)(ul.x,{columns:l,data:(null==n?void 0:n.items)??[],enableMultipleRowSelection:!1,resizable:!1})},An=(0,cH.createColumnHelper)(),Ar=e=>{let{value:t=[],onChange:i}=e,{t:n}=(0,iQ.useTranslation)(),r=((e,t)=>{let{t:i}=(0,iQ.useTranslation)();return(0,tG.useMemo)(()=>[An.accessor("label",{header:i("select-option.entries.display-name"),meta:{editable:!0}}),An.accessor("value",{header:i("select-option.entries.value"),meta:{editable:!0}}),An.accessor("name",{header:i("select-option.entries.name"),meta:{editable:!0}}),An.display({header:i("select-option.entries.action"),cell:n=>(0,tq.jsx)(ni.Box,{padding:"mini",children:(0,tq.jsx)(ni.ButtonGroup,{items:[(0,tq.jsx)(ni.IconButton,{disabled:0===n.row.index,icon:{value:"chevron-up"},onClick:()=>{let i=n.row.index;if(i>0){let n=[...e],r=n[i-1];n[i-1]=n[i],n[i]=r,null==t||t(n)}},size:"small",tooltip:{title:i("select-option.entries.move-up")},type:"link"},"move-up"),(0,tq.jsx)(ni.IconButton,{disabled:n.row.index===e.length-1,icon:{value:"chevron-down"},onClick:()=>{let i=n.row.index;if(i{let i=[...e];i.splice(n.row.index,1),null==t||t(i)},size:"small",tooltip:{title:i("delete")},type:"link"},"delete")],noSpacing:!0})}),id:"actions",size:120})],[e,t])})(t,i);return(0,tq.jsx)(ni.OperationalGrid,{columns:r,enableSorting:!1,onChange:i,setRowId:(e,t)=>`row-${e.value}-${t}`,value:t,children:(0,tq.jsxs)(ni.Space,{direction:"vertical",size:"small",style:{width:"100%"},children:[(0,tq.jsx)(ni.OperationalGrid.Grid,{}),(0,tq.jsx)(ni.OperationalGrid.Operations,{children:e=>(0,tq.jsx)(ni.Space,{children:(0,tq.jsx)(ni.IconButton,{icon:{value:"new-something"},onClick:()=>{e.addRow({label:"",value:"",name:""})},tooltip:{title:n("add")},type:"default"})})})]})})},Aa=()=>{let{t:e}=(0,iQ.useTranslation)(),t=tJ.lV.useFormInstance().getFieldValue("id");return(0,tG.useMemo)(()=>(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsxs)(ni.FormKit.Panel,{title:e("select-option.general-settings.title"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.enum-name"),name:"enumName",children:(0,tq.jsx)(aR.p,{readOnly:!0})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.use-traits"),name:"useTraits",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.implements-interfaces"),name:"implementsInterfaces",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.group"),name:"group",children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("select-option.general-settings.admin-only"),name:"adminOnly",valuePropName:"checked",children:(0,tq.jsx)(ig.Switch,{})})]}),(0,tq.jsx)(ni.FormKit.Panel,{title:e("select-option.entries.title"),children:(0,tq.jsx)(tJ.lV.Item,{name:"selectOptions",children:(0,tq.jsx)(Ar,{})})}),!(0,tI.isNil)(t)&&(0,tq.jsx)(ni.FormKit.Panel,{title:e("select-option.general-settings.usages.title"),children:(0,tq.jsx)(Ai,{selectOptionId:t})})]}),[t])},Al=e=>{let{selectOption:t}=e,{t:i}=(0,iQ.useTranslation)(),{updateSelectOption:n,getSelectOptionById:r,removeWithConfirmation:a,isLoading:l}=P8(),{setSelectOptions:o,closeSelectOption:s}=At(),[d]=tJ.lV.useForm(),c={...t},f=t.isWriteable;return(0,tq.jsx)(n6.L,{formProps:{form:d,initialValues:c,onFinish:async e=>{let i={group:e.group??null,adminOnly:e.adminOnly??!1,useTraits:e.useTraits??"",implementsInterfaces:e.implementsInterfaces??"",selectOptions:e.selectOptions??[]};await n(t.id,i,async()=>{let e=await r(t.id);void 0!==e&&(o(t=>t.map(t=>t.id===e.id?e:t)),d.setFieldsValue(e))})}},children:(0,tq.jsxs)(ap.s,{className:"absolute-stretch",justify:"space-between",vertical:!0,children:[(0,tq.jsx)(uE.U,{padded:!0,padding:{x:"small",y:"none"},children:(0,tq.jsx)(Aa,{})}),(0,tq.jsxs)(pc.M,{justify:"space-between",children:[(0,tq.jsxs)("div",{children:[(0,tq.jsx)(lp.K,{disabled:l,icon:{value:"refresh"},onClick:async()=>{let e=await r(t.id);void 0!==e&&(o(t=>t.map(t=>t.id===e.id?e:t)),d.setFieldsValue(e))},title:i("refresh")}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(lp.K,{disabled:l||!f,icon:{value:"trash"},onClick:()=>{a(t.id,()=>{s(t.id),o(e=>e.filter(e=>e.id!==t.id))})},title:i("delete")})})]}),(0,tq.jsx)(iN.m,{title:f?"":i("config_not_writeable"),children:(0,tq.jsx)(az.$,{disabled:!f,htmlType:"submit",loading:l,type:"primary",children:i("save")})})]})]})})},Ao=e=>{let{id:t}=e,{selectOptions:i}=At(),n=i.find(e=>e.id===t);return void 0===n?(0,tq.jsx)(tq.Fragment,{}):(0,tq.jsx)(Al,{selectOption:n})},As=()=>{let{selectOptions:e,activeTabId:t,setActiveTabId:i,closeSelectOption:n}=At();return(0,tq.jsx)(ni.Tabs,{activeKey:t,fullHeight:!0,items:e.map(e=>({key:e.id,label:e.id,children:(0,tq.jsx)(Ao,{id:e.id})})),onChange:e=>{i(e)},onClose:e=>{n(e)}})},Ad=e=>{let{onReload:t,onAddItem:i}=e,{t:n}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{children:[(0,tq.jsx)(lp.K,{icon:{value:"refresh"},onClick:t,children:n("toolbar.reload")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:i,children:n("toolbar.new")})]})},Ac=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{treeContainer:i`
margin-top: ${t.paddingSM}px;
.tree--search {
@@ -1034,7 +1034,7 @@
:has(.tree--search) {
margin-top: 0;
}
- `}},{hashPriority:"low"});var Al=i(60924);let Ao=(e,t)=>{for(let i of e){if(String(i.key)===String(t))return i;if(void 0!==i.children&&null!==i.children){let e=Ao(i.children,t);if(void 0!==e)return e}}},As=e=>{let t=[];for(let i of e)!0===i.isLeaf&&t.push({key:String(i.key),title:String(i.title??"")}),void 0!==i.children&&null!==i.children&&t.push(...As(i.children));return t},Ad=e=>{let{treeData:t,onSelect:i}=e,{t:n}=(0,iQ.useTranslation)(),[r,a]=(0,tG.useState)(""),{styles:l}=(0,Al.I)(),o=(0,tG.useMemo)(()=>As(t),[t]),s=(0,tG.useMemo)(()=>{if(""===r)return[];let e=r.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e)).map(e=>({value:e.key,label:(0,tq.jsxs)("div",{children:[(0,tq.jsx)(r9.I,{options:{width:14,height:14},value:"select-type"})," ",e.title]})}))},[r,o]);return(0,tq.jsx)(ig.AutoComplete,{className:"tree--search",onSearch:e=>{a(e)},onSelect:e=>{void 0!==Ao(t,e)&&i(String(e)),a("")},options:s,value:r,children:(0,tq.jsx)(ig.Input.Search,{allowClear:{clearIcon:(0,tq.jsx)(r9.I,{className:l.closeIcon,value:"close"})},className:l.searchWithoutAddon,placeholder:n("select-option.tree.search"),prefix:(0,tq.jsx)(r9.I,{className:l.searchIcon,options:{width:12,height:12},value:"search"})})})},Ac=e=>{let{expandedKeys:t,treeData:i,isFetching:n,onReloadTree:r,onSetExpandedKeys:a}=e,{openSelectOption:l,closeSelectOption:o,setSelectOptions:s}=P5(),{createSelectOption:d,removeWithConfirmation:c}=P3(),{styles:f}=Aa(),u=[f.treeContainer];return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(Ar,{onAddItem:()=>{d(()=>{r()})},onReload:r}),children:(0,tq.jsxs)(uE.U,{className:u.join(", "),children:[(0,tq.jsx)(Ad,{onSelect:e=>{l(e)},treeData:i}),(0,tq.jsx)(gQ.l,{defaultExpandedKeys:t,expandedKeys:t,onActionsClick:(e,t)=>{let i=String(e);"delete"===t&&c(i,async()=>{o(i),s(e=>e.filter(e=>e.id!==i)),r()})},onExpand:e=>{a(e)},onSelected:e=>{var t;(null==(t=Ao(i,e))?void 0:t.selectable)!==!1&&l(String(e))},treeData:i})]})})},Af=()=>{let{data:e,isFetching:t}=(0,fk.xs)({withGroup:!0}),i=(0,uk.jL)(),[n,r]=(0,tG.useState)([]),[a,l]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(null==e?void 0:e.items)!==void 0&&r([...e.items].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>"children"in e&&Array.isArray(e.children)?{title:e.name,key:e.id,selectable:!1,icon:(0,tq.jsx)(r9.I,{type:e.icon.type,value:void 0!==e.icon.value&&""!==e.icon.value?e.icon.value:"folder"}),isLeaf:!1,children:[...e.children].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(r9.I,{value:"select-type"}),isLeaf:!0,actions:[{key:"delete",icon:"trash"}]}))}:{title:e.name,key:e.id,icon:(0,tq.jsx)(r9.I,{value:"select-type"}),isLeaf:!0,actions:[{key:"delete",icon:"trash"}]}))},[e]);let o=(0,tG.useCallback)(()=>{i(fk.FH.util.invalidateTags(uT.qN.SELECT_OPTION_COLLECTION()))},[i]),s={id:"select-option-editor.sidebar",minSize:170,children:[(0,tq.jsx)(Ac,{expandedKeys:a,isFetching:t,onReloadTree:o,onSetExpandedKeys:l,treeData:n},"select-option-editor.sidebar")]},d={id:"select-option-editor.main",minSize:600,children:[(0,tq.jsx)(An,{},"select-option-editor.main.detailTab")]};return(0,tq.jsx)(Lp.v,{leftItem:s,rightItem:d})},Au=()=>(0,tq.jsx)(P4,{children:(0,tq.jsx)(Af,{})});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/SelectOptions",label:"navigation.select-options",className:"selectoption",order:500,permission:pw.F.SelectOptions,perspectivePermission:pk.d.SelectOptions,widgetConfig:{name:"select-options",id:"select-options",component:"select-options",config:{translationKey:"widget.select-options",icon:{type:"name",value:"select-type"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"select-options",component:Au})}});var Am=i(42811),Ap=i(26234);let{useUnitQuantityValueUnitsCollectionQuery:Ag,useUnitQuantityValueConvertAllQuery:Ah,useUnitQuantityValueConvertQuery:Ay,useUnitQuantityValueUnitsCreateMutation:Av,useUnitQuantityValueUnitsUpdateMutation:Ab,useUnitQuantityValueUnitsDeleteMutation:Ax,useUnitQuantityValueUnitsExportQuery:Aj,useLazyUnitQuantityValueUnitsExportQuery:Aw,useUnitQuantityValueUnitsImportMutation:Ak,useUnitQuantityValueListQuery:AT}=i(2208).FH.enhanceEndpoints({addTagTypes:[uT.nP.QUANTITY_VALUE_UNITS],endpoints:{unitQuantityValueUnitsCollection:{providesTags:(e,t,i)=>uT.yc.QUANTITY_VALUE_UNITS()},unitQuantityValueUnitsUpdate:{invalidatesTags:()=>[]},unitQuantityValueUnitsDelete:{invalidatesTags:()=>[]},unitQuantityValueUnitsCreate:{invalidatesTags:()=>[uT.nP.QUANTITY_VALUE_UNITS]},unitQuantityValueList:{providesTags:()=>[]},unitQuantityValueUnitsExport:{query:()=>({url:"/pimcore-studio/api/unit/quantity-value/units/export",responseHandler:async e=>await e.blob()})}}}),AS=()=>{let[e,{isLoading:t}]=Av(),[i,{isLoading:n}]=Ax(),[r,{isLoading:a}]=Ab();return{createUnit:async t=>{try{let i=await e({createUnitParameters:{id:t}});if("data"in i)return{success:!0,data:i.data}}catch{(0,iX.Ay)(new iX.$g("Was not able to create Unit"))}return{success:!1}},createLoading:t,deleteUnitById:async e=>{try{let t=await i({id:e});return{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Was not able to delete Unit")),{success:!1}}},deleteLoading:n,updateUnitById:async(e,t)=>{try{let i=await r({id:e,updateUnitParameters:{abbreviation:t.abbreviation??null,longname:t.longName??null,baseunit:t.baseUnit??null,factor:t.factor??null,conversionOffset:t.conversionOffset??null,converter:t.converter??null,reference:t.reference??null}});return{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Was not able to update Unit")),{success:!1}}},updateLoading:a}},AC=e=>{let{info:t,setQuantityValueUnitRows:i}=e,n=t.row.original.id,{deleteUnitById:r,deleteLoading:a}=AS(),l=async()=>{if(null===n)return;let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},AD=e=>{let{quantityValueUnitRows:t,setQuantityValueUnitRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updateUnitById:r}=AS(),[a,l]=(0,tG.useState)([]),o=(0,cH.createColumnHelper)(),s=(0,tG.useMemo)(()=>[o.accessor("id",{header:n("quantity-values.columns.id"),meta:{editable:!1},size:100}),o.accessor("abbreviation",{header:n("quantity-values.columns.abbreviation"),meta:{editable:!0},size:150}),o.accessor("longName",{header:n("quantity-values.columns.long-name"),meta:{editable:!0},size:200}),o.accessor("baseUnit",{header:n("quantity-values.columns.base-unit"),meta:{type:"select",editable:!0,config:{useOptionsHook:()=>(()=>{let{data:e,isLoading:t,isFetching:i}=AT();return{isLoading:t||i,options:(0,tG.useMemo)(()=>{var t;return(null==e||null==(t=e.items)?void 0:t.filter(e=>null!==e.id).map(e=>({value:e.id,label:e.abbreviation??e.id??""})))??[]},[e])}})(),allowClear:!0}},size:120}),o.accessor("factor",{header:n("quantity-values.columns.factor"),meta:{type:"number",editable:!0},size:120}),o.accessor("conversionOffset",{header:n("quantity-values.columns.conversion-offset"),meta:{type:"number",editable:!0},size:150}),o.accessor("converter",{header:n("quantity-values.columns.converter"),meta:{editable:!0},size:150}),o.accessor("actions",{header:n("quantity-values.columns.actions"),size:80,cell:e=>(0,tq.jsx)(AC,{info:e,setQuantityValueUnitRows:i})})],[]),d=async e=>{let{columnId:t,value:n,rowData:a}=e,o=a.rowId,s={...a,[t]:n};if(i(e=>e.map(e=>e.rowId===o?s:e)),l([{columnId:t,rowIndex:o}]),null===s.id)return;let{success:d}=await r(s.id,s);d?l([]):i(e=>e.map(e=>e.rowId===o?a:e))};return(0,tq.jsx)(ul.x,{autoWidth:!0,columns:s,data:t,enableSorting:!0,modifiedCells:a,onUpdateCellData:d,resizable:!0,setRowId:e=>e.rowId})},AI=()=>{let{t:e}=(0,iQ.useTranslation)(),{createUnit:t,createLoading:i}=AS(),n=(0,aB.Vl)(),[r,a]=(0,tG.useState)(1),[l,o]=(0,tG.useState)(20),{data:s,isLoading:d,isFetching:c,error:f,refetch:u}=Ag({body:{filters:{page:r,pageSize:l}}}),m=()=>{u().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})},[p,{isLoading:g}]=Aw(),h=async()=>{try{let e=await p().unwrap();(0,Ap.P)("quantityvalue_unit_export.json",e)}catch{(0,iX.Ay)(new iX.$g("Error while exporting"))}},[y,v]=(0,tG.useState)([]),[b,x]=(0,tG.useState)(!1),j=null==s?void 0:s.items,w=(null==s?void 0:s.totalItems)??0;(0,tG.useEffect)(()=>{(0,tI.isUndefined)(j)||v(j.map(e=>({...e,rowId:(0,af.uuid)()})))},[j]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||(0,iX.Ay)(new iX.hD(f))},[f]);let k=async e=>{let{success:i,data:n}=await t(e);return i&&void 0!==n&&v(e=>[{...n,rowId:(0,af.uuid)()},...e]),{success:i}};return(0,tq.jsxs)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ap.s,{align:"center",justify:"start",children:(0,tq.jsxs)("div",{children:[(0,tq.jsx)(ni.IconTextButton,{disabled:c||g||y.length<1,icon:{value:"download"},loading:g,onClick:h,type:"link",children:e("quantity-values.export")}),(0,tq.jsx)(ni.IconTextButton,{disabled:c,icon:{value:"upload-import"},onClick:()=>{x(!0)},type:"link",children:e("quantity-values.import")})]})}),w>0?(0,tq.jsxs)(ni.Split,{children:[(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsx)(lp.K,{disabled:c,icon:{value:"refresh"},onClick:m,variant:"minimal"})}),(0,tq.jsx)(ni.Pagination,{current:r,onChange:(e,t)=>{a(e),o(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:w})]}):(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsx)(lp.K,{disabled:c,icon:{value:"refresh"},onClick:m})})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:e("widget.quantity-values")}),(0,tq.jsx)(ni.IconTextButton,{disabled:d||i,icon:{value:"new"},loading:i,onClick:()=>{n.input({title:(0,tq.jsx)(p8.w,{iconName:"new",children:e("quantity-values.create-modal.title")}),label:e("quantity-values.create-modal.id-label"),rule:{required:!0,message:e("quantity-values.create-modal.id-required")},onOk:async e=>{let{success:t}=await k(e);if(!t)throw new iX.$g("Failed to create unit")}})},children:e("quantity-values.new")})]})}),children:[(0,tq.jsx)(uE.U,{loading:d||c,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(j)||0===j.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(AD,{quantityValueUnitRows:y,setQuantityValueUnitRows:v})})}),(0,tq.jsx)(Am.z,{accept:".json,application/json",acceptMimeTypes:["application/json"],action:`${(0,tD.$)()}/unit/quantity-value/units/import`,onOpenChange:x,onUploadSuccess:()=>{x(!1),m()},open:b,title:e("quantity-values.import-modal.title")})]})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/QuantityValues",label:"navigation.quantity-values",className:"item-style-modifier",order:600,permission:pw.F.QuantityValues,perspectivePermission:pk.d.QuantityValues,widgetConfig:{name:"quantity-values",id:"quantity-values",component:"quantity-values",config:{translationKey:"widget.quantity-values",icon:{type:"name",value:"quantity-value"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"quantity-values",component:AI})}}),ts.s.registerModule({onInit:()=>{let e=iv.container.get("DynamicTypes/FieldDefinitionRegistry");e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Block")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Input")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Textarea")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Wysiwyg")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Password")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/InputQuantityValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Number")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/NumericRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Slider")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/QuantityValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/QuantityValueRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Date")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/DateTime")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/DateRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Time")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Image")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ExternalImage")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ImageGallery")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Video")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/HotspotImage")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopoint")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geobounds")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopolygon")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopolyline")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Select")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/BooleanSelect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Multiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/User")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Country")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Language")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/CountryMultiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/LanguageMultiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/RgbaColor")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/EncryptedField")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/UrlSlug")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Checkbox")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Link")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/CalculatedValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToOne")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToMany")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToManyObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/AdvancedManyToMany")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/AdvancedManyToManyObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ReverseObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Panel")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Accordion")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/FieldContainer")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Fieldset")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Iframe")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Region")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Tabpanel")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Text")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Table")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/StructuredTable")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Fieldcollections")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Objectbricks")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Classificationstore")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Localizedfields")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Consent")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Firstname")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Lastname")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Email")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Gender"))}});let AM=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{form:i`
+ `}},{hashPriority:"low"});var Af=i(60924);let Au=(e,t)=>{for(let i of e){if(String(i.key)===String(t))return i;if(void 0!==i.children&&null!==i.children){let e=Au(i.children,t);if(void 0!==e)return e}}},Am=e=>{let t=[];for(let i of e)!0===i.isLeaf&&t.push({key:String(i.key),title:String(i.title??"")}),void 0!==i.children&&null!==i.children&&t.push(...Am(i.children));return t},Ap=e=>{let{treeData:t,onSelect:i}=e,{t:n}=(0,iQ.useTranslation)(),[r,a]=(0,tG.useState)(""),{styles:l}=(0,Af.I)(),o=(0,tG.useMemo)(()=>Am(t),[t]),s=(0,tG.useMemo)(()=>{if(""===r)return[];let e=r.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e)).map(e=>({value:e.key,label:(0,tq.jsxs)("div",{children:[(0,tq.jsx)(r9.I,{options:{width:14,height:14},value:"select-type"})," ",e.title]})}))},[r,o]);return(0,tq.jsx)(ig.AutoComplete,{className:"tree--search",onSearch:e=>{a(e)},onSelect:e=>{void 0!==Au(t,e)&&i(String(e)),a("")},options:s,value:r,children:(0,tq.jsx)(ig.Input.Search,{allowClear:{clearIcon:(0,tq.jsx)(r9.I,{className:l.closeIcon,value:"close"})},className:l.searchWithoutAddon,placeholder:n("select-option.tree.search"),prefix:(0,tq.jsx)(r9.I,{className:l.searchIcon,options:{width:12,height:12},value:"search"})})})},Ag=e=>{let{expandedKeys:t,treeData:i,isFetching:n,onReloadTree:r,onSetExpandedKeys:a}=e,{openSelectOption:l,closeSelectOption:o,setSelectOptions:s}=At(),{createSelectOption:d,removeWithConfirmation:c}=P8(),{styles:f}=Ac(),u=[f.treeContainer];return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(Ad,{onAddItem:()=>{d(()=>{r()})},onReload:r}),children:(0,tq.jsxs)(uE.U,{className:u.join(", "),children:[(0,tq.jsx)(Ap,{onSelect:e=>{l(e)},treeData:i}),(0,tq.jsx)(gQ.l,{defaultExpandedKeys:t,expandedKeys:t,onActionsClick:(e,t)=>{let i=String(e);"delete"===t&&c(i,async()=>{o(i),s(e=>e.filter(e=>e.id!==i)),r()})},onExpand:e=>{a(e)},onSelected:e=>{var t;(null==(t=Au(i,e))?void 0:t.selectable)!==!1&&l(String(e))},treeData:i})]})})},Ah=()=>{let{data:e,isFetching:t}=(0,fk.xs)({withGroup:!0}),i=(0,uk.jL)(),[n,r]=(0,tG.useState)([]),[a,l]=(0,tG.useState)([]);(0,tG.useEffect)(()=>{(null==e?void 0:e.items)!==void 0&&r([...e.items].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>"children"in e&&Array.isArray(e.children)?{title:e.name,key:e.id,selectable:!1,icon:(0,tq.jsx)(r9.I,{type:e.icon.type,value:void 0!==e.icon.value&&""!==e.icon.value?e.icon.value:"folder"}),isLeaf:!1,children:[...e.children].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({title:e.name,key:e.id,icon:(0,tq.jsx)(r9.I,{value:"select-type"}),isLeaf:!0,actions:[{key:"delete",icon:"trash"}]}))}:{title:e.name,key:e.id,icon:(0,tq.jsx)(r9.I,{value:"select-type"}),isLeaf:!0,actions:[{key:"delete",icon:"trash"}]}))},[e]);let o=(0,tG.useCallback)(()=>{i(fk.FH.util.invalidateTags(uT.qN.SELECT_OPTION_COLLECTION()))},[i]),s={id:"select-option-editor.sidebar",minSize:170,children:[(0,tq.jsx)(Ag,{expandedKeys:a,isFetching:t,onReloadTree:o,onSetExpandedKeys:l,treeData:n},"select-option-editor.sidebar")]},d={id:"select-option-editor.main",minSize:600,children:[(0,tq.jsx)(As,{},"select-option-editor.main.detailTab")]};return(0,tq.jsx)(Lb.v,{leftItem:s,rightItem:d})},Ay=()=>(0,tq.jsx)(Ae,{children:(0,tq.jsx)(Ah,{})});ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/SelectOptions",label:"navigation.select-options",className:"selectoption",order:500,permission:pw.F.SelectOptions,perspectivePermission:pk.d.SelectOptions,widgetConfig:{name:"select-options",id:"select-options",component:"select-options",config:{translationKey:"widget.select-options",icon:{type:"name",value:"select-type"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"select-options",component:Ay})}});var Av=i(42811),Ab=i(26234);let{useUnitQuantityValueUnitsCollectionQuery:Ax,useUnitQuantityValueConvertAllQuery:Aj,useUnitQuantityValueConvertQuery:Aw,useUnitQuantityValueUnitsCreateMutation:Ak,useUnitQuantityValueUnitsUpdateMutation:AT,useUnitQuantityValueUnitsDeleteMutation:AS,useUnitQuantityValueUnitsExportQuery:AC,useLazyUnitQuantityValueUnitsExportQuery:AD,useUnitQuantityValueUnitsImportMutation:AI,useUnitQuantityValueListQuery:AM}=i(2208).FH.enhanceEndpoints({addTagTypes:[uT.nP.QUANTITY_VALUE_UNITS],endpoints:{unitQuantityValueUnitsCollection:{providesTags:(e,t,i)=>uT.yc.QUANTITY_VALUE_UNITS()},unitQuantityValueUnitsUpdate:{invalidatesTags:()=>[]},unitQuantityValueUnitsDelete:{invalidatesTags:()=>[]},unitQuantityValueUnitsCreate:{invalidatesTags:()=>[uT.nP.QUANTITY_VALUE_UNITS]},unitQuantityValueList:{providesTags:()=>[]},unitQuantityValueUnitsExport:{query:()=>({url:"/pimcore-studio/api/unit/quantity-value/units/export",responseHandler:async e=>await e.blob()})}}}),AL=()=>{let[e,{isLoading:t}]=Ak(),[i,{isLoading:n}]=AS(),[r,{isLoading:a}]=AT();return{createUnit:async t=>{try{let i=await e({createUnitParameters:{id:t}});if("data"in i)return{success:!0,data:i.data}}catch{(0,iX.Ay)(new iX.$g("Was not able to create Unit"))}return{success:!1}},createLoading:t,deleteUnitById:async e=>{try{let t=await i({id:e});return{success:"data"in t}}catch{return(0,iX.Ay)(new iX.$g("Was not able to delete Unit")),{success:!1}}},deleteLoading:n,updateUnitById:async(e,t)=>{try{let i=await r({id:e,updateUnitParameters:{abbreviation:t.abbreviation??null,longname:t.longName??null,baseunit:t.baseUnit??null,factor:t.factor??null,conversionOffset:t.conversionOffset??null,converter:t.converter??null,reference:t.reference??null}});return{success:"data"in i}}catch{return(0,iX.Ay)(new iX.$g("Was not able to update Unit")),{success:!1}}},updateLoading:a}},AF=e=>{let{info:t,setQuantityValueUnitRows:i}=e,n=t.row.original.id,{deleteUnitById:r,deleteLoading:a}=AL(),l=async()=>{if(null===n)return;let{success:e}=await r(n);e&&i(e=>e.filter(e=>e.id!==n))};return(0,tq.jsx)(ni.Flex,{align:"center",justify:"center",children:(0,tq.jsx)(ni.IconButton,{icon:{value:"trash"},loading:a,onClick:l,type:"link"})})},AE=e=>{let{quantityValueUnitRows:t,setQuantityValueUnitRows:i}=e,{t:n}=(0,iQ.useTranslation)(),{updateUnitById:r}=AL(),[a,l]=(0,tG.useState)([]),o=(0,cH.createColumnHelper)(),s=(0,tG.useMemo)(()=>[o.accessor("id",{header:n("quantity-values.columns.id"),meta:{editable:!1},size:100}),o.accessor("abbreviation",{header:n("quantity-values.columns.abbreviation"),meta:{editable:!0},size:150}),o.accessor("longName",{header:n("quantity-values.columns.long-name"),meta:{editable:!0},size:200}),o.accessor("baseUnit",{header:n("quantity-values.columns.base-unit"),meta:{type:"select",editable:!0,config:{useOptionsHook:()=>(()=>{let{data:e,isLoading:t,isFetching:i}=AM();return{isLoading:t||i,options:(0,tG.useMemo)(()=>{var t;return(null==e||null==(t=e.items)?void 0:t.filter(e=>null!==e.id).map(e=>({value:e.id,label:e.abbreviation??e.id??""})))??[]},[e])}})(),allowClear:!0}},size:120}),o.accessor("factor",{header:n("quantity-values.columns.factor"),meta:{type:"number",editable:!0},size:120}),o.accessor("conversionOffset",{header:n("quantity-values.columns.conversion-offset"),meta:{type:"number",editable:!0},size:150}),o.accessor("converter",{header:n("quantity-values.columns.converter"),meta:{editable:!0},size:150}),o.accessor("actions",{header:n("quantity-values.columns.actions"),size:80,cell:e=>(0,tq.jsx)(AF,{info:e,setQuantityValueUnitRows:i})})],[]),d=async e=>{let{columnId:t,value:n,rowData:a}=e,o=a.rowId,s={...a,[t]:n};if(i(e=>e.map(e=>e.rowId===o?s:e)),l([{columnId:t,rowIndex:o}]),null===s.id)return;let{success:d}=await r(s.id,s);d?l([]):i(e=>e.map(e=>e.rowId===o?a:e))};return(0,tq.jsx)(ul.x,{autoWidth:!0,columns:s,data:t,enableSorting:!0,modifiedCells:a,onUpdateCellData:d,resizable:!0,setRowId:e=>e.rowId})},AP=()=>{let{t:e}=(0,iQ.useTranslation)(),{createUnit:t,createLoading:i}=AL(),n=(0,aB.Vl)(),[r,a]=(0,tG.useState)(1),[l,o]=(0,tG.useState)(20),{data:s,isLoading:d,isFetching:c,error:f,refetch:u}=Ax({body:{filters:{page:r,pageSize:l}}}),m=()=>{u().catch(()=>{(0,iX.Ay)(new iX.$g("Error while reloading"))})},[p,{isLoading:g}]=AD(),h=async()=>{try{let e=await p().unwrap();(0,Ab.P)("quantityvalue_unit_export.json",e)}catch{(0,iX.Ay)(new iX.$g("Error while exporting"))}},[y,v]=(0,tG.useState)([]),[b,x]=(0,tG.useState)(!1),j=null==s?void 0:s.items,w=(null==s?void 0:s.totalItems)??0;(0,tG.useEffect)(()=>{(0,tI.isUndefined)(j)||v(j.map(e=>({...e,rowId:(0,af.uuid)()})))},[j]),(0,tG.useEffect)(()=>{(0,tI.isUndefined)(f)||(0,iX.Ay)(new iX.hD(f))},[f]);let k=async e=>{let{success:i,data:n}=await t(e);return i&&void 0!==n&&v(e=>[{...n,rowId:(0,af.uuid)()},...e]),{success:i}};return(0,tq.jsxs)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[(0,tq.jsx)(ap.s,{align:"center",justify:"start",children:(0,tq.jsxs)("div",{children:[(0,tq.jsx)(ni.IconTextButton,{disabled:c||g||y.length<1,icon:{value:"download"},loading:g,onClick:h,type:"link",children:e("quantity-values.export")}),(0,tq.jsx)(ni.IconTextButton,{disabled:c,icon:{value:"upload-import"},onClick:()=>{x(!0)},type:"link",children:e("quantity-values.import")})]})}),w>0?(0,tq.jsxs)(ni.Split,{children:[(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsx)(lp.K,{disabled:c,icon:{value:"refresh"},onClick:m,variant:"minimal"})}),(0,tq.jsx)(ni.Pagination,{current:r,onChange:(e,t)=>{a(e),o(t)},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:w})]}):(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsx)(lp.K,{disabled:c,icon:{value:"refresh"},onClick:m})})]}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsxs)(ap.s,{gap:"small",children:[(0,tq.jsx)(pd.h,{children:e("widget.quantity-values")}),(0,tq.jsx)(ni.IconTextButton,{disabled:d||i,icon:{value:"new"},loading:i,onClick:()=>{n.input({title:(0,tq.jsx)(p8.w,{iconName:"new",children:e("quantity-values.create-modal.title")}),label:e("quantity-values.create-modal.id-label"),rule:{required:!0,message:e("quantity-values.create-modal.id-required")},onOk:async e=>{let{success:t}=await k(e);if(!t)throw new iX.$g("Failed to create unit")}})},children:e("quantity-values.new")})]})}),children:[(0,tq.jsx)(uE.U,{loading:d||c,margin:{x:"extra-small",y:"none"},none:(0,tI.isUndefined)(j)||0===j.length,children:(0,tq.jsx)(ni.Box,{margin:{x:"extra-small",y:"none"},children:(0,tq.jsx)(AE,{quantityValueUnitRows:y,setQuantityValueUnitRows:v})})}),(0,tq.jsx)(Av.z,{accept:".json,application/json",acceptMimeTypes:["application/json"],action:`${(0,tD.$)()}/unit/quantity-value/units/import`,onOpenChange:x,onUploadSuccess:()=>{x(!1),m()},open:b,title:e("quantity-values.import-modal.title")})]})};ts.s.registerModule({onInit:()=>{let e=tc.kL.get(td.K.mainNavRegistry);e.registerMainNavItem({path:"DataManagement/DataModelDefinitions",label:"navigation.data-model-definitions",order:1200}),e.registerMainNavItem({path:"DataManagement/DataModelDefinitions/QuantityValues",label:"navigation.quantity-values",className:"item-style-modifier",order:600,permission:pw.F.QuantityValues,perspectivePermission:pk.d.QuantityValues,widgetConfig:{name:"quantity-values",id:"quantity-values",component:"quantity-values",config:{translationKey:"widget.quantity-values",icon:{type:"name",value:"quantity-value"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"quantity-values",component:AP})}}),ts.s.registerModule({onInit:()=>{let e=iv.container.get("DynamicTypes/FieldDefinitionRegistry");e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Block")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Input")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Textarea")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Wysiwyg")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Password")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/InputQuantityValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Number")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/NumericRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Slider")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/QuantityValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/QuantityValueRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Date")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/DateTime")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/DateRange")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Time")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Image")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ExternalImage")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ImageGallery")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Video")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/HotspotImage")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopoint")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geobounds")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopolygon")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Geopolyline")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Select")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/BooleanSelect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Multiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/User")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Country")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Language")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/CountryMultiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/LanguageMultiselect")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/RgbaColor")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/EncryptedField")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/UrlSlug")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Checkbox")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Link")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/CalculatedValue")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToOne")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToMany")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ManyToManyObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/AdvancedManyToMany")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/AdvancedManyToManyObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/ReverseObject")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Panel")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Accordion")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/FieldContainer")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Fieldset")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Iframe")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Region")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Tabpanel")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Text")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Table")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/StructuredTable")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Fieldcollections")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Objectbricks")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Classificationstore")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Localizedfields")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Consent")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Firstname")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Lastname")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Email")),e.registerDynamicType(iv.container.get("DynamicTypes/FieldDefinition/Gender"))}});let AA=(0,iR.createStyles)(e=>{let{token:t,css:i}=e;return{form:i`
label {
min-width: 90px;
}
@@ -1042,7 +1042,7 @@
.ant-input {
width: 400px
}
- `}}),AL=e=>{let{onSearch:t,onValueChange:i,isLoading:n}=e,{t:r}=(0,iQ.useTranslation)(),{styles:a}=AM(),[l]=ni.Form.useForm(),o=e=>{let t=[];return Object.entries(e).forEach(e=>{let[i,n]=e;if(!(0,tI.isNil)(n)&&n.length>0){let e="id"===i?{type:i,filterValue:Number(n)}:{type:i,filterValue:n};t.push(e)}}),t};return(0,tq.jsxs)(ni.FormKit,{formProps:{form:l,initialValues:{},layout:"horizontal",className:a.form,onValuesChange:(e,t)=>{null==i||i(o(t))},onFinish:e=>{null==t||t(o(e))}},children:[(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.id"),name:["id"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-id-input"})}),(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.firstname"),name:["firstname"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-firstname-input"})}),(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.lastname"),name:["lastname"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-lastname-input"})}),(0,tq.jsxs)(ni.Flex,{align:"end",gap:"extra-small",children:[(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.email"),name:["email"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-email-input"})}),(0,tq.jsx)(ni.Button,{"data-testid":"gdpr-search-submit-button",htmlType:"submit",loading:n,type:"primary",children:r("gdpr-extractor.search-form.submit")})]})]})};var AF=i(69367);let AE=e=>{let{data:t,providerKey:i,onProviderChange:n,isLoading:r,executeSearch:a,...l}=e,o=tc.kL.get(td.K["DynamicTypes/GDPRProviderRegistry"]),{data:s,isLoading:d}=(0,AF.HE)(),c=(null==s?void 0:s.items.map(e=>{let n=o.getDynamicType(e.key);if((0,tI.isNil)(n))return null;let s=e.key===i?t:[];return{key:e.key,label:e.label,children:n.getTabContent({data:s,providerKey:e.key,isLoading:r??d,onSortingChange:e=>{a({sortFilter:e})},...l})}}).filter(e=>!(0,tI.isNil)(e)))??[];return(0,tq.jsx)(aS.k,{"data-testid":"gdpr-tab-panel",items:c,onChange:e=>{var t;null==n||n(null==s||null==(t=s.items[e])?void 0:t.key)}})};var AP=i(89285);let AA=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(1),[n,r]=(0,tG.useState)(20),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)("data_objects"),[d,{data:c,isLoading:f,isFetching:u,error:m}]=(0,AP.tw)();(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,uj.trackError)(new uj.ApiError(m))},[m]);let p=(0,tG.useMemo)(()=>(0,tI.debounce)(e=>{l(e)},300),[]),g=e=>{let i=(null==e?void 0:e.provider)??o,r=(null==e?void 0:e.columnFilters)??a,l=null==e?void 0:e.sortFilter,s=(null==e?void 0:e.page)??t,c=(null==e?void 0:e.pageSize)??n;""===i||(0,tI.isEmpty)(r)||d({provider:i,body:{filters:{page:s,pageSize:c,columnFilters:r,sortFilter:l}}})};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"end",padding:{x:"small",y:"extra-small"},theme:"secondary",children:(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsxs)(oI.B,{children:[(0,tq.jsx)(lp.K,{disabled:f||u||""===o,icon:{value:"refresh"},onClick:()=>{g()}}),(0,tq.jsx)(po.d,{current:t,hideOnSinglePage:!0,onChange:(e,t)=>{i(e),r(t),g({page:e,pageSize:t})},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:(null==c?void 0:c.totalItems)??0})]})})}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(ap.s,{gap:4,children:(0,tq.jsx)(pd.h,{children:e("gdpr-extractor.title")})})}),children:(0,tq.jsxs)(uE.U,{"data-testid":"gdpr-data-extractor-content",gap:"extra-small",padded:!0,padding:{x:"extra-small",y:"extra-small"},children:[(0,tq.jsx)(AL,{isLoading:f||u,onSearch:e=>{l(e),g({columnFilters:e})},onValueChange:e=>{p(e)}}),(0,tq.jsx)(AE,{data:(null==c?void 0:c.items)??[],executeSearch:g,isLoading:f||u,onProviderChange:e=>{s(e),i(1),g({provider:e,page:1})},providerKey:o,refresh:g})]})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"gdpr-data-extractor",component:AA}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/GDPR Extractor",label:"navigation.gdpr-extractor",order:500,className:"item-style-modifier",permission:pw.F.GDPRDataExtractor,perspectivePermission:pk.d.GDPRDataExtractor,widgetConfig:{name:"gdpr-extractor",id:"gdpr-extractor",component:"gdpr-data-extractor",config:{translationKey:"widget.gdpr-extractor",icon:{type:"name",value:"lock-circle"}}}});let e=tc.kL.get(td.K["DynamicTypes/GDPRProviderRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/DataObjects"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Assets"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Users"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Emails"]))}});let AN=(0,tG.createContext)(void 0),AR=e=>{let{children:t}=e,[i]=tJ.lV.useForm(),[n,r]=(0,tG.useState)(!1),a=(0,tG.useMemo)(()=>({form:i,isLoading:n,setIsLoading:r}),[i,n]);return(0,tq.jsx)(AN.Provider,{value:a,children:t})},AV=()=>{let e=(0,tG.useContext)(AN);if(void 0===e)throw Error("useSystemSettingsContext must be used within a SystemSettingsProvider");return e};var Az=i(62268);let AB=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ac.XP,{forceRender:!0,label:e("system-settings.collapse.debug"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("system-settings.form.debug.field.enable-debug"),name:["general","debug_admin_translations"],children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("system-settings.form.debug.field.email-addresses"),name:["email","debug","email_addresses"],children:(0,tq.jsx)(Az.F,{placeholder:e("system-settings.form.debug.field.email-addresses.placeholder")})})]})};var AO=i(58754);let AK=e=>{let{locale:t}=e,{t:i}=(0,iQ.useTranslation)(),{form:n}=AV(),r=tJ.lV.useWatch(["general","valid_languages"],{form:n,preserve:!0})??[],a=(0,tG.useMemo)(()=>r.filter(e=>e!==t).map(e=>({label:`${(0,AO.O)({locale:e})} (${e})`,value:e})),[r,t]),l=r.length<=1;return(0,tq.jsxs)(ni.Card,{actions:[(0,tq.jsx)(ni.IconButton,{disabled:l,icon:{value:"trash"},onClick:()=>{let e=(n.getFieldValue(["general","valid_languages"])??[]).filter(e=>e!==t),i=(n.getFieldValue(["general","required_languages"])??[]).filter(e=>e!==t),r=n.getFieldValue(["general","fallback_languages"])??{},a={};for(let[e,i]of Object.entries(r))e!==t&&(a[e]=i.filter(e=>e!==t));let l=n.getFieldValue(["general","default_language"]),o=l===t?e[0]??"":l,s=n.getFieldValue(["documents","error_pages","localized"]),d=s;if(!(0,tI.isNil)(s)){let{[t]:e,...i}=s;d=i}n.setFieldsValue({general:{valid_languages:e,required_languages:i,fallback_languages:a,default_language:o},documents:{error_pages:{localized:d}}})},title:i("system-settings.form.localization.field.delete-language"),type:"link"},"icon-button-01")],title:(0,AO.O)({locale:t})+` (${t})`,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("system-settings.form.localization.field.fallback-language"),name:["general","fallback_languages",t],children:(0,tq.jsx)(ni.Select,{allowClear:!0,mode:"multiple",options:a,placeholder:i("system-settings.form.localization.field.fallback-language-placeholder")})}),(0,tq.jsx)(tJ.lV.Item,{getValueFromEvent:e=>e?t:"",getValueProps:e=>({checked:e===t}),name:["general","default_language"],valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{labelRight:i("system-settings.form.localization.field.default-language")})}),(0,tq.jsx)(tJ.lV.Item,{shouldUpdate:(e,t)=>{var i,n;return(null==(i=e.general)?void 0:i.required_languages)!==(null==(n=t.general)?void 0:n.required_languages)},children:()=>{let e=n.getFieldValue(["general","required_languages"])??[];return(0,tq.jsx)(ni.Switch,{checked:e.includes(t),labelRight:i("system-settings.form.localization.field.mandatory"),onChange:e=>{let i;i=n.getFieldValue(["general","required_languages"])??[],e&&!1===i.includes(t)?n.setFieldsValue({general:{required_languages:[...i,t]}}):e||!0!==i.includes(t)||n.setFieldsValue({general:{required_languages:i.filter(e=>e!==t)}})}})}})]})},A_=()=>{let{form:e}=AV(),t=tJ.lV.useWatch(["general","valid_languages"],{form:e,preserve:!0}),i=(0,tG.useMemo)(()=>(0,tI.isNil)(t)?[]:t.map(e=>(0,tq.jsx)(AK,{locale:e},e)),[t]);return(0,tq.jsx)(ap.s,{gap:"extra-small",vertical:!0,children:i})},AH=e=>{let[t,i]=(0,tG.useState)([]),{form:n}=AV(),r=(0,p3.t)().validLocales??{},a=tJ.lV.useWatch(["general","valid_languages"],{form:n,preserve:!0})??[];return(0,tG.useEffect)(()=>{i(Object.entries(r).filter(e=>{let[t]=e;return!a.includes(t.replaceAll("-","_"))}).map(e=>{let[t,i]=e;return{label:i,value:t}}))},[n,r,a]),(0,tq.jsx)(t8.l,{allowClear:!0,filterOption:(e,t)=>!((0,tI.isNil)(t)||(0,tI.isNil)(t.label))&&String(t.label).toLowerCase().includes(e.toLowerCase()),options:t,showSearch:!0,...e})},A$=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t}=AV(),[i,n]=(0,tG.useState)();return(0,tq.jsx)(ac.XP,{forceRender:!0,label:e("system-settings.collapse.localization"),children:(0,tq.jsxs)(ni.Flex,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(ni.Flex,{gap:"extra-small",children:[(0,tq.jsx)(AH,{onChange:n,placeholder:e("system-settings.form.localization.field.add-language"),value:i}),(0,tq.jsx)(ni.IconButton,{disabled:(0,tI.isNil)(i),icon:{value:"plus-circle"},onClick:()=>{if((0,tI.isNil)(i))return;let e=i.replaceAll("-","_"),r=t.getFieldValue(["general","valid_languages"])??[];if(!r.includes(e)){let i=t.getFieldValue(["general","fallback_languages"])??{};t.setFieldsValue({general:{valid_languages:[...r,e],fallback_languages:{...i,[e]:[]}}}),n(void 0)}},type:"primary"})]}),(0,tq.jsx)(A_,{})]})})},AW=e=>{let{dataType:t}=e,{t:i}=(0,iQ.useTranslation)(),n=ni.Form.useWatch([t,"versions","days"]),r=ni.Form.useWatch([t,"versions","steps"]),a=!(0,tI.isNil)(n)&&""!==n,l=!(0,tI.isNil)(r)&&""!==r;return(0,tq.jsxs)(ni.CollapseItem,{forceRender:!0,label:(0,tI.capitalize)(t),children:[(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.version-days"),name:[t,"versions","days"],children:(0,tq.jsx)(ni.InputNumber,{disabled:l})}),(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.version-count"),name:[t,"versions","steps"],children:(0,tq.jsx)(ni.InputNumber,{disabled:a})})]})},Aq=e=>{let{locale:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(ni.Card,{title:(0,AO.O)({locale:t})+` (${t})`,children:(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.default-error-page"),name:["documents","error_pages","localized",t],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0})})})},AG=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t}=AV(),i=ni.Form.useWatch(["general","valid_languages"],{form:t,preserve:!0}),n=(0,tG.useMemo)(()=>(0,tI.isNil)(i)?[]:i.map(e=>(0,tq.jsx)(Aq,{locale:e},e)),[i]);return(0,tq.jsx)(ni.CollapseItem,{forceRender:!0,label:e("system-settings.collapse.website"),children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(ap.s,{gap:"extra-small",vertical:!0,children:[(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.main-domain"),name:["general","domain"],children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.redirect-to-maindomain"),name:["general","redirect_to_maindomain"],children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.default-error-page"),name:["documents","error_pages","default"],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0})})]}),(0,tq.jsx)(ap.s,{gap:"extra-small",vertical:!0,children:n})]})})},AU=()=>{var e,t;let i,n,{form:r,setIsLoading:a}=AV(),{updateSettings:l}=(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=(0,cQ.Hk)(),{success:i}=(0,uI.J)(),n=(0,iv.useAppDispatch)(),r=(0,Cv.useSelector)(FR.mt);return{updateSettings:async(a,l)=>{let o=t({body:a});try{let t=await o;if(!(0,tI.isUndefined)(t.error))return void(0,uj.trackError)(new uj.ApiError(t.error));n((0,FR.oc)((0,tI.merge)({},r,a))),null==l||l(),i(e("system-settings.update.success"))}catch{(0,uj.trackError)(new uj.GeneralError("Failed to update system settings"))}}}})(),o={general:{valid_languages:(n=(0,FR.mt)(uk.M_.getState())).validLanguages??[],fallback_languages:(e=>{if((0,tI.isNil)(e))return{};let t={};return Object.keys(e).forEach(i=>{let n=e[i];t[i]=(0,a3.uI)(n)?n.split(",").map(e=>e.trim()):[]}),t})(n.fallbackLanguages),required_languages:n.requiredLanguages??[],default_language:n.defaultLanguage??"en",domain:n.main_domain??"",redirect_to_maindomain:n.redirectToMaindomain??!1,debug_admin_translations:n.debug_admin_translations??!1},objects:n.objects,assets:n.assets,documents:n.documents,email:{...n.email,debug:{email_addresses:(i=null==(t=n.email)||null==(e=t.debug)?void 0:e.email_addresses,(0,tI.isArray)(i)?i:(0,a3.uI)(i)?i.split(",").map(e=>e.trim()).filter(a3.uI):[])}}};return(0,tq.jsxs)(n6.L,{formProps:{form:r,initialValues:o,onFinish:e=>{let t=r.getFieldValue(["general","required_languages"])??[],i=r.getFieldValue(["general","valid_languages"])??[],n={...e,general:{...e.general,valid_languages:i,required_languages:t}};a(!0),l(n,()=>{a(!1)})}},children:[(0,tq.jsx)(A$,{}),(0,tq.jsx)(AB,{}),(0,tq.jsx)(AG,{}),(0,tq.jsx)(AW,{dataType:"documents"}),(0,tq.jsx)(AW,{dataType:"objects"}),(0,tq.jsx)(AW,{dataType:"assets"})]})},AQ=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t,isLoading:i}=AV();return(0,tq.jsx)(ni.ContentLayout,{renderToolbar:(0,tq.jsx)(ni.Toolbar,{justify:"flex-end",children:(0,tq.jsx)(ni.Button,{htmlType:"submit",loading:i,onClick:()=>{t.validateFields().then(()=>{t.submit()})},type:"primary",children:e("save")})}),renderTopBar:(0,tq.jsx)(ni.Toolbar,{borderStyle:"default",theme:"secondary",children:(0,tq.jsx)(ni.Flex,{gap:"small",children:(0,tq.jsx)(ni.Title,{children:e("widget.system-settings")})})}),children:(0,tq.jsx)(ni.Content,{padded:!0,padding:{x:"small",y:"none"},children:(0,tq.jsx)(AU,{})})})},AJ=()=>(0,tq.jsx)(AR,{children:(0,tq.jsx)(AQ,{})});ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"system-settings",component:AJ}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/System Settings",label:"navigation.systemSettings",className:"item-style-modifier",order:600,permission:pw.F.SystemSettings,perspectivePermission:pk.d.SystemSettings,widgetConfig:{name:"system-settings",id:"system-settings",component:"system-settings",config:{translationKey:"widget.system-settings",icon:{type:"name",value:"system-settings"}}}})}});let AZ=e=>{let{isFetching:t,refetch:i,handleStoreAdd:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{children:[t?(0,tq.jsx)(pa.a,{padding:{x:"extra-small",y:"extra-small"},children:(0,tq.jsx)(sN.t,{})}):(0,tq.jsx)(lp.K,{icon:{value:"refresh"},onClick:()=>{i()}}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:n,type:"link",children:r("new")})]})},AY=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{sidebarStoreItem:t`
+ `}}),AN=e=>{let{onSearch:t,onValueChange:i,isLoading:n}=e,{t:r}=(0,iQ.useTranslation)(),{styles:a}=AA(),[l]=ni.Form.useForm(),o=e=>{let t=[];return Object.entries(e).forEach(e=>{let[i,n]=e;if(!(0,tI.isNil)(n)&&n.length>0){let e="id"===i?{type:i,filterValue:Number(n)}:{type:i,filterValue:n};t.push(e)}}),t};return(0,tq.jsxs)(ni.FormKit,{formProps:{form:l,initialValues:{},layout:"horizontal",className:a.form,onValuesChange:(e,t)=>{null==i||i(o(t))},onFinish:e=>{null==t||t(o(e))}},children:[(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.id"),name:["id"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-id-input"})}),(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.firstname"),name:["firstname"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-firstname-input"})}),(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.lastname"),name:["lastname"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-lastname-input"})}),(0,tq.jsxs)(ni.Flex,{align:"end",gap:"extra-small",children:[(0,tq.jsx)(ni.Form.Item,{label:r("gdpr-extractor.search-form.field.email"),name:["email"],children:(0,tq.jsx)(ni.Input,{"data-testid":"gdpr-search-email-input"})}),(0,tq.jsx)(ni.Button,{"data-testid":"gdpr-search-submit-button",htmlType:"submit",loading:n,type:"primary",children:r("gdpr-extractor.search-form.submit")})]})]})};var AR=i(69367);let AV=e=>{let{data:t,providerKey:i,onProviderChange:n,isLoading:r,executeSearch:a,...l}=e,o=tc.kL.get(td.K["DynamicTypes/GDPRProviderRegistry"]),{data:s,isLoading:d}=(0,AR.HE)(),c=(null==s?void 0:s.items.map(e=>{let n=o.getDynamicType(e.key);if((0,tI.isNil)(n))return null;let s=e.key===i?t:[];return{key:e.key,label:e.label,children:n.getTabContent({data:s,providerKey:e.key,isLoading:r??d,onSortingChange:e=>{a({sortFilter:e})},...l})}}).filter(e=>!(0,tI.isNil)(e)))??[];return(0,tq.jsx)(aS.k,{"data-testid":"gdpr-tab-panel",items:c,onChange:e=>{var t;null==n||n(null==s||null==(t=s.items[e])?void 0:t.key)}})};var Az=i(89285);let AB=()=>{let{t:e}=(0,iQ.useTranslation)(),[t,i]=(0,tG.useState)(1),[n,r]=(0,tG.useState)(20),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)("data_objects"),[d,{data:c,isLoading:f,isFetching:u,error:m}]=(0,Az.tw)();(0,tG.useEffect)(()=>{(0,tI.isUndefined)(m)||(0,uj.trackError)(new uj.ApiError(m))},[m]);let p=(0,tG.useMemo)(()=>(0,tI.debounce)(e=>{l(e)},300),[]),g=e=>{let i=(null==e?void 0:e.provider)??o,r=(null==e?void 0:e.columnFilters)??a,l=null==e?void 0:e.sortFilter,s=(null==e?void 0:e.page)??t,c=(null==e?void 0:e.pageSize)??n;""===i||(0,tI.isEmpty)(r)||d({provider:i,body:{filters:{page:s,pageSize:c,columnFilters:r,sortFilter:l}}})};return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(pc.M,{justify:"end",padding:{x:"small",y:"extra-small"},theme:"secondary",children:(0,tq.jsx)(ap.s,{align:"center",children:(0,tq.jsxs)(oI.B,{children:[(0,tq.jsx)(lp.K,{disabled:f||u||""===o,icon:{value:"refresh"},onClick:()=>{g()}}),(0,tq.jsx)(po.d,{current:t,hideOnSinglePage:!0,onChange:(e,t)=>{i(e),r(t),g({page:e,pageSize:t})},showSizeChanger:!0,showTotal:t=>e("pagination.show-total",{total:t}),total:(null==c?void 0:c.totalItems)??0})]})})}),renderTopBar:(0,tq.jsx)(pc.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,tq.jsx)(ap.s,{gap:4,children:(0,tq.jsx)(pd.h,{children:e("gdpr-extractor.title")})})}),children:(0,tq.jsxs)(uE.U,{"data-testid":"gdpr-data-extractor-content",gap:"extra-small",padded:!0,padding:{x:"extra-small",y:"extra-small"},children:[(0,tq.jsx)(AN,{isLoading:f||u,onSearch:e=>{l(e),g({columnFilters:e})},onValueChange:e=>{p(e)}}),(0,tq.jsx)(AV,{data:(null==c?void 0:c.items)??[],executeSearch:g,isLoading:f||u,onProviderChange:e=>{s(e),i(1),g({provider:e,page:1})},providerKey:o,refresh:g})]})})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"gdpr-data-extractor",component:AB}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/GDPR Extractor",label:"navigation.gdpr-extractor",order:500,className:"item-style-modifier",permission:pw.F.GDPRDataExtractor,perspectivePermission:pk.d.GDPRDataExtractor,widgetConfig:{name:"gdpr-extractor",id:"gdpr-extractor",component:"gdpr-data-extractor",config:{translationKey:"widget.gdpr-extractor",icon:{type:"name",value:"lock-circle"}}}});let e=tc.kL.get(td.K["DynamicTypes/GDPRProviderRegistry"]);e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/DataObjects"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Assets"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Users"])),e.registerDynamicType(tc.kL.get(td.K["DynamicTypes/GDPRProvider/Emails"]))}});let AO=(0,tG.createContext)(void 0),AK=e=>{let{children:t}=e,[i]=tJ.lV.useForm(),[n,r]=(0,tG.useState)(!1),a=(0,tG.useMemo)(()=>({form:i,isLoading:n,setIsLoading:r}),[i,n]);return(0,tq.jsx)(AO.Provider,{value:a,children:t})},A_=()=>{let e=(0,tG.useContext)(AO);if(void 0===e)throw Error("useSystemSettingsContext must be used within a SystemSettingsProvider");return e};var AH=i(62268);let A$=()=>{let{t:e}=(0,iQ.useTranslation)();return(0,tq.jsxs)(ac.XP,{forceRender:!0,label:e("system-settings.collapse.debug"),children:[(0,tq.jsx)(tJ.lV.Item,{label:e("system-settings.form.debug.field.enable-debug"),name:["general","debug_admin_translations"],children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(tJ.lV.Item,{label:e("system-settings.form.debug.field.email-addresses"),name:["email","debug","email_addresses"],children:(0,tq.jsx)(AH.F,{placeholder:e("system-settings.form.debug.field.email-addresses.placeholder")})})]})};var AW=i(58754);let Aq=e=>{let{locale:t}=e,{t:i}=(0,iQ.useTranslation)(),{form:n}=A_(),r=tJ.lV.useWatch(["general","valid_languages"],{form:n,preserve:!0})??[],a=(0,tG.useMemo)(()=>r.filter(e=>e!==t).map(e=>({label:`${(0,AW.O)({locale:e})} (${e})`,value:e})),[r,t]),l=r.length<=1;return(0,tq.jsxs)(ni.Card,{actions:[(0,tq.jsx)(ni.IconButton,{disabled:l,icon:{value:"trash"},onClick:()=>{let e=(n.getFieldValue(["general","valid_languages"])??[]).filter(e=>e!==t),i=(n.getFieldValue(["general","required_languages"])??[]).filter(e=>e!==t),r=n.getFieldValue(["general","fallback_languages"])??{},a={};for(let[e,i]of Object.entries(r))e!==t&&(a[e]=i.filter(e=>e!==t));let l=n.getFieldValue(["general","default_language"]),o=l===t?e[0]??"":l,s=n.getFieldValue(["documents","error_pages","localized"]),d=s;if(!(0,tI.isNil)(s)){let{[t]:e,...i}=s;d=i}n.setFieldsValue({general:{valid_languages:e,required_languages:i,fallback_languages:a,default_language:o},documents:{error_pages:{localized:d}}})},title:i("system-settings.form.localization.field.delete-language"),type:"link"},"icon-button-01")],title:(0,AW.O)({locale:t})+` (${t})`,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("system-settings.form.localization.field.fallback-language"),name:["general","fallback_languages",t],children:(0,tq.jsx)(ni.Select,{allowClear:!0,mode:"multiple",options:a,placeholder:i("system-settings.form.localization.field.fallback-language-placeholder")})}),(0,tq.jsx)(tJ.lV.Item,{getValueFromEvent:e=>e?t:"",getValueProps:e=>({checked:e===t}),name:["general","default_language"],valuePropName:"checked",children:(0,tq.jsx)(ni.Switch,{labelRight:i("system-settings.form.localization.field.default-language")})}),(0,tq.jsx)(tJ.lV.Item,{shouldUpdate:(e,t)=>{var i,n;return(null==(i=e.general)?void 0:i.required_languages)!==(null==(n=t.general)?void 0:n.required_languages)},children:()=>{let e=n.getFieldValue(["general","required_languages"])??[];return(0,tq.jsx)(ni.Switch,{checked:e.includes(t),labelRight:i("system-settings.form.localization.field.mandatory"),onChange:e=>{let i;i=n.getFieldValue(["general","required_languages"])??[],e&&!1===i.includes(t)?n.setFieldsValue({general:{required_languages:[...i,t]}}):e||!0!==i.includes(t)||n.setFieldsValue({general:{required_languages:i.filter(e=>e!==t)}})}})}})]})},AG=()=>{let{form:e}=A_(),t=tJ.lV.useWatch(["general","valid_languages"],{form:e,preserve:!0}),i=(0,tG.useMemo)(()=>(0,tI.isNil)(t)?[]:t.map(e=>(0,tq.jsx)(Aq,{locale:e},e)),[t]);return(0,tq.jsx)(ap.s,{gap:"extra-small",vertical:!0,children:i})},AU=e=>{let[t,i]=(0,tG.useState)([]),{form:n}=A_(),r=(0,p3.t)().validLocales??{},a=tJ.lV.useWatch(["general","valid_languages"],{form:n,preserve:!0})??[];return(0,tG.useEffect)(()=>{i(Object.entries(r).filter(e=>{let[t]=e;return!a.includes(t.replaceAll("-","_"))}).map(e=>{let[t,i]=e;return{label:i,value:t}}))},[n,r,a]),(0,tq.jsx)(t8.l,{allowClear:!0,filterOption:(e,t)=>!((0,tI.isNil)(t)||(0,tI.isNil)(t.label))&&String(t.label).toLowerCase().includes(e.toLowerCase()),options:t,showSearch:!0,...e})},AQ=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t}=A_(),[i,n]=(0,tG.useState)();return(0,tq.jsx)(ac.XP,{forceRender:!0,label:e("system-settings.collapse.localization"),children:(0,tq.jsxs)(ni.Flex,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(ni.Flex,{gap:"extra-small",children:[(0,tq.jsx)(AU,{onChange:n,placeholder:e("system-settings.form.localization.field.add-language"),value:i}),(0,tq.jsx)(ni.IconButton,{disabled:(0,tI.isNil)(i),icon:{value:"plus-circle"},onClick:()=>{if((0,tI.isNil)(i))return;let e=i.replaceAll("-","_"),r=t.getFieldValue(["general","valid_languages"])??[];if(!r.includes(e)){let i=t.getFieldValue(["general","fallback_languages"])??{};t.setFieldsValue({general:{valid_languages:[...r,e],fallback_languages:{...i,[e]:[]}}}),n(void 0)}},type:"primary"})]}),(0,tq.jsx)(AG,{})]})})},AJ=e=>{let{dataType:t}=e,{t:i}=(0,iQ.useTranslation)(),n=ni.Form.useWatch([t,"versions","days"]),r=ni.Form.useWatch([t,"versions","steps"]),a=!(0,tI.isNil)(n)&&""!==n,l=!(0,tI.isNil)(r)&&""!==r;return(0,tq.jsxs)(ni.CollapseItem,{forceRender:!0,label:(0,tI.capitalize)(t),children:[(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.version-days"),name:[t,"versions","days"],children:(0,tq.jsx)(ni.InputNumber,{disabled:l})}),(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.version-count"),name:[t,"versions","steps"],children:(0,tq.jsx)(ni.InputNumber,{disabled:a})})]})},AZ=e=>{let{locale:t}=e,{t:i}=(0,iQ.useTranslation)();return(0,tq.jsx)(ni.Card,{title:(0,AW.O)({locale:t})+` (${t})`,children:(0,tq.jsx)(ni.Form.Item,{label:i("system-settings.form.field.default-error-page"),name:["documents","error_pages","localized",t],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0})})})},AY=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t}=A_(),i=ni.Form.useWatch(["general","valid_languages"],{form:t,preserve:!0}),n=(0,tG.useMemo)(()=>(0,tI.isNil)(i)?[]:i.map(e=>(0,tq.jsx)(AZ,{locale:e},e)),[i]);return(0,tq.jsx)(ni.CollapseItem,{forceRender:!0,label:e("system-settings.collapse.website"),children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsxs)(ap.s,{gap:"extra-small",vertical:!0,children:[(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.main-domain"),name:["general","domain"],children:(0,tq.jsx)(ni.Input,{})}),(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.redirect-to-maindomain"),name:["general","redirect_to_maindomain"],children:(0,tq.jsx)(ni.Switch,{})}),(0,tq.jsx)(ni.Form.Item,{label:e("system-settings.form.field.default-error-page"),name:["documents","error_pages","default"],children:(0,tq.jsx)(fW.P,{allowToClearRelation:!0,documentsAllowed:!0})})]}),(0,tq.jsx)(ap.s,{gap:"extra-small",vertical:!0,children:n})]})})},AX=()=>{var e,t;let i,n,{form:r,setIsLoading:a}=A_(),{updateSettings:l}=(()=>{let{t:e}=(0,iQ.useTranslation)(),[t]=(0,cQ.Hk)(),{success:i}=(0,uI.J)(),n=(0,iv.useAppDispatch)(),r=(0,Cw.useSelector)(FK.mt);return{updateSettings:async(a,l)=>{let o=t({body:a});try{let t=await o;if(!(0,tI.isUndefined)(t.error))return void(0,uj.trackError)(new uj.ApiError(t.error));n((0,FK.oc)((0,tI.merge)({},r,a))),null==l||l(),i(e("system-settings.update.success"))}catch{(0,uj.trackError)(new uj.GeneralError("Failed to update system settings"))}}}})(),o={general:{valid_languages:(n=(0,FK.mt)(uk.M_.getState())).validLanguages??[],fallback_languages:(e=>{if((0,tI.isNil)(e))return{};let t={};return Object.keys(e).forEach(i=>{let n=e[i];t[i]=(0,a3.uI)(n)?n.split(",").map(e=>e.trim()):[]}),t})(n.fallbackLanguages),required_languages:n.requiredLanguages??[],default_language:n.defaultLanguage??"en",domain:n.main_domain??"",redirect_to_maindomain:n.redirectToMaindomain??!1,debug_admin_translations:n.debug_admin_translations??!1},objects:n.objects,assets:n.assets,documents:n.documents,email:{...n.email,debug:{email_addresses:(i=null==(t=n.email)||null==(e=t.debug)?void 0:e.email_addresses,(0,tI.isArray)(i)?i:(0,a3.uI)(i)?i.split(",").map(e=>e.trim()).filter(a3.uI):[])}}};return(0,tq.jsxs)(n6.L,{formProps:{form:r,initialValues:o,onFinish:e=>{let t=r.getFieldValue(["general","required_languages"])??[],i=r.getFieldValue(["general","valid_languages"])??[],n={...e,general:{...e.general,valid_languages:i,required_languages:t}};a(!0),l(n,()=>{a(!1)})}},children:[(0,tq.jsx)(AQ,{}),(0,tq.jsx)(A$,{}),(0,tq.jsx)(AY,{}),(0,tq.jsx)(AJ,{dataType:"documents"}),(0,tq.jsx)(AJ,{dataType:"objects"}),(0,tq.jsx)(AJ,{dataType:"assets"})]})},A0=()=>{let{t:e}=(0,iQ.useTranslation)(),{form:t,isLoading:i}=A_();return(0,tq.jsx)(ni.ContentLayout,{renderToolbar:(0,tq.jsx)(ni.Toolbar,{justify:"flex-end",children:(0,tq.jsx)(ni.Button,{htmlType:"submit",loading:i,onClick:()=>{t.validateFields().then(()=>{t.submit()})},type:"primary",children:e("save")})}),renderTopBar:(0,tq.jsx)(ni.Toolbar,{borderStyle:"default",theme:"secondary",children:(0,tq.jsx)(ni.Flex,{gap:"small",children:(0,tq.jsx)(ni.Title,{children:e("widget.system-settings")})})}),children:(0,tq.jsx)(ni.Content,{padded:!0,padding:{x:"small",y:"none"},children:(0,tq.jsx)(AX,{})})})},A1=()=>(0,tq.jsx)(AK,{children:(0,tq.jsx)(A0,{})});ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.widgetManager).registerWidget({name:"system-settings",component:A1}),tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"System/System Settings",label:"navigation.systemSettings",className:"item-style-modifier",order:600,permission:pw.F.SystemSettings,perspectivePermission:pk.d.SystemSettings,widgetConfig:{name:"system-settings",id:"system-settings",component:"system-settings",config:{translationKey:"widget.system-settings",icon:{type:"name",value:"system-settings"}}}})}});let A2=e=>{let{isFetching:t,refetch:i,handleStoreAdd:n}=e,{t:r}=(0,iQ.useTranslation)();return(0,tq.jsxs)(pc.M,{children:[t?(0,tq.jsx)(pa.a,{padding:{x:"extra-small",y:"extra-small"},children:(0,tq.jsx)(sN.t,{})}):(0,tq.jsx)(lp.K,{icon:{value:"refresh"},onClick:()=>{i()}}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:n,type:"link",children:r("new")})]})},A3=(0,iR.createStyles)(e=>{let{css:t,token:i}=e;return{sidebarStoreItem:t`
padding: 2px ${i.paddingXS}px;
&:hover {
@@ -1084,7 +1084,7 @@
height: 100%;
overflow: auto;
padding: ${i.paddingMD}px;
- `}}),AX=e=>{let{isLoading:t,isFetching:i,refetch:n,storeList:r,activeStoreId:a,handleOpenStore:l}=e,[o,s]=(0,tG.useState)([]),[d,c]=(0,tG.useState)(null),{styles:f}=AY(),{t:u}=(0,iQ.useTranslation)(),{modal:m}=ig.App.useApp(),[p]=tJ.lV.useForm(),[g]=(0,ue.t6)(),[h]=(0,ue.SA)();(0,tG.useEffect)(()=>{s(r)},[r]);let y=[{icon:(0,tq.jsx)(r9.I,{value:"edit"}),key:"rename",label:u("rename"),onClick:()=>{(0,tI.isNil)(d)||(p.setFieldsValue({name:d.name,description:d.description??""}),m.confirm({icon:null,title:u("classification-store.rename-store"),content:(0,tq.jsxs)(tJ.lV,{form:p,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.name"),name:"name",rules:[{required:!0,message:u("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await p.validateFields();if((0,tI.isNil)(d))return;let t=await h({id:d.id,classificationStoreConfigurationStoreUpdate:{name:e.name,description:""===e.description.trim()?null:e.description}});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):n()}}))}}];return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(AZ,{handleStoreAdd:()=>{p.setFieldsValue({name:"",description:""}),m.confirm({icon:null,title:u("classification-store.add-store"),content:(0,tq.jsxs)(tJ.lV,{form:p,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.name"),name:"name",rules:[{required:!0,message:u("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await p.validateFields(),t=""===e.description.trim()?null:e.description,i=await g({classificationStoreConfigurationStoreCreate:{name:e.name}});if("error"in i)return void(0,iX.Ay)(new iX.hD(i.error));if(null!==t){let n=await h({id:i.data.id,classificationStoreConfigurationStoreUpdate:{name:e.name,description:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error))}n()}})},isFetching:i,refetch:n}),children:(0,tq.jsxs)(uE.U,{loading:t,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{var t;t=e.target.value,(0,a3.Po)(t)?s(r):s(r.filter(e=>e.name.toLowerCase().includes(t.toLowerCase())))},placeholder:u("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:i?"center":"start",vertical:!0,children:i?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:o.map(e=>{let t=e.id===a;return(0,tq.jsx)(pu.m,{menu:{items:y},onOpenChange:t=>{t&&c(e)},trigger:["contextMenu"],children:(0,tq.jsxs)(ap.s,{align:"center",className:[f.sidebarStoreItem,t?f.sidebarStoreItemActive:""].join(" "),gap:"mini",onClick:()=>{l(e)},children:[(0,tq.jsx)(r9.I,{className:f.sidebarStoreItemIcon,value:"classification-store"}),(0,tq.jsx)(n5.E,{className:f.sidebarStoreItemTitle,children:e.name})]})},e.id)})})})]})})};var A0=i(45725);let A1=e=>{let{open:t,storeId:i,excludedKeyIds:n,onConfirm:r,onCancel:a}=e,{t:l}=(0,iQ.useTranslation)(),[o,s]=(0,tG.useState)(""),[d,c]=(0,tG.useState)({}),{data:f,isLoading:u}=(0,A0.Wm)({storeId:i,body:{filters:{page:1,pageSize:9999}}},{skip:!t}),m=(null==f?void 0:f.items)??[];(0,tG.useEffect)(()=>{t&&(c({}),s(""))},[t]);let p=(0,tG.useMemo)(()=>{let e=new Set(n);return m.filter(t=>{if(e.has(t.id))return!1;if(""===o.trim())return!0;let i=o.trim().toLowerCase();return t.name.toLowerCase().includes(i)||(t.description??"").toLowerCase().includes(i)})},[m,n,o]),g=(0,cH.createColumnHelper)(),h=[g.accessor("id",{header:l("classification-store.columns.id"),size:60}),g.accessor("name",{header:l("classification-store.columns.name"),size:200}),g.accessor("type",{header:l("classification-store.columns.type"),size:120}),g.accessor("description",{header:l("classification-store.columns.description"),size:250,cell:e=>e.getValue()??"-"})],y=(0,tG.useMemo)(()=>p.filter(e=>d[String(e.id)]),[d,p]);return(0,tq.jsx)(ig.Modal,{okButtonProps:{disabled:0===y.length},okText:l("classification-store.add-key"),onCancel:a,onOk:()=>{y.length>0&&r(y)},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:l("classification-store.select-key"),width:700,children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ig.Input.Search,{onChange:e=>{s(e.target.value)},placeholder:l("classification-store.search-keys"),value:o}),(0,tq.jsx)(uE.U,{overflow:{x:"hidden",y:"auto"},style:{maxHeight:"calc(65vh - 80px)",minHeight:120},children:(0,tq.jsx)(ul.x,{columns:h,data:p,enableMultipleRowSelection:!0,isLoading:u,onSelectedRowsChange:c,selectedRows:d,setRowId:e=>void 0!==e.id?String(e.id):""})})]})})},A2=e=>{let{storeId:t,groupId:i,groupName:n}=e,{t:r}=(0,iQ.useTranslation)(),a=(0,aB.Vl)(),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A0.Hl)({groupId:i,body:{filters:{page:s,pageSize:c}}},{skip:void 0===i}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A0.GC)(),[b]=(0,A0.T4)(),x=(0,tG.useCallback)(e=>{a.confirm({title:r("delete"),content:r("classification-store.delete-key-relation",{keyName:e.keyName??String(e.keyId)}),onOk:async()=>{let t=await b({classificationStoreConfigurationKeyGroupRelationDelete:{keyId:e.keyId,groupId:e.groupId}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},[a,b,r]),j=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.keyId,groupId:e.groupId,sorter:e.sorter,mandatory:t}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),w=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.keyId,groupId:e.groupId,sorter:t,mandatory:e.mandatory}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),k=(0,tG.useCallback)(async e=>{if(void 0!==i)for(let t of(o(!1),await Promise.all(e.map(async e=>await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.id,groupId:i,sorter:0,mandatory:!1}})))))"error"in t&&(0,iX.Ay)(new iX.hD(t.error))},[i,v]),T=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),S=(0,tG.useMemo)(()=>[T.accessor("keyId",{header:r("classification-store.columns.id"),size:60}),T.accessor("keyName",{header:r("classification-store.columns.name"),size:200,meta:{type:"input"}}),T.accessor("keyDescription",{header:r("classification-store.columns.description"),size:200,meta:{type:"input"}}),T.accessor("mandatory",{header:r("classification-store.columns.mandatory"),size:100,meta:{type:"boolean",editable:!0,config:{align:"center"}}}),T.accessor("sorter",{header:r("classification-store.columns.sorter"),size:100,meta:{type:"number",editable:!0}}),T.display({id:"actions",header:r("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{x(e.row.original)},tooltip:{title:r("delete")}})})],[r,x,T]),C=(0,tG.useMemo)(()=>h.map(e=>e.keyId),[h]),D=void 0!==i?r("classification-store.relations-title",{name:n??String(i)}):r("classification-store.select-group-hint");return(0,tq.jsxs)(pl.s,{renderToolbar:void 0!==i?(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:r("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}):void 0,renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:D}),void 0!==i&&(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{o(!0)},children:r("classification-store.add-key")})]}),children:[(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:S,data:h,isLoading:m||p,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;"mandatory"===t?j(n,i):"sorter"===t&&null!==i&&w(n,i)}})}),(0,tq.jsx)(A1,{excludedKeyIds:C,onCancel:()=>{o(!1)},onConfirm:e=>{k(e)},open:l,storeId:t})]})},A3=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),[a]=tJ.lV.useForm(),[l,o]=(0,tG.useState)({}),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A0.wt)({storeId:t,body:{filters:{page:s,pageSize:c}}}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A0.Zn)(),[b]=(0,A0.GV)(),[x]=(0,A0._o)(),j=(()=>{let e=(()=>{let e=Object.keys(l).find(e=>l[e]);if(void 0!==e)return parseInt(e,10)})();if(void 0!==e)return h.find(t=>t.id===e)})(),w=(0,tG.useRef)(j);w.current=j,(0,tG.useEffect)(()=>{a.setFieldsValue({name:(null==j?void 0:j.name)??"",description:(null==j?void 0:j.description)??""})},[null==j?void 0:j.id]);let k=(0,tG.useCallback)(e=>{let t=w.current;if(void 0===t)return;let i=a.getFieldsValue(),n=(i.name??"").trim(),r=(i.description??"").trim();"name"in e&&""===n||b({id:t.id,classificationStoreConfigurationGroupUpdate:{name:""!==n?n:t.name,description:""!==r?r:null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})},[a,b]),{handleFormChange:T}=(0,Ix.T)(k,{delay:300}),S=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-group",{groupName:e.name}),onOk:async()=>{let t=await x({id:e.id});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):o({})}})},C=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),D=(0,tG.useRef)(S);D.current=S;let I=(0,tG.useMemo)(()=>[C.accessor("id",{header:i("classification-store.columns.id"),size:80}),C.accessor("name",{header:i("classification-store.columns.name"),size:220,meta:{type:"input",editable:!0}}),C.display({id:"actions",header:i("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{D.current(e.row.original)},tooltip:{title:i("delete")}})})],[i,C]);return(0,tq.jsx)(ht.n,{leftItem:{size:45,minSize:250,children:(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.groups")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-group"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await v({classificationStoreConfigurationGroupCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let t=await b({id:n.data.id,classificationStoreConfigurationGroupUpdate:{name:e.name,description:i}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-group")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:I,data:h,enableRowSelection:!0,isLoading:m||p,onSelectedRowsChange:e=>{o(e)},onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;b({id:n.id,classificationStoreConfigurationGroupUpdate:{name:e,description:n.description??null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}},selectedRows:l,setRowId:e=>void 0!==e.id?String(e.id):void 0})})})},resizeAble:!0,rightItem:{size:55,minSize:300,children:void 0===j?(0,tq.jsx)(ap.s,{align:"center",justify:"center",style:{height:"100%"},children:(0,tq.jsx)(he.R,{text:i("classification-store.select-group-hint")})}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(ap.s,{align:"center",style:{padding:"8px 16px"},children:(0,tq.jsx)(kR.Y,{title:j.name})}),children:(0,tq.jsxs)(ap.s,{style:{height:"100%"},vertical:!0,children:[(0,tq.jsx)(n6.L,{formProps:{form:a,onValuesChange:T},wrapInPanel:!1,children:(0,tq.jsxs)(ap.s,{gap:"small",style:{padding:"8px 16px"},vertical:!0,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]})}),(0,tq.jsx)(ap.s,{style:{flex:1,overflow:"hidden"},children:(0,tq.jsx)(A2,{groupId:j.id,groupName:j.name,storeId:t})})]})})},withDivider:!0,withToolbar:!0})};var A6=i(45672),A4=i(52189);let A5=["classification-store"],A7=e=>{let{noPadding:t,onGetLayout:i}=e,{structure:n,setCurrentFieldDefinitionId:r,setCurrentFieldDefinitionIdPath:a,currentFieldDefinitionId:l,getLayout:o}=(0,EW.g)();return(0,tG.useEffect)(()=>{i(o)},[o]),(0,tG.useEffect)(()=>{void 0!==n&&null===l&&(r(n.id),a([n.id]))},[n,l,r,a]),(0,tq.jsx)(A4.x,{noPadding:t})},A8=()=>({data:void 0,isLoading:!1,isFetching:!1,refetch:()=>void 0}),A9=()=>[()=>void 0,{isLoading:!1}],Ne=()=>null,Nt=e=>{let{open:t,keyDetail:i,onClose:n,onSaved:r}=e,{t:a}=(0,iQ.useTranslation)(),[l]=(0,ue.Q)(),o=(0,tG.useRef)(null),s=(0,tG.useCallback)(e=>{o.current=e},[]),d=async()=>{if(void 0===i||null===o.current)return;let e=o.current(),t=i.definition,n="string"==typeof(null==t?void 0:t.title)?t.title:null,a=await l({id:i.id,classificationStoreConfigurationKeyUpdate:{name:i.name,title:n,description:i.description,type:i.type,definition:e??null}});"error"in a?(0,iX.Ay)(new iX.hD(a.error)):r()},c=(()=>{if(void 0===i)return;let e={name:i.name,title:i.name,dataType:"data",fieldType:i.type,fieldtype:i.type,type:null,layout:null,region:null,width:0,height:0,collapsible:!1,collapsed:!1,bodyStyle:null,locked:!1,children:[],icon:null,labelAlign:"left",labelWidth:100,border:!1};return null!==i.definition&&void 0!==i.definition?{...e,...i.definition,fieldType:i.type,fieldtype:i.type}:e})();return(0,tq.jsx)(ig.Modal,{destroyOnClose:!0,okText:a("save"),onCancel:n,onOk:()=>{d()},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:void 0!==i?a("classification-store.edit-key-definition",{keyName:i.name}):"",width:900,children:void 0!==i&&(0,tq.jsx)(A6.PV,{area:A5,children:(0,tq.jsx)(E3.Z6,{GeneralSettingsFormFields:Ne,useDetailGeneralSettingsQuery:A8,useDetailUpdateMutation:A9,useItemsQuery:A8,children:(0,tq.jsx)(EW.U,{layout:c,children:(0,tq.jsx)(A7,{noPadding:!0,onGetLayout:s})},i.type??"unknown")})})})},Ni=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),a=(0,iv.useInjection)(iv.serviceIds["DynamicTypes/FieldDefinitionRegistry"]),l=(0,tG.useMemo)(()=>a.getTypesByTags(["classificationStore"],{area:["classification-store"],path:[],fieldDefinitions:{}}).map(e=>({label:i("field-definition."+(0,tI.kebabCase)(e.id)),value:e.id})).sort((e,t)=>e.label.localeCompare(t.label)),[a,i]),[o,s]=(0,tG.useState)(void 0),[d,c]=(0,tG.useState)(!1),[f,u]=(0,tG.useState)(1),[m,p]=(0,tG.useState)(20),{data:g,isLoading:h,isFetching:y,refetch:v}=(0,A0.Wm)({storeId:t,body:{filters:{page:f,pageSize:m}}}),b=(null==g?void 0:g.items)??[],x=(null==g?void 0:g.totalItems)??0,j=void 0!==o?b.find(e=>e.id===o):void 0,[w]=(0,A0.F7)(),[k]=(0,A0.Q)(),[T]=(0,A0.U3)(),S=e=>{let t=e.definition;return"string"==typeof(null==t?void 0:t.title)?t.title:null},C=(0,tG.useMemo)(()=>b.map(e=>({...e,title:S(e)??void 0})),[b]),D=e=>{s(e.id),c(!0)},I=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-key",{keyName:e.name}),onOk:async()=>{let t=await T({id:e.id});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},M=(0,tG.useCallback)(async(e,t)=>{let i=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:""===t.trim()?null:t,description:e.description??null,type:e.type,definition:e.definition}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[k]),L=(0,tG.useCallback)(async(e,t)=>{let i=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:S(e),description:e.description??null,type:t,definition:null}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[k]),F=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),E=(0,tG.useRef)(D);E.current=D;let P=(0,tG.useRef)(I);P.current=I;let A=(0,tG.useRef)(M);A.current=M;let N=(0,tG.useRef)(L);N.current=L;let R=(0,tG.useMemo)(()=>[F.accessor("id",{header:i("classification-store.columns.id"),size:60}),F.accessor("name",{header:i("classification-store.columns.name"),size:160,meta:{type:"input",editable:!0}}),F.accessor("title",{header:i("classification-store.columns.title"),size:160,meta:{type:"input",editable:!0}}),F.accessor("type",{header:i("classification-store.columns.type"),size:180,meta:{type:"select",editable:!0,config:{options:l}}}),F.accessor("description",{header:i("classification-store.columns.description"),size:200,meta:{type:"input",editable:!0}}),F.display({id:"actions",header:i("classification-store.columns.actions"),size:90,cell:e=>(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(lp.K,{icon:{value:"edit"},onClick:()=>{E.current(e.row.original)},tooltip:{title:i("classification-store.edit-definition")}}),(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{P.current(e.row.original)},tooltip:{title:i("delete")}})]})})],[i,F,l]);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[h?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:y,onClick:()=>{v()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:f,defaultPageSize:m,onChange:(e,t)=>{u(e),p(t)},showSizeChanger:!0,total:x})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.keys")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-key"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await w({classificationStoreConfigurationKeyCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let e=n.data,t=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:S(e),description:i,type:e.type,definition:e.definition}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-key")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:R,data:C,isLoading:h||y,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;k({id:n.id,classificationStoreConfigurationKeyUpdate:{name:e,title:S(n),description:n.description??null,type:n.type,definition:n.definition}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}else"title"===t?A.current(n,i):"type"===t?N.current(n,i):"description"===t&&k({id:n.id,classificationStoreConfigurationKeyUpdate:{name:n.name,title:S(n),description:""===i.trim()?null:i,type:n.type,definition:n.definition}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}})})}),(0,tq.jsx)(Nt,{keyDetail:j,onClose:()=>{c(!1),s(void 0)},onSaved:()=>{c(!1),s(void 0)},open:d})]})},Nn=e=>{let{open:t,storeId:i,excludedGroupIds:n,onConfirm:r,onCancel:a}=e,{t:l}=(0,iQ.useTranslation)(),[o,s]=(0,tG.useState)(""),[d,c]=(0,tG.useState)({}),{data:f,isLoading:u}=(0,A0.wt)({storeId:i,body:{filters:{page:1,pageSize:9999}}},{skip:!t}),m=(null==f?void 0:f.items)??[];(0,tG.useEffect)(()=>{t&&(c({}),s(""))},[t]);let p=(0,tG.useMemo)(()=>{let e=new Set(n);return m.filter(t=>{if(e.has(t.id))return!1;if(""===o.trim())return!0;let i=o.trim().toLowerCase();return t.name.toLowerCase().includes(i)||(t.description??"").toLowerCase().includes(i)})},[m,n,o]),g=(0,cH.createColumnHelper)(),h=[g.accessor("id",{header:l("classification-store.columns.id"),size:60}),g.accessor("name",{header:l("classification-store.columns.name"),size:200}),g.accessor("description",{header:l("classification-store.columns.description"),size:300,cell:e=>e.getValue()??"-"})],y=(0,tG.useMemo)(()=>p.filter(e=>d[String(e.id)]),[d,p]);return(0,tq.jsx)(ig.Modal,{okButtonProps:{disabled:0===y.length},okText:l("classification-store.add-group"),onCancel:a,onOk:()=>{y.length>0&&r(y)},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:l("classification-store.select-group"),width:600,children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ig.Input.Search,{onChange:e=>{s(e.target.value)},placeholder:l("classification-store.search-groups"),value:o}),(0,tq.jsx)(uE.U,{overflow:{x:"hidden",y:"auto"},style:{maxHeight:"calc(65vh - 80px)",minHeight:120},children:(0,tq.jsx)(ul.x,{columns:h,data:p,enableMultipleRowSelection:!0,isLoading:u,onSelectedRowsChange:c,selectedRows:d,setRowId:e=>void 0!==e.id?String(e.id):""})})]})})},Nr=e=>{let{storeId:t,colId:i,collectionName:n}=e,{t:r}=(0,iQ.useTranslation)(),a=(0,aB.Vl)(),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A0.d9)({colId:i,body:{filters:{page:s,pageSize:c}}},{skip:void 0===i}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A0.KD)(),[b]=(0,A0.hq)(),x=(0,tG.useCallback)(e=>{a.confirm({title:r("delete"),content:r("classification-store.delete-group-relation",{groupName:e.groupName??String(e.groupId)}),onOk:async()=>{let t=await b({classificationStoreConfigurationCollectionRelationDelete:{colId:e.colId,groupId:e.groupId}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},[a,b,r]),j=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationCollectionRelationCreate:{colId:e.colId,groupId:e.groupId,sorter:t}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),w=(0,tG.useCallback)(async e=>{if(void 0!==i)for(let t of(o(!1),await Promise.all(e.map(async e=>await v({classificationStoreConfigurationCollectionRelationCreate:{colId:i,groupId:e.id,sorter:0}})))))"error"in t&&(0,iX.Ay)(new iX.hD(t.error))},[i,v]),k=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),T=(0,tG.useMemo)(()=>[k.accessor("groupId",{header:r("classification-store.columns.id"),size:60}),k.accessor("groupName",{header:r("classification-store.columns.name"),size:200,meta:{type:"input"}}),k.accessor("groupDescription",{header:r("classification-store.columns.description"),size:200,meta:{type:"input"}}),k.accessor("sorter",{header:r("classification-store.columns.sorter"),size:100,meta:{type:"number",editable:!0}}),k.display({id:"actions",header:r("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{x(e.row.original)},tooltip:{title:r("delete")}})})],[r,x,k]),S=(0,tG.useMemo)(()=>h.map(e=>e.groupId),[h]),C=void 0!==i?r("classification-store.collection-relations-title",{name:n??String(i)}):r("classification-store.select-collection-hint");return(0,tq.jsxs)(pl.s,{renderToolbar:void 0!==i?(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:r("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}):void 0,renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:C}),void 0!==i&&(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{o(!0)},children:r("classification-store.add-group")})]}),children:[(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:T,data:h,isLoading:m||p,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;"sorter"===t&&null!==i&&j(n,i)}})}),(0,tq.jsx)(Nn,{excludedGroupIds:S,onCancel:()=>{o(!1)},onConfirm:e=>{w(e)},open:l,storeId:t})]})},Na=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),[a]=tJ.lV.useForm(),[l,o]=(0,tG.useState)({}),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A0.pv)({storeId:t,body:{filters:{page:s,pageSize:c}}}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A0.I2)(),[b]=(0,A0.dz)(),[x]=(0,A0.$v)(),j=(()=>{let e=Object.keys(l).find(e=>l[e]);if(void 0!==e)return h.find(t=>String(t.id)===e)})(),w=(0,tG.useRef)(j);w.current=j,(0,tG.useEffect)(()=>{a.setFieldsValue({name:(null==j?void 0:j.name)??"",description:(null==j?void 0:j.description)??""})},[null==j?void 0:j.id]);let k=(0,tG.useCallback)(e=>{let t=w.current;if(void 0===t)return;let i=a.getFieldsValue(),n=(i.name??"").trim(),r=(i.description??"").trim();"name"in e&&""===n||b({id:t.id,classificationStoreConfigurationCollectionUpdate:{name:""!==n?n:t.name,description:""!==r?r:null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})},[a,b]),{handleFormChange:T}=(0,Ix.T)(k,{delay:300}),S=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-collection",{collectionName:e.name}),onOk:async()=>{let t=await x({id:e.id});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):o({})}})},C=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),D=(0,tG.useRef)(S);D.current=S;let I=(0,tG.useMemo)(()=>[C.accessor("id",{header:i("classification-store.columns.id"),size:80}),C.accessor("name",{header:i("classification-store.columns.name"),size:220,meta:{type:"input",editable:!0}}),C.display({id:"actions",header:i("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{D.current(e.row.original)},tooltip:{title:i("delete")}})})],[i,C]);return(0,tq.jsx)(ht.n,{leftItem:{size:45,minSize:250,children:(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.collections")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-collection"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await v({classificationStoreConfigurationCollectionCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let t=await b({id:n.data.id,classificationStoreConfigurationCollectionUpdate:{name:e.name,description:i}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-collection")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:I,data:h,enableRowSelection:!0,isLoading:m||p,onSelectedRowsChange:e=>{o(e)},onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;b({id:n.id,classificationStoreConfigurationCollectionUpdate:{name:e,description:n.description??null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}},selectedRows:l,setRowId:e=>void 0!==e.id?String(e.id):void 0})})})},resizeAble:!0,rightItem:{size:55,minSize:300,children:void 0===j?(0,tq.jsx)(ap.s,{align:"center",justify:"center",style:{height:"100%"},children:(0,tq.jsx)(he.R,{text:i("classification-store.select-collection-hint")})}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(ap.s,{align:"center",style:{padding:"8px 16px"},children:(0,tq.jsx)(kR.Y,{title:j.name})}),children:(0,tq.jsxs)(ap.s,{style:{height:"100%"},vertical:!0,children:[(0,tq.jsx)(n6.L,{formProps:{form:a,onValuesChange:T},wrapInPanel:!1,children:(0,tq.jsxs)(ap.s,{gap:"small",style:{padding:"8px 16px"},vertical:!0,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]})}),(0,tq.jsx)(ap.s,{style:{flex:1,overflow:"hidden"},children:(0,tq.jsx)(Nr,{colId:j.id,collectionName:j.name,storeId:t})})]})})},withDivider:!0,withToolbar:!0})},Nl=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=AY(),r=[{key:"keys",icon:(0,tq.jsx)(r9.I,{value:"group-by-keys"}),label:i("classification-store.tabs.keys"),children:(0,tq.jsx)(Ni,{storeId:t})},{key:"groups",icon:(0,tq.jsx)(r9.I,{value:"group"}),label:i("classification-store.tabs.groups"),children:(0,tq.jsx)(A3,{storeId:t})},{key:"collections",icon:(0,tq.jsx)(r9.I,{value:"collection"}),label:i("classification-store.tabs.collections"),children:(0,tq.jsx)(Na,{storeId:t})}];return(0,tq.jsx)(ge.t,{className:n.storeEditorTabsContainer,defaultActiveKey:"keys",items:r,noTabBarMargin:!0})},No=()=>{let e=(0,yc.J)(pw.F.ClassificationStore),{data:t,isLoading:i,isFetching:n,refetch:r}=(0,ue.WP)(void 0,{skip:!e}),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)(void 0),{styles:d}=AY(),c=t??[],f=(0,tI.isUndefined)(o)?void 0:Number(o),u=(0,tG.useMemo)(()=>{let e=new Set(c.map(e=>e.id));return a.filter(t=>e.has(t.id)).map(e=>({key:String(e.id),icon:(0,tq.jsx)(r9.I,{value:"classification-store"}),label:e.name,children:(0,tq.jsx)(Nl,{storeId:e.id})}))},[c,a]);return(0,tq.jsx)(Lp.v,{leftItem:{children:(0,tq.jsx)(AX,{activeStoreId:f,handleOpenStore:e=>{a.some(t=>t.id===e.id)||l([...a,e]),s(String(e.id))},isFetching:n,isLoading:i,refetch:r,storeList:c})},rightItem:{children:(0,tI.isUndefined)(o)||0===u.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(pl.s,{children:(0,tq.jsx)(ge.t,{activeKey:o,className:d.tabs,hasStickyHeader:!0,items:u,onChange:e=>{s(e)},onClose:e=>{(e=>{let t=a.findIndex(t=>t.id===e),i=a.filter(t=>t.id!==e);if(String(e)===o){let e=a[t-1],i=a[t+1];s((0,tI.isUndefined)(e)?(0,tI.isUndefined)(i)?void 0:String(i.id):String(e.id))}l(i)})(Number(e))},rootClassName:d.tabsContainer})})}})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/DataModelDefinitions/ClassificationStore",label:"navigation.classification-store",className:"classification-store",order:400,permission:pw.F.ClassificationStore,perspectivePermission:pk.d.ClassificationStore,widgetConfig:{name:"classification-store",id:"classification-store-config",component:"classification-store-config",config:{translationKey:"widget.classification-store-config",icon:{type:"name",value:"classification-store"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"classification-store-config",component:No})}})},42811(e,t,i){"use strict";i.d(t,{z:()=>n.z});var n=i(4839)},12701(e,t,i){"use strict";i.d(t,{FH:()=>a,Gy:()=>m,HZ:()=>c,Ji:()=>f,Tg:()=>y,bL:()=>l,d5:()=>d,eZ:()=>o,p0:()=>p,pM:()=>g,rn:()=>r,td:()=>h,vi:()=>s,xX:()=>u});var n=i(53073);let r=["Asset Thumbnails"],a=n.api.enhanceEndpoints({addTagTypes:r}).injectEndpoints({endpoints:e=>({thumbnailImageGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/image"}),providesTags:["Asset Thumbnails"]}),thumbnailImageCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/thumbnails/image/config",method:"POST",body:e.createThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageGetByName:e.query({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`}),providesTags:["Asset Thumbnails"]}),thumbnailImageUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`,method:"PUT",body:e.updateThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageGetTree:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/image/tree"}),providesTags:["Asset Thumbnails"]}),thumbnailVideoGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/video"}),providesTags:["Asset Thumbnails"]}),thumbnailVideoCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/thumbnails/video/config",method:"POST",body:e.createThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoGetByName:e.query({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`}),providesTags:["Asset Thumbnails"]}),thumbnailVideoUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`,method:"PUT",body:e.updateThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoGetTree:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/video/tree"}),providesTags:["Asset Thumbnails"]})}),overrideExisting:!1}),{useThumbnailImageGetCollectionQuery:l,useThumbnailImageCreateMutation:o,useThumbnailImageGetByNameQuery:s,useThumbnailImageUpdateMutation:d,useThumbnailImageDeleteMutation:c,useThumbnailImageGetTreeQuery:f,useThumbnailVideoGetCollectionQuery:u,useThumbnailVideoCreateMutation:m,useThumbnailVideoGetByNameQuery:p,useThumbnailVideoUpdateMutation:g,useThumbnailVideoDeleteMutation:h,useThumbnailVideoGetTreeQuery:y}=a},41045(e,t,i){"use strict";i.d(t,{c:()=>p});var n=i(41630),r=i(73362),a=i(79472),l=i(81674),o=i(73488),s=i(20120),d=i(83015),c=i(21724),f=i(92634),u=i(35864),m=i(55638);let p=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,u.isNil)(i)&&void 0!==d.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,s.pg)(e))}async fetchAndStoreAssetDraft(e){let{data:t}=await n.M_.dispatch(r.api.endpoints.assetGetById.initiate({id:e}));if(!(0,u.isNil)(t)){let i={...t,id:e,modified:!1,properties:[],customMetadata:[],customSettings:[],schedules:[],textData:"",imageSettings:{},changes:{},modifiedCells:{},...f.nd};n.M_.dispatch((0,c.Y$)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{data:i,isError:s,error:d}=await n.M_.dispatch(r.api.endpoints.assetGetById.initiate({id:e}));if(s&&!t&&(0,m.Ay)(new m.hD(d)),(0,u.isNil)(i)||!(0,a.o)(i.permissions,"view"))return;await this.fetchAndStoreAssetDraft(e);let c=(0,o.g)("asset",e);return{name:null==i?void 0:i.filename,id:c,component:"asset-editor",config:{id:e,elementType:"asset",icon:(0,l.Ip)(i,{value:"widget",type:"name"}),iconColorGroup:"element"}}}async openAsset(e){let{id:t}=e,i=(0,o.g)("asset",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,u.isNil)(r)||n.M_.dispatch((0,s.OS)(r))}}},34108(e,t,i){"use strict";i.d(t,{W:()=>o});var n=i(31635),r=i(62446),a=i(83379),l=i(10600);class o extends a.T{getTopics(){return this.messageBus.getRegisteredTopics()}sendMessage(e){this.messageBus.routeMessage(e)}constructor(e){super(),this.messageBus=e,this.name="global-message-bus-process",this.description="Global process for message bus handling operations"}}o=(0,n.Cg)([(0,r.injectable)(),(0,n.Qj)(0,(0,r.inject)(l.K.globalMessageBus)),(0,n.Sn)("design:type",Function),(0,n.Sn)("design:paramtypes",["u"g});var n=i(41630),r=i(91434),a=i(53996),l=i(79472),o=i(81674),s=i(73488),d=i(20120),c=i(83015),f=i(54100),u=i(92634),m=i(35864),p=i(55638);let g=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,m.isNil)(i)&&void 0!==c.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,d.pg)(e))}async fetchAndStoreDataObjectDraft(e){let{data:t}=await n.M_.dispatch(r.FH.endpoints.dataObjectGetById.initiate({id:e}));if(!(0,m.isNil)(t)){let i={draftData:null,...t,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},modifiedObjectData:{},...u.nd};n.M_.dispatch((0,f.pw)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.M_.dispatch(r.FH.util.invalidateTags(a.qN.DATA_OBJECT_DETAIL_ID(e)));let{data:i,isError:d,error:c}=await n.M_.dispatch(r.FH.endpoints.dataObjectGetById.initiate({id:e}));if(d&&!t&&(0,p.Ay)(new p.hD(c)),(0,m.isNil)(i)||!(0,l.o)(i.permissions,"view"))return;await this.fetchAndStoreDataObjectDraft(e);let f=(0,o.Ip)(i,{value:"widget",type:"name"}),u=(0,s.g)("data-object",e);return{name:null==i?void 0:i.key,id:u,component:"data-object-editor",config:{id:e,elementType:"data-object",icon:f,iconColorGroup:"element"}}}async openDataObject(e){let{id:t}=e,i=(0,s.g)("data-object",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,m.isNil)(r)||n.M_.dispatch((0,d.OS)(r))}}},18453(e,t,i){"use strict";i.d(t,{J:()=>g});var n=i(41630),r=i(46766),a=i(53996),l=i(79472),o=i(81674),s=i(73488),d=i(20120),c=i(83015),f=i(29376),u=i(92634),m=i(35864),p=i(55638);let g=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,m.isNil)(i)&&void 0!==c.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,d.pg)(e))}async fetchAndStoreDocumentDraft(e){let{data:t}=await n.M_.dispatch(r.FH.endpoints.documentGetById.initiate({id:e}));if(!(0,m.isNil)(t)){let i={...t,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},...u.nd};n.M_.dispatch((0,f.FP)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.M_.dispatch(r.FH.util.invalidateTags(a.qN.DOCUMENT_DETAIL_ID(e)));let{data:i,isError:d,error:c}=await n.M_.dispatch(r.FH.endpoints.documentGetById.initiate({id:e}));if(d&&!t&&(0,p.Ay)(new p.hD(c)),(0,m.isNil)(i)||!(0,l.o)(i.permissions,"view"))return;await this.fetchAndStoreDocumentDraft(e);let f=(0,o.Ip)(i,{value:"widget",type:"name"}),u=(0,s.g)("document",e);return{name:null==i?void 0:i.key,id:u,component:"document-editor",config:{id:e,elementType:"document",icon:f,iconColorGroup:"element"}}}async openDocument(e){let{id:t}=e,i=(0,s.g)("document",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,m.isNil)(r)||n.M_.dispatch((0,d.OS)(r))}}},93534(e,t,i){"use strict";i.d(t,{F:()=>l,Q:()=>o});var n=i(53996);let r=i(53073).api.enhanceEndpoints({addTagTypes:["Dependencies"]}).injectEndpoints({endpoints:e=>({dependencyGetCollectionByElementType:e.query({query:e=>({url:`/pimcore-studio/api/dependencies/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,dependencyMode:e.dependencyMode}}),providesTags:["Dependencies"]})}),overrideExisting:!1}),{useDependencyGetCollectionByElementTypeQuery:a}=r,l=r.enhanceEndpoints({addTagTypes:[n.nP.ASSET_DETAIL,n.nP.DATA_OBJECT_DETAIL,n.nP.DEPENDENCIES],endpoints:{dependencyGetCollectionByElementType:{providesTags:(e,t,i)=>n.yc.ELEMENT_DEPENDENCIES(i.elementType,i.id).filter(e=>void 0!==e)}}}),{useDependencyGetCollectionByElementTypeQuery:o}=l},42796(e,t,i){"use strict";i.d(t,{i6:()=>p,PB:()=>f,FH:()=>c,tb:()=>g,Jj:()=>m,Ts:()=>u});var n=i(53996);let r=i(53073).api.enhanceEndpoints({addTagTypes:["Schedule"]}).injectEndpoints({endpoints:e=>({scheduleDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.id}`,method:"DELETE"}),invalidatesTags:["Schedule"]}),scheduleGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`}),providesTags:["Schedule"]}),scheduleUpdateForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Schedule"]}),scheduleCreateForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`,method:"POST"}),invalidatesTags:["Schedule"]}),scheduleListActionsForElementType:e.query({query:e=>({url:`/pimcore-studio/api/schedules/actions/${e.elementType}`}),providesTags:["Schedule"]})}),overrideExisting:!1}),{useScheduleDeleteByIdMutation:a,useScheduleGetCollectionForElementByTypeAndIdQuery:l,useScheduleUpdateForElementByTypeAndIdMutation:o,useScheduleCreateForElementByTypeAndIdMutation:s,useScheduleListActionsForElementTypeQuery:d}=r,c=r.enhanceEndpoints({addTagTypes:[n.nP.ASSET_DETAIL,n.nP.DATA_OBJECT_DETAIL],endpoints:{scheduleGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.SCHEDULE_DETAIL(e.id))}),[...a,...n.yc.ELEMENT_SCHEDULES(i.elementType,i.id)]}},scheduleUpdateForElementByTypeAndId:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_SCHEDULES(i.elementType,i.id)},scheduleCreateForElementByTypeAndId:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_SCHEDULES(i.elementType,i.id)},scheduleDeleteById:{invalidatesTags:(e,t,i)=>n.qN.SCHEDULE_DETAIL(i.id)}}}),{useScheduleDeleteByIdMutation:f,useScheduleGetCollectionForElementByTypeAndIdQuery:u,useScheduleUpdateForElementByTypeAndIdMutation:m,useScheduleCreateForElementByTypeAndIdMutation:p,useScheduleListActionsForElementTypeQuery:g}=c},26777(e,t,i){"use strict";i.d(t,{FH:()=>r,e1:()=>c,l0:()=>h});var n=i(53996);let r=i(48250).FH.enhanceEndpoints({addTagTypes:[n.nP.EMAIL_BLOCKLIST,n.nP.EMAIL_BLOCKLIST_DETAIL,n.nP.EMAIL_LOG,n.nP.EMAIL_LOG_DETAIL],endpoints:{emailBlocklistGetCollection:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.EMAIL_BLOCKLIST_DETAIL(e.email))}),[...a,...n.yc.EMAIL_BLOCKLIST()]}},emailBlocklistAdd:{invalidatesTags:(e,t,i)=>n.qN.EMAIL_BLOCKLIST()},emailBlocklistDelete:{invalidatesTags:(e,t,i)=>n.qN.EMAIL_BLOCKLIST_DETAIL(i.email)},emailLogGetCollection:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.EMAIL_LOG_DETAIL(e.id))}),[...a,...n.yc.EMAIL_LOG()]}},emailLogDelete:{invalidatesTags:()=>[]}}}),{useEmailBlocklistGetCollectionQuery:a,useEmailBlocklistAddMutation:l,useEmailBlocklistDeleteMutation:o,useEmailLogGetCollectionQuery:s,useEmailLogGetByIdQuery:d,useEmailLogDeleteMutation:c,useEmailLogGetHtmlQuery:f,useEmailLogGetParamsQuery:u,useEmailLogGetTextQuery:m,useEmailLogForwardByIdMutation:p,useEmailLogResendByIdMutation:g,useEmailSendTestMutation:h}=r},48250(e,t,i){"use strict";i.d(t,{A3:()=>f,CH:()=>o,FH:()=>n,Iq:()=>p,LZ:()=>c,a4:()=>m,dc:()=>l,et:()=>s,j_:()=>a,lF:()=>u,nD:()=>r});let n=i(53073).api.enhanceEndpoints({addTagTypes:["E-Mails"]}).injectEndpoints({endpoints:e=>({emailBlocklistGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/emails/blocklist",params:{page:e.page,pageSize:e.pageSize,email:e.email}}),providesTags:["E-Mails"]}),emailBlocklistAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/blocklist",method:"POST",body:e.emailAddressParameter}),invalidatesTags:["E-Mails"]}),emailBlocklistDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/blocklist",method:"DELETE",params:{email:e.email}}),invalidatesTags:["E-Mails"]}),emailLogGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/emails",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["E-Mails"]}),emailLogGetById:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}`}),providesTags:["E-Mails"]}),emailLogDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}`,method:"DELETE"}),invalidatesTags:["E-Mails"]}),emailLogGetHtml:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/html`}),providesTags:["E-Mails"]}),emailLogGetParams:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/params`}),providesTags:["E-Mails"]}),emailLogGetText:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/text`}),providesTags:["E-Mails"]}),emailLogForwardById:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/forward`,method:"POST",body:e.emailAddressParameter}),invalidatesTags:["E-Mails"]}),emailLogResendById:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/resend`,method:"POST"}),invalidatesTags:["E-Mails"]}),emailSendTest:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/test",method:"POST",body:e.sendEmailParameters}),invalidatesTags:["E-Mails"]})}),overrideExisting:!1}),{useEmailBlocklistGetCollectionQuery:r,useEmailBlocklistAddMutation:a,useEmailBlocklistDeleteMutation:l,useEmailLogGetCollectionQuery:o,useEmailLogGetByIdQuery:s,useEmailLogDeleteMutation:d,useEmailLogGetHtmlQuery:c,useEmailLogGetParamsQuery:f,useEmailLogGetTextQuery:u,useEmailLogForwardByIdMutation:m,useEmailLogResendByIdMutation:p,useEmailSendTestMutation:g}=n},87434(e,t,i){"use strict";i.d(t,{A:()=>a});var n=i(31635),r=i(62446);class a{}a=(0,n.Cg)([(0,r.injectable)()],a)},69367(e,t,i){"use strict";i.d(t,{FH:()=>n,HE:()=>a});let n=i(53073).api.enhanceEndpoints({addTagTypes:["GDPR Data Extractor"]}).injectEndpoints({endpoints:e=>({gdprExport:e.query({query:e=>({url:`/pimcore-studio/api/gdpr/export-data/${e.id}`,params:{providerKey:e.providerKey}}),providesTags:["GDPR Data Extractor"]}),gdprListProviders:e.query({query:()=>({url:"/pimcore-studio/api/gdpr/providers"}),providesTags:["GDPR Data Extractor"]}),gdprSearchData:e.query({query:e=>({url:"/pimcore-studio/api/gdpr/search",method:"POST",body:e.body,params:{provider:e.provider}}),providesTags:["GDPR Data Extractor"]})}),overrideExisting:!1}),{useGdprExportQuery:r,useGdprListProvidersQuery:a,useGdprSearchDataQuery:l}=n},89285(e,t,i){"use strict";i.d(t,{r4:()=>o,tw:()=>c});var n=i(53996),r=i(69367),a=i(35864);let{useGdprExportQuery:l,useLazyGdprExportQuery:o,useGdprListProvidersQuery:s,useGdprSearchDataQuery:d,useLazyGdprSearchDataQuery:c}=r.FH.enhanceEndpoints({addTagTypes:[n.nP.GDPR_DATA,n.nP.GDPR_DATA_DETAIL],endpoints:{gdprSearchData:{providesTags:(e,t,i)=>{let r=[];return void 0!==e&&(r=(null==e?void 0:e.items.flatMap(e=>(0,a.isNil)(e.data)||!("id"in e.data)||(0,a.isNil)(e.data.id)?[]:n.yc.GDPR_DATA_DETAIL(i.provider,e.data.id)).filter(Boolean))??[]),[...r,...n.yc.GDPR_DATA(i.provider)]}}}})},79422(e,t,i){"use strict";i.d(t,{d:()=>o});var n=i(31635),r=i(62446),a=i(10600),l=i(35864);class o{registerTopics(e){if(!(0,l.isNil)(this.globalSubscriptionId))throw Error("Cannot register new topics after global subscription has started. Topics must be registered in your module's onInit() method before the app starts.");e.forEach(e=>this.registeredTopics.add(e))}getRegisteredTopics(){return Array.from(this.registeredTopics)}registerHandler(e){let t=e.getId();this.activeHandlers.set(t,e),(0,l.isNil)(e.onRegister)||e.onRegister(),this.replayBufferedMessages(e)}unregisterHandler(e){let t=this.activeHandlers.get(e);(0,l.isNil)(null==t?void 0:t.onUnregister)||t.onUnregister(),this.activeHandlers.delete(e)}startGlobalSubscription(){if(null===this.globalSubscriptionId)try{this.globalSubscriptionId=this.backgroundProcessor.subscribeToProcessMessages({processName:"global-message-bus-process",callback:e=>{this.routeMessage(e)}})}catch(e){console.error("Failed to establish global subscription:",e)}}async routeMessage(e){let t=[];for(let i of this.activeHandlers.values())i.shouldHandle(e)&&t.push(i);if(0===t.length)return void this.bufferMessage(e);for(let i of t)try{await i.handleMessage(e)}catch(e){console.error("GlobalMessageBus: Error processing message with handler",i.getId(),e)}}bufferMessage(e){this.messageBuffer.length>=this.MAX_BUFFER_SIZE&&(console.warn("GlobalMessageBus: Message buffer full, removing oldest messages"),this.messageBuffer.splice(0,this.messageBuffer.length-this.MAX_BUFFER_SIZE+100)),this.messageBuffer.push({mercureMessage:e,timestamp:Date.now()}),this.debouncedCleanup()}async replayBufferedMessages(e){let t=[];for(let i of this.messageBuffer)e.shouldHandle(i.mercureMessage)&&t.push(i);if(t.length>0){for(let i of(t.sort((e,t)=>e.timestamp-t.timestamp),t))try{await e.handleMessage(i.mercureMessage)}catch(t){console.error("GlobalMessageBus: Error replaying message for handler",e.getId(),t)}this.messageBuffer=this.messageBuffer.filter(e=>!t.includes(e))}}cleanupExpiredMessages(){let e=Date.now();this.messageBuffer=this.messageBuffer.filter(t=>e-t.timestamp{this.cleanupExpiredMessages()},5e3)}}o=(0,n.Cg)([(0,r.injectable)(),(0,n.Qj)(0,(0,r.inject)(a.K.backgroundProcessor)),(0,n.Sn)("design:type",Function),(0,n.Sn)("design:paramtypes",["u"a});var n=i(31635),r=i(62446);class a{register(e){let{name:t,component:i}=e;this.icons.set(t,i)}get(e){return this.icons.get(e)}getIcons(){return this.icons}constructor(){this.icons=new Map}}a=(0,n.Cg)([(0,r.injectable)()],a)},71207(e,t,i){"use strict";i.d(t,{w:()=>n});let n={"data-object":{title:"open-data-object-modal.title",label:"open-data-object-modal.label",requiredMessage:"open-data-object-modal.required-message",okText:"open-data-object-modal.ok-button",cancelText:"open-data-object-modal.cancel-button"},asset:{title:"open-asset-modal.title",label:"open-asset-modal.label",requiredMessage:"open-asset-modal.required-message",okText:"open-asset-modal.ok-button",cancelText:"open-asset-modal.cancel-button"},document:{title:"open-document-modal.title",label:"open-document-modal.label",requiredMessage:"open-document-modal.required-message",okText:"open-document-modal.ok-button",cancelText:"open-document-modal.cancel-button"}}},53789(e,t,i){"use strict";i.d(t,{x:()=>l});var n=i(79606),r=i(56789),a=i(55638);let l=()=>{let{openElement:e}=(0,r.K)(),[t,{isLoading:i}]=(0,n.zq)(),l=async(i,n)=>{try{let r=await t({elementType:n,searchTerm:i}).unwrap();await e({id:r.id,type:n})}catch(e){(0,a.Ay)(new a.hD(e))}};return{openElementByPathOrId:async(e,t)=>{isNaN(Number(e))?"string"==typeof e&&await l(e,t):await l(e.toString(),t)},isLoading:i}}},87902(e,t,i){"use strict";i.d(t,{t:()=>a});var n=i(31635),r=i(62446);class a{registerItem(e,t){let i=this.items[e].findIndex(e=>e.key===t.key);-1!==i?this.items[e][i]=t:this.items[e].push(t),this.items[e].sort((e,t)=>e.priority-t.priority)}getItems(e){return this.items[e].map(e=>e.key)}constructor(){this.items={asset:[],"data-object":[],document:[]}}}a=(0,n.Cg)([(0,r.injectable)()],a)},72324(e,t,i){"use strict";i.r(t),i.d(t,{api:()=>n.api,usePerspectiveCreateMutation:()=>n.usePerspectiveCreateMutation,usePerspectiveDeleteMutation:()=>n.usePerspectiveDeleteMutation,usePerspectiveGetConfigByIdQuery:()=>n.usePerspectiveGetConfigByIdQuery,usePerspectiveGetConfigCollectionQuery:()=>n.usePerspectiveGetConfigCollectionQuery,usePerspectiveUpdateConfigByIdMutation:()=>n.usePerspectiveUpdateConfigByIdMutation,usePerspectiveWidgetCreateMutation:()=>n.usePerspectiveWidgetCreateMutation,usePerspectiveWidgetDeleteMutation:()=>n.usePerspectiveWidgetDeleteMutation,usePerspectiveWidgetGetConfigByIdQuery:()=>n.usePerspectiveWidgetGetConfigByIdQuery,usePerspectiveWidgetGetConfigCollectionQuery:()=>n.usePerspectiveWidgetGetConfigCollectionQuery,usePerspectiveWidgetGetTypeCollectionQuery:()=>n.usePerspectiveWidgetGetTypeCollectionQuery,usePerspectiveWidgetUpdateConfigByIdMutation:()=>n.usePerspectiveWidgetUpdateConfigByIdMutation});var n=i(33461);void 0!==(e=i.hmd(e)).hot&&e.hot.accept()},40271(e,t,i){"use strict";i.r(t),i.d(t,{NavPermission:()=>n.d,PerspectivesApiSlice:()=>l,TreePermission:()=>r.o,usePerspectives:()=>a.n});var n=i(85422),r=i(68153),a=i(76374),l=i(33461);void 0!==(e=i.hmd(e)).hot&&e.hot.accept()},61098(e,t){var i=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t,i,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var s,d=a(t),c=0,f=d.length;ct[e]).bind(null,s),enumerable:!(l=r(t,s))||l.enumerable});return e};t.__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),t.__exportAll=(e,t)=>{let i={};for(var r in e)n(i,r,{get:e[r],enumerable:!0});return t||n(i,Symbol.toStringTag,{value:"Module"}),i},t.__toCommonJS=e=>o.call(e,"module.exports")?e["module.exports"]:s(n({},"__esModule",{value:!0}),e),t.__toESM=(e,t,r)=>(r=null!=e?i(l(e)):{},s(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e))},71954(e,t,i){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),i(61098);var n=i(42532);Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}})})},42532(e,t,i){var n=i(99782);Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}})})},13232(e,t,i){"use strict";i.d(t,{S:()=>f});var n=i(74848),r=i(43588);i(47867);var a=i(21429),l=i(44241),o=i(78250);let s=(0,l.createStyles)(e=>{let{token:t,css:i}=e;return{modal:i`
+ `}}),A6=e=>{let{isLoading:t,isFetching:i,refetch:n,storeList:r,activeStoreId:a,handleOpenStore:l}=e,[o,s]=(0,tG.useState)([]),[d,c]=(0,tG.useState)(null),{styles:f}=A3(),{t:u}=(0,iQ.useTranslation)(),{modal:m}=ig.App.useApp(),[p]=tJ.lV.useForm(),[g]=(0,ue.t6)(),[h]=(0,ue.SA)();(0,tG.useEffect)(()=>{s(r)},[r]);let y=[{icon:(0,tq.jsx)(r9.I,{value:"edit"}),key:"rename",label:u("rename"),onClick:()=>{(0,tI.isNil)(d)||(p.setFieldsValue({name:d.name,description:d.description??""}),m.confirm({icon:null,title:u("classification-store.rename-store"),content:(0,tq.jsxs)(tJ.lV,{form:p,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.name"),name:"name",rules:[{required:!0,message:u("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await p.validateFields();if((0,tI.isNil)(d))return;let t=await h({id:d.id,classificationStoreConfigurationStoreUpdate:{name:e.name,description:""===e.description.trim()?null:e.description}});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):n()}}))}}];return(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsx)(A2,{handleStoreAdd:()=>{p.setFieldsValue({name:"",description:""}),m.confirm({icon:null,title:u("classification-store.add-store"),content:(0,tq.jsxs)(tJ.lV,{form:p,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.name"),name:"name",rules:[{required:!0,message:u("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:u("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await p.validateFields(),t=""===e.description.trim()?null:e.description,i=await g({classificationStoreConfigurationStoreCreate:{name:e.name}});if("error"in i)return void(0,iX.Ay)(new iX.hD(i.error));if(null!==t){let n=await h({id:i.data.id,classificationStoreConfigurationStoreUpdate:{name:e.name,description:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error))}n()}})},isFetching:i,refetch:n}),children:(0,tq.jsxs)(uE.U,{loading:t,padded:!0,children:[(0,tq.jsx)(ps.D,{onChange:e=>{var t;t=e.target.value,(0,a3.Po)(t)?s(r):s(r.filter(e=>e.name.toLowerCase().includes(t.toLowerCase())))},placeholder:u("search"),withoutAddon:!0}),(0,tq.jsx)(ap.s,{className:"h-full",gap:"mini",justify:i?"center":"start",vertical:!0,children:i?(0,tq.jsx)(ap.s,{align:"center",justify:"center",children:(0,tq.jsx)(sN.t,{asContainer:!0,tip:"Loading"})}):(0,tq.jsx)(tq.Fragment,{children:o.map(e=>{let t=e.id===a;return(0,tq.jsx)(pu.m,{menu:{items:y},onOpenChange:t=>{t&&c(e)},trigger:["contextMenu"],children:(0,tq.jsxs)(ap.s,{align:"center",className:[f.sidebarStoreItem,t?f.sidebarStoreItemActive:""].join(" "),gap:"mini",onClick:()=>{l(e)},children:[(0,tq.jsx)(r9.I,{className:f.sidebarStoreItemIcon,value:"classification-store"}),(0,tq.jsx)(n5.E,{className:f.sidebarStoreItemTitle,children:e.name})]})},e.id)})})})]})})};var A4=i(45725);let A5=e=>{let{open:t,storeId:i,excludedKeyIds:n,onConfirm:r,onCancel:a}=e,{t:l}=(0,iQ.useTranslation)(),[o,s]=(0,tG.useState)(""),[d,c]=(0,tG.useState)({}),{data:f,isLoading:u}=(0,A4.Wm)({storeId:i,body:{filters:{page:1,pageSize:9999}}},{skip:!t}),m=(null==f?void 0:f.items)??[];(0,tG.useEffect)(()=>{t&&(c({}),s(""))},[t]);let p=(0,tG.useMemo)(()=>{let e=new Set(n);return m.filter(t=>{if(e.has(t.id))return!1;if(""===o.trim())return!0;let i=o.trim().toLowerCase();return t.name.toLowerCase().includes(i)||(t.description??"").toLowerCase().includes(i)})},[m,n,o]),g=(0,cH.createColumnHelper)(),h=[g.accessor("id",{header:l("classification-store.columns.id"),size:60}),g.accessor("name",{header:l("classification-store.columns.name"),size:200}),g.accessor("type",{header:l("classification-store.columns.type"),size:120}),g.accessor("description",{header:l("classification-store.columns.description"),size:250,cell:e=>e.getValue()??"-"})],y=(0,tG.useMemo)(()=>p.filter(e=>d[String(e.id)]),[d,p]);return(0,tq.jsx)(ig.Modal,{okButtonProps:{disabled:0===y.length},okText:l("classification-store.add-key"),onCancel:a,onOk:()=>{y.length>0&&r(y)},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:l("classification-store.select-key"),width:700,children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ig.Input.Search,{onChange:e=>{s(e.target.value)},placeholder:l("classification-store.search-keys"),value:o}),(0,tq.jsx)(uE.U,{overflow:{x:"hidden",y:"auto"},style:{maxHeight:"calc(65vh - 80px)",minHeight:120},children:(0,tq.jsx)(ul.x,{columns:h,data:p,enableMultipleRowSelection:!0,isLoading:u,onSelectedRowsChange:c,selectedRows:d,setRowId:e=>void 0!==e.id?String(e.id):""})})]})})},A7=e=>{let{storeId:t,groupId:i,groupName:n}=e,{t:r}=(0,iQ.useTranslation)(),a=(0,aB.Vl)(),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A4.Hl)({groupId:i,body:{filters:{page:s,pageSize:c}}},{skip:void 0===i}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A4.GC)(),[b]=(0,A4.T4)(),x=(0,tG.useCallback)(e=>{a.confirm({title:r("delete"),content:r("classification-store.delete-key-relation",{keyName:e.keyName??String(e.keyId)}),onOk:async()=>{let t=await b({classificationStoreConfigurationKeyGroupRelationDelete:{keyId:e.keyId,groupId:e.groupId}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},[a,b,r]),j=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.keyId,groupId:e.groupId,sorter:e.sorter,mandatory:t}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),w=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.keyId,groupId:e.groupId,sorter:t,mandatory:e.mandatory}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),k=(0,tG.useCallback)(async e=>{if(void 0!==i)for(let t of(o(!1),await Promise.all(e.map(async e=>await v({classificationStoreConfigurationKeyGroupRelationCreate:{keyId:e.id,groupId:i,sorter:0,mandatory:!1}})))))"error"in t&&(0,iX.Ay)(new iX.hD(t.error))},[i,v]),T=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),S=(0,tG.useMemo)(()=>[T.accessor("keyId",{header:r("classification-store.columns.id"),size:60}),T.accessor("keyName",{header:r("classification-store.columns.name"),size:200,meta:{type:"input"}}),T.accessor("keyDescription",{header:r("classification-store.columns.description"),size:200,meta:{type:"input"}}),T.accessor("mandatory",{header:r("classification-store.columns.mandatory"),size:100,meta:{type:"boolean",editable:!0,config:{align:"center"}}}),T.accessor("sorter",{header:r("classification-store.columns.sorter"),size:100,meta:{type:"number",editable:!0}}),T.display({id:"actions",header:r("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{x(e.row.original)},tooltip:{title:r("delete")}})})],[r,x,T]),C=(0,tG.useMemo)(()=>h.map(e=>e.keyId),[h]),D=void 0!==i?r("classification-store.relations-title",{name:n??String(i)}):r("classification-store.select-group-hint");return(0,tq.jsxs)(pl.s,{renderToolbar:void 0!==i?(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:r("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}):void 0,renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:D}),void 0!==i&&(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{o(!0)},children:r("classification-store.add-key")})]}),children:[(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:S,data:h,isLoading:m||p,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;"mandatory"===t?j(n,i):"sorter"===t&&null!==i&&w(n,i)}})}),(0,tq.jsx)(A5,{excludedKeyIds:C,onCancel:()=>{o(!1)},onConfirm:e=>{k(e)},open:l,storeId:t})]})},A8=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),[a]=tJ.lV.useForm(),[l,o]=(0,tG.useState)({}),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A4.wt)({storeId:t,body:{filters:{page:s,pageSize:c}}}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A4.Zn)(),[b]=(0,A4.GV)(),[x]=(0,A4._o)(),j=(()=>{let e=(()=>{let e=Object.keys(l).find(e=>l[e]);if(void 0!==e)return parseInt(e,10)})();if(void 0!==e)return h.find(t=>t.id===e)})(),w=(0,tG.useRef)(j);w.current=j,(0,tG.useEffect)(()=>{a.setFieldsValue({name:(null==j?void 0:j.name)??"",description:(null==j?void 0:j.description)??""})},[null==j?void 0:j.id]);let k=(0,tG.useCallback)(e=>{let t=w.current;if(void 0===t)return;let i=a.getFieldsValue(),n=(i.name??"").trim(),r=(i.description??"").trim();"name"in e&&""===n||b({id:t.id,classificationStoreConfigurationGroupUpdate:{name:""!==n?n:t.name,description:""!==r?r:null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})},[a,b]),{handleFormChange:T}=(0,IS.T)(k,{delay:300}),S=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-group",{groupName:e.name}),onOk:async()=>{let t=await x({id:e.id});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):o({})}})},C=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),D=(0,tG.useRef)(S);D.current=S;let I=(0,tG.useMemo)(()=>[C.accessor("id",{header:i("classification-store.columns.id"),size:80}),C.accessor("name",{header:i("classification-store.columns.name"),size:220,meta:{type:"input",editable:!0}}),C.display({id:"actions",header:i("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{D.current(e.row.original)},tooltip:{title:i("delete")}})})],[i,C]);return(0,tq.jsx)(ht.n,{leftItem:{size:45,minSize:250,children:(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.groups")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-group"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await v({classificationStoreConfigurationGroupCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let t=await b({id:n.data.id,classificationStoreConfigurationGroupUpdate:{name:e.name,description:i}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-group")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:I,data:h,enableRowSelection:!0,isLoading:m||p,onSelectedRowsChange:e=>{o(e)},onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;b({id:n.id,classificationStoreConfigurationGroupUpdate:{name:e,description:n.description??null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}},selectedRows:l,setRowId:e=>void 0!==e.id?String(e.id):void 0})})})},resizeAble:!0,rightItem:{size:55,minSize:300,children:void 0===j?(0,tq.jsx)(ap.s,{align:"center",justify:"center",style:{height:"100%"},children:(0,tq.jsx)(he.R,{text:i("classification-store.select-group-hint")})}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(ap.s,{align:"center",style:{padding:"8px 16px"},children:(0,tq.jsx)(kR.Y,{title:j.name})}),children:(0,tq.jsxs)(ap.s,{style:{height:"100%"},vertical:!0,children:[(0,tq.jsx)(n6.L,{formProps:{form:a,onValuesChange:T},wrapInPanel:!1,children:(0,tq.jsxs)(ap.s,{gap:"small",style:{padding:"8px 16px"},vertical:!0,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]})}),(0,tq.jsx)(ap.s,{style:{flex:1,overflow:"hidden"},children:(0,tq.jsx)(A7,{groupId:j.id,groupName:j.name,storeId:t})})]})})},withDivider:!0,withToolbar:!0})};var A9=i(45672),Ne=i(52189);let Nt=["classification-store"],Ni=e=>{let{noPadding:t,onGetLayout:i}=e,{structure:n,setCurrentFieldDefinitionId:r,setCurrentFieldDefinitionIdPath:a,currentFieldDefinitionId:l,getLayout:o}=(0,EJ.g)();return(0,tG.useEffect)(()=>{i(o)},[o]),(0,tG.useEffect)(()=>{void 0!==n&&null===l&&(r(n.id),a([n.id]))},[n,l,r,a]),(0,tq.jsx)(Ne.x,{noPadding:t})},Nn=()=>({data:void 0,isLoading:!1,isFetching:!1,refetch:()=>void 0}),Nr=()=>[()=>void 0,{isLoading:!1}],Na=()=>null,Nl=e=>{let{open:t,keyDetail:i,onClose:n,onSaved:r}=e,{t:a}=(0,iQ.useTranslation)(),[l]=(0,ue.Q)(),o=(0,tG.useRef)(null),s=(0,tG.useCallback)(e=>{o.current=e},[]),d=async()=>{if(void 0===i||null===o.current)return;let e=o.current(),t=i.definition,n="string"==typeof(null==t?void 0:t.title)?t.title:null,a=await l({id:i.id,classificationStoreConfigurationKeyUpdate:{name:i.name,title:n,description:i.description,type:i.type,definition:e??null}});"error"in a?(0,iX.Ay)(new iX.hD(a.error)):r()},c=(()=>{if(void 0===i)return;let e={name:i.name,title:i.name,dataType:"data",fieldType:i.type,fieldtype:i.type,type:null,layout:null,region:null,width:0,height:0,collapsible:!1,collapsed:!1,bodyStyle:null,locked:!1,children:[],icon:null,labelAlign:"left",labelWidth:100,border:!1};return null!==i.definition&&void 0!==i.definition?{...e,...i.definition,fieldType:i.type,fieldtype:i.type}:e})();return(0,tq.jsx)(ig.Modal,{destroyOnClose:!0,okText:a("save"),onCancel:n,onOk:()=>{d()},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:void 0!==i?a("classification-store.edit-key-definition",{keyName:i.name}):"",width:900,children:void 0!==i&&(0,tq.jsx)(A9.PV,{area:Nt,children:(0,tq.jsx)(E8.Z6,{GeneralSettingsFormFields:Na,useDetailGeneralSettingsQuery:Nn,useDetailUpdateMutation:Nr,useItemsQuery:Nn,children:(0,tq.jsx)(EJ.U,{layout:c,children:(0,tq.jsx)(Ni,{noPadding:!0,onGetLayout:s})},i.type??"unknown")})})})},No=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),a=(0,iv.useInjection)(iv.serviceIds["DynamicTypes/FieldDefinitionRegistry"]),l=(0,tG.useMemo)(()=>a.getTypesByTags(["classificationStore"],{area:["classification-store"],path:[],fieldDefinitions:{}}).map(e=>({label:i("field-definition."+(0,tI.kebabCase)(e.id)),value:e.id})).sort((e,t)=>e.label.localeCompare(t.label)),[a,i]),[o,s]=(0,tG.useState)(void 0),[d,c]=(0,tG.useState)(!1),[f,u]=(0,tG.useState)(1),[m,p]=(0,tG.useState)(20),{data:g,isLoading:h,isFetching:y,refetch:v}=(0,A4.Wm)({storeId:t,body:{filters:{page:f,pageSize:m}}}),b=(null==g?void 0:g.items)??[],x=(null==g?void 0:g.totalItems)??0,j=void 0!==o?b.find(e=>e.id===o):void 0,[w]=(0,A4.F7)(),[k]=(0,A4.Q)(),[T]=(0,A4.U3)(),S=e=>{let t=e.definition;return"string"==typeof(null==t?void 0:t.title)?t.title:null},C=(0,tG.useMemo)(()=>b.map(e=>({...e,title:S(e)??void 0})),[b]),D=e=>{s(e.id),c(!0)},I=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-key",{keyName:e.name}),onOk:async()=>{let t=await T({id:e.id});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},M=(0,tG.useCallback)(async(e,t)=>{let i=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:""===t.trim()?null:t,description:e.description??null,type:e.type,definition:e.definition}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[k]),L=(0,tG.useCallback)(async(e,t)=>{let i=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:S(e),description:e.description??null,type:t,definition:null}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[k]),F=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),E=(0,tG.useRef)(D);E.current=D;let P=(0,tG.useRef)(I);P.current=I;let A=(0,tG.useRef)(M);A.current=M;let N=(0,tG.useRef)(L);N.current=L;let R=(0,tG.useMemo)(()=>[F.accessor("id",{header:i("classification-store.columns.id"),size:60}),F.accessor("name",{header:i("classification-store.columns.name"),size:160,meta:{type:"input",editable:!0}}),F.accessor("title",{header:i("classification-store.columns.title"),size:160,meta:{type:"input",editable:!0}}),F.accessor("type",{header:i("classification-store.columns.type"),size:180,meta:{type:"select",editable:!0,config:{options:l}}}),F.accessor("description",{header:i("classification-store.columns.description"),size:200,meta:{type:"input",editable:!0}}),F.display({id:"actions",header:i("classification-store.columns.actions"),size:90,cell:e=>(0,tq.jsxs)(ap.s,{align:"center",gap:"mini",children:[(0,tq.jsx)(lp.K,{icon:{value:"edit"},onClick:()=>{E.current(e.row.original)},tooltip:{title:i("classification-store.edit-definition")}}),(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{P.current(e.row.original)},tooltip:{title:i("delete")}})]})})],[i,F,l]);return(0,tq.jsxs)(tq.Fragment,{children:[(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[h?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:y,onClick:()=>{v()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:f,defaultPageSize:m,onChange:(e,t)=>{u(e),p(t)},showSizeChanger:!0,total:x})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.keys")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-key"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await w({classificationStoreConfigurationKeyCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let e=n.data,t=await k({id:e.id,classificationStoreConfigurationKeyUpdate:{name:e.name,title:S(e),description:i,type:e.type,definition:e.definition}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-key")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:R,data:C,isLoading:h||y,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;k({id:n.id,classificationStoreConfigurationKeyUpdate:{name:e,title:S(n),description:n.description??null,type:n.type,definition:n.definition}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}else"title"===t?A.current(n,i):"type"===t?N.current(n,i):"description"===t&&k({id:n.id,classificationStoreConfigurationKeyUpdate:{name:n.name,title:S(n),description:""===i.trim()?null:i,type:n.type,definition:n.definition}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}})})}),(0,tq.jsx)(Nl,{keyDetail:j,onClose:()=>{c(!1),s(void 0)},onSaved:()=>{c(!1),s(void 0)},open:d})]})},Ns=e=>{let{open:t,storeId:i,excludedGroupIds:n,onConfirm:r,onCancel:a}=e,{t:l}=(0,iQ.useTranslation)(),[o,s]=(0,tG.useState)(""),[d,c]=(0,tG.useState)({}),{data:f,isLoading:u}=(0,A4.wt)({storeId:i,body:{filters:{page:1,pageSize:9999}}},{skip:!t}),m=(null==f?void 0:f.items)??[];(0,tG.useEffect)(()=>{t&&(c({}),s(""))},[t]);let p=(0,tG.useMemo)(()=>{let e=new Set(n);return m.filter(t=>{if(e.has(t.id))return!1;if(""===o.trim())return!0;let i=o.trim().toLowerCase();return t.name.toLowerCase().includes(i)||(t.description??"").toLowerCase().includes(i)})},[m,n,o]),g=(0,cH.createColumnHelper)(),h=[g.accessor("id",{header:l("classification-store.columns.id"),size:60}),g.accessor("name",{header:l("classification-store.columns.name"),size:200}),g.accessor("description",{header:l("classification-store.columns.description"),size:300,cell:e=>e.getValue()??"-"})],y=(0,tG.useMemo)(()=>p.filter(e=>d[String(e.id)]),[d,p]);return(0,tq.jsx)(ig.Modal,{okButtonProps:{disabled:0===y.length},okText:l("classification-store.add-group"),onCancel:a,onOk:()=>{y.length>0&&r(y)},open:t,styles:{body:{maxHeight:"65vh",overflowY:"auto"}},title:l("classification-store.select-group"),width:600,children:(0,tq.jsxs)(ap.s,{gap:"small",vertical:!0,children:[(0,tq.jsx)(ig.Input.Search,{onChange:e=>{s(e.target.value)},placeholder:l("classification-store.search-groups"),value:o}),(0,tq.jsx)(uE.U,{overflow:{x:"hidden",y:"auto"},style:{maxHeight:"calc(65vh - 80px)",minHeight:120},children:(0,tq.jsx)(ul.x,{columns:h,data:p,enableMultipleRowSelection:!0,isLoading:u,onSelectedRowsChange:c,selectedRows:d,setRowId:e=>void 0!==e.id?String(e.id):""})})]})})},Nd=e=>{let{storeId:t,colId:i,collectionName:n}=e,{t:r}=(0,iQ.useTranslation)(),a=(0,aB.Vl)(),[l,o]=(0,tG.useState)(!1),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A4.d9)({colId:i,body:{filters:{page:s,pageSize:c}}},{skip:void 0===i}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A4.KD)(),[b]=(0,A4.hq)(),x=(0,tG.useCallback)(e=>{a.confirm({title:r("delete"),content:r("classification-store.delete-group-relation",{groupName:e.groupName??String(e.groupId)}),onOk:async()=>{let t=await b({classificationStoreConfigurationCollectionRelationDelete:{colId:e.colId,groupId:e.groupId}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}})},[a,b,r]),j=(0,tG.useCallback)(async(e,t)=>{let i=await v({classificationStoreConfigurationCollectionRelationCreate:{colId:e.colId,groupId:e.groupId,sorter:t}});"error"in i&&(0,iX.Ay)(new iX.hD(i.error))},[v]),w=(0,tG.useCallback)(async e=>{if(void 0!==i)for(let t of(o(!1),await Promise.all(e.map(async e=>await v({classificationStoreConfigurationCollectionRelationCreate:{colId:i,groupId:e.id,sorter:0}})))))"error"in t&&(0,iX.Ay)(new iX.hD(t.error))},[i,v]),k=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),T=(0,tG.useMemo)(()=>[k.accessor("groupId",{header:r("classification-store.columns.id"),size:60}),k.accessor("groupName",{header:r("classification-store.columns.name"),size:200,meta:{type:"input"}}),k.accessor("groupDescription",{header:r("classification-store.columns.description"),size:200,meta:{type:"input"}}),k.accessor("sorter",{header:r("classification-store.columns.sorter"),size:100,meta:{type:"number",editable:!0}}),k.display({id:"actions",header:r("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{x(e.row.original)},tooltip:{title:r("delete")}})})],[r,x,k]),S=(0,tG.useMemo)(()=>h.map(e=>e.groupId),[h]),C=void 0!==i?r("classification-store.collection-relations-title",{name:n??String(i)}):r("classification-store.select-collection-hint");return(0,tq.jsxs)(pl.s,{renderToolbar:void 0!==i?(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:r("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}):void 0,renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:C}),void 0!==i&&(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{o(!0)},children:r("classification-store.add-group")})]}),children:[(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:T,data:h,isLoading:m||p,onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;"sorter"===t&&null!==i&&j(n,i)}})}),(0,tq.jsx)(Ns,{excludedGroupIds:S,onCancel:()=>{o(!1)},onConfirm:e=>{w(e)},open:l,storeId:t})]})},Nc=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{modal:n}=ig.App.useApp(),[r]=tJ.lV.useForm(),[a]=tJ.lV.useForm(),[l,o]=(0,tG.useState)({}),[s,d]=(0,tG.useState)(1),[c,f]=(0,tG.useState)(20),{data:u,isLoading:m,isFetching:p,refetch:g}=(0,A4.pv)({storeId:t,body:{filters:{page:s,pageSize:c}}}),h=(null==u?void 0:u.items)??[],y=(null==u?void 0:u.totalItems)??0,[v]=(0,A4.I2)(),[b]=(0,A4.dz)(),[x]=(0,A4.$v)(),j=(()=>{let e=Object.keys(l).find(e=>l[e]);if(void 0!==e)return h.find(t=>String(t.id)===e)})(),w=(0,tG.useRef)(j);w.current=j,(0,tG.useEffect)(()=>{a.setFieldsValue({name:(null==j?void 0:j.name)??"",description:(null==j?void 0:j.description)??""})},[null==j?void 0:j.id]);let k=(0,tG.useCallback)(e=>{let t=w.current;if(void 0===t)return;let i=a.getFieldsValue(),n=(i.name??"").trim(),r=(i.description??"").trim();"name"in e&&""===n||b({id:t.id,classificationStoreConfigurationCollectionUpdate:{name:""!==n?n:t.name,description:""!==r?r:null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})},[a,b]),{handleFormChange:T}=(0,IS.T)(k,{delay:300}),S=e=>{n.confirm({title:i("delete"),content:i("classification-store.delete-collection",{collectionName:e.name}),onOk:async()=>{let t=await x({id:e.id});"error"in t?(0,iX.Ay)(new iX.hD(t.error)):o({})}})},C=(0,tG.useMemo)(()=>(0,cH.createColumnHelper)(),[]),D=(0,tG.useRef)(S);D.current=S;let I=(0,tG.useMemo)(()=>[C.accessor("id",{header:i("classification-store.columns.id"),size:80}),C.accessor("name",{header:i("classification-store.columns.name"),size:220,meta:{type:"input",editable:!0}}),C.display({id:"actions",header:i("classification-store.columns.actions"),size:60,cell:e=>(0,tq.jsx)(lp.K,{icon:{value:"trash"},onClick:()=>{D.current(e.row.original)},tooltip:{title:i("delete")}})})],[i,C]);return(0,tq.jsx)(ht.n,{leftItem:{size:45,minSize:250,children:(0,tq.jsx)(pl.s,{renderToolbar:(0,tq.jsxs)(pc.M,{theme:"secondary",children:[m?null:(0,tq.jsx)(lp.K,{icon:{value:"refresh"},loading:p,onClick:()=>{g()},tooltip:{title:i("refresh")}}),(0,tq.jsx)(po.d,{current:s,defaultPageSize:c,onChange:(e,t)=>{d(e),f(t)},showSizeChanger:!0,total:y})]}),renderTopBar:(0,tq.jsxs)(ap.s,{align:"center",justify:"space-between",style:{padding:"8px 16px"},children:[(0,tq.jsx)(kR.Y,{title:i("classification-store.tabs.collections")}),(0,tq.jsx)(m4.J,{icon:{value:"new"},onClick:()=>{r.setFieldsValue({name:"",description:""}),n.confirm({icon:null,title:i("classification-store.add-collection"),content:(0,tq.jsxs)(tJ.lV,{form:r,layout:"vertical",children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0,message:i("form.validation.required")}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]}),onOk:async()=>{let e=await r.validateFields(),i=""===e.description.trim()?null:e.description,n=await v({classificationStoreConfigurationCollectionCreate:{name:e.name,storeId:t}});if("error"in n)return void(0,iX.Ay)(new iX.hD(n.error));if(null!==i){let t=await b({id:n.data.id,classificationStoreConfigurationCollectionUpdate:{name:e.name,description:i}});"error"in t&&(0,iX.Ay)(new iX.hD(t.error))}}})},children:i("classification-store.add-collection")})]}),children:(0,tq.jsx)(ap.s,{style:{height:"100%",padding:"0 16px"},vertical:!0,children:(0,tq.jsx)(ul.x,{columns:I,data:h,enableRowSelection:!0,isLoading:m||p,onSelectedRowsChange:e=>{o(e)},onUpdateCellData:e=>{let{columnId:t,value:i,rowData:n}=e;if("name"===t){let e=i.trim();if(""===e)return;b({id:n.id,classificationStoreConfigurationCollectionUpdate:{name:e,description:n.description??null}}).then(e=>{"error"in e&&(0,iX.Ay)(new iX.hD(e.error))})}},selectedRows:l,setRowId:e=>void 0!==e.id?String(e.id):void 0})})})},resizeAble:!0,rightItem:{size:55,minSize:300,children:void 0===j?(0,tq.jsx)(ap.s,{align:"center",justify:"center",style:{height:"100%"},children:(0,tq.jsx)(he.R,{text:i("classification-store.select-collection-hint")})}):(0,tq.jsx)(pl.s,{renderTopBar:(0,tq.jsx)(ap.s,{align:"center",style:{padding:"8px 16px"},children:(0,tq.jsx)(kR.Y,{title:j.name})}),children:(0,tq.jsxs)(ap.s,{style:{height:"100%"},vertical:!0,children:[(0,tq.jsx)(n6.L,{formProps:{form:a,onValuesChange:T},wrapInPanel:!1,children:(0,tq.jsxs)(ap.s,{gap:"small",style:{padding:"8px 16px"},vertical:!0,children:[(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.name"),name:"name",rules:[{required:!0}],children:(0,tq.jsx)(aR.p,{})}),(0,tq.jsx)(tJ.lV.Item,{label:i("classification-store.columns.description"),name:"description",children:(0,tq.jsx)(aR.p,{})})]})}),(0,tq.jsx)(ap.s,{style:{flex:1,overflow:"hidden"},children:(0,tq.jsx)(Nd,{colId:j.id,collectionName:j.name,storeId:t})})]})})},withDivider:!0,withToolbar:!0})},Nf=e=>{let{storeId:t}=e,{t:i}=(0,iQ.useTranslation)(),{styles:n}=A3(),r=[{key:"keys",icon:(0,tq.jsx)(r9.I,{value:"group-by-keys"}),label:i("classification-store.tabs.keys"),children:(0,tq.jsx)(No,{storeId:t})},{key:"groups",icon:(0,tq.jsx)(r9.I,{value:"group"}),label:i("classification-store.tabs.groups"),children:(0,tq.jsx)(A8,{storeId:t})},{key:"collections",icon:(0,tq.jsx)(r9.I,{value:"collection"}),label:i("classification-store.tabs.collections"),children:(0,tq.jsx)(Nc,{storeId:t})}];return(0,tq.jsx)(ge.t,{className:n.storeEditorTabsContainer,defaultActiveKey:"keys",items:r,noTabBarMargin:!0})},Nu=()=>{let e=(0,yc.J)(pw.F.ClassificationStore),{data:t,isLoading:i,isFetching:n,refetch:r}=(0,ue.WP)(void 0,{skip:!e}),[a,l]=(0,tG.useState)([]),[o,s]=(0,tG.useState)(void 0),{styles:d}=A3(),c=t??[],f=(0,tI.isUndefined)(o)?void 0:Number(o),u=(0,tG.useMemo)(()=>{let e=new Set(c.map(e=>e.id));return a.filter(t=>e.has(t.id)).map(e=>({key:String(e.id),icon:(0,tq.jsx)(r9.I,{value:"classification-store"}),label:e.name,children:(0,tq.jsx)(Nf,{storeId:e.id})}))},[c,a]);return(0,tq.jsx)(Lb.v,{leftItem:{children:(0,tq.jsx)(A6,{activeStoreId:f,handleOpenStore:e=>{a.some(t=>t.id===e.id)||l([...a,e]),s(String(e.id))},isFetching:n,isLoading:i,refetch:r,storeList:c})},rightItem:{children:(0,tI.isUndefined)(o)||0===u.length?(0,tq.jsx)(uE.U,{none:!0}):(0,tq.jsx)(pl.s,{children:(0,tq.jsx)(ge.t,{activeKey:o,className:d.tabs,hasStickyHeader:!0,items:u,onChange:e=>{s(e)},onClose:e=>{(e=>{let t=a.findIndex(t=>t.id===e),i=a.filter(t=>t.id!==e);if(String(e)===o){let e=a[t-1],i=a[t+1];s((0,tI.isUndefined)(e)?(0,tI.isUndefined)(i)?void 0:String(i.id):String(e.id))}l(i)})(Number(e))},rootClassName:d.tabsContainer})})}})};ts.s.registerModule({onInit:()=>{tc.kL.get(td.K.mainNavRegistry).registerMainNavItem({path:"DataManagement/DataModelDefinitions/ClassificationStore",label:"navigation.classification-store",className:"classification-store",order:400,permission:pw.F.ClassificationStore,perspectivePermission:pk.d.ClassificationStore,widgetConfig:{name:"classification-store",id:"classification-store-config",component:"classification-store-config",config:{translationKey:"widget.classification-store-config",icon:{type:"name",value:"classification-store"}}}}),tc.kL.get(td.K.widgetManager).registerWidget({name:"classification-store-config",component:Nu})}})},42811(e,t,i){"use strict";i.d(t,{z:()=>n.z});var n=i(4839)},12701(e,t,i){"use strict";i.d(t,{FH:()=>a,Gy:()=>m,HZ:()=>c,Ji:()=>f,Tg:()=>y,bL:()=>l,d5:()=>d,eZ:()=>o,p0:()=>p,pM:()=>g,rn:()=>r,td:()=>h,vi:()=>s,xX:()=>u});var n=i(53073);let r=["Asset Thumbnails"],a=n.api.enhanceEndpoints({addTagTypes:r}).injectEndpoints({endpoints:e=>({thumbnailImageGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/image"}),providesTags:["Asset Thumbnails"]}),thumbnailImageCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/thumbnails/image/config",method:"POST",body:e.createThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageGetByName:e.query({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`}),providesTags:["Asset Thumbnails"]}),thumbnailImageUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`,method:"PUT",body:e.updateThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/image/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Asset Thumbnails"]}),thumbnailImageGetTree:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/image/tree"}),providesTags:["Asset Thumbnails"]}),thumbnailVideoGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/video"}),providesTags:["Asset Thumbnails"]}),thumbnailVideoCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/thumbnails/video/config",method:"POST",body:e.createThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoGetByName:e.query({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`}),providesTags:["Asset Thumbnails"]}),thumbnailVideoUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`,method:"PUT",body:e.updateThumbnailConfig}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/thumbnails/video/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Asset Thumbnails"]}),thumbnailVideoGetTree:e.query({query:()=>({url:"/pimcore-studio/api/thumbnails/video/tree"}),providesTags:["Asset Thumbnails"]})}),overrideExisting:!1}),{useThumbnailImageGetCollectionQuery:l,useThumbnailImageCreateMutation:o,useThumbnailImageGetByNameQuery:s,useThumbnailImageUpdateMutation:d,useThumbnailImageDeleteMutation:c,useThumbnailImageGetTreeQuery:f,useThumbnailVideoGetCollectionQuery:u,useThumbnailVideoCreateMutation:m,useThumbnailVideoGetByNameQuery:p,useThumbnailVideoUpdateMutation:g,useThumbnailVideoDeleteMutation:h,useThumbnailVideoGetTreeQuery:y}=a},41045(e,t,i){"use strict";i.d(t,{c:()=>p});var n=i(41630),r=i(73362),a=i(79472),l=i(81674),o=i(73488),s=i(20120),d=i(83015),c=i(21724),f=i(92634),u=i(35864),m=i(55638);let p=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,u.isNil)(i)&&void 0!==d.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,s.pg)(e))}async fetchAndStoreAssetDraft(e){let{data:t}=await n.M_.dispatch(r.api.endpoints.assetGetById.initiate({id:e}));if(!(0,u.isNil)(t)){let i={...t,id:e,modified:!1,properties:[],customMetadata:[],customSettings:[],schedules:[],textData:"",imageSettings:{},changes:{},modifiedCells:{},...f.nd};n.M_.dispatch((0,c.Y$)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{data:i,isError:s,error:d}=await n.M_.dispatch(r.api.endpoints.assetGetById.initiate({id:e}));if(s&&!t&&(0,m.Ay)(new m.hD(d)),(0,u.isNil)(i)||!(0,a.o)(i.permissions,"view"))return;await this.fetchAndStoreAssetDraft(e);let c=(0,o.g)("asset",e);return{name:null==i?void 0:i.filename,id:c,component:"asset-editor",config:{id:e,elementType:"asset",icon:(0,l.Ip)(i,{value:"widget",type:"name"}),iconColorGroup:"element"}}}async openAsset(e){let{id:t}=e,i=(0,o.g)("asset",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,u.isNil)(r)||n.M_.dispatch((0,s.OS)(r))}}},34108(e,t,i){"use strict";i.d(t,{W:()=>o});var n=i(31635),r=i(62446),a=i(83379),l=i(10600);class o extends a.T{getTopics(){return this.messageBus.getRegisteredTopics()}sendMessage(e){this.messageBus.routeMessage(e)}constructor(e){super(),this.messageBus=e,this.name="global-message-bus-process",this.description="Global process for message bus handling operations"}}o=(0,n.Cg)([(0,r.injectable)(),(0,n.Qj)(0,(0,r.inject)(l.K.globalMessageBus)),(0,n.Sn)("design:type",Function),(0,n.Sn)("design:paramtypes",["u"g});var n=i(41630),r=i(91434),a=i(53996),l=i(79472),o=i(81674),s=i(73488),d=i(20120),c=i(83015),f=i(54100),u=i(92634),m=i(35864),p=i(55638);let g=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,m.isNil)(i)&&void 0!==c.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,d.pg)(e))}async fetchAndStoreDataObjectDraft(e){let{data:t}=await n.M_.dispatch(r.FH.endpoints.dataObjectGetById.initiate({id:e}));if(!(0,m.isNil)(t)){let i={draftData:null,...t,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},modifiedObjectData:{},...u.nd};n.M_.dispatch((0,f.pw)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.M_.dispatch(r.FH.util.invalidateTags(a.qN.DATA_OBJECT_DETAIL_ID(e)));let{data:i,isError:d,error:c}=await n.M_.dispatch(r.FH.endpoints.dataObjectGetById.initiate({id:e}));if(d&&!t&&(0,p.Ay)(new p.hD(c)),(0,m.isNil)(i)||!(0,l.o)(i.permissions,"view"))return;await this.fetchAndStoreDataObjectDraft(e);let f=(0,o.Ip)(i,{value:"widget",type:"name"}),u=(0,s.g)("data-object",e);return{name:null==i?void 0:i.key,id:u,component:"data-object-editor",config:{id:e,elementType:"data-object",icon:f,iconColorGroup:"element"}}}async openDataObject(e){let{id:t}=e,i=(0,s.g)("data-object",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,m.isNil)(r)||n.M_.dispatch((0,d.OS)(r))}}},18453(e,t,i){"use strict";i.d(t,{J:()=>g});var n=i(41630),r=i(46766),a=i(53996),l=i(79472),o=i(81674),s=i(73488),d=i(20120),c=i(83015),f=i(29376),u=i(92634),m=i(35864),p=i(55638);let g=new class{isWidgetOpen(e){var t;let i=null==(t=n.M_.getState()["widget-manager"])?void 0:t.innerModel;return!(0,m.isNil)(i)&&void 0!==c.Model.fromJson(i).getNodeById(e)}switchToWidget(e){n.M_.dispatch((0,d.pg)(e))}async fetchAndStoreDocumentDraft(e){let{data:t}=await n.M_.dispatch(r.FH.endpoints.documentGetById.initiate({id:e}));if(!(0,m.isNil)(t)){let i={...t,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},...u.nd};n.M_.dispatch((0,f.FP)(i))}}async getWidgetConfig(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.M_.dispatch(r.FH.util.invalidateTags(a.qN.DOCUMENT_DETAIL_ID(e)));let{data:i,isError:d,error:c}=await n.M_.dispatch(r.FH.endpoints.documentGetById.initiate({id:e}));if(d&&!t&&(0,p.Ay)(new p.hD(c)),(0,m.isNil)(i)||!(0,l.o)(i.permissions,"view"))return;await this.fetchAndStoreDocumentDraft(e);let f=(0,o.Ip)(i,{value:"widget",type:"name"}),u=(0,s.g)("document",e);return{name:null==i?void 0:i.key,id:u,component:"document-editor",config:{id:e,elementType:"document",icon:f,iconColorGroup:"element"}}}async openDocument(e){let{id:t}=e,i=(0,s.g)("document",t);if(this.isWidgetOpen(i))return void this.switchToWidget(i);let r=await this.getWidgetConfig(t);(0,m.isNil)(r)||n.M_.dispatch((0,d.OS)(r))}}},93534(e,t,i){"use strict";i.d(t,{F:()=>l,Q:()=>o});var n=i(53996);let r=i(53073).api.enhanceEndpoints({addTagTypes:["Dependencies"]}).injectEndpoints({endpoints:e=>({dependencyGetCollectionByElementType:e.query({query:e=>({url:`/pimcore-studio/api/dependencies/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,dependencyMode:e.dependencyMode}}),providesTags:["Dependencies"]})}),overrideExisting:!1}),{useDependencyGetCollectionByElementTypeQuery:a}=r,l=r.enhanceEndpoints({addTagTypes:[n.nP.ASSET_DETAIL,n.nP.DATA_OBJECT_DETAIL,n.nP.DEPENDENCIES],endpoints:{dependencyGetCollectionByElementType:{providesTags:(e,t,i)=>n.yc.ELEMENT_DEPENDENCIES(i.elementType,i.id).filter(e=>void 0!==e)}}}),{useDependencyGetCollectionByElementTypeQuery:o}=l},42796(e,t,i){"use strict";i.d(t,{i6:()=>p,PB:()=>f,FH:()=>c,tb:()=>g,Jj:()=>m,Ts:()=>u});var n=i(53996);let r=i(53073).api.enhanceEndpoints({addTagTypes:["Schedule"]}).injectEndpoints({endpoints:e=>({scheduleDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.id}`,method:"DELETE"}),invalidatesTags:["Schedule"]}),scheduleGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`}),providesTags:["Schedule"]}),scheduleUpdateForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Schedule"]}),scheduleCreateForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/schedules/${e.elementType}/${e.id}`,method:"POST"}),invalidatesTags:["Schedule"]}),scheduleListActionsForElementType:e.query({query:e=>({url:`/pimcore-studio/api/schedules/actions/${e.elementType}`}),providesTags:["Schedule"]})}),overrideExisting:!1}),{useScheduleDeleteByIdMutation:a,useScheduleGetCollectionForElementByTypeAndIdQuery:l,useScheduleUpdateForElementByTypeAndIdMutation:o,useScheduleCreateForElementByTypeAndIdMutation:s,useScheduleListActionsForElementTypeQuery:d}=r,c=r.enhanceEndpoints({addTagTypes:[n.nP.ASSET_DETAIL,n.nP.DATA_OBJECT_DETAIL],endpoints:{scheduleGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.SCHEDULE_DETAIL(e.id))}),[...a,...n.yc.ELEMENT_SCHEDULES(i.elementType,i.id)]}},scheduleUpdateForElementByTypeAndId:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_SCHEDULES(i.elementType,i.id)},scheduleCreateForElementByTypeAndId:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_SCHEDULES(i.elementType,i.id)},scheduleDeleteById:{invalidatesTags:(e,t,i)=>n.qN.SCHEDULE_DETAIL(i.id)}}}),{useScheduleDeleteByIdMutation:f,useScheduleGetCollectionForElementByTypeAndIdQuery:u,useScheduleUpdateForElementByTypeAndIdMutation:m,useScheduleCreateForElementByTypeAndIdMutation:p,useScheduleListActionsForElementTypeQuery:g}=c},26777(e,t,i){"use strict";i.d(t,{FH:()=>r,e1:()=>c,l0:()=>h});var n=i(53996);let r=i(48250).FH.enhanceEndpoints({addTagTypes:[n.nP.EMAIL_BLOCKLIST,n.nP.EMAIL_BLOCKLIST_DETAIL,n.nP.EMAIL_LOG,n.nP.EMAIL_LOG_DETAIL],endpoints:{emailBlocklistGetCollection:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.EMAIL_BLOCKLIST_DETAIL(e.email))}),[...a,...n.yc.EMAIL_BLOCKLIST()]}},emailBlocklistAdd:{invalidatesTags:(e,t,i)=>n.qN.EMAIL_BLOCKLIST()},emailBlocklistDelete:{invalidatesTags:(e,t,i)=>n.qN.EMAIL_BLOCKLIST_DETAIL(i.email)},emailLogGetCollection:{providesTags:(e,t,i)=>{var r;let a=[];return null==e||null==(r=e.items)||r.forEach(e=>{a.push(...n.yc.EMAIL_LOG_DETAIL(e.id))}),[...a,...n.yc.EMAIL_LOG()]}},emailLogDelete:{invalidatesTags:()=>[]}}}),{useEmailBlocklistGetCollectionQuery:a,useEmailBlocklistAddMutation:l,useEmailBlocklistDeleteMutation:o,useEmailLogGetCollectionQuery:s,useEmailLogGetByIdQuery:d,useEmailLogDeleteMutation:c,useEmailLogGetHtmlQuery:f,useEmailLogGetParamsQuery:u,useEmailLogGetTextQuery:m,useEmailLogForwardByIdMutation:p,useEmailLogResendByIdMutation:g,useEmailSendTestMutation:h}=r},48250(e,t,i){"use strict";i.d(t,{A3:()=>f,CH:()=>o,FH:()=>n,Iq:()=>p,LZ:()=>c,a4:()=>m,dc:()=>l,et:()=>s,j_:()=>a,lF:()=>u,nD:()=>r});let n=i(53073).api.enhanceEndpoints({addTagTypes:["E-Mails"]}).injectEndpoints({endpoints:e=>({emailBlocklistGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/emails/blocklist",params:{page:e.page,pageSize:e.pageSize,email:e.email}}),providesTags:["E-Mails"]}),emailBlocklistAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/blocklist",method:"POST",body:e.emailAddressParameter}),invalidatesTags:["E-Mails"]}),emailBlocklistDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/blocklist",method:"DELETE",params:{email:e.email}}),invalidatesTags:["E-Mails"]}),emailLogGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/emails",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["E-Mails"]}),emailLogGetById:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}`}),providesTags:["E-Mails"]}),emailLogDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}`,method:"DELETE"}),invalidatesTags:["E-Mails"]}),emailLogGetHtml:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/html`}),providesTags:["E-Mails"]}),emailLogGetParams:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/params`}),providesTags:["E-Mails"]}),emailLogGetText:e.query({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/text`}),providesTags:["E-Mails"]}),emailLogForwardById:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/forward`,method:"POST",body:e.emailAddressParameter}),invalidatesTags:["E-Mails"]}),emailLogResendById:e.mutation({query:e=>({url:`/pimcore-studio/api/emails/${e.id}/resend`,method:"POST"}),invalidatesTags:["E-Mails"]}),emailSendTest:e.mutation({query:e=>({url:"/pimcore-studio/api/emails/test",method:"POST",body:e.sendEmailParameters}),invalidatesTags:["E-Mails"]})}),overrideExisting:!1}),{useEmailBlocklistGetCollectionQuery:r,useEmailBlocklistAddMutation:a,useEmailBlocklistDeleteMutation:l,useEmailLogGetCollectionQuery:o,useEmailLogGetByIdQuery:s,useEmailLogDeleteMutation:d,useEmailLogGetHtmlQuery:c,useEmailLogGetParamsQuery:f,useEmailLogGetTextQuery:u,useEmailLogForwardByIdMutation:m,useEmailLogResendByIdMutation:p,useEmailSendTestMutation:g}=n},87434(e,t,i){"use strict";i.d(t,{A:()=>a});var n=i(31635),r=i(62446);class a{}a=(0,n.Cg)([(0,r.injectable)()],a)},69367(e,t,i){"use strict";i.d(t,{FH:()=>n,HE:()=>a});let n=i(53073).api.enhanceEndpoints({addTagTypes:["GDPR Data Extractor"]}).injectEndpoints({endpoints:e=>({gdprExport:e.query({query:e=>({url:`/pimcore-studio/api/gdpr/export-data/${e.id}`,params:{providerKey:e.providerKey}}),providesTags:["GDPR Data Extractor"]}),gdprListProviders:e.query({query:()=>({url:"/pimcore-studio/api/gdpr/providers"}),providesTags:["GDPR Data Extractor"]}),gdprSearchData:e.query({query:e=>({url:"/pimcore-studio/api/gdpr/search",method:"POST",body:e.body,params:{provider:e.provider}}),providesTags:["GDPR Data Extractor"]})}),overrideExisting:!1}),{useGdprExportQuery:r,useGdprListProvidersQuery:a,useGdprSearchDataQuery:l}=n},89285(e,t,i){"use strict";i.d(t,{r4:()=>o,tw:()=>c});var n=i(53996),r=i(69367),a=i(35864);let{useGdprExportQuery:l,useLazyGdprExportQuery:o,useGdprListProvidersQuery:s,useGdprSearchDataQuery:d,useLazyGdprSearchDataQuery:c}=r.FH.enhanceEndpoints({addTagTypes:[n.nP.GDPR_DATA,n.nP.GDPR_DATA_DETAIL],endpoints:{gdprSearchData:{providesTags:(e,t,i)=>{let r=[];return void 0!==e&&(r=(null==e?void 0:e.items.flatMap(e=>(0,a.isNil)(e.data)||!("id"in e.data)||(0,a.isNil)(e.data.id)?[]:n.yc.GDPR_DATA_DETAIL(i.provider,e.data.id)).filter(Boolean))??[]),[...r,...n.yc.GDPR_DATA(i.provider)]}}}})},79422(e,t,i){"use strict";i.d(t,{d:()=>o});var n=i(31635),r=i(62446),a=i(10600),l=i(35864);class o{registerTopics(e){if(!(0,l.isNil)(this.globalSubscriptionId))throw Error("Cannot register new topics after global subscription has started. Topics must be registered in your module's onInit() method before the app starts.");e.forEach(e=>this.registeredTopics.add(e))}getRegisteredTopics(){return Array.from(this.registeredTopics)}registerHandler(e){let t=e.getId();this.activeHandlers.set(t,e),(0,l.isNil)(e.onRegister)||e.onRegister(),this.replayBufferedMessages(e)}unregisterHandler(e){let t=this.activeHandlers.get(e);(0,l.isNil)(null==t?void 0:t.onUnregister)||t.onUnregister(),this.activeHandlers.delete(e)}startGlobalSubscription(){if(null===this.globalSubscriptionId)try{this.globalSubscriptionId=this.backgroundProcessor.subscribeToProcessMessages({processName:"global-message-bus-process",callback:e=>{this.routeMessage(e)}})}catch(e){console.error("Failed to establish global subscription:",e)}}async routeMessage(e){let t=[];for(let i of this.activeHandlers.values())i.shouldHandle(e)&&t.push(i);if(0===t.length)return void this.bufferMessage(e);for(let i of t)try{await i.handleMessage(e)}catch(e){console.error("GlobalMessageBus: Error processing message with handler",i.getId(),e)}}bufferMessage(e){this.messageBuffer.length>=this.MAX_BUFFER_SIZE&&(console.warn("GlobalMessageBus: Message buffer full, removing oldest messages"),this.messageBuffer.splice(0,this.messageBuffer.length-this.MAX_BUFFER_SIZE+100)),this.messageBuffer.push({mercureMessage:e,timestamp:Date.now()}),this.debouncedCleanup()}async replayBufferedMessages(e){let t=[];for(let i of this.messageBuffer)e.shouldHandle(i.mercureMessage)&&t.push(i);if(t.length>0){for(let i of(t.sort((e,t)=>e.timestamp-t.timestamp),t))try{await e.handleMessage(i.mercureMessage)}catch(t){console.error("GlobalMessageBus: Error replaying message for handler",e.getId(),t)}this.messageBuffer=this.messageBuffer.filter(e=>!t.includes(e))}}cleanupExpiredMessages(){let e=Date.now();this.messageBuffer=this.messageBuffer.filter(t=>e-t.timestamp{this.cleanupExpiredMessages()},5e3)}}o=(0,n.Cg)([(0,r.injectable)(),(0,n.Qj)(0,(0,r.inject)(a.K.backgroundProcessor)),(0,n.Sn)("design:type",Function),(0,n.Sn)("design:paramtypes",["u"a});var n=i(31635),r=i(62446);class a{register(e){let{name:t,component:i}=e;this.icons.set(t,i)}get(e){return this.icons.get(e)}getIcons(){return this.icons}constructor(){this.icons=new Map}}a=(0,n.Cg)([(0,r.injectable)()],a)},71207(e,t,i){"use strict";i.d(t,{w:()=>n});let n={"data-object":{title:"open-data-object-modal.title",label:"open-data-object-modal.label",requiredMessage:"open-data-object-modal.required-message",okText:"open-data-object-modal.ok-button",cancelText:"open-data-object-modal.cancel-button"},asset:{title:"open-asset-modal.title",label:"open-asset-modal.label",requiredMessage:"open-asset-modal.required-message",okText:"open-asset-modal.ok-button",cancelText:"open-asset-modal.cancel-button"},document:{title:"open-document-modal.title",label:"open-document-modal.label",requiredMessage:"open-document-modal.required-message",okText:"open-document-modal.ok-button",cancelText:"open-document-modal.cancel-button"}}},53789(e,t,i){"use strict";i.d(t,{x:()=>l});var n=i(79606),r=i(56789),a=i(55638);let l=()=>{let{openElement:e}=(0,r.K)(),[t,{isLoading:i}]=(0,n.zq)(),l=async(i,n)=>{try{let r=await t({elementType:n,searchTerm:i}).unwrap();await e({id:r.id,type:n})}catch(e){(0,a.Ay)(new a.hD(e))}};return{openElementByPathOrId:async(e,t)=>{isNaN(Number(e))?"string"==typeof e&&await l(e,t):await l(e.toString(),t)},isLoading:i}}},87902(e,t,i){"use strict";i.d(t,{t:()=>a});var n=i(31635),r=i(62446);class a{registerItem(e,t){let i=this.items[e].findIndex(e=>e.key===t.key);-1!==i?this.items[e][i]=t:this.items[e].push(t),this.items[e].sort((e,t)=>e.priority-t.priority)}getItems(e){return this.items[e].map(e=>e.key)}constructor(){this.items={asset:[],"data-object":[],document:[]}}}a=(0,n.Cg)([(0,r.injectable)()],a)},72324(e,t,i){"use strict";i.r(t),i.d(t,{api:()=>n.api,usePerspectiveCreateMutation:()=>n.usePerspectiveCreateMutation,usePerspectiveDeleteMutation:()=>n.usePerspectiveDeleteMutation,usePerspectiveGetConfigByIdQuery:()=>n.usePerspectiveGetConfigByIdQuery,usePerspectiveGetConfigCollectionQuery:()=>n.usePerspectiveGetConfigCollectionQuery,usePerspectiveUpdateConfigByIdMutation:()=>n.usePerspectiveUpdateConfigByIdMutation,usePerspectiveWidgetCreateMutation:()=>n.usePerspectiveWidgetCreateMutation,usePerspectiveWidgetDeleteMutation:()=>n.usePerspectiveWidgetDeleteMutation,usePerspectiveWidgetGetConfigByIdQuery:()=>n.usePerspectiveWidgetGetConfigByIdQuery,usePerspectiveWidgetGetConfigCollectionQuery:()=>n.usePerspectiveWidgetGetConfigCollectionQuery,usePerspectiveWidgetGetTypeCollectionQuery:()=>n.usePerspectiveWidgetGetTypeCollectionQuery,usePerspectiveWidgetUpdateConfigByIdMutation:()=>n.usePerspectiveWidgetUpdateConfigByIdMutation});var n=i(33461);void 0!==(e=i.hmd(e)).hot&&e.hot.accept()},40271(e,t,i){"use strict";i.r(t),i.d(t,{NavPermission:()=>n.d,PerspectivesApiSlice:()=>l,TreePermission:()=>r.o,usePerspectives:()=>a.n});var n=i(85422),r=i(68153),a=i(76374),l=i(33461);void 0!==(e=i.hmd(e)).hot&&e.hot.accept()},61098(e,t){var i=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t,i,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var s,d=a(t),c=0,f=d.length;ct[e]).bind(null,s),enumerable:!(l=r(t,s))||l.enumerable});return e};t.__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),t.__exportAll=(e,t)=>{let i={};for(var r in e)n(i,r,{get:e[r],enumerable:!0});return t||n(i,Symbol.toStringTag,{value:"Module"}),i},t.__toCommonJS=e=>o.call(e,"module.exports")?e["module.exports"]:s(n({},"__esModule",{value:!0}),e),t.__toESM=(e,t,r)=>(r=null!=e?i(l(e)):{},s(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e))},71954(e,t,i){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),i(61098);var n=i(42532);Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}})})},42532(e,t,i){var n=i(99782);Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}})})},13232(e,t,i){"use strict";i.d(t,{S:()=>f});var n=i(74848),r=i(43588);i(47867);var a=i(21429),l=i(44241),o=i(78250);let s=(0,l.createStyles)(e=>{let{token:t,css:i}=e;return{modal:i`
.ant-modal-content {
height: 281px;
border-radius: ${t.borderRadiusSM} !important;
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2104.fed84d91.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2117.da809f8e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2117.da809f8e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2121.8117f390.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2121.8117f390.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2162.e42c8ad6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2162.e42c8ad6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2168.3b00277e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2168.3b00277e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2179.7408679f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2179.7408679f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2188.72e65c95.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2188.72e65c95.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2189.e296ffec.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2189.e296ffec.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2202.bd928b8b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2202.bd928b8b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2204.875d7d36.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2204.875d7d36.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2237.e23d4ce3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2237.e23d4ce3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2267.ad4d61d8.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2267.ad4d61d8.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2272.b29c0e6c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2272.b29c0e6c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2287.6a200c82.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2287.6a200c82.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2290.68fd6bdf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2290.68fd6bdf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/235.97e84a52.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/235.97e84a52.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2373.11c5538c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2373.11c5538c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2380.d6bc17ef.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2380.d6bc17ef.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2399.305db162.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2399.305db162.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2410.4b5baf39.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2410.4b5baf39.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2427.2406cc45.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2427.2406cc45.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/243.098f10af.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/243.098f10af.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2463.da2cfb76.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2463.da2cfb76.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2464.8deaa84f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2464.8deaa84f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2472.f40725db.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2472.f40725db.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2492.cc8cd85c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2492.cc8cd85c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/25.36d6a68b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/25.36d6a68b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2503.1efd0e77.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2503.1efd0e77.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/254.7abe0c11.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/254.7abe0c11.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2545.dcb1e512.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2545.dcb1e512.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2597.969d51fc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2597.969d51fc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/261.0e13114e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/261.0e13114e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2619.543b4f03.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2619.543b4f03.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2638.d949ec28.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2638.d949ec28.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2709.809fe258.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2709.809fe258.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2739.84cc2ba2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2739.84cc2ba2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2775.0d98465a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2775.0d98465a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2793.a25ad8de.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2793.a25ad8de.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/281.d912a74e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/281.d912a74e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2841.e1a4734b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2841.e1a4734b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2843.e1d9c7bc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2843.e1d9c7bc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2845.d2c82bf6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2845.d2c82bf6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2893.99328fa1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2893.99328fa1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/2980.d885aa98.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/2980.d885aa98.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3.470a371d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3.470a371d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3009.be7deeee.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3009.be7deeee.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3055.b0f87225.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3055.b0f87225.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3062.323c4508.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3062.323c4508.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3066.31b992e1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3066.31b992e1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3068.7b747a5f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3068.7b747a5f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3125.ce787981.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3125.ce787981.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3144.edcf7515.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3144.edcf7515.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3166.32d06e35.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3166.32d06e35.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3197.ebf93fd4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3197.ebf93fd4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3209.6722a080.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3209.6722a080.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3229.97f4b7e5.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3229.97f4b7e5.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3240.f86bdd91.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3240.f86bdd91.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3330.c830e580.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3330.c830e580.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/334.67e5210f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/334.67e5210f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3379.f0e413e5.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3379.f0e413e5.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3392.42b07d09.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3392.42b07d09.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3396.4cc8f904.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3396.4cc8f904.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3406.86351b7b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3406.86351b7b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/35.d81ad3e5.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/35.d81ad3e5.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3528.60fd342c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3528.60fd342c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3548.133939a2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3548.133939a2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3584.4ad9a196.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3584.4ad9a196.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/365.e655295f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/365.e655295f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3653.7c1ffecd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3653.7c1ffecd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3657.cf916f7e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3657.cf916f7e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3686.6b54036a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3686.6b54036a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3748.7adfb9d1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3748.7adfb9d1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3750.921e74ed.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3750.921e74ed.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3756.7a4c5e02.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3756.7a4c5e02.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/380.0cdf7b27.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/380.0cdf7b27.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3836.6a4b9fd9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3836.6a4b9fd9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3838.4b01fffb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3838.4b01fffb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3839.800430ba.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3839.800430ba.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3846.e0ec9537.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3846.e0ec9537.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/385.d9b4f6a1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/385.d9b4f6a1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3902.5873a27f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3902.5873a27f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3935.0990f5be.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3935.0990f5be.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/3941.9ceed713.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/3941.9ceed713.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4028.d910fe41.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4028.d910fe41.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4034.ebc0a070.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4034.ebc0a070.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4062.57e047db.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4062.57e047db.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4083.82e017ef.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4083.82e017ef.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4084.a80198a1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4084.a80198a1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4120.afd6653a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4120.afd6653a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4154.2617dd8b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4154.2617dd8b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4160.1311e5ef.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4160.1311e5ef.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4195.4fb2f2ba.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4195.4fb2f2ba.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4225.61de23fc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4225.61de23fc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4241.f5777d74.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4241.f5777d74.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4319.ca014781.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4319.ca014781.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4329.4e8ef4cc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4329.4e8ef4cc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4346.867849d4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4346.867849d4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4426.20bcaf42.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4426.20bcaf42.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/446.2523c50a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/446.2523c50a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/45.e217286d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/45.e217286d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4530.72904f19.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4530.72904f19.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js
similarity index 77%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js
index ae1ed56236..dd9076d23d 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4596.13ba10c0.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js
@@ -1,5 +1,5 @@
-/*! For license information please see 4596.13ba10c0.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["4596"],{74718(e,t,r){r.d(t,{w:()=>a});var i=r(82763),l=r(55638),o=r(60142),n=r(35864);class a{async run(e){let{messageBus:t}=e,r=await this.executeAction();if(!(0,n.isNull)(r)){let i=this.createHandler(r,e);t.registerHandler(i)}}async executeAction(){try{return await this.options.action()}catch(e){return console.error(e),(0,l.Ay)(new l.$g((0,o.t)("jobs.job.download-error"))),null}}createHandler(e,t){let{title:r,downloadUrl:l}=this.options;return new i.j({jobRunId:e,title:r,onRetry:async()=>{await this.run(t)},onCustomizeButtons:t=>{t.addSuccessButton({label:(0,o.t)("jobs.job.button-download"),handler:()=>{let t=document.createElement("a");t.href=l.replace("{jobRunId}",e.toString()),t.download="",t.click()}})}})}constructor(e){this.options=e}}},48346(e,t,r){r.r(t),r.d(t,{useCustomReportExportCsvMutation:()=>p,useCustomReportsChartQuery:()=>l,useCustomReportsColumnConfigListQuery:()=>a,useCustomReportsConfigAddMutation:()=>o,useCustomReportsConfigCloneMutation:()=>n,useCustomReportsConfigDeleteMutation:()=>d,useCustomReportsConfigGetTreeQuery:()=>c,useCustomReportsConfigUpdateMutation:()=>s,useCustomReportsGetTreeQuery:()=>m,useCustomReportsListDrillDownOptionsQuery:()=>i,useCustomReportsReportQuery:()=>u});let{useCustomReportsListDrillDownOptionsQuery:i,useCustomReportsChartQuery:l,useCustomReportsConfigAddMutation:o,useCustomReportsConfigCloneMutation:n,useCustomReportsColumnConfigListQuery:a,useCustomReportsConfigUpdateMutation:s,useCustomReportsConfigDeleteMutation:d,useCustomReportsReportQuery:u,useCustomReportsConfigGetTreeQuery:c,useCustomReportExportCsvMutation:p,useCustomReportsGetTreeQuery:m}=r(85075).FH.enhanceEndpoints({endpoints:{customReportExportCsv:{invalidatesTags:()=>[]}}})},85075(e,t,r){r.d(t,{Ay:()=>c,Ep:()=>p,FH:()=>o,Mm:()=>u,Q9:()=>g,V2:()=>n,Y1:()=>s,ab:()=>f,iJ:()=>h,im:()=>m,ke:()=>a,qf:()=>d,rn:()=>l});var i=r(53073);let l=["Bundle Custom Reports"],o=i.api.enhanceEndpoints({addTagTypes:l}).injectEndpoints({endpoints:e=>({customReportsListDrillDownOptions:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/drill-down-options",method:"POST",body:e.body}),providesTags:["Bundle Custom Reports"]}),customReportsChart:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/chart",method:"POST",body:e.body}),providesTags:["Bundle Custom Reports"]}),customReportsConfigAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/config/add",method:"POST",body:e.bundleCustomReportAdd}),invalidatesTags:["Bundle Custom Reports"]}),customReportsConfigClone:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/clone/${e.name}`,method:"POST",body:e.bundleCustomReportClone}),invalidatesTags:["Bundle Custom Reports"]}),customReportsColumnConfigList:e.query({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/column-config/${e.name}`,method:"POST",body:e.bundleCustomReportsDataSourceConfig}),providesTags:["Bundle Custom Reports"]}),customReportsConfigUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/${e.name}`,method:"PUT",body:e.bundleCustomReportUpdate}),invalidatesTags:["Bundle Custom Reports"]}),customReportsConfigDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Bundle Custom Reports"]}),customReportsReport:e.query({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/report/${e.name}`}),providesTags:["Bundle Custom Reports"]}),customReportsConfigGetTree:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/tree/config",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Bundle Custom Reports"]}),customReportExportCsv:e.mutation({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/export/csv",method:"POST",body:e.body}),invalidatesTags:["Bundle Custom Reports"]}),customReportsGetTree:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/tree",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Bundle Custom Reports"]})}),overrideExisting:!1}),{useCustomReportsListDrillDownOptionsQuery:n,useCustomReportsChartQuery:a,useCustomReportsConfigAddMutation:s,useCustomReportsConfigCloneMutation:d,useCustomReportsColumnConfigListQuery:u,useCustomReportsConfigUpdateMutation:c,useCustomReportsConfigDeleteMutation:p,useCustomReportsReportQuery:m,useCustomReportsConfigGetTreeQuery:g,useCustomReportExportCsvMutation:h,useCustomReportsGetTreeQuery:f}=o},31428(e,t,r){r.d(t,{L:()=>n});var i=r(31635),l=r(62446),o=r(69186);class n extends o.P{}n=(0,i.Cg)([(0,l.injectable)()],n)},26841(e,t,r){r.d(t,{m:()=>i});let i={NAME:"name",DISPLAY:"display",EXPORT:"export",ORDER:"order",FILTER_TYPE:"filterType",DISPLAY_TYPE:"displayType",FILTER_DRILLDOWN:"filterDrilldown",WIDTH:"width",LABEL:"label",ACTION:"action"}},64594(e,t,r){r.d(t,{j:()=>o});var i=r(47867),l=r(35864);let o=()=>{let[e,t]=(0,i.useState)(null),[r,o]=(0,i.useState)(null),n=(0,i.useMemo)(()=>!((0,l.isNull)(e)||(0,l.isNull)(r))&&!(0,l.isEqual)(e,r),[e,r]);return{initialData:e,currentData:r,isDirty:n,initializeForm:e=>{t({...e}),o({...e})},updateFormData:e=>{o(t=>(0,l.isNull)(t)?null:{...t,...e})},markFormSaved:()=>{(0,l.isNull)(r)||t({...r})}}}},45721(e,t,r){r.d(t,{y:()=>l});var i=r(47867);let l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],[t,r]=(0,i.useState)(!1),l=(0,i.useMemo)(()=>t?e:null==e?void 0:e.slice(0,5),[t,e]);return{isExpanded:t,visibleItems:l,toggle:()=>{r(!t)},initialVisibleCount:5}}},13194(e,t,r){r.d(t,{f:()=>a});var i=r(16124),l=r(35864);let o=[i.purple,i.magenta,i.geekblue,i.cyan,i.blue,i.green,i.yellow,i.lime,i.gold,i.volcano,i.orange,i.red],n=[4,6,8,2,5,3,7,1,9,0],a=e=>{let t=[],r=Object.values(o);for(let e of n)for(let i of r)(0,l.isUndefined)(i[e])||t.push(i[e]);let i=e-t.length;if(i>0){let e=(e=>{let t=[];for(let r=0;re.toString(16).padStart(2,"0")).join("");t.push(e)}return t})(i);t.push(...e)}return t}},83209(e,t,r){r.d(t,{n:()=>l,w:()=>o});var i,l=((i={}).OPEN_OBJECT="openObject",i.OPEN_DOCUMENT="openDocument",i.OPEN_ASSET="openAsset",i.OPEN_URL="openUrl",i);let o=e=>{switch(e){case"openObject":default:return"data-object";case"openDocument":return"document";case"openAsset":return"asset"}}},1019(e,t,r){r.d(t,{N:()=>m});var i=r(41630),l=r(44499),o=r(9653),n=r(85422),a=r(85075),s=r(35864),d=r(18196),u=r(63364),c=r(10600),p=r(20814);let m=async()=>{if((0,l.J)(o.F.Reports)){let e="Reporting",t="dynamic_report_",r=u.kL.get(c.K.mainNavRegistry),l=u.kL.get(c.K.widgetManager);try{let u=await i.M_.dispatch(a.FH.endpoints.customReportsGetTree.initiate({page:1,pageSize:999999},{forceRefetch:!0})).unwrap();if(!(0,s.isUndefined)(null==u?void 0:u.items)){let i=new Set;u.items.forEach(t=>{if(t.menuShortcut&&t.hasDataSourceConfig){let r=t.name,l=(0,d.Po)(t.group)?`${e}/${r}`:`${e}/${t.group}/${r}`;i.add(l),(0,d.Po)(t.group)||i.add(`${e}/${t.group}`)}}),r.getMainNavItems().filter(r=>{var l;return r.path.startsWith(`${e}/`)&&!i.has(r.path)&&(null==(l=r.id)?void 0:l.startsWith(t))}).forEach(e=>{r.unregisterMainNavItem(e.path)}),u.items.forEach((i,l)=>{if(i.menuShortcut&&i.hasDataSourceConfig){let a=i.name,s=(0,d.Po)(i.niceName)?a:i.niceName,u=(0,d.Po)(i.group)?`${e}/${a}`:`${e}/${i.group}/${a}`,c=i.iconClass,p=i.groupIconClass;(0,d.Po)(i.group)||r.registerMainNavItem({id:`${t}group_${i.group}`,path:`${e}/${i.group}`,label:i.group,order:300+l,permission:o.F.Reports,perspectivePermission:n.d.Reports,...!(0,d.Po)(p)&&{icon:p}}),r.registerMainNavItem({id:`${t}${a}-${l}`,path:u,label:s,group:i.group,order:300+l,permission:o.F.Reports,perspectivePermission:n.d.Reports,...!(0,d.Po)(c)&&{icon:c},...!(0,d.Po)(p)&&{groupIcon:p},widgetConfig:{component:"dynamic-report",config:{translationKey:"navigation.reports",icon:{type:"name",value:"pie-chart"},reportId:a}}})}}),l.registerWidget({name:"dynamic-report",component:p.o})}}catch(e){console.error("Failed to load reports for menu:",e)}}}},73304(e,t,r){r.d(t,{y:()=>a});var i=r(74848);r(47867);var l=r(29740),o=r(13755),n=r(64756);let a=e=>{let{isFetching:t,refetch:r}=e;return t?(0,i.jsx)(n.a,{padding:{x:"extra-small",y:"extra-small"},children:(0,i.jsx)(o.t,{})}):(0,i.jsx)(l.K,{icon:{value:"refresh"},onClick:async()=>{r()}})}},37895(e,t,r){var i;r.d(t,{U:()=>l});let l=(0,r(62446).injectable)()(i=class{constructor(){!function(e,t,r){var i;(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:i+"")in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"id",void 0)}})||i},87276(e,t,r){r.d(t,{h:()=>ef,z:()=>eh});var i=r(20814),l=r(74848),o=r(47867),n=r(35864),a=r(154),s=r(91206),d=r(88286),u=r(96940),c=r(39808),p=r(21429),m=r(25750),g=r(81898),h=r(22014),f=r(99154),x=r(67914),v=r(73304),y=r(27820);let b=e=>{let{isFetching:t,refetch:r,handleReportAdd:i}=e,{t:o}=(0,p.useTranslation)();return(0,l.jsxs)(u.M,{children:[(0,l.jsx)(v.y,{isFetching:t,refetch:r}),(0,l.jsx)(y.J,{"data-testid":"reports-editor-add-button",icon:{value:"new"},onClick:i,type:"link",children:o("new")})]})};var j=r(43565),C=r(55638),R=r(48346);let w=(e,t)=>{(0,o.useEffect)(()=>{e&&!(0,n.isUndefined)(t)&&(0,C.Ay)(new C.hD(t))},[e,t])},T=()=>{let[e,{isError:t,error:r}]=(0,R.useCustomReportsConfigAddMutation)(),[i,{isError:l,error:o}]=(0,R.useCustomReportsConfigCloneMutation)(),[n,{isError:a,error:s}]=(0,R.useCustomReportsConfigDeleteMutation)(),[d,{isError:u,error:c}]=(0,R.useCustomReportsConfigUpdateMutation)();return w(t,r),w(l,o),w(a,s),w(u,c),{addReport:async t=>{await e(t)},cloneReport:async e=>{await i(e)},deleteReport:async e=>{await n(e)},updateReport:async e=>{await d(e)}}};var S=r(44241);let E=(0,S.createStyles)(e=>{let{css:t,token:r}=e;return{sidebarReportItem:t`
+/*! For license information please see 4596.0f590c31.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["4596"],{74718(e,t,r){r.d(t,{w:()=>u});var i=r(82763),l=r(42523),o=r(40875),n=r(25548),a=r(55638),s=r(60142),d=r(35864);class u{async run(e){let{messageBus:t}=e,r=await this.executeAction();if(!(0,d.isNull)(r)){let i=this.createHandler(r,e);t.registerHandler(i)}}async executeAction(){try{return await this.options.action()}catch(e){return console.error(e),(0,a.Ay)(new a.$g((0,s.t)("jobs.job.download-error"))),null}}createHandler(e,t){let{title:r,downloadUrl:a,hasChildJob:d}=this.options;return new i.j({jobRunId:e,title:r,stepTracker:!0===d?new o.o({totalSteps:2}):new n.m,progressCalculator:new l.a,onRetry:async()=>{await this.run(t)},onCustomizeButtons:e=>{e.addSuccessButton({label:(0,s.t)("jobs.job.button-download"),handler:()=>{let t=document.createElement("a");t.href=a.replace("{jobRunId}",e.jobRunId.toString()),t.download="",t.click()}})}})}constructor(e){this.options=e}}},48346(e,t,r){r.r(t),r.d(t,{useCustomReportExportCsvMutation:()=>p,useCustomReportsChartQuery:()=>l,useCustomReportsColumnConfigListQuery:()=>a,useCustomReportsConfigAddMutation:()=>o,useCustomReportsConfigCloneMutation:()=>n,useCustomReportsConfigDeleteMutation:()=>d,useCustomReportsConfigGetTreeQuery:()=>c,useCustomReportsConfigUpdateMutation:()=>s,useCustomReportsGetTreeQuery:()=>m,useCustomReportsListDrillDownOptionsQuery:()=>i,useCustomReportsReportQuery:()=>u});let{useCustomReportsListDrillDownOptionsQuery:i,useCustomReportsChartQuery:l,useCustomReportsConfigAddMutation:o,useCustomReportsConfigCloneMutation:n,useCustomReportsColumnConfigListQuery:a,useCustomReportsConfigUpdateMutation:s,useCustomReportsConfigDeleteMutation:d,useCustomReportsReportQuery:u,useCustomReportsConfigGetTreeQuery:c,useCustomReportExportCsvMutation:p,useCustomReportsGetTreeQuery:m}=r(85075).FH.enhanceEndpoints({endpoints:{customReportExportCsv:{invalidatesTags:()=>[]}}})},85075(e,t,r){r.d(t,{Ay:()=>c,Ep:()=>p,FH:()=>o,Mm:()=>u,Q9:()=>g,V2:()=>n,Y1:()=>s,ab:()=>f,iJ:()=>h,im:()=>m,ke:()=>a,qf:()=>d,rn:()=>l});var i=r(53073);let l=["Bundle Custom Reports"],o=i.api.enhanceEndpoints({addTagTypes:l}).injectEndpoints({endpoints:e=>({customReportsListDrillDownOptions:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/drill-down-options",method:"POST",body:e.body}),providesTags:["Bundle Custom Reports"]}),customReportsChart:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/chart",method:"POST",body:e.body}),providesTags:["Bundle Custom Reports"]}),customReportsConfigAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/config/add",method:"POST",body:e.bundleCustomReportAdd}),invalidatesTags:["Bundle Custom Reports"]}),customReportsConfigClone:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/clone/${e.name}`,method:"POST",body:e.bundleCustomReportClone}),invalidatesTags:["Bundle Custom Reports"]}),customReportsColumnConfigList:e.query({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/column-config/${e.name}`,method:"POST",body:e.bundleCustomReportsDataSourceConfig}),providesTags:["Bundle Custom Reports"]}),customReportsConfigUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/${e.name}`,method:"PUT",body:e.bundleCustomReportUpdate}),invalidatesTags:["Bundle Custom Reports"]}),customReportsConfigDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/config/${e.name}`,method:"DELETE"}),invalidatesTags:["Bundle Custom Reports"]}),customReportsReport:e.query({query:e=>({url:`/pimcore-studio/api/bundle/custom-reports/report/${e.name}`}),providesTags:["Bundle Custom Reports"]}),customReportsConfigGetTree:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/tree/config",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Bundle Custom Reports"]}),customReportExportCsv:e.mutation({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/export/csv",method:"POST",body:e.body}),invalidatesTags:["Bundle Custom Reports"]}),customReportsGetTree:e.query({query:e=>({url:"/pimcore-studio/api/bundle/custom-reports/tree",params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Bundle Custom Reports"]})}),overrideExisting:!1}),{useCustomReportsListDrillDownOptionsQuery:n,useCustomReportsChartQuery:a,useCustomReportsConfigAddMutation:s,useCustomReportsConfigCloneMutation:d,useCustomReportsColumnConfigListQuery:u,useCustomReportsConfigUpdateMutation:c,useCustomReportsConfigDeleteMutation:p,useCustomReportsReportQuery:m,useCustomReportsConfigGetTreeQuery:g,useCustomReportExportCsvMutation:h,useCustomReportsGetTreeQuery:f}=o},31428(e,t,r){r.d(t,{L:()=>n});var i=r(31635),l=r(62446),o=r(69186);class n extends o.P{}n=(0,i.Cg)([(0,l.injectable)()],n)},26841(e,t,r){r.d(t,{m:()=>i});let i={NAME:"name",DISPLAY:"display",EXPORT:"export",ORDER:"order",FILTER_TYPE:"filterType",DISPLAY_TYPE:"displayType",FILTER_DRILLDOWN:"filterDrilldown",WIDTH:"width",LABEL:"label",ACTION:"action"}},64594(e,t,r){r.d(t,{j:()=>o});var i=r(47867),l=r(35864);let o=()=>{let[e,t]=(0,i.useState)(null),[r,o]=(0,i.useState)(null),n=(0,i.useMemo)(()=>!((0,l.isNull)(e)||(0,l.isNull)(r))&&!(0,l.isEqual)(e,r),[e,r]);return{initialData:e,currentData:r,isDirty:n,initializeForm:e=>{t({...e}),o({...e})},updateFormData:e=>{o(t=>(0,l.isNull)(t)?null:{...t,...e})},markFormSaved:()=>{(0,l.isNull)(r)||t({...r})}}}},45721(e,t,r){r.d(t,{y:()=>l});var i=r(47867);let l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],[t,r]=(0,i.useState)(!1),l=(0,i.useMemo)(()=>t?e:null==e?void 0:e.slice(0,5),[t,e]);return{isExpanded:t,visibleItems:l,toggle:()=>{r(!t)},initialVisibleCount:5}}},13194(e,t,r){r.d(t,{f:()=>a});var i=r(16124),l=r(35864);let o=[i.purple,i.magenta,i.geekblue,i.cyan,i.blue,i.green,i.yellow,i.lime,i.gold,i.volcano,i.orange,i.red],n=[4,6,8,2,5,3,7,1,9,0],a=e=>{let t=[],r=Object.values(o);for(let e of n)for(let i of r)(0,l.isUndefined)(i[e])||t.push(i[e]);let i=e-t.length;if(i>0){let e=(e=>{let t=[];for(let r=0;re.toString(16).padStart(2,"0")).join("");t.push(e)}return t})(i);t.push(...e)}return t}},83209(e,t,r){r.d(t,{n:()=>l,w:()=>o});var i,l=((i={}).OPEN_OBJECT="openObject",i.OPEN_DOCUMENT="openDocument",i.OPEN_ASSET="openAsset",i.OPEN_URL="openUrl",i);let o=e=>{switch(e){case"openObject":default:return"data-object";case"openDocument":return"document";case"openAsset":return"asset"}}},1019(e,t,r){r.d(t,{N:()=>m});var i=r(41630),l=r(44499),o=r(9653),n=r(85422),a=r(85075),s=r(35864),d=r(18196),u=r(63364),c=r(10600),p=r(20814);let m=async()=>{if((0,l.J)(o.F.Reports)){let e="Reporting",t="dynamic_report_",r=u.kL.get(c.K.mainNavRegistry),l=u.kL.get(c.K.widgetManager);try{let u=await i.M_.dispatch(a.FH.endpoints.customReportsGetTree.initiate({page:1,pageSize:999999},{forceRefetch:!0})).unwrap();if(!(0,s.isUndefined)(null==u?void 0:u.items)){let i=new Set;u.items.forEach(t=>{if(t.menuShortcut&&t.hasDataSourceConfig){let r=t.name,l=(0,d.Po)(t.group)?`${e}/${r}`:`${e}/${t.group}/${r}`;i.add(l),(0,d.Po)(t.group)||i.add(`${e}/${t.group}`)}}),r.getMainNavItems().filter(r=>{var l;return r.path.startsWith(`${e}/`)&&!i.has(r.path)&&(null==(l=r.id)?void 0:l.startsWith(t))}).forEach(e=>{r.unregisterMainNavItem(e.path)}),u.items.forEach((i,l)=>{if(i.menuShortcut&&i.hasDataSourceConfig){let a=i.name,s=(0,d.Po)(i.niceName)?a:i.niceName,u=(0,d.Po)(i.group)?`${e}/${a}`:`${e}/${i.group}/${a}`,c=i.iconClass,p=i.groupIconClass;(0,d.Po)(i.group)||r.registerMainNavItem({id:`${t}group_${i.group}`,path:`${e}/${i.group}`,label:i.group,order:300+l,permission:o.F.Reports,perspectivePermission:n.d.Reports,...!(0,d.Po)(p)&&{icon:p}}),r.registerMainNavItem({id:`${t}${a}-${l}`,path:u,label:s,group:i.group,order:300+l,permission:o.F.Reports,perspectivePermission:n.d.Reports,...!(0,d.Po)(c)&&{icon:c},...!(0,d.Po)(p)&&{groupIcon:p},widgetConfig:{component:"dynamic-report",config:{translationKey:"navigation.reports",icon:{type:"name",value:"pie-chart"},reportId:a}}})}}),l.registerWidget({name:"dynamic-report",component:p.o})}}catch(e){console.error("Failed to load reports for menu:",e)}}}},73304(e,t,r){r.d(t,{y:()=>a});var i=r(74848);r(47867);var l=r(29740),o=r(13755),n=r(64756);let a=e=>{let{isFetching:t,refetch:r}=e;return t?(0,i.jsx)(n.a,{padding:{x:"extra-small",y:"extra-small"},children:(0,i.jsx)(o.t,{})}):(0,i.jsx)(l.K,{icon:{value:"refresh"},onClick:async()=>{r()}})}},37895(e,t,r){var i;r.d(t,{U:()=>l});let l=(0,r(62446).injectable)()(i=class{constructor(){!function(e,t,r){var i;(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:i+"")in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"id",void 0)}})||i},87276(e,t,r){r.d(t,{h:()=>ef,z:()=>eh});var i=r(20814),l=r(74848),o=r(47867),n=r(35864),a=r(154),s=r(91206),d=r(88286),u=r(96940),c=r(39808),p=r(21429),m=r(25750),g=r(81898),h=r(22014),f=r(99154),x=r(67914),v=r(73304),y=r(27820);let b=e=>{let{isFetching:t,refetch:r,handleReportAdd:i}=e,{t:o}=(0,p.useTranslation)();return(0,l.jsxs)(u.M,{children:[(0,l.jsx)(v.y,{isFetching:t,refetch:r}),(0,l.jsx)(y.J,{"data-testid":"reports-editor-add-button",icon:{value:"new"},onClick:i,type:"link",children:o("new")})]})};var j=r(43565),C=r(55638),R=r(48346);let w=(e,t)=>{(0,o.useEffect)(()=>{e&&!(0,n.isUndefined)(t)&&(0,C.Ay)(new C.hD(t))},[e,t])},T=()=>{let[e,{isError:t,error:r}]=(0,R.useCustomReportsConfigAddMutation)(),[i,{isError:l,error:o}]=(0,R.useCustomReportsConfigCloneMutation)(),[n,{isError:a,error:s}]=(0,R.useCustomReportsConfigDeleteMutation)(),[d,{isError:u,error:c}]=(0,R.useCustomReportsConfigUpdateMutation)();return w(t,r),w(l,o),w(a,s),w(u,c),{addReport:async t=>{await e(t)},cloneReport:async e=>{await i(e)},deleteReport:async e=>{await n(e)},updateReport:async e=>{await d(e)}}};var S=r(44241);let E=(0,S.createStyles)(e=>{let{css:t,token:r}=e;return{sidebarReportItem:t`
padding: 2px ${r.paddingXS}px;
&:hover {
@@ -23,7 +23,7 @@
}
`,dropdownButton:t`
padding: 0 ${r.paddingXS}px;
- `}});var N=r(18196),P=r(13755),L=r(1019);let I=e=>{let{isLoading:t,refetch:r,isFetching:i,reportsList:a,handleOpenReport:d,handleCloseReport:u}=e,[v,y]=(0,o.useState)([]),[C,R]=(0,o.useState)(null);(0,o.useEffect)(()=>{(0,n.isNil)(null==a?void 0:a.items)||y(a.items)},[a]);let{styles:w}=E(),{t:S}=(0,p.useTranslation)(),I=(0,j.Vl)(),{addReport:k,cloneReport:D,deleteReport:$}=T(),F=[{icon:(0,l.jsx)(g.I,{value:"copy-03"}),key:"copy",label:S("clone"),onClick:()=>{I.input({label:S("reports.editor.clone.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:S("reports.editor.content.validation.message")},onOk:async e=>{var t;if((0,n.isNil)(C))return;await D({name:C.id,bundleCustomReportClone:{newName:e}});let{data:i}=await r();(0,L.N)();let l=null==i||null==(t=i.items)?void 0:t.find(t=>t.id===e);(0,n.isUndefined)(l)||d(l)}})}},{icon:(0,l.jsx)(g.I,{value:"trash"}),key:"delete",label:S("delete"),onClick:()=>{I.confirm({title:S("delete"),content:S("reports.editor.delete.content",{reportName:null==C?void 0:C.text}),onOk:async()=>{(0,n.isNil)(C)||$({name:C.id}).then(()=>{u(C.id),(0,L.N)()})}})}}];return(0,l.jsx)(s.s,{renderToolbar:(0,l.jsx)(b,{handleReportAdd:()=>{I.input({label:S("reports.editor.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:S("reports.editor.content.validation.message")},onOk:async e=>{var t;await k({bundleCustomReportAdd:{name:e}});let{data:i}=await r(),l=null==i||null==(t=i.items)?void 0:t.find(t=>t.id===e);(0,n.isUndefined)(l)||d(l)}})},isFetching:i,refetch:r}),children:(0,l.jsxs)(c.U,{loading:t,padded:!0,children:[(0,l.jsx)(x.D,{onChange:e=>{var t,r;t=e.target.value,(0,N.Po)(t)?y((null==a?void 0:a.items)??[]):y((null==a||null==(r=a.items)?void 0:r.filter(e=>e.text.toLowerCase().includes(t.toLowerCase())))??[])},placeholder:S("search"),withoutAddon:!0}),(0,l.jsx)(m.s,{className:"h-full",gap:"mini",justify:i?"center":"start",vertical:!0,children:i?(0,l.jsx)(m.s,{align:"center",justify:"center",children:(0,l.jsx)(P.t,{asContainer:!0,tip:"Loading"})}):(0,l.jsx)(l.Fragment,{children:v.map(e=>(0,l.jsx)(f.m,{menu:{items:F},onOpenChange:t=>{t&&R(e)},trigger:["contextMenu"],children:(0,l.jsxs)(m.s,{align:"center",className:w.sidebarReportItem,"data-testid":`reports-editor-sidebar-item-${e.id}`,gap:"mini",onClick:()=>{d(e)},children:[(0,l.jsx)(g.I,{className:w.sidebarReportItemIcon,value:"chart-scatter"}),(0,l.jsx)(h.E,{className:w.sidebarReportItemTitle,children:e.text})]})},e.id))})})]})})};var k=r(8255),D=r(64594),$=r(37836),F=r(27994),M=r(57231),U=r(80632),A=r(18848);let O=()=>{let{t:e}=(0,p.useTranslation)(),t=e=>{let{label:t,name:r,disabled:i=!1,tooltip:o}=e;return(0,l.jsx)(M.lV.Item,{label:t,name:r,tooltip:o,children:(0,l.jsx)(U.p,{disabled:i})})};return(0,l.jsxs)(k.L.Panel,{title:e("reports.editor.general-settings.title"),children:[t({label:e("reports.editor.general-settings.name-label"),name:"name",disabled:!0}),t({label:e("reports.editor.general-settings.display-name-label"),name:"niceName"}),t({label:e("reports.editor.general-settings.icon-class-label"),name:"iconClass"}),t({label:e("reports.editor.general-settings.group-label"),name:"group",tooltip:e("reports.editor.general-settings.group-tooltip")}),t({label:e("reports.editor.general-settings.report-class-label"),name:"reportClass"}),t({label:e("reports.editor.general-settings.group-icon-class-label"),name:"groupIconClass"}),(0,l.jsx)(M.lV.Item,{name:"menuShortcut",children:(0,l.jsx)(A.d,{labelRight:e("reports.editor.general-settings.shortcut-menu-label")})})]})};var B=r(63364),_=r(10600),z=r(1993);let q=e=>{var t;let{form:r,currentData:i,updateFormData:a}=e,{t:s}=(0,p.useTranslation)(),{styles:d}=E(),[u,c]=(0,o.useState)(null==(t=i.dataSourceConfig)?void 0:t.type),g=(0,n.isUndefined)(u),x=B.kL.get(_.K["DynamicTypes/CustomReportDefinitionRegistry"]),v=x.getDynamicTypes(),b=g?void 0:x.getDynamicType(u),j=(0,o.useMemo)(()=>v.map(e=>({key:e.id,label:e.getLabel()})),[v]),C=e=>{null==r||r.resetFields(["dataSourceConfig"]),null==r||r.setFieldsValue({dataSourceConfig:{type:e}}),null==a||a({...i,dataSourceConfig:{type:e}}),c(e)};return(0,l.jsxs)(k.L.Panel,{extra:g&&(0,l.jsx)(f.m,{menu:{items:j,onClick:e=>{C(e.key)}},trigger:["click"],children:(0,l.jsx)(y.J,{className:d.dropdownButton,"data-testid":"report-source-add-button",icon:{value:"plus-circle"},children:s("add")})}),extraPosition:"start",title:s("reports.editor.source-definition.title"),children:[g&&(0,l.jsx)(h.E,{type:"secondary",children:s("reports.editor.source-definition.no-content")}),!g&&(0,l.jsx)(m.s,{gap:"extra-small",vertical:!0,children:(0,l.jsxs)(M.lV.Group,{name:"dataSourceConfig",children:[(0,l.jsx)(M.lV.Item,{label:s("reports.editor.source-definition.select-source-definition"),name:"type",children:(0,l.jsx)(z.l,{"data-testid":"report-source-type-select",fieldNames:{label:"label",value:"key"},onChange:e=>{C(e)},options:j})}),null==b?void 0:b.getCustomReportData({currentData:i,updateFormData:a,form:r})]})})]})};var V=r(88754),W=r(14013),G=r(89507),J=r(26841),K=r(43425),Q=r(75915);let H=(0,S.createStyles)(e=>{let{css:t,token:r}=e;return{grid:t`
+ `}});var N=r(18196),P=r(13755),I=r(1019);let L=e=>{let{isLoading:t,refetch:r,isFetching:i,reportsList:a,handleOpenReport:d,handleCloseReport:u}=e,[v,y]=(0,o.useState)([]),[C,R]=(0,o.useState)(null);(0,o.useEffect)(()=>{(0,n.isNil)(null==a?void 0:a.items)||y(a.items)},[a]);let{styles:w}=E(),{t:S}=(0,p.useTranslation)(),L=(0,j.Vl)(),{addReport:k,cloneReport:D,deleteReport:$}=T(),F=[{icon:(0,l.jsx)(g.I,{value:"copy-03"}),key:"copy",label:S("clone"),onClick:()=>{L.input({label:S("reports.editor.clone.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:S("reports.editor.content.validation.message")},onOk:async e=>{var t;if((0,n.isNil)(C))return;await D({name:C.id,bundleCustomReportClone:{newName:e}});let{data:i}=await r();(0,I.N)();let l=null==i||null==(t=i.items)?void 0:t.find(t=>t.id===e);(0,n.isUndefined)(l)||d(l)}})}},{icon:(0,l.jsx)(g.I,{value:"trash"}),key:"delete",label:S("delete"),onClick:()=>{L.confirm({title:S("delete"),content:S("reports.editor.delete.content",{reportName:null==C?void 0:C.text}),onOk:async()=>{(0,n.isNil)(C)||$({name:C.id}).then(()=>{u(C.id),(0,I.N)()})}})}}];return(0,l.jsx)(s.s,{renderToolbar:(0,l.jsx)(b,{handleReportAdd:()=>{L.input({label:S("reports.editor.add.content"),rule:{pattern:/^[a-zA-Z0-9_-]+$/,message:S("reports.editor.content.validation.message")},onOk:async e=>{var t;await k({bundleCustomReportAdd:{name:e}});let{data:i}=await r(),l=null==i||null==(t=i.items)?void 0:t.find(t=>t.id===e);(0,n.isUndefined)(l)||d(l)}})},isFetching:i,refetch:r}),children:(0,l.jsxs)(c.U,{loading:t,padded:!0,children:[(0,l.jsx)(x.D,{onChange:e=>{var t,r;t=e.target.value,(0,N.Po)(t)?y((null==a?void 0:a.items)??[]):y((null==a||null==(r=a.items)?void 0:r.filter(e=>e.text.toLowerCase().includes(t.toLowerCase())))??[])},placeholder:S("search"),withoutAddon:!0}),(0,l.jsx)(m.s,{className:"h-full",gap:"mini",justify:i?"center":"start",vertical:!0,children:i?(0,l.jsx)(m.s,{align:"center",justify:"center",children:(0,l.jsx)(P.t,{asContainer:!0,tip:"Loading"})}):(0,l.jsx)(l.Fragment,{children:v.map(e=>(0,l.jsx)(f.m,{menu:{items:F},onOpenChange:t=>{t&&R(e)},trigger:["contextMenu"],children:(0,l.jsxs)(m.s,{align:"center",className:w.sidebarReportItem,"data-testid":`reports-editor-sidebar-item-${e.id}`,gap:"mini",onClick:()=>{d(e)},children:[(0,l.jsx)(g.I,{className:w.sidebarReportItemIcon,value:"chart-scatter"}),(0,l.jsx)(h.E,{className:w.sidebarReportItemTitle,children:e.text})]})},e.id))})})]})})};var k=r(8255),D=r(64594),$=r(37836),F=r(27994),M=r(57231),U=r(80632),A=r(18848);let O=()=>{let{t:e}=(0,p.useTranslation)(),t=e=>{let{label:t,name:r,disabled:i=!1,tooltip:o}=e;return(0,l.jsx)(M.lV.Item,{label:t,name:r,tooltip:o,children:(0,l.jsx)(U.p,{disabled:i})})};return(0,l.jsxs)(k.L.Panel,{title:e("reports.editor.general-settings.title"),children:[t({label:e("reports.editor.general-settings.name-label"),name:"name",disabled:!0}),t({label:e("reports.editor.general-settings.display-name-label"),name:"niceName"}),t({label:e("reports.editor.general-settings.icon-class-label"),name:"iconClass"}),t({label:e("reports.editor.general-settings.group-label"),name:"group",tooltip:e("reports.editor.general-settings.group-tooltip")}),t({label:e("reports.editor.general-settings.report-class-label"),name:"reportClass"}),t({label:e("reports.editor.general-settings.group-icon-class-label"),name:"groupIconClass"}),(0,l.jsx)(M.lV.Item,{name:"menuShortcut",children:(0,l.jsx)(A.d,{labelRight:e("reports.editor.general-settings.shortcut-menu-label")})})]})};var B=r(63364),_=r(10600),z=r(1993);let q=e=>{var t;let{form:r,currentData:i,updateFormData:a}=e,{t:s}=(0,p.useTranslation)(),{styles:d}=E(),[u,c]=(0,o.useState)(null==(t=i.dataSourceConfig)?void 0:t.type),g=(0,n.isUndefined)(u),x=B.kL.get(_.K["DynamicTypes/CustomReportDefinitionRegistry"]),v=x.getDynamicTypes(),b=g?void 0:x.getDynamicType(u),j=(0,o.useMemo)(()=>v.map(e=>({key:e.id,label:e.getLabel()})),[v]),C=e=>{null==r||r.resetFields(["dataSourceConfig"]),null==r||r.setFieldsValue({dataSourceConfig:{type:e}}),null==a||a({...i,dataSourceConfig:{type:e}}),c(e)};return(0,l.jsxs)(k.L.Panel,{extra:g&&(0,l.jsx)(f.m,{menu:{items:j,onClick:e=>{C(e.key)}},trigger:["click"],children:(0,l.jsx)(y.J,{className:d.dropdownButton,"data-testid":"report-source-add-button",icon:{value:"plus-circle"},children:s("add")})}),extraPosition:"start",title:s("reports.editor.source-definition.title"),children:[g&&(0,l.jsx)(h.E,{type:"secondary",children:s("reports.editor.source-definition.no-content")}),!g&&(0,l.jsx)(m.s,{gap:"extra-small",vertical:!0,children:(0,l.jsxs)(M.lV.Group,{name:"dataSourceConfig",children:[(0,l.jsx)(M.lV.Item,{label:s("reports.editor.source-definition.select-source-definition"),name:"type",children:(0,l.jsx)(z.l,{"data-testid":"report-source-type-select",fieldNames:{label:"label",value:"key"},onChange:e=>{C(e)},options:j})}),null==b?void 0:b.getCustomReportData({currentData:i,updateFormData:a,form:r})]})})]})};var V=r(88754),W=r(14013),G=r(89507),J=r(26841),K=r(43425),Q=r(75915);let H=(0,S.createStyles)(e=>{let{css:t,token:r}=e;return{grid:t`
position: relative;
width: 100%;
max-height: 500px;
@@ -57,7 +57,7 @@
`,chartSelect:t`
width: 100%;
max-width: 100% !important;
- `}}),X=e=>{let{currentData:t,updateFormData:r}=e,{t:i}=(0,p.useTranslation)(),{styles:a}=H(),s=(()=>{let e=(0,G.createColumnHelper)(),{t}=(0,p.useTranslation)(),r=(e,t)=>(0,Q.f)(e,{editable:t});return[e.accessor(J.m.NAME,{header:t("reports.editor.manage-column-configuration.name"),meta:{type:"text-cell"}}),e.accessor(J.m.DISPLAY,{header:t("reports.editor.manage-column-configuration.display"),meta:{type:"checkbox",editable:!0}}),e.accessor(J.m.EXPORT,{header:t("reports.editor.manage-column-configuration.export"),meta:{type:"checkbox",editable:!0}}),e.accessor(J.m.ORDER,{header:t("reports.editor.manage-column-configuration.order"),cell:e=>{let t=e.row.original.disableOrderBy;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"checkbox"}}),e.accessor(J.m.FILTER_TYPE,{header:t("reports.editor.manage-column-configuration.filter-type"),cell:e=>{let t=e.row.original.disableFilterable;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"select",config:{options:[{label:t("reports.editor.manage-column-configuration.filter-type.empty"),value:""},{label:t("reports.editor.manage-column-configuration.filter-type.text"),value:"string"},{label:t("reports.editor.manage-column-configuration.filter-type.number"),value:"numeric"},{label:t("reports.editor.manage-column-configuration.filter-type.date"),value:"date"},{label:t("reports.editor.manage-column-configuration.filter-type.bool"),value:"boolean"}]}}}),e.accessor(J.m.DISPLAY_TYPE,{header:t("reports.editor.manage-column-configuration.display-type"),meta:{type:"select",editable:!0,config:{options:[{label:t("reports.editor.manage-column-configuration.display-type.none"),value:""},{label:t("reports.editor.manage-column-configuration.display-type.text"),value:"text"},{label:t("reports.editor.manage-column-configuration.display-type.date"),value:"date"},{label:t("reports.editor.manage-column-configuration.display-type.hide"),value:"hide"}]}}}),e.accessor(J.m.FILTER_DRILLDOWN,{header:t("reports.editor.manage-column-configuration.filter-drilldown"),cell:e=>{let t=e.row.original.disableDropdownFilterable;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"select",config:{options:[{label:t("reports.editor.manage-column-configuration.filter-drilldown.empty"),value:""},{label:t("reports.editor.manage-column-configuration.filter-drilldown.only-filter"),value:"only_filter"},{label:t("reports.editor.manage-column-configuration.filter-drilldown.filter-and-show"),value:"filter_and_show"}]}}}),e.accessor(J.m.WIDTH,{header:t("reports.editor.manage-column-configuration.width"),meta:{type:"number",editable:!0}}),e.accessor(J.m.LABEL,{header:t("reports.editor.manage-column-configuration.label"),cell:e=>{let t=e.row.original.disableLabel;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"text-cell"}}),e.accessor(J.m.ACTION,{header:t("reports.editor.manage-column-configuration.action"),meta:{type:"select",editable:!0,config:{options:[{label:t("reports.editor.manage-column-configuration.action.none"),value:""},{label:t("reports.editor.manage-column-configuration.action.open-document"),value:"openDocument"},{label:t("reports.editor.manage-column-configuration.action.open-asset"),value:"openAsset"},{label:t("reports.editor.manage-column-configuration.action.open-object"),value:"openObject"},{label:t("reports.editor.manage-column-configuration.action.open-url"),value:"openUrl"}]}}})]})(),d=(0,o.useMemo)(()=>(null==t?void 0:t.columnConfigurations)??[],[t]);return(0,l.jsx)(k.L.Panel,{title:i("reports.editor.manage-column-configuration.title"),children:(0,l.jsx)(W.x,{autoWidth:!0,className:a.grid,columns:s,data:d,enableRowDrag:!0,enableRowVirtualizer:!0,handleDragEnd:e=>{let{active:i,over:l}=e;if(!(0,n.isNil)(i)&&!(0,n.isNil)(l)&&!(0,n.isEqual)(i.id,l.id)){let e=null==d?void 0:d.findIndex(e=>e.id===i.id),o=null==d?void 0:d.findIndex(e=>e.id===l.id);if(-1===e||-1===o)return;let n=(0,V.arrayMove)(d,e,o);null==r||r({...t,columnConfigurations:n})}},onUpdateCellData:e=>{let{rowIndex:i,columnId:l,value:o}=e,n=null==d?void 0:d.map((e,t)=>t===i?{...e,[l]:o}:e);null==r||r({...t,columnConfigurations:n})},resizable:!0,setRowId:e=>e.id})})};var Y=r(91669);let Z=e=>{let{currentData:t}=e,{t:r}=(0,p.useTranslation)(),{styles:i}=H(),n=[{value:"",label:r("reports.editor.chart-settings.chart-type.none")},{value:"pie",label:r("reports.editor.chart-settings.chart-type.pie-chart")},{value:"line",label:r("reports.editor.chart-settings.chart-type.line-chart")},{value:"bar",label:r("reports.editor.chart-settings.chart-type.bar-chart")}],a=(0,o.useMemo)(()=>t.columnConfigurations.map(e=>({value:e.name,label:e.name})),[t]),s=e=>{let{label:t,name:r,mode:o}=e;return(0,l.jsx)(M.lV.Item,{label:t,name:r,children:(0,l.jsx)(z.l,{className:i.chartSelect,"data-testid":`report-chart-${r}`,mode:o,options:a})})};return(0,l.jsxs)(k.L.Panel,{title:r("reports.editor.chart-settings.title"),children:[(0,l.jsx)(M.lV.Item,{label:r("reports.editor.chart-settings.chart-type"),name:"chartType",children:(0,l.jsx)(z.l,{className:i.chartSelect,"data-testid":"report-chart-type",options:n})}),(0,l.jsx)(Y.b,{condition:e=>"pie"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,contentPadding:{top:"none",right:"small",bottom:"small",left:"small"},theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.pie-label"),name:"pieLabelColumn"}),s({label:r("reports.editor.chart-settings.pie-data"),name:"pieColumn"})]})}),(0,l.jsx)(Y.b,{condition:e=>"line"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.x-axis"),name:"xAxis"}),s({label:r("reports.editor.chart-settings.y-axis"),name:"yAxis",mode:"multiple"})]})}),(0,l.jsx)(Y.b,{condition:e=>"bar"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.x-axis"),name:"xAxis"}),s({label:r("reports.editor.chart-settings.y-axis"),name:"yAxis",mode:"multiple"})]})})]})};var ee=r(73612),et=r(52178),er=r(91191),ei=r(57502);let el=e=>{let t,r,i,{currentData:a,updateFormData:s}=e,{t:d}=(0,p.useTranslation)(),{styles:u}=H(),{data:c}=(0,ee.Pd)(),{data:f}=(0,et.a_)(),[x,v]=(0,o.useState)(a.sharedGlobally),[y,b]=(0,o.useState)(!1),j=()=>{b(!1)},C=(0,o.useMemo)(()=>a.sharedUserNames.map(e=>{var t,r;return null==f||null==(r=f.items)||null==(t=r.find(t=>t.username===e))?void 0:t.id}).filter(e=>!(0,n.isUndefined)(e)),[a.sharedUserNames]),R=(0,o.useMemo)(()=>a.sharedRoleNames.map(e=>{var t,r;return null==c||null==(r=c.items)||null==(t=r.find(t=>t.name===e))?void 0:t.id}).filter(e=>!(0,n.isUndefined)(e)),[a.sharedRoleNames]),w=(e,t)=>(0,l.jsx)(g.I,{className:u.permissionIcon,options:{width:t??12,height:t??12},value:e});return(0,l.jsxs)(k.L.Panel,{title:d("reports.editor.permissions.title"),children:[(0,l.jsx)(M.lV.Item,{name:"sharedGlobally",children:(0,l.jsx)(A.d,{labelLeft:(0,l.jsx)(h.E,{children:d("grid.configuration.shared")}),labelRight:x?(0,l.jsx)(h.E,{className:u.permissionLabel,children:d("common.globally")}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(m.s,{gap:10,children:[(0,l.jsxs)(h.E,{className:u.permissionLabel,children:[w("user")," ",d("user-management.user")," | ",w("shield")," ",d("user-management.role")]}),(0,l.jsxs)(m.s,{align:"center",className:u.permissionUpdateButton,gap:8,onClick:()=>{b(!y)},children:[w("edit",16),(0,l.jsx)(h.E,{className:u.permissionUpdateButtonText,children:d("button.add-edit")})]})]}),y&&(0,l.jsx)(er.p,{handleApplyChanges:e=>{let{sharedUsers:t,sharedRoles:r}=e,i=t.map(e=>{var t,r;return null==f||null==(r=f.items)||null==(t=r.find(t=>t.id===e))?void 0:t.username}).filter(e=>!(0,n.isUndefined)(e)),l=r.map(e=>{var t,r;return null==c||null==(r=c.items)||null==(t=r.find(t=>t.id===e))?void 0:t.name}).filter(e=>!(0,n.isUndefined)(e));null==s||s({...a,sharedUserNames:i,sharedRoleNames:l}),j()},handleClose:j,initialSharedRoles:R,initialSharedUsers:C,placement:"top",roleList:c,userList:f})]}),onChange:e=>{v(e)}})}),!x&&(0,l.jsx)(ei.L,{itemGap:"mini",list:(t=[],r=[],i=e=>{let{label:t,iconName:r}=e;return{children:(0,l.jsx)(h.E,{ellipsis:!0,style:{maxWidth:"148px"},type:"secondary",children:t}),icon:w(r),bordered:!1}},a.sharedUserNames.forEach(e=>{t.push(i({label:e,iconName:"user"}))}),a.sharedRoleNames.forEach(e=>{r.push(i({label:e,iconName:"shield"}))}),[t,r]),tagListItemClassNames:u.permissionTag})]})},eo=e=>{let{report:t,isActive:r,modifiedReports:i,setModifiedReports:a}=e,{isLoading:s,data:d,isFetching:u,refetch:m}=(0,R.useCustomReportsReportQuery)({name:t.id}),{initializeForm:g,currentData:h,isDirty:f,updateFormData:x,markFormSaved:y}=(0,D.j)(),{updateReport:b}=T(),[j]=M.lV.useForm(),[C,w]=(0,o.useState)(!1),S=null==h?void 0:h.dataSourceConfig,{t:E}=(0,p.useTranslation)(),N=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{(0,n.isUndefined)(d)||g(d)},[d]),(0,o.useEffect)(()=>{let e=N.current,t=null==S?void 0:S.type;N.current=t,(0,n.isNull)(h)||(0,n.isUndefined)(t)||(0,n.isUndefined)(e)||e===t||(j.resetFields(),null==x||x({...h,columnConfigurations:[]}))},[null==S?void 0:S.type]),(0,o.useEffect)(()=>{f?a([...i,t.id]):a(i.filter(e=>e!==t.id))},[f]),(0,l.jsx)(c.U,{loading:s,padded:!0,padding:{top:"none",right:"extra-small",bottom:"none",left:"extra-small"},children:!(0,n.isNull)(h)&&(0,l.jsxs)(k.L,{formProps:{form:j,initialValues:h,onValuesChange:(e,t)=>{null==x||x({...h,...t})}},children:[(0,l.jsx)(O,{}),(0,l.jsx)(q,{currentData:h,form:j,updateFormData:x}),(0,l.jsx)(X,{currentData:h,updateFormData:x}),(0,l.jsx)(Z,{currentData:h}),(0,l.jsx)(el,{currentData:h,updateFormData:x}),r&&(0,l.jsx)($.Z,{targetId:ed,children:(0,l.jsx)(v.y,{isFetching:u,refetch:m})}),r&&(0,l.jsx)($.Z,{targetId:eu,children:(0,l.jsx)(F.$,{"data-testid":"reports-editor-save-button",disabled:!f,loading:C,onClick:()=>{var e;if((0,n.isNull)(h))return;w(!0);let r={...h,...{dataSourceConfig:(0,n.castArray)((null==h?void 0:h.dataSourceConfig)??[])},...""===h.chartType?{xAxis:"",yAxis:[],pieColumn:"",pieLabelColumn:""}:{pieColumn:h.pieColumn,pieLabelColumn:h.pieLabelColumn,xAxis:h.xAxis,yAxis:(0,n.isNull)(h.yAxis)?[]:(0,n.castArray)(h.yAxis)},...{columnConfigurations:null==h||null==(e=h.columnConfigurations)?void 0:e.map(e=>{let{disableLabel:t,disableDropdownFilterable:r,disableOrderBy:i,disableFilterable:l,...o}=e;return o})},...h.sharedGlobally&&{sharedRoleNames:[],sharedUserNames:[]}};b({name:t.id,bundleCustomReportUpdate:r}).then(()=>{y(),w(!1),(0,L.N)()})},type:"primary",children:E("save")})})]},null==S?void 0:S.type)})};var en=r(76103),ea=r(44499),es=r(9653);let ed="reports-editor-toolbar-refetch-btn",eu="reports-editor-toolbar-save-btn",ec=()=>{let e=(0,ea.J)(es.F.ReportsConfig),{data:t,isLoading:r,isFetching:i,refetch:p}=(0,R.useCustomReportsConfigGetTreeQuery)({page:1,pageSize:9999},{skip:!e}),[m,g]=(0,o.useState)([]),[h,f]=(0,o.useState)(void 0),[x,v]=(0,o.useState)([]),{styles:y}=E(),b=(0,o.useMemo)(()=>{var e;let r=new Set(null==t||null==(e=t.items)?void 0:e.map(e=>e.id));return m.filter(e=>r.has(e.id)).map(e=>({key:e.id,label:`${e.text} ${x.includes(e.id)?"*":""}`,children:(0,l.jsx)(eo,{isActive:h===e.id,modifiedReports:x,report:e,setModifiedReports:v})}))},[t,m,h,x]),j=e=>{let t=m.findIndex(t=>(null==t?void 0:t.id)===e),r=m.filter(t=>t.id!==e);if(e===h){let e=m[t-1],r=m[t+1],i=null==e?void 0:e.id,l=(0,n.isUndefined)(r)||null==r?void 0:r.id;f((0,n.isUndefined)(e)?l:i)}g(r)};return(0,l.jsx)(a.v,{leftItem:{children:(0,l.jsx)(I,{handleCloseReport:j,handleOpenReport:e=>{m.some(t=>t.id===e.id)||g([...m,e]),f(e.id)},isFetching:i,isLoading:r,refetch:p,reportsList:t})},rightItem:{children:(0,n.isUndefined)(h)?(0,l.jsx)(c.U,{none:!0}):(0,l.jsx)(s.s,{renderToolbar:(0,l.jsxs)(u.M,{justify:"space-between",children:[(0,l.jsx)(en.J,{id:ed}),(0,l.jsx)(en.J,{id:eu})]}),children:(0,l.jsx)(d.t,{activeKey:h,className:y.tabs,hasStickyHeader:!0,items:b,onChange:e=>{f(e)},onClose:j,rootClassName:y.tabsContainer})})}})};var ep=r(27755),em=r(85422);let eg="Reporting",eh={name:"Reports",id:"reports",component:"reports",config:{translationKey:"navigation.reports",icon:{type:"name",value:"pie-chart"}}},ef={name:"Custom Reports",id:"custom-reports",component:"custom-reports",config:{translationKey:"navigation.custom-reports",icon:{type:"name",value:"chart-scatter"}}};ep.s.registerModule({onInit:()=>{let e=B.kL.get(_.K.mainNavRegistry);B.kL.get(_.K["DynamicTypes/CustomReportDefinitionRegistry"]).registerDynamicType(B.kL.get(_.K["DynamicTypes/CustomReportDefinition/Sql"])),e.registerMainNavItem({path:`${eg}/Reports`,label:"navigation.reports",className:"item-style-modifier",order:100,dividerBottom:!0,permission:es.F.Reports,perspectivePermission:em.d.Reports,widgetConfig:eh}),e.registerMainNavItem({path:`${eg}/Custom Reports`,label:"navigation.custom-reports",order:200,dividerBottom:!0,permission:es.F.ReportsConfig,perspectivePermission:em.d.CustomReportsConfiguration,widgetConfig:ef});let t=B.kL.get(_.K.widgetManager);t.registerWidget({name:"reports",component:i.o}),t.registerWidget({name:"custom-reports",component:ec})}})},98655(e,t,r){r.d(t,{E:()=>f});var i=r(74848),l=r(47867),o=r(11195),n=r(35864),a=r(25750),s=r(13194),d=r(66384),u=r(45721),c=r(28387),p=r(53636);let m=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{tooltipTitle:t`
+ `}}),X=e=>{let{currentData:t,updateFormData:r}=e,{t:i}=(0,p.useTranslation)(),{styles:a}=H(),s=(()=>{let e=(0,G.createColumnHelper)(),{t}=(0,p.useTranslation)(),r=(e,t)=>(0,Q.f)(e,{editable:t});return[e.accessor(J.m.NAME,{header:t("reports.editor.manage-column-configuration.name"),meta:{type:"text-cell"}}),e.accessor(J.m.DISPLAY,{header:t("reports.editor.manage-column-configuration.display"),meta:{type:"checkbox",editable:!0}}),e.accessor(J.m.EXPORT,{header:t("reports.editor.manage-column-configuration.export"),meta:{type:"checkbox",editable:!0}}),e.accessor(J.m.ORDER,{header:t("reports.editor.manage-column-configuration.order"),cell:e=>{let t=e.row.original.disableOrderBy;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"checkbox"}}),e.accessor(J.m.FILTER_TYPE,{header:t("reports.editor.manage-column-configuration.filter-type"),cell:e=>{let t=e.row.original.disableFilterable;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"select",config:{options:[{label:t("reports.editor.manage-column-configuration.filter-type.empty"),value:""},{label:t("reports.editor.manage-column-configuration.filter-type.text"),value:"string"},{label:t("reports.editor.manage-column-configuration.filter-type.number"),value:"numeric"},{label:t("reports.editor.manage-column-configuration.filter-type.date"),value:"date"},{label:t("reports.editor.manage-column-configuration.filter-type.bool"),value:"boolean"}]}}}),e.accessor(J.m.DISPLAY_TYPE,{header:t("reports.editor.manage-column-configuration.display-type"),meta:{type:"select",editable:!0,config:{options:[{label:t("reports.editor.manage-column-configuration.display-type.none"),value:""},{label:t("reports.editor.manage-column-configuration.display-type.text"),value:"text"},{label:t("reports.editor.manage-column-configuration.display-type.date"),value:"date"},{label:t("reports.editor.manage-column-configuration.display-type.hide"),value:"hide"}]}}}),e.accessor(J.m.FILTER_DRILLDOWN,{header:t("reports.editor.manage-column-configuration.filter-drilldown"),cell:e=>{let t=e.row.original.disableDropdownFilterable;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"select",config:{options:[{label:t("reports.editor.manage-column-configuration.filter-drilldown.empty"),value:""},{label:t("reports.editor.manage-column-configuration.filter-drilldown.only-filter"),value:"only_filter"},{label:t("reports.editor.manage-column-configuration.filter-drilldown.filter-and-show"),value:"filter_and_show"}]}}}),e.accessor(J.m.WIDTH,{header:t("reports.editor.manage-column-configuration.width"),meta:{type:"number",editable:!0}}),e.accessor(J.m.LABEL,{header:t("reports.editor.manage-column-configuration.label"),cell:e=>{let t=e.row.original.disableLabel;return(0,l.jsx)(K.A,{...r(e,!t)})},meta:{type:"text-cell"}}),e.accessor(J.m.ACTION,{header:t("reports.editor.manage-column-configuration.action"),meta:{type:"select",editable:!0,config:{options:[{label:t("reports.editor.manage-column-configuration.action.none"),value:""},{label:t("reports.editor.manage-column-configuration.action.open-document"),value:"openDocument"},{label:t("reports.editor.manage-column-configuration.action.open-asset"),value:"openAsset"},{label:t("reports.editor.manage-column-configuration.action.open-object"),value:"openObject"},{label:t("reports.editor.manage-column-configuration.action.open-url"),value:"openUrl"}]}}})]})(),d=(0,o.useMemo)(()=>(null==t?void 0:t.columnConfigurations)??[],[t]);return(0,l.jsx)(k.L.Panel,{title:i("reports.editor.manage-column-configuration.title"),children:(0,l.jsx)(W.x,{autoWidth:!0,className:a.grid,columns:s,data:d,enableRowDrag:!0,enableRowVirtualizer:!0,handleDragEnd:e=>{let{active:i,over:l}=e;if(!(0,n.isNil)(i)&&!(0,n.isNil)(l)&&!(0,n.isEqual)(i.id,l.id)){let e=null==d?void 0:d.findIndex(e=>e.id===i.id),o=null==d?void 0:d.findIndex(e=>e.id===l.id);if(-1===e||-1===o)return;let n=(0,V.arrayMove)(d,e,o);null==r||r({...t,columnConfigurations:n})}},onUpdateCellData:e=>{let{rowIndex:i,columnId:l,value:o}=e,n=null==d?void 0:d.map((e,t)=>t===i?{...e,[l]:o}:e);null==r||r({...t,columnConfigurations:n})},resizable:!0,setRowId:e=>e.id})})};var Y=r(91669);let Z=e=>{let{currentData:t}=e,{t:r}=(0,p.useTranslation)(),{styles:i}=H(),n=[{value:"",label:r("reports.editor.chart-settings.chart-type.none")},{value:"pie",label:r("reports.editor.chart-settings.chart-type.pie-chart")},{value:"line",label:r("reports.editor.chart-settings.chart-type.line-chart")},{value:"bar",label:r("reports.editor.chart-settings.chart-type.bar-chart")}],a=(0,o.useMemo)(()=>t.columnConfigurations.map(e=>({value:e.name,label:e.name})),[t]),s=e=>{let{label:t,name:r,mode:o}=e;return(0,l.jsx)(M.lV.Item,{label:t,name:r,children:(0,l.jsx)(z.l,{className:i.chartSelect,"data-testid":`report-chart-${r}`,mode:o,options:a})})};return(0,l.jsxs)(k.L.Panel,{title:r("reports.editor.chart-settings.title"),children:[(0,l.jsx)(M.lV.Item,{label:r("reports.editor.chart-settings.chart-type"),name:"chartType",children:(0,l.jsx)(z.l,{className:i.chartSelect,"data-testid":"report-chart-type",options:n})}),(0,l.jsx)(Y.b,{condition:e=>"pie"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,contentPadding:{top:"none",right:"small",bottom:"small",left:"small"},theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.pie-label"),name:"pieLabelColumn"}),s({label:r("reports.editor.chart-settings.pie-data"),name:"pieColumn"})]})}),(0,l.jsx)(Y.b,{condition:e=>"line"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.x-axis"),name:"xAxis"}),s({label:r("reports.editor.chart-settings.y-axis"),name:"yAxis",mode:"multiple"})]})}),(0,l.jsx)(Y.b,{condition:e=>"bar"===e.chartType,watchFields:["chartType"],children:(0,l.jsxs)(k.L.Panel,{border:!0,theme:"fieldset",title:r("reports.editor.chart-settings.settings"),children:[s({label:r("reports.editor.chart-settings.x-axis"),name:"xAxis"}),s({label:r("reports.editor.chart-settings.y-axis"),name:"yAxis",mode:"multiple"})]})})]})};var ee=r(73612),et=r(52178),er=r(91191),ei=r(57502);let el=e=>{let t,r,i,{currentData:a,updateFormData:s}=e,{t:d}=(0,p.useTranslation)(),{styles:u}=H(),{data:c}=(0,ee.Pd)(),{data:f}=(0,et.a_)(),[x,v]=(0,o.useState)(a.sharedGlobally),[y,b]=(0,o.useState)(!1),j=()=>{b(!1)},C=(0,o.useMemo)(()=>a.sharedUserNames.map(e=>{var t,r;return null==f||null==(r=f.items)||null==(t=r.find(t=>t.username===e))?void 0:t.id}).filter(e=>!(0,n.isUndefined)(e)),[a.sharedUserNames]),R=(0,o.useMemo)(()=>a.sharedRoleNames.map(e=>{var t,r;return null==c||null==(r=c.items)||null==(t=r.find(t=>t.name===e))?void 0:t.id}).filter(e=>!(0,n.isUndefined)(e)),[a.sharedRoleNames]),w=(e,t)=>(0,l.jsx)(g.I,{className:u.permissionIcon,options:{width:t??12,height:t??12},value:e});return(0,l.jsxs)(k.L.Panel,{title:d("reports.editor.permissions.title"),children:[(0,l.jsx)(M.lV.Item,{name:"sharedGlobally",children:(0,l.jsx)(A.d,{labelLeft:(0,l.jsx)(h.E,{children:d("grid.configuration.shared")}),labelRight:x?(0,l.jsx)(h.E,{className:u.permissionLabel,children:d("common.globally")}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(m.s,{gap:10,children:[(0,l.jsxs)(h.E,{className:u.permissionLabel,children:[w("user")," ",d("user-management.user")," | ",w("shield")," ",d("user-management.role")]}),(0,l.jsxs)(m.s,{align:"center",className:u.permissionUpdateButton,gap:8,onClick:()=>{b(!y)},children:[w("edit",16),(0,l.jsx)(h.E,{className:u.permissionUpdateButtonText,children:d("button.add-edit")})]})]}),y&&(0,l.jsx)(er.p,{handleApplyChanges:e=>{let{sharedUsers:t,sharedRoles:r}=e,i=t.map(e=>{var t,r;return null==f||null==(r=f.items)||null==(t=r.find(t=>t.id===e))?void 0:t.username}).filter(e=>!(0,n.isUndefined)(e)),l=r.map(e=>{var t,r;return null==c||null==(r=c.items)||null==(t=r.find(t=>t.id===e))?void 0:t.name}).filter(e=>!(0,n.isUndefined)(e));null==s||s({...a,sharedUserNames:i,sharedRoleNames:l}),j()},handleClose:j,initialSharedRoles:R,initialSharedUsers:C,placement:"top",roleList:c,userList:f})]}),onChange:e=>{v(e)}})}),!x&&(0,l.jsx)(ei.L,{itemGap:"mini",list:(t=[],r=[],i=e=>{let{label:t,iconName:r}=e;return{children:(0,l.jsx)(h.E,{ellipsis:!0,style:{maxWidth:"148px"},type:"secondary",children:t}),icon:w(r),bordered:!1}},a.sharedUserNames.forEach(e=>{t.push(i({label:e,iconName:"user"}))}),a.sharedRoleNames.forEach(e=>{r.push(i({label:e,iconName:"shield"}))}),[t,r]),tagListItemClassNames:u.permissionTag})]})},eo=e=>{let{report:t,isActive:r,modifiedReports:i,setModifiedReports:a}=e,{isLoading:s,data:d,isFetching:u,refetch:m}=(0,R.useCustomReportsReportQuery)({name:t.id}),{initializeForm:g,currentData:h,isDirty:f,updateFormData:x,markFormSaved:y}=(0,D.j)(),{updateReport:b}=T(),[j]=M.lV.useForm(),[C,w]=(0,o.useState)(!1),S=null==h?void 0:h.dataSourceConfig,{t:E}=(0,p.useTranslation)(),N=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{(0,n.isUndefined)(d)||g(d)},[d]),(0,o.useEffect)(()=>{let e=N.current,t=null==S?void 0:S.type;N.current=t,(0,n.isNull)(h)||(0,n.isUndefined)(t)||(0,n.isUndefined)(e)||e===t||(j.resetFields(),null==x||x({...h,columnConfigurations:[]}))},[null==S?void 0:S.type]),(0,o.useEffect)(()=>{f?a([...i,t.id]):a(i.filter(e=>e!==t.id))},[f]),(0,l.jsx)(c.U,{loading:s,padded:!0,padding:{top:"none",right:"extra-small",bottom:"none",left:"extra-small"},children:!(0,n.isNull)(h)&&(0,l.jsxs)(k.L,{formProps:{form:j,initialValues:h,onValuesChange:(e,t)=>{null==x||x({...h,...t})}},children:[(0,l.jsx)(O,{}),(0,l.jsx)(q,{currentData:h,form:j,updateFormData:x}),(0,l.jsx)(X,{currentData:h,updateFormData:x}),(0,l.jsx)(Z,{currentData:h}),(0,l.jsx)(el,{currentData:h,updateFormData:x}),r&&(0,l.jsx)($.Z,{targetId:ed,children:(0,l.jsx)(v.y,{isFetching:u,refetch:m})}),r&&(0,l.jsx)($.Z,{targetId:eu,children:(0,l.jsx)(F.$,{"data-testid":"reports-editor-save-button",disabled:!f,loading:C,onClick:()=>{var e;if((0,n.isNull)(h))return;w(!0);let r={...h,...{dataSourceConfig:(0,n.castArray)((null==h?void 0:h.dataSourceConfig)??[])},...""===h.chartType?{xAxis:"",yAxis:[],pieColumn:"",pieLabelColumn:""}:{pieColumn:h.pieColumn,pieLabelColumn:h.pieLabelColumn,xAxis:h.xAxis,yAxis:(0,n.isNull)(h.yAxis)?[]:(0,n.castArray)(h.yAxis)},...{columnConfigurations:null==h||null==(e=h.columnConfigurations)?void 0:e.map(e=>{let{disableLabel:t,disableDropdownFilterable:r,disableOrderBy:i,disableFilterable:l,...o}=e;return o})},...h.sharedGlobally&&{sharedRoleNames:[],sharedUserNames:[]}};b({name:t.id,bundleCustomReportUpdate:r}).then(()=>{y(),w(!1),(0,I.N)()})},type:"primary",children:E("save")})})]},null==S?void 0:S.type)})};var en=r(76103),ea=r(44499),es=r(9653);let ed="reports-editor-toolbar-refetch-btn",eu="reports-editor-toolbar-save-btn",ec=()=>{let e=(0,ea.J)(es.F.ReportsConfig),{data:t,isLoading:r,isFetching:i,refetch:p}=(0,R.useCustomReportsConfigGetTreeQuery)({page:1,pageSize:9999},{skip:!e}),[m,g]=(0,o.useState)([]),[h,f]=(0,o.useState)(void 0),[x,v]=(0,o.useState)([]),{styles:y}=E(),b=(0,o.useMemo)(()=>{var e;let r=new Set(null==t||null==(e=t.items)?void 0:e.map(e=>e.id));return m.filter(e=>r.has(e.id)).map(e=>({key:e.id,label:`${e.text} ${x.includes(e.id)?"*":""}`,children:(0,l.jsx)(eo,{isActive:h===e.id,modifiedReports:x,report:e,setModifiedReports:v})}))},[t,m,h,x]),j=e=>{let t=m.findIndex(t=>(null==t?void 0:t.id)===e),r=m.filter(t=>t.id!==e);if(e===h){let e=m[t-1],r=m[t+1],i=null==e?void 0:e.id,l=(0,n.isUndefined)(r)||null==r?void 0:r.id;f((0,n.isUndefined)(e)?l:i)}g(r)};return(0,l.jsx)(a.v,{leftItem:{children:(0,l.jsx)(L,{handleCloseReport:j,handleOpenReport:e=>{m.some(t=>t.id===e.id)||g([...m,e]),f(e.id)},isFetching:i,isLoading:r,refetch:p,reportsList:t})},rightItem:{children:(0,n.isUndefined)(h)?(0,l.jsx)(c.U,{none:!0}):(0,l.jsx)(s.s,{renderToolbar:(0,l.jsxs)(u.M,{justify:"space-between",children:[(0,l.jsx)(en.J,{id:ed}),(0,l.jsx)(en.J,{id:eu})]}),children:(0,l.jsx)(d.t,{activeKey:h,className:y.tabs,hasStickyHeader:!0,items:b,onChange:e=>{f(e)},onClose:j,rootClassName:y.tabsContainer})})}})};var ep=r(27755),em=r(85422);let eg="Reporting",eh={name:"Reports",id:"reports",component:"reports",config:{translationKey:"navigation.reports",icon:{type:"name",value:"pie-chart"}}},ef={name:"Custom Reports",id:"custom-reports",component:"custom-reports",config:{translationKey:"navigation.custom-reports",icon:{type:"name",value:"chart-scatter"}}};ep.s.registerModule({onInit:()=>{let e=B.kL.get(_.K.mainNavRegistry);B.kL.get(_.K["DynamicTypes/CustomReportDefinitionRegistry"]).registerDynamicType(B.kL.get(_.K["DynamicTypes/CustomReportDefinition/Sql"])),e.registerMainNavItem({path:`${eg}/Reports`,label:"navigation.reports",className:"item-style-modifier",order:100,dividerBottom:!0,permission:es.F.Reports,perspectivePermission:em.d.Reports,widgetConfig:eh}),e.registerMainNavItem({path:`${eg}/Custom Reports`,label:"navigation.custom-reports",order:200,dividerBottom:!0,permission:es.F.ReportsConfig,perspectivePermission:em.d.CustomReportsConfiguration,widgetConfig:ef});let t=B.kL.get(_.K.widgetManager);t.registerWidget({name:"reports",component:i.o}),t.registerWidget({name:"custom-reports",component:ec})}})},98655(e,t,r){r.d(t,{E:()=>f});var i=r(74848),l=r(47867),o=r(11195),n=r(35864),a=r(25750),s=r(13194),d=r(66384),u=r(45721),c=r(28387),p=r(53636);let m=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{tooltipTitle:t`
color: ${r.colorTextTertiary};
`,tooltipItemValue:t`
color: ${r.colorText};
@@ -65,7 +65,7 @@
width: 8px;
height: 8px;
border-radius: 50%;
- `}}),g="name",h="value",f=e=>{let{chartData:t,reportData:r,chartLabelMap:f,chartConfig:x,showLegend:v=!0}=e,{styles:y}=m(),b=(0,l.useRef)(null),{width:j}=(0,p.A)(b),[C]=(0,l.useState)((0,s.f)(t.length)),R=(null==r?void 0:r.xAxis)??"",w=null==r?void 0:r.yAxis,T=t.flatMap(e=>Object.entries(e).filter(e=>{let[t]=e;return t!==R&&(null==w?void 0:w.includes(t))}).map(t=>{let[r,i]=t;return{[R]:null==e?void 0:e[R],[g]:r,[h]:(0,n.toNumber)(i)}})),S=[...new Set(T.map(e=>e.name))],{isExpanded:E,visibleItems:N,toggle:P,initialVisibleCount:L}=(0,u.y)(S),[I,k]=(0,l.useState)(S),D={...Object.fromEntries(S.map((e,t)=>[e,C[t]]))},$=(0,l.useMemo)(()=>T.filter(e=>I.includes(e.name)),[T,I]),F=(0,l.useMemo)(()=>({data:$,xField:R,yField:h,seriesField:g,colorField:g,scale:{color:{range:C}},height:250,point:{shapeField:"circle",sizeField:4},legend:!1,interaction:{tooltip:{bounding:{x:20,y:20,height:250,width:j},render:(e,t)=>{let{title:r,items:l}=t;return(0,i.jsxs)(a.s,{gap:"mini",vertical:!0,children:[(0,i.jsx)("div",{className:y.tooltipTitle,children:r}),(0,i.jsx)(a.s,{vertical:!0,children:l.map(e=>(0,i.jsxs)(a.s,{gap:"small",justify:"space-between",children:[(0,i.jsxs)(a.s,{align:"center",gap:"mini",children:[(0,i.jsx)("div",{className:y.circle,style:{backgroundColor:e.color}}),(0,i.jsx)("div",{children:f[e.name]??e.name})]}),(0,i.jsx)("div",{className:y.tooltipItemValue,children:e.value})]},e.name))})]})}}}}),[$,j]),M=void 0===x?F:(0,n.merge)({},F,x);return(0,i.jsxs)("div",{className:"m-t-mini",children:[(0,i.jsx)("div",{ref:b,style:{overflowX:"hidden"},children:(0,i.jsx)(o.A,{...M})}),v?(0,i.jsx)(a.s,{gap:"mini",justify:"center",wrap:"wrap",children:N.map((e,t)=>{let r=I.includes(e);return(0,i.jsx)(d.J,{disabled:!r,handleClick:()=>{k(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},label:f[e]??e,markerColor:D[e]},`${t}-${e}`)})}):null,(null==S?void 0:S.length)>L&&(0,i.jsx)(c.x,{isExpanded:E,toggle:P})]})}},66384(e,t,r){r.d(t,{J:()=>u});var i=r(74848);r(47867);var l=r(8651),o=r.n(l),n=r(35864),a=r(25750),s=r(22014);let d=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{legendItem:t`
+ `}}),g="name",h="value",f=e=>{let{chartData:t,reportData:r,chartLabelMap:f,chartConfig:x,showLegend:v=!0}=e,{styles:y}=m(),b=(0,l.useRef)(null),{width:j}=(0,p.A)(b),[C]=(0,l.useState)((0,s.f)(t.length)),R=(null==r?void 0:r.xAxis)??"",w=null==r?void 0:r.yAxis,T=t.flatMap(e=>Object.entries(e).filter(e=>{let[t]=e;return t!==R&&(null==w?void 0:w.includes(t))}).map(t=>{let[r,i]=t;return{[R]:null==e?void 0:e[R],[g]:r,[h]:(0,n.toNumber)(i)}})),S=[...new Set(T.map(e=>e.name))],{isExpanded:E,visibleItems:N,toggle:P,initialVisibleCount:I}=(0,u.y)(S),[L,k]=(0,l.useState)(S),D={...Object.fromEntries(S.map((e,t)=>[e,C[t]]))},$=(0,l.useMemo)(()=>T.filter(e=>L.includes(e.name)),[T,L]),F=(0,l.useMemo)(()=>({data:$,xField:R,yField:h,seriesField:g,colorField:g,scale:{color:{range:C}},height:250,point:{shapeField:"circle",sizeField:4},legend:!1,interaction:{tooltip:{bounding:{x:20,y:20,height:250,width:j},render:(e,t)=>{let{title:r,items:l}=t;return(0,i.jsxs)(a.s,{gap:"mini",vertical:!0,children:[(0,i.jsx)("div",{className:y.tooltipTitle,children:r}),(0,i.jsx)(a.s,{vertical:!0,children:l.map(e=>(0,i.jsxs)(a.s,{gap:"small",justify:"space-between",children:[(0,i.jsxs)(a.s,{align:"center",gap:"mini",children:[(0,i.jsx)("div",{className:y.circle,style:{backgroundColor:e.color}}),(0,i.jsx)("div",{children:f[e.name]??e.name})]}),(0,i.jsx)("div",{className:y.tooltipItemValue,children:e.value})]},e.name))})]})}}}}),[$,j]),M=void 0===x?F:(0,n.merge)({},F,x);return(0,i.jsxs)("div",{className:"m-t-mini",children:[(0,i.jsx)("div",{ref:b,style:{overflowX:"hidden"},children:(0,i.jsx)(o.A,{...M})}),v?(0,i.jsx)(a.s,{gap:"mini",justify:"center",wrap:"wrap",children:N.map((e,t)=>{let r=L.includes(e);return(0,i.jsx)(d.J,{disabled:!r,handleClick:()=>{k(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},label:f[e]??e,markerColor:D[e]},`${t}-${e}`)})}):null,(null==S?void 0:S.length)>I&&(0,i.jsx)(c.x,{isExpanded:E,toggle:P})]})}},66384(e,t,r){r.d(t,{J:()=>u});var i=r(74848);r(47867);var l=r(8651),o=r.n(l),n=r(35864),a=r(25750),s=r(22014);let d=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{legendItem:t`
padding: 0 ${r.paddingXXS}px;
border: 1px solid ${r.colorBorderTertiary};
border-radius: ${r.borderRadiusSM}px;
@@ -86,7 +86,7 @@
width: 8px;
height: 8px;
border-radius: 50%;
- `}}),g="name",h="value",f=e=>{let{chartData:t,reportData:r,chartLabelMap:f,chartConfig:x,showLegend:v=!0}=e,{styles:y}=m(),b=(0,l.useRef)(null),{width:j}=(0,p.A)(b),[C]=(0,l.useState)((0,d.f)(t.length)),R=(null==r?void 0:r.xAxis)??"",w=null==r?void 0:r.yAxis,T=t.flatMap((e,t)=>Object.entries(e).filter(e=>{let[t]=e;return t!==R&&(null==w?void 0:w.includes(t))}).map(t=>{let[r,i]=t;return{[R]:null==e?void 0:e[R],[g]:r,[h]:(0,n.toNumber)(i)}})),S=[...new Set(T.map(e=>e.name))],{isExpanded:E,visibleItems:N,toggle:P,initialVisibleCount:L}=(0,u.y)(S),[I,k]=(0,l.useState)(S),D={...Object.fromEntries(S.map((e,t)=>[e,C[t]]))},$=(0,l.useMemo)(()=>T.filter(e=>I.includes(e.name)),[T,I]),F=(0,l.useMemo)(()=>({data:$,xField:R,yField:h,colorField:g,scale:{color:{range:C}},height:250,point:{shapeField:"circle",sizeField:4},legend:!1,interaction:{tooltip:{bounding:{x:20,y:20,height:250,width:j},render:(e,t)=>{let{title:r,items:l}=t;return(0,i.jsxs)(a.s,{gap:"mini",vertical:!0,children:[(0,i.jsx)("div",{className:y.tooltipTitle,children:r}),(0,i.jsx)(a.s,{vertical:!0,children:l.map(e=>(0,i.jsxs)(a.s,{gap:"small",justify:"space-between",children:[(0,i.jsxs)(a.s,{align:"center",gap:"mini",children:[(0,i.jsx)("div",{className:y.circle,style:{backgroundColor:e.color}}),(0,i.jsx)("div",{children:f[e.name]??e.name})]}),(0,i.jsx)("div",{className:y.tooltipItemValue,children:e.value})]},e.name))})]})}}}}),[$,j]),M=void 0===x?F:(0,n.merge)({},F,x);return(0,i.jsxs)("div",{className:"m-t-mini",children:[(0,i.jsx)("div",{ref:b,style:{overflowX:"hidden"},children:(0,i.jsx)(o.A,{...M})}),v?(0,i.jsx)(a.s,{gap:"mini",justify:"center",wrap:"wrap",children:N.map((e,t)=>{let r=I.includes(e);return(0,i.jsx)(s.J,{disabled:!r,handleClick:()=>{k(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},label:f[e]??e,markerColor:D[e]},`${t}-${e}`)})}):null,(null==S?void 0:S.length)>L&&(0,i.jsx)(c.x,{isExpanded:E,toggle:P})]})}},54791(e,t,r){r.d(t,{r:()=>h});var i=r(74848),l=r(47867),o=r(59181),n=r(35864),a=r(13194),s=r(25750),d=r(66384),u=r(45721),c=r(28387);let p="type",m="value",g="color",h=e=>{let{reportData:t,chartData:r,chartConfig:h,showLegend:f=!0}=e,x=(null==t?void 0:t.pieLabelColumn)??"",v=(null==t?void 0:t.pieColumn)??"",[y]=(0,l.useState)((0,a.f)(r.length)),b=(0,l.useMemo)(()=>r.map((e,t)=>({[p]:null==e?void 0:e[x],[m]:null==e?void 0:e[v],[g]:y[t]})),[r,x,v,y]),{isExpanded:j,visibleItems:C,toggle:R,initialVisibleCount:w}=(0,u.y)(b),[T,S]=(0,l.useState)(null),[E,N]=(0,l.useState)([]),P=(0,l.useMemo)(()=>(0,n.isEmpty)(E)?b:b.filter(e=>!E.includes(e[p])),[b,E]),L=(0,l.useMemo)(()=>P.reduce((e,t)=>e+t[m],0),[P]);(0,l.useEffect)(()=>{null!==T&&T.chart.changeData(P)},[P,T]);let I={data:b,colorField:g,angleField:m,autoFit:!0,height:230,scale:{color:{type:"identity"}},innerRadius:.6,legend:!1,onReady:e=>{S(e)},tooltip:{items:[e=>({name:`${e.type}`,value:`${e.value} (${Math.round(100*e.value/L)}%)`})]},annotations:[{type:"text",data:[],style:{text:L.toString(),x:"50%",y:"50%",textAlign:"center",fontSize:40,fontStyle:"bold"}}]},k=void 0===h?I:(0,n.merge)({},I,h);return(0,i.jsxs)("div",{children:[(0,i.jsx)(o.A,{...k}),f?(0,i.jsx)(s.s,{gap:"mini",justify:"center",wrap:"wrap",children:null==C?void 0:C.map((e,t)=>{let r=E.includes(e.type);return(0,i.jsx)(d.J,{disabled:r,handleClick:()=>{var t;t=e.type,N(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])},label:e.type,markerColor:e.color,value:e.value},`${t}-${e.type}`)})}):null,(null==b?void 0:b.length)>w&&(0,i.jsx)(c.x,{isExpanded:j,toggle:R})]})}},28387(e,t,r){r.d(t,{x:()=>a});var i=r(74848);r(47867);var l=r(21429),o=r(25750),n=r(27820);let a=e=>{let{isExpanded:t,toggle:r}=e,{t:a}=(0,l.useTranslation)();return(0,i.jsx)(o.s,{className:"m-t-mini",justify:"center",children:(0,i.jsx)(n.J,{icon:{value:t?"chevron-up":"chevron-down"},iconPlacement:"right",onClick:r,type:"link",children:a(t?"reports.show-fewer-labels":"reports.show-all-labels")})})}},97233(e,t,r){r.d(t,{V:()=>c});var i=r(74848);r(47867);var l=r(35864),o=r(86569),n=r(39808),a=r(54791),s=r(59740),d=r(98655),u=r(18196);let c=e=>{let{chartData:t,reportData:r,chartConfig:c}=e;if((0,l.isUndefined)(r)||(0,l.isUndefined)(t))return(0,i.jsx)(n.U,{loading:!0});let p=(null==r?void 0:r.chartType)??"default",m=(0,l.fromPairs)((0,l.map)(null==r?void 0:r.columnConfigurations,e=>[e.name,(0,u.Po)(e.label)?e.name:e.label])),g={reportData:r,chartData:t,chartLabelMap:m,chartConfig:c};if((0,u.Po)(t))return(0,i.jsx)(o.Empty,{image:o.Empty.PRESENTED_IMAGE_SIMPLE});let h=(()=>{switch(p){case"pie":default:return(0,i.jsx)(a.r,{...g});case"line":return(0,i.jsx)(s.b,{...g});case"bar":return(0,i.jsx)(d.E,{...g})}})();return(0,i.jsx)("div",{"data-testid":"report-chart-container",children:h})}},20814(e,t,r){let i;r.d(t,{o:()=>e$});var l=r(74848),o=r(47867),n=r(35864);let{FilterProvider:a,useFilterContext:s}=(i=(0,o.createContext)(void 0),{FilterProvider:e=>{let{children:t,initialValue:r}=e,[n,a]=(0,o.useState)(r),s=()=>{a(r)},d=(0,o.useMemo)(()=>({filters:n,setFilters:a,resetFilters:s}),[n,r]);return(0,l.jsx)(i.Provider,{value:d,children:t})},useFilterContext:function(){let e=(0,o.useContext)(i);if((0,n.isUndefined)(e))throw Error("useFilterContext must be used within a FilterProvider");return e}}),d=(0,o.createContext)(void 0),u=e=>{let{children:t}=e,[r,i]=(0,o.useState)([]),[n,a]=(0,o.useState)([]),s=()=>{i(n)},u=e=>{i([...r,e])},c=(0,o.useMemo)(()=>({columns:r,setColumns:i,initialColumns:n,setInitialColumns:a,resetColumnsToInitial:s,addColumn:u}),[r,i,n,a]);return(0,l.jsx)(d.Provider,{value:c,children:t})},c=()=>{let e=(0,o.useContext)(d);if((0,n.isUndefined)(e))throw Error("useColumnsContext must be used within a ColumnsProvider");return e};var p=r(8651),m=r.n(p),g=r(18196),h=r(48346),f=r(39808),x=r(25750),v=r(81898),y=r(73062);let b,j=(0,o.createContext)(void 0),C=e=>{let{name:t,children:r}=e,[i,n]=(0,o.useState)(1),[a,d]=(0,o.useState)(50),[u,c]=(0,o.useState)(b),{filters:p}=s(),m=()=>{n(1),d(50),c(b)},f=(e=>{let{name:t,filters:r,page:i,pageSize:l,sorting:o}=e,{isLoading:n,data:a,refetch:s,isFetching:d}=(0,h.useCustomReportsReportQuery)({name:t},{skip:(0,g.Po)(t)}),{isLoading:u,data:c,refetch:p,isFetching:m}=(0,h.useCustomReportsChartQuery)({body:{name:t,filters:r,page:i,pageSize:l,sortBy:null==o?void 0:o.sortBy,sortOrder:null==o?void 0:o.sortOrder}},{skip:(0,g.Po)(t)});return{reportDetailData:a,chartDetailData:c,isLoading:n||u,isFetching:d||m,refetchAll:()=>{s().catch(e=>{console.error(e)}),p().catch(e=>{console.error(e)})}}})({name:t,filters:p,page:i,pageSize:a,sorting:u}),x=(0,o.useMemo)(()=>({...f,page:i,setPage:n,pageSize:a,setPageSize:d,sorting:u,setSorting:c,resetData:m}),[f,i,n,a,d,u,c]);return(0,l.jsx)(j.Provider,{value:x,children:r})},R=()=>{let e=(0,o.useContext)(j);if((0,n.isUndefined)(e))throw Error("useReportDataContext must be used within a ReportDataProvider");return e};var w=r(21429),T=r(96940),S=r(73304),E=r(78524),N=r(91206),P=r(10883),L=r(86569),I=r(41423),k=r(2338),D=r(29740),$=r(62059),F=r(32773),M=r(27994),U=r(99154),A=r(27820),O=r(74325),B=r(7814);let _=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{selectReportLabel:t`
+ `}}),g="name",h="value",f=e=>{let{chartData:t,reportData:r,chartLabelMap:f,chartConfig:x,showLegend:v=!0}=e,{styles:y}=m(),b=(0,l.useRef)(null),{width:j}=(0,p.A)(b),[C]=(0,l.useState)((0,d.f)(t.length)),R=(null==r?void 0:r.xAxis)??"",w=null==r?void 0:r.yAxis,T=t.flatMap((e,t)=>Object.entries(e).filter(e=>{let[t]=e;return t!==R&&(null==w?void 0:w.includes(t))}).map(t=>{let[r,i]=t;return{[R]:null==e?void 0:e[R],[g]:r,[h]:(0,n.toNumber)(i)}})),S=[...new Set(T.map(e=>e.name))],{isExpanded:E,visibleItems:N,toggle:P,initialVisibleCount:I}=(0,u.y)(S),[L,k]=(0,l.useState)(S),D={...Object.fromEntries(S.map((e,t)=>[e,C[t]]))},$=(0,l.useMemo)(()=>T.filter(e=>L.includes(e.name)),[T,L]),F=(0,l.useMemo)(()=>({data:$,xField:R,yField:h,colorField:g,scale:{color:{range:C}},height:250,point:{shapeField:"circle",sizeField:4},legend:!1,interaction:{tooltip:{bounding:{x:20,y:20,height:250,width:j},render:(e,t)=>{let{title:r,items:l}=t;return(0,i.jsxs)(a.s,{gap:"mini",vertical:!0,children:[(0,i.jsx)("div",{className:y.tooltipTitle,children:r}),(0,i.jsx)(a.s,{vertical:!0,children:l.map(e=>(0,i.jsxs)(a.s,{gap:"small",justify:"space-between",children:[(0,i.jsxs)(a.s,{align:"center",gap:"mini",children:[(0,i.jsx)("div",{className:y.circle,style:{backgroundColor:e.color}}),(0,i.jsx)("div",{children:f[e.name]??e.name})]}),(0,i.jsx)("div",{className:y.tooltipItemValue,children:e.value})]},e.name))})]})}}}}),[$,j]),M=void 0===x?F:(0,n.merge)({},F,x);return(0,i.jsxs)("div",{className:"m-t-mini",children:[(0,i.jsx)("div",{ref:b,style:{overflowX:"hidden"},children:(0,i.jsx)(o.A,{...M})}),v?(0,i.jsx)(a.s,{gap:"mini",justify:"center",wrap:"wrap",children:N.map((e,t)=>{let r=L.includes(e);return(0,i.jsx)(s.J,{disabled:!r,handleClick:()=>{k(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},label:f[e]??e,markerColor:D[e]},`${t}-${e}`)})}):null,(null==S?void 0:S.length)>I&&(0,i.jsx)(c.x,{isExpanded:E,toggle:P})]})}},54791(e,t,r){r.d(t,{r:()=>h});var i=r(74848),l=r(47867),o=r(59181),n=r(35864),a=r(13194),s=r(25750),d=r(66384),u=r(45721),c=r(28387);let p="type",m="value",g="color",h=e=>{let{reportData:t,chartData:r,chartConfig:h,showLegend:f=!0}=e,x=(null==t?void 0:t.pieLabelColumn)??"",v=(null==t?void 0:t.pieColumn)??"",[y]=(0,l.useState)((0,a.f)(r.length)),b=(0,l.useMemo)(()=>r.map((e,t)=>({[p]:null==e?void 0:e[x],[m]:null==e?void 0:e[v],[g]:y[t]})),[r,x,v,y]),{isExpanded:j,visibleItems:C,toggle:R,initialVisibleCount:w}=(0,u.y)(b),[T,S]=(0,l.useState)(null),[E,N]=(0,l.useState)([]),P=(0,l.useMemo)(()=>(0,n.isEmpty)(E)?b:b.filter(e=>!E.includes(e[p])),[b,E]),I=(0,l.useMemo)(()=>P.reduce((e,t)=>e+t[m],0),[P]);(0,l.useEffect)(()=>{null!==T&&T.chart.changeData(P)},[P,T]);let L={data:b,colorField:g,angleField:m,autoFit:!0,height:230,scale:{color:{type:"identity"}},innerRadius:.6,legend:!1,onReady:e=>{S(e)},tooltip:{items:[e=>({name:`${e.type}`,value:`${e.value} (${Math.round(100*e.value/I)}%)`})]},annotations:[{type:"text",data:[],style:{text:I.toString(),x:"50%",y:"50%",textAlign:"center",fontSize:40,fontStyle:"bold"}}]},k=void 0===h?L:(0,n.merge)({},L,h);return(0,i.jsxs)("div",{children:[(0,i.jsx)(o.A,{...k}),f?(0,i.jsx)(s.s,{gap:"mini",justify:"center",wrap:"wrap",children:null==C?void 0:C.map((e,t)=>{let r=E.includes(e.type);return(0,i.jsx)(d.J,{disabled:r,handleClick:()=>{var t;t=e.type,N(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])},label:e.type,markerColor:e.color,value:e.value},`${t}-${e.type}`)})}):null,(null==b?void 0:b.length)>w&&(0,i.jsx)(c.x,{isExpanded:j,toggle:R})]})}},28387(e,t,r){r.d(t,{x:()=>a});var i=r(74848);r(47867);var l=r(21429),o=r(25750),n=r(27820);let a=e=>{let{isExpanded:t,toggle:r}=e,{t:a}=(0,l.useTranslation)();return(0,i.jsx)(o.s,{className:"m-t-mini",justify:"center",children:(0,i.jsx)(n.J,{icon:{value:t?"chevron-up":"chevron-down"},iconPlacement:"right",onClick:r,type:"link",children:a(t?"reports.show-fewer-labels":"reports.show-all-labels")})})}},97233(e,t,r){r.d(t,{V:()=>c});var i=r(74848);r(47867);var l=r(35864),o=r(86569),n=r(39808),a=r(54791),s=r(59740),d=r(98655),u=r(18196);let c=e=>{let{chartData:t,reportData:r,chartConfig:c}=e;if((0,l.isUndefined)(r)||(0,l.isUndefined)(t))return(0,i.jsx)(n.U,{loading:!0});let p=(null==r?void 0:r.chartType)??"default",m=(0,l.fromPairs)((0,l.map)(null==r?void 0:r.columnConfigurations,e=>[e.name,(0,u.Po)(e.label)?e.name:e.label])),g={reportData:r,chartData:t,chartLabelMap:m,chartConfig:c};if((0,u.Po)(t))return(0,i.jsx)(o.Empty,{image:o.Empty.PRESENTED_IMAGE_SIMPLE});let h=(()=>{switch(p){case"pie":default:return(0,i.jsx)(a.r,{...g});case"line":return(0,i.jsx)(s.b,{...g});case"bar":return(0,i.jsx)(d.E,{...g})}})();return(0,i.jsx)("div",{"data-testid":"report-chart-container",children:h})}},20814(e,t,r){let i;r.d(t,{o:()=>e$});var l=r(74848),o=r(47867),n=r(35864);let{FilterProvider:a,useFilterContext:s}=(i=(0,o.createContext)(void 0),{FilterProvider:e=>{let{children:t,initialValue:r}=e,[n,a]=(0,o.useState)(r),s=()=>{a(r)},d=(0,o.useMemo)(()=>({filters:n,setFilters:a,resetFilters:s}),[n,r]);return(0,l.jsx)(i.Provider,{value:d,children:t})},useFilterContext:function(){let e=(0,o.useContext)(i);if((0,n.isUndefined)(e))throw Error("useFilterContext must be used within a FilterProvider");return e}}),d=(0,o.createContext)(void 0),u=e=>{let{children:t}=e,[r,i]=(0,o.useState)([]),[n,a]=(0,o.useState)([]),s=()=>{i(n)},u=e=>{i([...r,e])},c=(0,o.useMemo)(()=>({columns:r,setColumns:i,initialColumns:n,setInitialColumns:a,resetColumnsToInitial:s,addColumn:u}),[r,i,n,a]);return(0,l.jsx)(d.Provider,{value:c,children:t})},c=()=>{let e=(0,o.useContext)(d);if((0,n.isUndefined)(e))throw Error("useColumnsContext must be used within a ColumnsProvider");return e};var p=r(8651),m=r.n(p),g=r(18196),h=r(48346),f=r(39808),x=r(25750),v=r(81898),y=r(73062);let b,j=(0,o.createContext)(void 0),C=e=>{let{name:t,children:r}=e,[i,n]=(0,o.useState)(1),[a,d]=(0,o.useState)(50),[u,c]=(0,o.useState)(b),{filters:p}=s(),m=()=>{n(1),d(50),c(b)},f=(e=>{let{name:t,filters:r,page:i,pageSize:l,sorting:o}=e,{isLoading:n,data:a,refetch:s,isFetching:d}=(0,h.useCustomReportsReportQuery)({name:t},{skip:(0,g.Po)(t)}),{isLoading:u,data:c,refetch:p,isFetching:m}=(0,h.useCustomReportsChartQuery)({body:{name:t,filters:r,page:i,pageSize:l,sortBy:null==o?void 0:o.sortBy,sortOrder:null==o?void 0:o.sortOrder}},{skip:(0,g.Po)(t)});return{reportDetailData:a,chartDetailData:c,isLoading:n||u,isFetching:d||m,refetchAll:()=>{s().catch(e=>{console.error(e)}),p().catch(e=>{console.error(e)})}}})({name:t,filters:p,page:i,pageSize:a,sorting:u}),x=(0,o.useMemo)(()=>({...f,page:i,setPage:n,pageSize:a,setPageSize:d,sorting:u,setSorting:c,resetData:m}),[f,i,n,a,d,u,c]);return(0,l.jsx)(j.Provider,{value:x,children:r})},R=()=>{let e=(0,o.useContext)(j);if((0,n.isUndefined)(e))throw Error("useReportDataContext must be used within a ReportDataProvider");return e};var w=r(21429),T=r(96940),S=r(73304),E=r(78524),N=r(91206),P=r(10883),I=r(86569),L=r(41423),k=r(2338),D=r(29740),$=r(62059),F=r(32773),M=r(27994),U=r(99154),A=r(27820),O=r(74325),B=r(7814);let _=(0,r(44241).createStyles)(e=>{let{css:t,token:r}=e;return{selectReportLabel:t`
color: ${r.itemActiveColor};
font-weight: ${r.fontWeightStrong};
`,selectReportGroupLabel:t`
@@ -118,4 +118,4 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
- `}}),z=()=>{let{columns:e,setColumns:t,initialColumns:r,addColumn:i,resetColumnsToInitial:a}=c(),[s,d]=(0,o.useState)([]),{t:u}=(0,w.useTranslation)(),{styles:p}=_();(0,o.useEffect)(()=>{var t;d(null==r||null==(t=r.filter(t=>!e.some(e=>t.id===e.id)))?void 0:t.map(e=>({key:e.id??(0,$.u)(),label:e.header,onClick:()=>{i(e)}})))},[e]);let m=e.map(e=>{let r=(0,$.u)();return{id:r,sortable:!0,meta:e,children:(0,l.jsx)(B.m,{title:e.header,children:(0,l.jsx)(I.v,{className:p.stackItem,children:e.header})}),renderRightToolbar:(0,l.jsx)(k.$,{size:"mini",children:(0,l.jsx)(D.K,{icon:{value:"trash"},onClick:()=>{t(m.filter(e=>e.id!==r).map(e=>e.meta))},theme:"secondary"})})}});return(0,l.jsx)(N.s,{renderToolbar:(0,l.jsx)(T.M,{theme:"secondary",children:(0,l.jsx)(M.$,{className:p.btnLink,"data-testid":"report-columns-restore-default",onClick:a,type:"link",children:u("reports.grid-config.restore-to-default")})}),children:(0,l.jsxs)(f.U,{padded:!0,children:[(0,l.jsx)(O.h,{children:u("reports.grid-config.title-columns")}),(0,l.jsxs)(k.$,{direction:"vertical",style:{width:"100%"},children:[(0,l.jsxs)(x.s,{vertical:!0,children:[0===m.length&&(0,l.jsx)(L.Empty,{image:L.Empty.PRESENTED_IMAGE_SIMPLE}),m.length>0&&(0,l.jsx)(F.N,{items:m,onItemsChange:e=>{t(e.map(e=>e.meta))},sortable:!0})]}),!(0,n.isEmpty)(s)&&(0,l.jsx)(U.m,{menu:{items:s},children:(0,l.jsx)(A.J,{"data-testid":"report-columns-add-button",icon:{value:"new"},type:"link",children:u("reports.grid-config.add-column")})})]})]})})};var q=r(56974),V=r(71916),W=r(67967);let G={string:{frontendType:"string",type:"system.string"},numeric:{frontendType:"number",type:"system.number"},boolean:{frontendType:"boolean",type:"system.boolean"},date:{frontendType:"datetime",type:"system.datetime"}},J=Object.fromEntries(Object.entries(G).map(e=>{let[t,r]=e;return[r.frontendType,t]})),K=(0,o.createContext)(void 0),Q=e=>{let{children:t}=e,[r,i]=(0,o.useState)([]),[n,a]=(0,o.useState)([]),s=(0,o.useMemo)(()=>({columnsFilters:r,setColumnsFilters:i,fieldFilters:n,setFieldFilters:a}),[r,i,n,a]);return(0,l.jsx)(K.Provider,{value:s,children:t})},H=()=>{let e=(0,o.useContext)(K);if((0,n.isUndefined)(e))throw Error("useColumnsFiltersContext must be used within a ColumnsFiltersProvider");return e},X=e=>{let{name:t}=e,{filters:r}=s(),{isLoading:i,data:l}=(0,h.useCustomReportsChartQuery)({body:{name:t,page:1,pageSize:0x2540be3ff,filters:r}},{skip:(0,g.Po)(t)});return{isLoading:i,data:l}};var Y=r(72928),Z=r(13145),ee=r(46383);let et=()=>{let{t:e}=(0,w.useTranslation)(),[t,r]=(0,o.useState)([]),{reportDetailData:i}=R(),{setColumnsFilters:a,fieldFilters:s,setFieldFilters:d}=H(),{data:u}=X({name:(null==i?void 0:i.name)??""}),{getType:c}=(0,Y.R)(),p=e=>(0,g.Po)(e.label)?e.name:e.label;return(0,o.useEffect)(()=>{d([]),a([])},[i]),(0,o.useEffect)(()=>{var e;if((0,n.isEmpty)(u))return;let t=null==i?void 0:i.columnConfigurations.filter(e=>e.display&&!(0,g.Po)(e.filterType));r(null==t||null==(e=t.filter(e=>!s.some(t=>e.name===t.name)))?void 0:e.map(e=>({key:e.id,label:p(e),onClick:()=>{let t,r,i,l,o,a;r=G[t=e.filterType??"string"].frontendType,i=G[t].type,l=p(e),o=e.name,a=(0,n.reject)(null==u?void 0:u.items.map(e=>e.data[o]),e=>(0,n.isNull)(e)),d([...s,{data:void 0,id:l,translationKey:l,name:o,type:i,frontendType:r,config:{options:(0,n.uniq)(a),showSearch:"select"===r}}])}})))},[u,i,s]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(O.h,{children:e("reports.field-filters")}),(0,l.jsxs)(L.Space,{direction:"vertical",style:{width:"100%"},children:[(0,l.jsxs)(x.s,{vertical:!0,children:[0===s.length&&(0,l.jsx)(L.Empty,{image:L.Empty.PRESENTED_IMAGE_SIMPLE}),s.length>0&&(0,l.jsx)(q.w,{data:s,onChange:e=>{d(e);let t=e.filter(e=>!(0,n.isUndefined)(e.data)).flatMap(e=>{let t=c({target:"FIELD_FILTER",dynamicTypeIds:[e.frontendType]}),r={property:e.name,type:J[e.frontendType]},i={operator:"like",value:String(e.data)};if((0,n.isNull)(t))return[{...r,...i}];return(t instanceof Z.R?(e=>{let{setting:t,from:r,to:i,is:l}=e,o=e=>(0,n.isNull)(e)?"":String(e),a={[V.L.IS]:[{operator:"eq",value:o(l)}],[V.L.LESS]:[{operator:"lt",value:o(i)}],[V.L.MORE]:[{operator:"gt",value:o(r)}],[V.L.BETWEEN]:[{operator:"gt",value:o(r)},{operator:"lt",value:o(i)}]};return a[t]??a[V.L.IS]})(e.data):t instanceof ee.y?(e=>{let{setting:t,from:r,to:i,on:l}=e,o={[W.q.ON]:[{operator:"eq",value:l??""}],[W.q.BEFORE]:[{operator:"lt",value:i??""}],[W.q.AFTER]:[{operator:"gt",value:r??""}],[W.q.BETWEEN]:[{operator:"gt",value:r??""},{operator:"lt",value:i??""}]};return o[t]??o[W.q.ON]})(e.data):[i]).map(e=>({...r,operator:e.operator,value:e.value}))});(0,n.isUndefined)(t)||a(t)}})]}),!(0,n.isEmpty)(t)&&(0,l.jsx)(U.m,{menu:{items:t},children:(0,l.jsx)(A.J,{"data-testid":"report-filters-add-column-button",icon:{value:"new"},type:"link",children:e("reports.grid-config.add-column")})})]})]})},er=()=>{let{filters:e,setFilters:t}=s(),{columnsFilters:r,setColumnsFilters:i,setFieldFilters:o}=H(),{setPage:n}=R(),{t:a}=(0,w.useTranslation)(),{styles:d}=_();return(0,l.jsx)(N.s,{renderToolbar:(0,l.jsxs)(T.M,{theme:"secondary",children:[(0,l.jsx)(M.$,{className:d.btnLink,"data-testid":"report-filters-clear-button",onClick:()=>{i([]),o([]),t({...e,columnFilters:[]})},type:"link",children:a("sidebar.clear-all-filters")}),(0,l.jsx)(M.$,{"data-testid":"report-filters-apply-button",onClick:()=>{n(1),t({...e,columnFilters:r})},type:"primary",children:a("button.apply")})]}),children:(0,l.jsx)(f.U,{padded:!0,children:(0,l.jsx)(et,{})})})},ei=()=>{let{t:e}=(0,w.useTranslation)(),{reportDetailData:t}=R(),r=(0,o.useMemo)(()=>{var e;return null==t||null==(e=t.columnConfigurations)?void 0:e.filter(e=>!(0,g.Po)(e.filterType))},[t]),i={entries:[{component:(0,l.jsx)(z,{}),key:"reports-columns-configuration",icon:(0,l.jsx)(v.I,{value:"columns"}),tooltip:e("reports.grid-config.title-columns")}]};return(0,n.isEmpty)(r)||i.entries.push({component:(0,l.jsx)(Q,{children:(0,l.jsx)(er,{})}),key:"reports-field-filters",icon:(0,l.jsx)(v.I,{value:"filter"}),tooltip:e("reports.field-filters")}),(0,l.jsx)(P.B,{sizing:"medium",...i})};var el=r(75525);let eo=e=>{let{page:t,setPage:r,pageSize:i,setPageSize:o,totalItems:n}=e,{t:a}=(0,w.useTranslation)();return(0,l.jsx)(el.d,{current:t,defaultPageSize:i,onChange:(e,t)=>{r(e),o(parseInt(t))},pageSizeOptions:[10,20,50,100],showSizeChanger:!0,showTotal:e=>a("pagination.show-total",{total:e}),total:n})};var en=r(73789),ea=r(30492),es=r(92428),ed=r(80632),eu=r(74718),ec=r(55638),ep=r(2662),em=r(58200);let eg=e=>{let{currentReport:t,showPagination:r,page:i,setPage:n,pageSize:a,setPageSize:d,totalItems:u}=e,[c,{isError:p,error:m}]=(0,h.useCustomReportExportCsvMutation)(),[g,f]=(0,o.useState)(!1),[y,b]=(0,o.useState)(!0),[j,C]=(0,o.useState)(";"),R=(0,ep.O)(),{filters:S}=s(),{t:E}=(0,w.useTranslation)(),{styles:N}=_();(0,o.useEffect)(()=>{p&&(0,ec.Ay)(new ec.hD(m))},[p]);let P=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,l.jsxs)(x.s,{align:"center",className:N.dropdownLabel,gap:"extra-small",children:[t&&(0,l.jsx)(v.I,{value:"export"}),E(e)]})},L=[{key:"csv-export",label:P("reports.csv-export"),onClick:()=>{f(!0)}}];return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(T.M,{justify:"space-between",theme:"secondary",children:[(0,l.jsx)(U.m,{menu:{items:L},children:(0,l.jsx)(en.g,{"data-testid":"report-export-button",children:P("reports.export",!1)})}),r&&(0,l.jsx)(eo,{page:i,pageSize:a,setPage:n,setPageSize:d,totalItems:u})]}),(0,l.jsx)(ea.a,{onCancel:()=>{f(!1)},onOk:()=>{let e=new eu.w({title:E("jobs.csv-job.title",{title:t}),downloadUrl:`${(0,em.$)()}/export/download/csv/{jobRunId}`,action:async()=>await c({body:{name:t,filters:S,includeHeaders:y,delimiter:j}}).unwrap()});R.runJob(e),f(!1)},open:g,title:E("reports.csv-export-modal.title"),children:(0,l.jsxs)(x.s,{gap:"small",vertical:!0,children:[(0,l.jsx)("div",{children:(0,l.jsx)(es.S,{checked:y,onChange:e=>{b(e.target.checked)},children:E("reports.csv-export-modal.include-headers")})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{style:{marginBottom:"8px"},children:(0,l.jsxs)("strong",{children:[E("reports.csv-export-modal.delimiter-label"),":"]})}),(0,l.jsx)(ed.p,{maxLength:1,onChange:e=>{C(e.target.value)},placeholder:E("reports.csv-export-modal.delimiter-placeholder"),style:{width:"100%"},value:j})]})]})})]})};var eh=r(22014),ef=r(1993);let ex=e=>{let{currentReport:t,setCurrentReport:r,reportsTreeOptions:i}=e,{t:o}=(0,w.useTranslation)(),{styles:n}=_(),{resetFilters:a}=s(),{resetData:d}=R();return(0,l.jsx)(f.U,{padded:!0,padding:{top:"extra-small",right:"extra-small",bottom:"extra-small",left:"extra-small"},children:(0,l.jsx)(T.M,{padding:{top:"extra-small",bottom:"extra-small",left:"none",right:"none"},position:"top",size:"auto",theme:"secondary",children:(0,l.jsxs)(x.s,{align:"center",gap:"extra-small",children:[(0,l.jsx)(eh.E,{className:n.selectReportLabel,children:o("reports.reports-title")}),(0,l.jsx)(ef.l,{className:"min-w-200","data-testid":"reports-view-report-selector",onChange:e=>{d(),a(),r(e)},options:i,placeholder:o("reports.select-report"),showSearch:!0,value:t})]})})})};var ev=r(89507),ey=r(97233),eb=r(14013);let ej=e=>{var t;let{reportName:r,field:i}=e,{filters:n,setFilters:a}=s(),{data:d,isLoading:u}=(0,h.useCustomReportsListDrillDownOptionsQuery)({body:{name:r,field:i.name??null}}),{t:c}=(0,w.useTranslation)(),{styles:p}=_(),[m,f]=(0,o.useState)(null),v=(0,g.Po)(i.label)?i.name:i.label;return(0,l.jsxs)(x.s,{align:"center","data-testid":`report-drilldown-${i.name}`,gap:"extra-small",children:[(0,l.jsx)(eh.E,{className:p.drillDownSelectLabel,children:v}),(0,l.jsx)(ef.l,{className:"min-w-200","data-testid":`report-drilldown-select-${i.name}`,loading:u,onSelect:e=>{f(e);let t={...(null==n?void 0:n.drillDownFilters)??{}};t[i.name]=String(e),a({...n,drillDownFilters:t})},options:null==d||null==(t=d.items)?void 0:t.map(e=>({label:e.name,value:e.value})),placeholder:c("select"),value:m})]})};var eC=r(56789),eR=r(83209),ew=r(34231);let eT=(0,ev.createColumnHelper)(),eS=e=>{var t,r;let{isLoading:i,currentReport:a,reportDetailData:s,chartDetailData:d}=e,[u,p]=(0,o.useState)(!1),m=(0,o.useRef)(null),h=(null==s?void 0:s.name)??"",{sorting:v,setSorting:y}=R(),{data:b}=X({name:h});(0,o.useEffect)(()=>{a!==m.current&&(m.current=a,(0,n.isUndefined)(a)||(0,n.isNil)(a)||!i||p(!0))},[a,i]),(0,o.useEffect)(()=>{i||p(!1)},[i]);let{columns:j,setColumns:C,setInitialColumns:T}=c(),{openElement:S}=(0,eC.K)(),{t:E}=(0,w.useTranslation)(),{styles:N}=_(),P=(0,o.useMemo)(()=>(0,n.isUndefined)(v)?[]:[{id:v.sortBy,desc:"DESC"===v.sortOrder}],[v]),L=()=>{var e;let t=[];return null==s||null==(e=s.columnConfigurations)||e.forEach((e,r)=>{if(e.display&&"only_filter"!==e.filterDrilldown){let i=(0,g.Po)(null==e?void 0:e.name)?`id-${r}`:e.name,o=(0,g.Po)(e.displayType)?"text":e.displayType;"hide"!==e.displayType&&t.push(eT.accessor(e=>null==e?void 0:e[i],{id:i,header:(0,g.Po)(e.label)?e.name:e.label,enableSorting:e.order,...!(0,n.isNull)(e.width)&&{size:e.width},meta:{type:o,..."date"===o&&{config:{showTime:!0}},..."text"===o&&{config:{renderAsHtml:!0}},...(0,n.isNull)(e.width)&&{autoWidth:!0}}})),(0,g.Po)(e.action)||t.push(eT.accessor(e=>null==e?void 0:e[i],{id:`${i}-action`,header:E("actions.open"),enableSorting:!1,size:50,cell:t=>(e=>{let{id:t,actionType:r}=e;return(0,l.jsx)(x.s,{align:"center",justify:"center",children:(0,l.jsx)(D.K,{icon:{value:"open-folder"},onClick:()=>{(e=>{let{id:t,actionType:r}=e;if(r===eR.n.OPEN_URL)window.open(`${ew.W}/pimcore-studio/${t}`,"_blank");else{let e=(0,eR.w)(r);S({id:Number(t),type:e})}})({id:Number(t),actionType:r})},type:"link"})})})({id:t.row.original[i],actionType:e.action})}))}}),t.filter(e=>!(0,n.isUndefined)(e))};(0,o.useEffect)(()=>{C(L()??[]),T(L()??[])},[s,C]);let I=(0,o.useMemo)(()=>{var e;return null==s||null==(e=s.columnConfigurations)?void 0:e.filter(e=>!(0,g.Po)(e.filterDrilldown)).map(e=>e)},[s]),k=!(0,g.Po)(null==s?void 0:s.chartType),$=null==d||null==(t=d.items)?void 0:t.map(e=>e.data),F=null==b||null==(r=b.items)?void 0:r.map(e=>e.data);return i&&u?(0,l.jsx)(f.U,{loading:!0}):(0,l.jsxs)(x.s,{className:"h-full","data-testid":"report-detail-container",gap:"small",vertical:!0,children:[!(0,n.isUndefined)(I)&&(0,l.jsx)(x.s,{"data-testid":"report-detail-drilldown-area",gap:"small",wrap:!0,children:null==I?void 0:I.map(e=>(0,l.jsx)(ej,{field:e,reportName:h},e.name))}),(0,l.jsxs)(x.s,{className:"h-full","data-testid":"report-detail-content",gap:"small",justify:"flex-start",vertical:!0,children:[k&&(0,l.jsx)(ey.V,{chartData:F,reportData:s}),!(0,n.isUndefined)($)&&(0,l.jsx)(eb.x,{allowMultipleAutoWidthColumns:!0,autoWidth:!0,className:N.gridTable,columns:j,data:$,dataTestId:"report-detail-grid",enableColumnVirtualizer:!0,enableSorting:!0,isLoading:i,manualSorting:!0,onSortingChange:e=>{if(e.length>0){let{id:t,desc:r}=e[0];y({sortBy:t,sortOrder:r?"DESC":"ASC"})}else y(void 0)},sorting:P})]})]})};var eE=r(63364),eN=r(10600);let eP=e=>{var t;let{currentReport:r,setCurrentReport:i,reportsTreeOptions:a}=e,{t:s}=(0,w.useTranslation)(),{isLoading:d,isFetching:u,reportDetailData:c,chartDetailData:p,refetchAll:m,page:h,setPage:v,pageSize:y,setPageSize:b}=R(),j=!(0,g.Po)(r),C=d||u,P=null==c||null==(t=c.dataSourceConfig)?void 0:t.type,L=(0,n.isUndefined)(P),I=eE.kL.get(eN.K["DynamicTypes/CustomReportDefinitionRegistry"]),k=L?void 0:I.getDynamicType(P),D=(0,o.useMemo)(()=>!((0,n.isNull)(r)||(0,n.isUndefined)(k))&&!!(0,n.isFunction)(null==k?void 0:k.getPagination)&&((null==k?void 0:k.getPagination())??!1),[r,k]);return(0,l.jsx)(E.F,{renderTabbar:(0,l.jsx)(N.s,{renderSidebar:!(0,n.isEmpty)(c)&&(0,l.jsx)(ei,{}),renderToolbar:!(0,n.isEmpty)(null==p?void 0:p.items)&&!u&&(0,l.jsx)(eg,{currentReport:r,page:h,pageSize:y,setPage:v,setPageSize:b,showPagination:D,totalItems:(null==p?void 0:p.totalItems)??0}),renderTopBar:(0,l.jsx)(ex,{currentReport:r,reportsTreeOptions:a,setCurrentReport:i}),children:(0,l.jsx)(f.U,{centered:!j,className:"h-full",padded:!0,padding:{top:"none",right:"extra-small",bottom:"extra-small",left:"extra-small"},children:j?(0,l.jsx)(eS,{chartDetailData:p,currentReport:r,isLoading:C,reportDetailData:c}):(0,l.jsx)(x.s,{align:"center",justify:"center",children:(0,l.jsx)(eh.E,{children:s("reports.select-report-name")})})})}),renderToolbar:(0,l.jsx)(T.M,{children:(0,l.jsx)(S.y,{isFetching:C,refetch:m})})})};var eL=r(44499),eI=r(9653);let ek=e=>{let{reportId:t}=e,[r,i]=(0,o.useState)(t??null),a=(0,eL.J)(eI.F.Reports),{isLoading:s,data:d}=(0,h.useCustomReportsGetTreeQuery)({page:1,pageSize:9999},{skip:!a}),{styles:u}=_(),c=(e,t)=>(0,l.jsxs)(x.s,{align:"center",gap:"mini",children:[!(0,g.Po)(e)&&(0,l.jsx)(v.I,{value:e}),(0,l.jsx)(y.h,{html:t})]}),p=(0,o.useMemo)(()=>{if(!(0,n.isUndefined)(null==d?void 0:d.items)){var e;let t=null==(e=d.items)?void 0:e.filter(e=>e.hasDataSourceConfig),r={},i=[];null==t||t.forEach(e=>{let l=(0,g.Po)(e.niceName)?e.name:e.niceName;if((0,g.Po)(e.group))return void i.push({label:c(e.iconClass,l),value:e.name});if((0,n.isUndefined)(r[e.group])){let i=null==t?void 0:t.filter(t=>t.group===e.group).find(e=>!(0,g.Po)(e.groupIconClass));r[e.group]={label:c((null==i?void 0:i.groupIconClass)??"",e.group),title:e.group,options:[]}}r[e.group].options.push({label:c(e.iconClass,l),value:e.name})});let o=i.length>0;return Object.keys(r).forEach((e,t)=>{let i=r[e].label;r[e].label=(0,l.jsx)("div",{className:m()(u.selectReportGroupLabel,{[u.withDivider]:o||t>0}),children:i})}),[...i,...Object.values(r)]}return[]},[d]),b=s&&(0,n.isEmpty)(p);return(0,l.jsx)(f.U,{loading:b,children:(0,l.jsx)(C,{name:r??"",children:(0,l.jsx)(eP,{currentReport:r,reportsTreeOptions:p,setCurrentReport:i})})})};var eD=r(87669);let e$=e=>{let{reportId:t}=e;return(0,l.jsx)(a,{initialValue:{columnFilters:[],drillDownFilters:{}},children:(0,l.jsx)(u,{children:(0,l.jsx)(eD.U,{serviceIds:["DynamicTypes/FieldFilterRegistry"],children:(0,l.jsx)(ek,{reportId:t})})})})}}}]);
\ No newline at end of file
+ `}}),z=()=>{let{columns:e,setColumns:t,initialColumns:r,addColumn:i,resetColumnsToInitial:a}=c(),[s,d]=(0,o.useState)([]),{t:u}=(0,w.useTranslation)(),{styles:p}=_();(0,o.useEffect)(()=>{var t;d(null==r||null==(t=r.filter(t=>!e.some(e=>t.id===e.id)))?void 0:t.map(e=>({key:e.id??(0,$.u)(),label:e.header,onClick:()=>{i(e)}})))},[e]);let m=e.map(e=>{let r=(0,$.u)();return{id:r,sortable:!0,meta:e,children:(0,l.jsx)(B.m,{title:e.header,children:(0,l.jsx)(L.v,{className:p.stackItem,children:e.header})}),renderRightToolbar:(0,l.jsx)(k.$,{size:"mini",children:(0,l.jsx)(D.K,{icon:{value:"trash"},onClick:()=>{t(m.filter(e=>e.id!==r).map(e=>e.meta))},theme:"secondary"})})}});return(0,l.jsx)(N.s,{renderToolbar:(0,l.jsx)(T.M,{theme:"secondary",children:(0,l.jsx)(M.$,{className:p.btnLink,"data-testid":"report-columns-restore-default",onClick:a,type:"link",children:u("reports.grid-config.restore-to-default")})}),children:(0,l.jsxs)(f.U,{padded:!0,children:[(0,l.jsx)(O.h,{children:u("reports.grid-config.title-columns")}),(0,l.jsxs)(k.$,{direction:"vertical",style:{width:"100%"},children:[(0,l.jsxs)(x.s,{vertical:!0,children:[0===m.length&&(0,l.jsx)(I.Empty,{image:I.Empty.PRESENTED_IMAGE_SIMPLE}),m.length>0&&(0,l.jsx)(F.N,{items:m,onItemsChange:e=>{t(e.map(e=>e.meta))},sortable:!0})]}),!(0,n.isEmpty)(s)&&(0,l.jsx)(U.m,{menu:{items:s},children:(0,l.jsx)(A.J,{"data-testid":"report-columns-add-button",icon:{value:"new"},type:"link",children:u("reports.grid-config.add-column")})})]})]})})};var q=r(56974),V=r(71916),W=r(67967);let G={string:{frontendType:"string",type:"system.string"},numeric:{frontendType:"number",type:"system.number"},boolean:{frontendType:"boolean",type:"system.boolean"},date:{frontendType:"datetime",type:"system.datetime"}},J=Object.fromEntries(Object.entries(G).map(e=>{let[t,r]=e;return[r.frontendType,t]})),K=(0,o.createContext)(void 0),Q=e=>{let{children:t}=e,[r,i]=(0,o.useState)([]),[n,a]=(0,o.useState)([]),s=(0,o.useMemo)(()=>({columnsFilters:r,setColumnsFilters:i,fieldFilters:n,setFieldFilters:a}),[r,i,n,a]);return(0,l.jsx)(K.Provider,{value:s,children:t})},H=()=>{let e=(0,o.useContext)(K);if((0,n.isUndefined)(e))throw Error("useColumnsFiltersContext must be used within a ColumnsFiltersProvider");return e},X=e=>{let{name:t}=e,{filters:r}=s(),{isLoading:i,data:l}=(0,h.useCustomReportsChartQuery)({body:{name:t,page:1,pageSize:0x2540be3ff,filters:r}},{skip:(0,g.Po)(t)});return{isLoading:i,data:l}};var Y=r(72928),Z=r(13145),ee=r(46383);let et=()=>{let{t:e}=(0,w.useTranslation)(),[t,r]=(0,o.useState)([]),{reportDetailData:i}=R(),{setColumnsFilters:a,fieldFilters:s,setFieldFilters:d}=H(),{data:u}=X({name:(null==i?void 0:i.name)??""}),{getType:c}=(0,Y.R)(),p=e=>(0,g.Po)(e.label)?e.name:e.label;return(0,o.useEffect)(()=>{d([]),a([])},[i]),(0,o.useEffect)(()=>{var e;if((0,n.isEmpty)(u))return;let t=null==i?void 0:i.columnConfigurations.filter(e=>e.display&&!(0,g.Po)(e.filterType));r(null==t||null==(e=t.filter(e=>!s.some(t=>e.name===t.name)))?void 0:e.map(e=>({key:e.id,label:p(e),onClick:()=>{let t,r,i,l,o,a;r=G[t=e.filterType??"string"].frontendType,i=G[t].type,l=p(e),o=e.name,a=(0,n.reject)(null==u?void 0:u.items.map(e=>e.data[o]),e=>(0,n.isNull)(e)),d([...s,{data:void 0,id:l,translationKey:l,name:o,type:i,frontendType:r,config:{options:(0,n.uniq)(a),showSearch:"select"===r}}])}})))},[u,i,s]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(O.h,{children:e("reports.field-filters")}),(0,l.jsxs)(I.Space,{direction:"vertical",style:{width:"100%"},children:[(0,l.jsxs)(x.s,{vertical:!0,children:[0===s.length&&(0,l.jsx)(I.Empty,{image:I.Empty.PRESENTED_IMAGE_SIMPLE}),s.length>0&&(0,l.jsx)(q.w,{data:s,onChange:e=>{d(e);let t=e.filter(e=>!(0,n.isUndefined)(e.data)).flatMap(e=>{let t=c({target:"FIELD_FILTER",dynamicTypeIds:[e.frontendType]}),r={property:e.name,type:J[e.frontendType]},i={operator:"like",value:String(e.data)};if((0,n.isNull)(t))return[{...r,...i}];return(t instanceof Z.R?(e=>{let{setting:t,from:r,to:i,is:l}=e,o=e=>(0,n.isNull)(e)?"":String(e),a={[V.L.IS]:[{operator:"eq",value:o(l)}],[V.L.LESS]:[{operator:"lt",value:o(i)}],[V.L.MORE]:[{operator:"gt",value:o(r)}],[V.L.BETWEEN]:[{operator:"gt",value:o(r)},{operator:"lt",value:o(i)}]};return a[t]??a[V.L.IS]})(e.data):t instanceof ee.y?(e=>{let{setting:t,from:r,to:i,on:l}=e,o={[W.q.ON]:[{operator:"eq",value:l??""}],[W.q.BEFORE]:[{operator:"lt",value:i??""}],[W.q.AFTER]:[{operator:"gt",value:r??""}],[W.q.BETWEEN]:[{operator:"gt",value:r??""},{operator:"lt",value:i??""}]};return o[t]??o[W.q.ON]})(e.data):[i]).map(e=>({...r,operator:e.operator,value:e.value}))});(0,n.isUndefined)(t)||a(t)}})]}),!(0,n.isEmpty)(t)&&(0,l.jsx)(U.m,{menu:{items:t},children:(0,l.jsx)(A.J,{"data-testid":"report-filters-add-column-button",icon:{value:"new"},type:"link",children:e("reports.grid-config.add-column")})})]})]})},er=()=>{let{filters:e,setFilters:t}=s(),{columnsFilters:r,setColumnsFilters:i,setFieldFilters:o}=H(),{setPage:n}=R(),{t:a}=(0,w.useTranslation)(),{styles:d}=_();return(0,l.jsx)(N.s,{renderToolbar:(0,l.jsxs)(T.M,{theme:"secondary",children:[(0,l.jsx)(M.$,{className:d.btnLink,"data-testid":"report-filters-clear-button",onClick:()=>{i([]),o([]),t({...e,columnFilters:[]})},type:"link",children:a("sidebar.clear-all-filters")}),(0,l.jsx)(M.$,{"data-testid":"report-filters-apply-button",onClick:()=>{n(1),t({...e,columnFilters:r})},type:"primary",children:a("button.apply")})]}),children:(0,l.jsx)(f.U,{padded:!0,children:(0,l.jsx)(et,{})})})},ei=()=>{let{t:e}=(0,w.useTranslation)(),{reportDetailData:t}=R(),r=(0,o.useMemo)(()=>{var e;return null==t||null==(e=t.columnConfigurations)?void 0:e.filter(e=>!(0,g.Po)(e.filterType))},[t]),i={entries:[{component:(0,l.jsx)(z,{}),key:"reports-columns-configuration",icon:(0,l.jsx)(v.I,{value:"columns"}),tooltip:e("reports.grid-config.title-columns")}]};return(0,n.isEmpty)(r)||i.entries.push({component:(0,l.jsx)(Q,{children:(0,l.jsx)(er,{})}),key:"reports-field-filters",icon:(0,l.jsx)(v.I,{value:"filter"}),tooltip:e("reports.field-filters")}),(0,l.jsx)(P.B,{sizing:"medium",...i})};var el=r(75525);let eo=e=>{let{page:t,setPage:r,pageSize:i,setPageSize:o,totalItems:n}=e,{t:a}=(0,w.useTranslation)();return(0,l.jsx)(el.d,{current:t,defaultPageSize:i,onChange:(e,t)=>{r(e),o(parseInt(t))},pageSizeOptions:[10,20,50,100],showSizeChanger:!0,showTotal:e=>a("pagination.show-total",{total:e}),total:n})};var en=r(73789),ea=r(30492),es=r(92428),ed=r(80632),eu=r(74718),ec=r(55638),ep=r(2662),em=r(58200);let eg=e=>{let{currentReport:t,showPagination:r,page:i,setPage:n,pageSize:a,setPageSize:d,totalItems:u}=e,[c,{isError:p,error:m}]=(0,h.useCustomReportExportCsvMutation)(),[g,f]=(0,o.useState)(!1),[y,b]=(0,o.useState)(!0),[j,C]=(0,o.useState)(";"),R=(0,ep.O)(),{filters:S}=s(),{t:E}=(0,w.useTranslation)(),{styles:N}=_();(0,o.useEffect)(()=>{p&&(0,ec.Ay)(new ec.hD(m))},[p]);let P=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,l.jsxs)(x.s,{align:"center",className:N.dropdownLabel,gap:"extra-small",children:[t&&(0,l.jsx)(v.I,{value:"export"}),E(e)]})},I=[{key:"csv-export",label:P("reports.csv-export"),onClick:()=>{f(!0)}}];return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(T.M,{justify:"space-between",theme:"secondary",children:[(0,l.jsx)(U.m,{menu:{items:I},children:(0,l.jsx)(en.g,{"data-testid":"report-export-button",children:P("reports.export",!1)})}),r&&(0,l.jsx)(eo,{page:i,pageSize:a,setPage:n,setPageSize:d,totalItems:u})]}),(0,l.jsx)(ea.a,{onCancel:()=>{f(!1)},onOk:()=>{let e=new eu.w({title:E("jobs.csv-job.title",{title:t}),downloadUrl:`${(0,em.$)()}/export/download/csv/{jobRunId}`,action:async()=>await c({body:{name:t,filters:S,includeHeaders:y,delimiter:j}}).unwrap()});R.runJob(e),f(!1)},open:g,title:E("reports.csv-export-modal.title"),children:(0,l.jsxs)(x.s,{gap:"small",vertical:!0,children:[(0,l.jsx)("div",{children:(0,l.jsx)(es.S,{checked:y,onChange:e=>{b(e.target.checked)},children:E("reports.csv-export-modal.include-headers")})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{style:{marginBottom:"8px"},children:(0,l.jsxs)("strong",{children:[E("reports.csv-export-modal.delimiter-label"),":"]})}),(0,l.jsx)(ed.p,{maxLength:1,onChange:e=>{C(e.target.value)},placeholder:E("reports.csv-export-modal.delimiter-placeholder"),style:{width:"100%"},value:j})]})]})})]})};var eh=r(22014),ef=r(1993);let ex=e=>{let{currentReport:t,setCurrentReport:r,reportsTreeOptions:i}=e,{t:o}=(0,w.useTranslation)(),{styles:n}=_(),{resetFilters:a}=s(),{resetData:d}=R();return(0,l.jsx)(f.U,{padded:!0,padding:{top:"extra-small",right:"extra-small",bottom:"extra-small",left:"extra-small"},children:(0,l.jsx)(T.M,{padding:{top:"extra-small",bottom:"extra-small",left:"none",right:"none"},position:"top",size:"auto",theme:"secondary",children:(0,l.jsxs)(x.s,{align:"center",gap:"extra-small",children:[(0,l.jsx)(eh.E,{className:n.selectReportLabel,children:o("reports.reports-title")}),(0,l.jsx)(ef.l,{className:"min-w-200","data-testid":"reports-view-report-selector",onChange:e=>{d(),a(),r(e)},options:i,placeholder:o("reports.select-report"),showSearch:!0,value:t})]})})})};var ev=r(89507),ey=r(97233),eb=r(14013);let ej=e=>{var t;let{reportName:r,field:i}=e,{filters:n,setFilters:a}=s(),{data:d,isLoading:u}=(0,h.useCustomReportsListDrillDownOptionsQuery)({body:{name:r,field:i.name??null}}),{t:c}=(0,w.useTranslation)(),{styles:p}=_(),[m,f]=(0,o.useState)(null),v=(0,g.Po)(i.label)?i.name:i.label;return(0,l.jsxs)(x.s,{align:"center","data-testid":`report-drilldown-${i.name}`,gap:"extra-small",children:[(0,l.jsx)(eh.E,{className:p.drillDownSelectLabel,children:v}),(0,l.jsx)(ef.l,{className:"min-w-200","data-testid":`report-drilldown-select-${i.name}`,loading:u,onSelect:e=>{f(e);let t={...(null==n?void 0:n.drillDownFilters)??{}};t[i.name]=String(e),a({...n,drillDownFilters:t})},options:null==d||null==(t=d.items)?void 0:t.map(e=>({label:e.name,value:e.value})),placeholder:c("select"),value:m})]})};var eC=r(56789),eR=r(83209),ew=r(34231);let eT=(0,ev.createColumnHelper)(),eS=e=>{var t,r;let{isLoading:i,currentReport:a,reportDetailData:s,chartDetailData:d}=e,[u,p]=(0,o.useState)(!1),m=(0,o.useRef)(null),h=(null==s?void 0:s.name)??"",{sorting:v,setSorting:y}=R(),{data:b}=X({name:h});(0,o.useEffect)(()=>{a!==m.current&&(m.current=a,(0,n.isUndefined)(a)||(0,n.isNil)(a)||!i||p(!0))},[a,i]),(0,o.useEffect)(()=>{i||p(!1)},[i]);let{columns:j,setColumns:C,setInitialColumns:T}=c(),{openElement:S}=(0,eC.K)(),{t:E}=(0,w.useTranslation)(),{styles:N}=_(),P=(0,o.useMemo)(()=>(0,n.isUndefined)(v)?[]:[{id:v.sortBy,desc:"DESC"===v.sortOrder}],[v]),I=()=>{var e;let t=[];return null==s||null==(e=s.columnConfigurations)||e.forEach((e,r)=>{if(e.display&&"only_filter"!==e.filterDrilldown){let i=(0,g.Po)(null==e?void 0:e.name)?`id-${r}`:e.name,o=(0,g.Po)(e.displayType)?"text":e.displayType;"hide"!==e.displayType&&t.push(eT.accessor(e=>null==e?void 0:e[i],{id:i,header:(0,g.Po)(e.label)?e.name:e.label,enableSorting:e.order,...!(0,n.isNull)(e.width)&&{size:e.width},meta:{type:o,..."date"===o&&{config:{showTime:!0}},..."text"===o&&{config:{renderAsHtml:!0}},...(0,n.isNull)(e.width)&&{autoWidth:!0}}})),(0,g.Po)(e.action)||t.push(eT.accessor(e=>null==e?void 0:e[i],{id:`${i}-action`,header:E("actions.open"),enableSorting:!1,size:50,cell:t=>(e=>{let{id:t,actionType:r}=e;return(0,l.jsx)(x.s,{align:"center",justify:"center",children:(0,l.jsx)(D.K,{icon:{value:"open-folder"},onClick:()=>{(e=>{let{id:t,actionType:r}=e;if(r===eR.n.OPEN_URL)window.open(`${ew.W}/pimcore-studio/${t}`,"_blank");else{let e=(0,eR.w)(r);S({id:Number(t),type:e})}})({id:Number(t),actionType:r})},type:"link"})})})({id:t.row.original[i],actionType:e.action})}))}}),t.filter(e=>!(0,n.isUndefined)(e))};(0,o.useEffect)(()=>{C(I()??[]),T(I()??[])},[s,C]);let L=(0,o.useMemo)(()=>{var e;return null==s||null==(e=s.columnConfigurations)?void 0:e.filter(e=>!(0,g.Po)(e.filterDrilldown)).map(e=>e)},[s]),k=!(0,g.Po)(null==s?void 0:s.chartType),$=null==d||null==(t=d.items)?void 0:t.map(e=>e.data),F=null==b||null==(r=b.items)?void 0:r.map(e=>e.data);return i&&u?(0,l.jsx)(f.U,{loading:!0}):(0,l.jsxs)(x.s,{className:"h-full","data-testid":"report-detail-container",gap:"small",vertical:!0,children:[!(0,n.isUndefined)(L)&&(0,l.jsx)(x.s,{"data-testid":"report-detail-drilldown-area",gap:"small",wrap:!0,children:null==L?void 0:L.map(e=>(0,l.jsx)(ej,{field:e,reportName:h},e.name))}),(0,l.jsxs)(x.s,{className:"h-full","data-testid":"report-detail-content",gap:"small",justify:"flex-start",vertical:!0,children:[k&&(0,l.jsx)(ey.V,{chartData:F,reportData:s}),!(0,n.isUndefined)($)&&(0,l.jsx)(eb.x,{allowMultipleAutoWidthColumns:!0,autoWidth:!0,className:N.gridTable,columns:j,data:$,dataTestId:"report-detail-grid",enableColumnVirtualizer:!0,enableSorting:!0,isLoading:i,manualSorting:!0,onSortingChange:e=>{if(e.length>0){let{id:t,desc:r}=e[0];y({sortBy:t,sortOrder:r?"DESC":"ASC"})}else y(void 0)},sorting:P})]})]})};var eE=r(63364),eN=r(10600);let eP=e=>{var t;let{currentReport:r,setCurrentReport:i,reportsTreeOptions:a}=e,{t:s}=(0,w.useTranslation)(),{isLoading:d,isFetching:u,reportDetailData:c,chartDetailData:p,refetchAll:m,page:h,setPage:v,pageSize:y,setPageSize:b}=R(),j=!(0,g.Po)(r),C=d||u,P=null==c||null==(t=c.dataSourceConfig)?void 0:t.type,I=(0,n.isUndefined)(P),L=eE.kL.get(eN.K["DynamicTypes/CustomReportDefinitionRegistry"]),k=I?void 0:L.getDynamicType(P),D=(0,o.useMemo)(()=>!((0,n.isNull)(r)||(0,n.isUndefined)(k))&&!!(0,n.isFunction)(null==k?void 0:k.getPagination)&&((null==k?void 0:k.getPagination())??!1),[r,k]);return(0,l.jsx)(E.F,{renderTabbar:(0,l.jsx)(N.s,{renderSidebar:!(0,n.isEmpty)(c)&&(0,l.jsx)(ei,{}),renderToolbar:!(0,n.isEmpty)(null==p?void 0:p.items)&&!u&&(0,l.jsx)(eg,{currentReport:r,page:h,pageSize:y,setPage:v,setPageSize:b,showPagination:D,totalItems:(null==p?void 0:p.totalItems)??0}),renderTopBar:(0,l.jsx)(ex,{currentReport:r,reportsTreeOptions:a,setCurrentReport:i}),children:(0,l.jsx)(f.U,{centered:!j,className:"h-full",padded:!0,padding:{top:"none",right:"extra-small",bottom:"extra-small",left:"extra-small"},children:j?(0,l.jsx)(eS,{chartDetailData:p,currentReport:r,isLoading:C,reportDetailData:c}):(0,l.jsx)(x.s,{align:"center",justify:"center",children:(0,l.jsx)(eh.E,{children:s("reports.select-report-name")})})})}),renderToolbar:(0,l.jsx)(T.M,{children:(0,l.jsx)(S.y,{isFetching:C,refetch:m})})})};var eI=r(44499),eL=r(9653);let ek=e=>{let{reportId:t}=e,[r,i]=(0,o.useState)(t??null),a=(0,eI.J)(eL.F.Reports),{isLoading:s,data:d}=(0,h.useCustomReportsGetTreeQuery)({page:1,pageSize:9999},{skip:!a}),{styles:u}=_(),c=(e,t)=>(0,l.jsxs)(x.s,{align:"center",gap:"mini",children:[!(0,g.Po)(e)&&(0,l.jsx)(v.I,{value:e}),(0,l.jsx)(y.h,{html:t})]}),p=(0,o.useMemo)(()=>{if(!(0,n.isUndefined)(null==d?void 0:d.items)){var e;let t=null==(e=d.items)?void 0:e.filter(e=>e.hasDataSourceConfig),r={},i=[];null==t||t.forEach(e=>{let l=(0,g.Po)(e.niceName)?e.name:e.niceName;if((0,g.Po)(e.group))return void i.push({label:c(e.iconClass,l),value:e.name});if((0,n.isUndefined)(r[e.group])){let i=null==t?void 0:t.filter(t=>t.group===e.group).find(e=>!(0,g.Po)(e.groupIconClass));r[e.group]={label:c((null==i?void 0:i.groupIconClass)??"",e.group),title:e.group,options:[]}}r[e.group].options.push({label:c(e.iconClass,l),value:e.name})});let o=i.length>0;return Object.keys(r).forEach((e,t)=>{let i=r[e].label;r[e].label=(0,l.jsx)("div",{className:m()(u.selectReportGroupLabel,{[u.withDivider]:o||t>0}),children:i})}),[...i,...Object.values(r)]}return[]},[d]),b=s&&(0,n.isEmpty)(p);return(0,l.jsx)(f.U,{loading:b,children:(0,l.jsx)(C,{name:r??"",children:(0,l.jsx)(eP,{currentReport:r,reportsTreeOptions:p,setCurrentReport:i})})})};var eD=r(87669);let e$=e=>{let{reportId:t}=e;return(0,l.jsx)(a,{initialValue:{columnFilters:[],drillDownFilters:{}},children:(0,l.jsx)(u,{children:(0,l.jsx)(eD.U,{serviceIds:["DynamicTypes/FieldFilterRegistry"],children:(0,l.jsx)(ek,{reportId:t})})})})}}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/616.2ffecb95.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4596.0f590c31.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4603.86da83a0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4603.86da83a0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4680.66eae797.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4680.66eae797.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4693.552164ec.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4693.552164ec.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4698.6d0eba4e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4698.6d0eba4e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4702.508d41d1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4702.508d41d1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4715.3e1202d6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4715.3e1202d6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4718.b15efaaf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4718.b15efaaf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4771.c5e9b1dd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4771.c5e9b1dd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4799.a225248d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4799.a225248d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4858.820711a5.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4858.820711a5.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/4871.b42a8935.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/4871.b42a8935.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/489.693d11de.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/489.693d11de.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5084.877dbf80.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5084.877dbf80.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5114.ebf1bfcb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5114.ebf1bfcb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5123.9f567207.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5123.9f567207.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5154.a94bb137.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5154.a94bb137.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5168.fdbd2cef.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5168.fdbd2cef.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5177.a255dad2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5177.a255dad2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5186.deb009c0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5186.deb009c0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/521.cb98200a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/521.cb98200a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5277.97ce57aa.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5277.97ce57aa.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5331.bbbb73f8.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5331.bbbb73f8.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5412.53c2e3aa.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5412.53c2e3aa.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5431.0eb962a2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5431.0eb962a2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5454.a8bca7d3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5454.a8bca7d3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5545.cde240bd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5545.cde240bd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5561.b76a78d2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5561.b76a78d2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5690.782c3ae6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5690.782c3ae6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5696.ab2274ca.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5696.ab2274ca.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5712.ffe8bf9d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5712.ffe8bf9d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5731.15301fd9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5731.15301fd9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5753.371bde44.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5753.371bde44.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5804.1be86954.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5804.1be86954.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/582.4f5fd381.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/582.4f5fd381.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5841.812278cf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5841.812278cf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5904.327a2f83.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5904.327a2f83.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5976.be3da2cf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5976.be3da2cf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/5990.3c9d8c23.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/5990.3c9d8c23.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6052.a270b069.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6052.a270b069.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6135.d371dcf8.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6135.d371dcf8.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6186.9fa7f507.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6186.9fa7f507.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/619.59f8e380.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/619.59f8e380.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6229.ec077e40.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6229.ec077e40.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6255.2e48b884.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6255.2e48b884.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6270.f9ff3abd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6270.f9ff3abd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6272.f2f56a80.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6272.f2f56a80.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6313.e76747fb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6313.e76747fb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6335.0ad9b174.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6335.0ad9b174.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6411.ae78ff82.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6411.ae78ff82.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6424.ca220edd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6424.ca220edd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6458.b5282ed0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6458.b5282ed0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6464.b6d25cb6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6464.b6d25cb6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6472.df513d2d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6472.df513d2d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6484.2519155d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6484.2519155d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6550.09a63ebf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6550.09a63ebf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6572.510ff641.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6572.510ff641.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6579.cda7f334.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6579.cda7f334.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/658.dc677028.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/658.dc677028.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/660.5242d83f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/660.5242d83f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6619.93b9f2c4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6619.93b9f2c4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6649.2b614ce3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6649.2b614ce3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6695.087ae8ff.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6695.087ae8ff.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6743.851be9cb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6743.851be9cb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6759.cf6c0abd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6759.cf6c0abd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6766.c76f91a5.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6766.c76f91a5.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6815.80ba0d22.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6815.80ba0d22.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6819.424ecfc4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6819.424ecfc4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6823.dc627341.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6823.dc627341.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/687.ae382b4d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/687.ae382b4d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6911.d02db343.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6911.d02db343.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/692.ac93e4e2.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/692.ac93e4e2.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6967.4d971194.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6967.4d971194.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/6984.af4507e3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/6984.af4507e3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7006.928d8671.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7006.928d8671.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7041.230cf6a4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7041.230cf6a4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/705.fad963d9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/705.fad963d9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7053.63c4c0a6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7053.63c4c0a6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/706.01d44a78.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/706.01d44a78.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7073.fb6439a4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7073.fb6439a4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7161.f24a612f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7161.f24a612f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7171.8731ac06.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7171.8731ac06.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7210.9113a386.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7210.9113a386.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7250.364fbcad.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7250.364fbcad.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7264.fc5a523f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7264.fc5a523f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7334.be0321bf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7334.be0321bf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7396.da4c50f4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7396.da4c50f4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/741.734ea878.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/741.734ea878.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7419.b1cfaeac.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7419.b1cfaeac.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7440.04b86278.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7440.04b86278.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7442.636a9ffa.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7442.636a9ffa.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7463.e177b088.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7463.e177b088.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/749.7c748f48.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/749.7c748f48.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7524.73ba348d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7524.73ba348d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7527.e64ccbd1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7527.e64ccbd1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7597.42dde6f3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7597.42dde6f3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7679.a6829c17.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7679.a6829c17.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7680.2cb113f6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7680.2cb113f6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7789.50873df9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7789.50873df9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7793.d6bce01b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7793.d6bce01b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7799.a37e9eaf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7799.a37e9eaf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7821.b1a2dc53.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7821.b1a2dc53.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7828.812c672f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7828.812c672f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7935.ba8eb0b4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7935.ba8eb0b4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7939.af086f08.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7939.af086f08.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7960.9d4a54c0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7960.9d4a54c0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/7994.c600e1ce.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/7994.c600e1ce.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/803.52d29752.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/803.52d29752.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8031.b368b0bf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8031.b368b0bf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8050.502aa521.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8050.502aa521.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8051.9c74ecaf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8051.9c74ecaf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8146.e69de8bc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8146.e69de8bc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8195.c8bb6771.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8195.c8bb6771.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8222.acb59083.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8222.acb59083.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8231.0a773046.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8231.0a773046.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8272.64fe9f7a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8272.64fe9f7a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/830.dda8066f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/830.dda8066f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8372.d6f25582.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8372.d6f25582.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8403.58bbddc4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8403.58bbddc4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8437.864e7b29.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8437.864e7b29.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8467.f7bd216d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8467.f7bd216d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8473.25a53f08.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8473.25a53f08.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8477.0c91210d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8477.0c91210d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8479.55f72fe0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8479.55f72fe0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/85.3d7bb7a3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/85.3d7bb7a3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8520.3f467428.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8520.3f467428.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8536.df877041.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8536.df877041.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/854.95bad760.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/854.95bad760.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8547.3355910d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8547.3355910d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8557.e526282d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8557.e526282d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8567.2e09cb4e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8567.2e09cb4e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8574.8c240d77.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8574.8c240d77.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8609.b6039081.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8609.b6039081.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8635.29404620.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8635.29404620.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8645.7a1aa6c0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8645.7a1aa6c0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8658.55f9d53e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8658.55f9d53e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8707.80dfb17f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8707.80dfb17f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8779.bdcddd0a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8779.bdcddd0a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8800.1154e54c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8800.1154e54c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8832.e1a7ddbf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8832.e1a7ddbf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8835.d50a0005.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8835.d50a0005.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8850.1ef4da0e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8850.1ef4da0e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8910.7686ba2c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8910.7686ba2c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8932.e8090749.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8932.e8090749.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/8971.cb9861fc.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/8971.cb9861fc.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9007.f28d0779.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9007.f28d0779.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9030.03e4d789.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9030.03e4d789.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9052.67bd17cd.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9052.67bd17cd.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9076.7a2b7e9a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9076.7a2b7e9a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9114.7d0c9ca9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9114.7d0c9ca9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9204.8f0c9c3a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9204.8f0c9c3a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9322.81e49a3d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9322.81e49a3d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9336.9a425d8d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9336.9a425d8d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/935.4dfccbd9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/935.4dfccbd9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9357.709b2aae.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9357.709b2aae.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9403.9f36612d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9403.9f36612d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9454.03f9cbf9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9454.03f9cbf9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9471.3511726f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9471.3511726f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9536.9b33a533.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9536.9b33a533.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9603.dcad1930.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9603.dcad1930.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9607.214ebd42.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9607.214ebd42.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9691.a7a34297.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9691.a7a34297.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9765.07ec2c12.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9765.07ec2c12.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9767.926906cb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9767.926906cb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9801.09cd7cd0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9801.09cd7cd0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/9880.64c12943.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/9880.64c12943.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js
similarity index 96%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js
index 99816bc732..0f2df57521 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js
@@ -1,5 +1,5 @@
-/*! For license information please see __federation_expose__internal___mf_bootstrap.7441f43a.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["2108"],{55831(e,i,t){t.a(e,async function(a,n){try{t.r(i),t(5970);var m=t(72022),r=t(80323),p=t(21849),d=t(27755);e=t.hmd(e),void 0!==e.hot&&e.hot.accept(),window.Pimcore=(await Promise.resolve().then(t.bind(t,21849))).Pimcore,window.PimcoreStudio=p.PimcoreStudio,window.addEventListener("load",async()=>{await r.f.loadPlugins(),r.f.initPlugins(),r.f.startupPlugins(),d.s.initModules(),(0,m.T)()}),n()}catch(e){n(e)}},1)},72022(e,i,t){t.d(i,{T:()=>B});var a=t(74848),n=t(47867),m=t(5338),r=t(64471),p=t(86569),d=t(52725),g=t(40595),o=t(35864),l=t(41630),s=t(39808),h=t(44241);let x=(0,h.createGlobalStyle)`
+/*! For license information please see __federation_expose__internal___mf_bootstrap.63eb30f6.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["2108"],{55831(e,i,t){t.a(e,async function(a,n){try{t.r(i),t(71098);var m=t(72022),r=t(80323),p=t(21849),d=t(27755);e=t.hmd(e),void 0!==e.hot&&e.hot.accept(),window.Pimcore=(await Promise.resolve().then(t.bind(t,21849))).Pimcore,window.PimcoreStudio=p.PimcoreStudio,window.addEventListener("load",async()=>{await r.f.loadPlugins(),r.f.initPlugins(),r.f.startupPlugins(),d.s.initModules(),(0,m.T)()}),n()}catch(e){n(e)}},1)},72022(e,i,t){t.d(i,{T:()=>B});var a=t(74848),n=t(47867),m=t(5338),r=t(64471),p=t(86569),d=t(52725),g=t(40595),o=t(35864),l=t(41630),s=t(39808),h=t(44241);let x=(0,h.createGlobalStyle)`
* {
box-sizing: border-box;
}
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap.7441f43a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap.63eb30f6.js.LICENSE.txt
diff --git a/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js
new file mode 100644
index 0000000000..c50e062700
--- /dev/null
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js
@@ -0,0 +1,24 @@
+/*! For license information please see __federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["9615"],{96232(e,t,i){i.a(e,async function(n,r){try{i.r(t),i(71098);var a=i(80323),o=i(27755),s=i(82189);e=i.hmd(e),void 0!==e.hot&&e.hot.accept(),window.Pimcore=(await i.e("4530").then(i.bind(i,21849))).Pimcore,window.PimcoreDocumentEditor=(await i.e("2103").then(i.bind(i,18346))).PimcoreDocumentEditor,window.addEventListener("load",async()=>{await a.f.loadPlugins(),a.f.initPlugins(),a.f.startupPlugins(),o.s.initModules(),(0,s.T)()}),r()}catch(e){r(e)}},1)},82189(e,t,i){i.d(t,{T:()=>_});var n=i(74848),r=i(47867),a=i(5338),o=i(55638),s=i(35864),d=i(63364),l=i(10600),u=i(57180),c=i(15789),f=i(25765),m=i.n(f),p=i(11774);let h=e=>{let{editableDefinitions:t}=e,i=(0,r.useRef)({});return t.forEach(e=>{(0,s.isUndefined)(i.current[e.id])&&(i.current[e.id]=(0,r.createRef)())}),(0,n.jsx)(n.Fragment,{children:t.map(e=>{let t=document.getElementById(e.id);return(0,s.isNull)(t)?null:(!(0,s.isNull)(i.current[e.id])&&(0,s.isNull)(i.current[e.id].current)&&(i.current[e.id].current=t),m().createPortal((0,n.jsx)(p.t,{containerRef:i.current[e.id],editableDefinition:e},e.id),t))})})},g=e=>{let{editableDefinitions:t}=e,i=(0,d.Lt)(l.K["DynamicTypes/DocumentEditableRegistry"]),a=(0,r.useRef)(!1),[o,f]=(0,r.useState)(!1),{initializeData:m,notifyReady:p,initializeInheritanceState:g}=(0,u.U)(),{id:y}=(0,r.useContext)(c.T);return((0,r.useEffect)(()=>{if(!a.current){let e,n;m((e={},t.forEach(t=>{let n=i.hasDynamicType(t.type)?i.getDynamicType(t.type):void 0;e[t.name]={type:t.type,data:(0,s.isUndefined)(n)?t.data??null:n.transformValue(t.data,t)}}),e)),g((n={},t.forEach(e=>{n[e.name]=e.inherited}),n)),a.current=!0,f(!0)}},[t,m,g]),(0,r.useEffect)(()=>{if(a.current){p();try{i.notifyDocumentReady(y,t)}catch(e){console.warn("Could not process document ready events:",e)}}},[p,t,y,i]),o)?(0,n.jsx)(h,{editableDefinitions:t}):(0,n.jsx)(n.Fragment,{})};var y=i(64471),w=i(75240),x=i(86569),b=i(37327),v=i(13947),E=i(60142),R=i.n(E),j=i(21429),D=i(46096),S=i(11207),I=i(25085);let N=(e,t)=>{if((0,I.isNonEmptyString)(e)&&e!==t)return e},k=async()=>{try{let{i18n:e}=(0,D.qH)(),t=e.getTranslationResources(),i=e.getCurrentLanguage(),n=e.getFallbackLanguage(),r={};Object.keys(t).forEach(e=>{r[e]={translation:{...t[e]??{}}}}),await R().use(j.initReactI18next).init({lng:i,fallbackLng:n,ns:["translation"],defaultNS:"translation",keySeparator:!1,resources:r,saveMissing:!0,postProcess:["returnKeyIfEmpty"],interpolation:{escapeValue:!1}}),R().use(S.K),R().on("missingKey",(t,r,a,o)=>{if((0,I.isNonEmptyString)(a))try{let t=e.getTranslationResources(),o=((e,t,i,n)=>{var r,a;let o=N(null==(r=e[i])?void 0:r[t],t);if(void 0!==o)return o;let s=N(null==(a=e[n])?void 0:a[t],t);if(void 0!==s)return s})(t,a,i,n);void 0!==o?(R().addResource(i,r,a,o),i!==n&&R().addResource(n,r,a,o),console.warn("[iframe-i18n] missingKey but translation exists in parent catalog",{key:a,currentLanguage:i,fallbackLanguage:n,translatedValue:o})):e.reportMissingTranslation(a)}catch(e){console.warn(`Could not report missing translation key '${a}' to parent window:`,e)}})}catch(e){console.warn("Could not initialize iframe i18n from parent window, falling back to basic setup:",e),await R().use(j.initReactI18next).init({lng:"en",fallbackLng:"en",keySeparator:!1,ns:["translation"],resources:{},saveMissing:!1})}};var P=i(5481),q=i(44241);let L=(0,q.createGlobalStyle)`
+ /* Required field styling for document editables - Default behavior: style direct children of wrapper */
+ [data-required-active="true"]:not(:has(.studio-required-field-target)) .studio-required-field-wrapper > * {
+ outline: 2px dashed ${e=>e.theme.colorError} !important;
+ outline-offset: 5px !important;
+ }
+
+ /* Required field styling for document editables - Custom target behavior: style specific target element */
+ [data-required-active="true"] .studio-required-field-target {
+ outline: 2px dashed ${e=>e.theme.colorError} !important;
+ outline-offset: 5px !important;
+ }
+
+ .ant-dropdown-menu,
+ .ant-dropdown-menu-sub {
+ overflow: auto;
+ max-height: 48vh;
+ }
+
+ .ant-dropdown-menu-submenu-popup {
+ box-shadow: ${e=>e.theme.boxShadowSecondary};
+ }
+`,T=()=>{let e=window.editableDefinitions??[],{isInitialized:t}=(()=>{let[e,t]=(0,r.useState)(!1),[i,n]=(0,r.useState)(null);return(0,r.useEffect)(()=>{(async()=>{try{await k(),t(!0)}catch(i){let e=i instanceof Error?i:Error("Failed to initialize iframe i18n");console.error("Failed to initialize iframe i18n:",e),n(e),t(!0)}})()},[]),{isInitialized:e,error:i}})(),i=new URLSearchParams(window.location.search).get("documentId"),a=(0,s.isNil)(i)?void 0:parseInt(i,10);return t?(0,s.isNil)(a)||!(0,s.isNumber)(a)||(0,s.isNaN)(a)||a<=0?(0,n.jsx)(w.F,{description:"A valid documentId parameter is required in the URL.",message:"Error: Invalid Document ID",showIcon:!0,type:"error"}):(0,n.jsx)(r.StrictMode,{children:(0,n.jsx)(v.A,{children:(0,n.jsx)(y.D,{children:(0,n.jsxs)(x.App,{children:[(0,n.jsx)(L,{}),(0,n.jsx)(P.Y,{children:(0,n.jsx)(b.M,{children:(0,n.jsx)(c.f,{id:a,children:(0,n.jsx)(g,{editableDefinitions:e})})})})]})})})}):(0,n.jsx)("div",{style:{padding:"20px",textAlign:"center"},children:"Loading translations..."})};function _(){let e=document.getElementById("pimcore-studio-app");null===e?(0,o.Ay)(new o.$g("Root element not found")):(0,a.createRoot)(e).render((0,n.jsx)(T,{}))}}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.ce47134e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose__internal___mf_bootstrap_document_editor_iframe.d37cae31.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api.fbe2c7c1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api.fbe2c7c1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__asset.9dee10b3.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__asset.9dee10b3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__class_definition.6192771c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__class_definition.6192771c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__custom_metadata.10d73b97.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js
similarity index 66%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js
index e250b46ab3..e0df72aceb 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js
@@ -1,2 +1,2 @@
-/*! For license information please see __federation_expose_api__data_object.160792b1.js.LICENSE.txt */
-"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["2489"],{91434(a,t,e){e.d(t,{Ex:()=>n,FH:()=>i,M5:()=>u,ZE:()=>o,ft:()=>c,lJ:()=>s,nF:()=>p,pV:()=>b,rg:()=>r});var d=e(53996);let i=e(69187).FH.enhanceEndpoints({addTagTypes:[d.nP.DATA_OBJECT,d.nP.DATA_OBJECT_TREE,d.nP.DATA_OBJECT_DETAIL],endpoints:{dataObjectClone:{invalidatesTags:(a,t,e)=>d.qN.DATA_OBJECT_TREE_ID(e.parentId)},dataObjectGetById:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectGetTree:{providesTags:(a,t,e)=>void 0!==e.parentId?d.yc.DATA_OBJECT_TREE_ID(e.parentId):d.yc.DATA_OBJECT_TREE()},dataObjectGetGrid:{keepUnusedDataFor:10,providesTags:(a,t,e)=>d.yc.DATA_OBJECT_GRID_ID(e.body.folderId)},dataObjectUpdateById:{invalidatesTags:(a,t,e)=>"autoSave"===e.body.data.task?[]:d.qN.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectAdd:{invalidatesTags:(a,t,e)=>d.qN.DATA_OBJECT_TREE_ID(e.parentId)},dataObjectGetLayoutById:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectFormatPath:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.body.objectId)},dataObjectPatchById:{invalidatesTags:(a,t,e)=>{let i=[];for(let a of e.body.data)i.push(...d.qN.DATA_OBJECT_DETAIL_ID(a.id));return i}}}}),{useDataObjectAddMutation:o,useDataObjectCloneMutation:r,useDataObjectGetByIdQuery:s,useDataObjectUpdateByIdMutation:c,useDataObjectPatchByIdMutation:u,useDataObjectPatchFolderByIdMutation:n,useDataObjectGetTreeQuery:b,useDataObjectGetLayoutByIdQuery:p}=i},69187(a,t,e){e.d(t,{FH:()=>d,Gq:()=>G,M5:()=>v,RX:()=>b,ZE:()=>i,dB:()=>g,ft:()=>c,je:()=>j,lw:()=>n,n5:()=>O,om:()=>m,rg:()=>r,t1:()=>p,v4:()=>T,vr:()=>u});let d=e(53073).api.enhanceEndpoints({addTagTypes:["Data Objects","Data Object Grid"]}).injectEndpoints({endpoints:a=>({dataObjectAdd:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/add/${a.parentId}`,method:"POST",body:a.dataObjectAddParameters}),invalidatesTags:["Data Objects"]}),dataObjectBatchDelete:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects/batch-delete",method:"DELETE",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectClone:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}/clone/${a.parentId}`,method:"POST",body:a.cloneParameters}),invalidatesTags:["Data Objects"]}),dataObjectGetById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}`}),providesTags:["Data Objects"]}),dataObjectUpdateById:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}`,method:"PUT",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectGetGridPreview:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/grid/preview",method:"POST",body:a.body}),providesTags:["Data Object Grid"]}),dataObjectDeleteGridConfigurationByConfigurationId:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/${a.configurationId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectGetGridConfiguration:a.query({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/${a.folderId}/${a.classId}`,params:{configurationId:a.configurationId}}),providesTags:["Data Object Grid"]}),dataObjectListSavedGridConfigurations:a.query({query:a=>({url:`/pimcore-studio/api/data-object/grid/configurations/${a.classId}`}),providesTags:["Data Object Grid"]}),dataObjectRemoveGridConfigurationAsFavorite:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/remove-favorite/${a.configurationId}/${a.folderId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectSaveGridConfiguration:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/save/${a.classId}`,method:"POST",body:a.body}),invalidatesTags:["Data Object Grid"]}),dataObjectSetGridConfigurationAsFavorite:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/${a.configurationId}/${a.folderId}`,method:"POST"}),invalidatesTags:["Data Object Grid"]}),dataObjectUpdateGridConfiguration:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/update/${a.configurationId}`,method:"PUT",body:a.body}),invalidatesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumns:a.query({query:a=>({url:"/pimcore-studio/api/data-object/grid/available-columns",params:{classId:a.classId,folderId:a.folderId}}),providesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumnsForRelation:a.query({query:a=>({url:"/pimcore-studio/api/data-object/grid/available-columns-for-relation",params:{classId:a.classId,relationField:a.relationField}}),providesTags:["Data Object Grid"]}),dataObjectGetGrid:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/grid/${a.classId}`,method:"POST",body:a.body}),providesTags:["Data Object Grid"]}),dataObjectGetPhpcodeTransformers:a.query({query:()=>({url:"/pimcore-studio/api/data-objects/grid/transformers/services/phpcode"}),providesTags:["Data Object Grid"]}),dataObjectGetLayoutById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}/layout`,params:{layoutId:a.layoutId}}),providesTags:["Data Objects"]}),dataObjectPatchById:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects",method:"PATCH",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectPatchFolderById:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects/folder",method:"PATCH",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectFormatPath:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/format-path",method:"POST",body:a.body}),providesTags:["Data Objects"]}),dataObjectPreviewById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/preview/${a.id}`,params:{site:a.site}}),providesTags:["Data Objects"]}),dataObjectReplaceContent:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.sourceId}/replace/${a.targetId}`,method:"POST"}),invalidatesTags:["Data Objects"]}),dataObjectGetSelectOptions:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects/select-options",method:"POST",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectGetTree:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/tree",params:{page:a.page,pageSize:a.pageSize,parentId:a.parentId,idSearchTerm:a.idSearchTerm,pqlQuery:a.pqlQuery,excludeFolders:a.excludeFolders,path:a.path,pathIncludeParent:a.pathIncludeParent,pathIncludeDescendants:a.pathIncludeDescendants,className:a.className,classIds:a.classIds}}),providesTags:["Data Objects"]})}),overrideExisting:!1}),{useDataObjectAddMutation:i,useDataObjectBatchDeleteMutation:o,useDataObjectCloneMutation:r,useDataObjectGetByIdQuery:s,useDataObjectUpdateByIdMutation:c,useDataObjectGetGridPreviewQuery:u,useDataObjectDeleteGridConfigurationByConfigurationIdMutation:n,useDataObjectGetGridConfigurationQuery:b,useDataObjectListSavedGridConfigurationsQuery:p,useDataObjectRemoveGridConfigurationAsFavoriteMutation:l,useDataObjectSaveGridConfigurationMutation:j,useDataObjectSetGridConfigurationAsFavoriteMutation:y,useDataObjectUpdateGridConfigurationMutation:T,useDataObjectGetAvailableGridColumnsQuery:O,useDataObjectGetAvailableGridColumnsForRelationQuery:m,useDataObjectGetGridQuery:g,useDataObjectGetPhpcodeTransformersQuery:D,useDataObjectGetLayoutByIdQuery:I,useDataObjectPatchByIdMutation:v,useDataObjectPatchFolderByIdMutation:E,useDataObjectFormatPathQuery:h,useDataObjectPreviewByIdQuery:q,useDataObjectReplaceContentMutation:G,useDataObjectGetSelectOptionsMutation:A,useDataObjectGetTreeQuery:_}=d},58077(a,t,e){e.r(t),e.d(t,{api:()=>d.FH,useDataObjectAddMutation:()=>d.ZE,useDataObjectCloneMutation:()=>d.rg,useDataObjectGetByIdQuery:()=>d.lJ,useDataObjectGetLayoutByIdQuery:()=>d.nF,useDataObjectGetTreeQuery:()=>d.pV,useDataObjectPatchByIdMutation:()=>d.M5,useDataObjectPatchFolderByIdMutation:()=>d.Ex,useDataObjectUpdateByIdMutation:()=>d.ft});var d=e(91434);void 0!==(a=e.hmd(a)).hot&&a.hot.accept()}}]);
\ No newline at end of file
+/*! For license information please see __federation_expose_api__data_object.23ff06e0.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["2489"],{91434(a,t,e){e.d(t,{Ex:()=>n,FH:()=>i,M5:()=>u,ZE:()=>o,ft:()=>c,lJ:()=>s,nF:()=>p,pV:()=>b,rg:()=>r});var d=e(53996);let i=e(69187).FH.enhanceEndpoints({addTagTypes:[d.nP.DATA_OBJECT,d.nP.DATA_OBJECT_TREE,d.nP.DATA_OBJECT_DETAIL],endpoints:{dataObjectClone:{invalidatesTags:(a,t,e)=>d.qN.DATA_OBJECT_TREE_ID(e.parentId)},dataObjectGetById:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectGetTree:{providesTags:(a,t,e)=>void 0!==e.parentId?d.yc.DATA_OBJECT_TREE_ID(e.parentId):d.yc.DATA_OBJECT_TREE()},dataObjectGetGrid:{keepUnusedDataFor:10,providesTags:(a,t,e)=>d.yc.DATA_OBJECT_GRID_ID(e.body.folderId)},dataObjectUpdateById:{invalidatesTags:(a,t,e)=>"autoSave"===e.body.data.task?[]:d.qN.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectAdd:{invalidatesTags:(a,t,e)=>d.qN.DATA_OBJECT_TREE_ID(e.parentId)},dataObjectGetLayoutById:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.id)},dataObjectFormatPath:{providesTags:(a,t,e)=>d.yc.DATA_OBJECT_DETAIL_ID(e.body.objectId)},dataObjectPatchById:{invalidatesTags:(a,t,e)=>{let i=[];for(let a of e.body.data)i.push(...d.qN.DATA_OBJECT_DETAIL_ID(a.id));return i}}}}),{useDataObjectAddMutation:o,useDataObjectCloneMutation:r,useDataObjectGetByIdQuery:s,useDataObjectUpdateByIdMutation:c,useDataObjectPatchByIdMutation:u,useDataObjectPatchFolderByIdMutation:n,useDataObjectGetTreeQuery:b,useDataObjectGetLayoutByIdQuery:p}=i},69187(a,t,e){e.d(t,{FH:()=>d,Gq:()=>G,M5:()=>v,RX:()=>b,ZE:()=>i,dB:()=>g,ft:()=>c,je:()=>j,lw:()=>n,n5:()=>O,om:()=>m,rg:()=>r,t1:()=>p,v4:()=>T,vr:()=>u});let d=e(53073).api.enhanceEndpoints({addTagTypes:["Data Objects","Data Object Grid"]}).injectEndpoints({endpoints:a=>({dataObjectAdd:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/add/${a.parentId}`,method:"POST",body:a.dataObjectAddParameters}),invalidatesTags:["Data Objects"]}),dataObjectBatchDelete:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects/batch-delete",method:"DELETE",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectClone:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}/clone/${a.parentId}`,method:"POST",body:a.cloneParameters}),invalidatesTags:["Data Objects"]}),dataObjectGetById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}`}),providesTags:["Data Objects"]}),dataObjectUpdateById:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}`,method:"PUT",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectGetGridPreview:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/grid/preview",method:"POST",body:a.body}),providesTags:["Data Object Grid"]}),dataObjectDeleteGridConfigurationByConfigurationId:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/${a.configurationId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectGetGridConfiguration:a.query({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/${a.folderId}/${a.classId}`,params:{configurationId:a.configurationId}}),providesTags:["Data Object Grid"]}),dataObjectListSavedGridConfigurations:a.query({query:a=>({url:`/pimcore-studio/api/data-object/grid/configurations/${a.classId}`}),providesTags:["Data Object Grid"]}),dataObjectRemoveGridConfigurationAsFavorite:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/remove-favorite/${a.configurationId}/${a.folderId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectSaveGridConfiguration:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/save/${a.classId}`,method:"POST",body:a.body}),invalidatesTags:["Data Object Grid"]}),dataObjectSetGridConfigurationAsFavorite:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/${a.configurationId}/${a.folderId}`,method:"POST"}),invalidatesTags:["Data Object Grid"]}),dataObjectUpdateGridConfiguration:a.mutation({query:a=>({url:`/pimcore-studio/api/data-object/grid/configuration/update/${a.configurationId}`,method:"PUT",body:a.body}),invalidatesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumns:a.query({query:a=>({url:"/pimcore-studio/api/data-object/grid/available-columns",params:{classId:a.classId,folderId:a.folderId}}),providesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumnsForRelation:a.query({query:a=>({url:"/pimcore-studio/api/data-object/grid/available-columns-for-relation",params:{classId:a.classId,relationField:a.relationField}}),providesTags:["Data Object Grid"]}),dataObjectGetGrid:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/grid/${a.classId}`,method:"POST",body:a.body}),providesTags:["Data Object Grid"]}),dataObjectGetPhpcodeTransformers:a.query({query:()=>({url:"/pimcore-studio/api/data-objects/grid/transformers/services/phpcode"}),providesTags:["Data Object Grid"]}),dataObjectGetLayoutById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/${a.id}/layout`,params:{layoutId:a.layoutId}}),providesTags:["Data Objects"]}),dataObjectPatchById:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects",method:"PATCH",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectPatchFolderById:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/folder/${a.id}`,method:"PATCH",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectFormatPath:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/format-path",method:"POST",body:a.body}),providesTags:["Data Objects"]}),dataObjectPreviewById:a.query({query:a=>({url:`/pimcore-studio/api/data-objects/preview/${a.id}`,params:{site:a.site}}),providesTags:["Data Objects"]}),dataObjectReplaceContent:a.mutation({query:a=>({url:`/pimcore-studio/api/data-objects/${a.sourceId}/replace/${a.targetId}`,method:"POST"}),invalidatesTags:["Data Objects"]}),dataObjectGetSelectOptions:a.mutation({query:a=>({url:"/pimcore-studio/api/data-objects/select-options",method:"POST",body:a.body}),invalidatesTags:["Data Objects"]}),dataObjectGetTree:a.query({query:a=>({url:"/pimcore-studio/api/data-objects/tree",params:{page:a.page,pageSize:a.pageSize,parentId:a.parentId,idSearchTerm:a.idSearchTerm,pqlQuery:a.pqlQuery,excludeFolders:a.excludeFolders,path:a.path,pathIncludeParent:a.pathIncludeParent,pathIncludeDescendants:a.pathIncludeDescendants,className:a.className,classIds:a.classIds}}),providesTags:["Data Objects"]})}),overrideExisting:!1}),{useDataObjectAddMutation:i,useDataObjectBatchDeleteMutation:o,useDataObjectCloneMutation:r,useDataObjectGetByIdQuery:s,useDataObjectUpdateByIdMutation:c,useDataObjectGetGridPreviewQuery:u,useDataObjectDeleteGridConfigurationByConfigurationIdMutation:n,useDataObjectGetGridConfigurationQuery:b,useDataObjectListSavedGridConfigurationsQuery:p,useDataObjectRemoveGridConfigurationAsFavoriteMutation:l,useDataObjectSaveGridConfigurationMutation:j,useDataObjectSetGridConfigurationAsFavoriteMutation:y,useDataObjectUpdateGridConfigurationMutation:T,useDataObjectGetAvailableGridColumnsQuery:O,useDataObjectGetAvailableGridColumnsForRelationQuery:m,useDataObjectGetGridQuery:g,useDataObjectGetPhpcodeTransformersQuery:D,useDataObjectGetLayoutByIdQuery:I,useDataObjectPatchByIdMutation:v,useDataObjectPatchFolderByIdMutation:E,useDataObjectFormatPathQuery:h,useDataObjectPreviewByIdQuery:q,useDataObjectReplaceContentMutation:G,useDataObjectGetSelectOptionsMutation:A,useDataObjectGetTreeQuery:_}=d},58077(a,t,e){e.r(t),e.d(t,{api:()=>d.FH,useDataObjectAddMutation:()=>d.ZE,useDataObjectCloneMutation:()=>d.rg,useDataObjectGetByIdQuery:()=>d.lJ,useDataObjectGetLayoutByIdQuery:()=>d.nF,useDataObjectGetTreeQuery:()=>d.pV,useDataObjectPatchByIdMutation:()=>d.M5,useDataObjectPatchFolderByIdMutation:()=>d.Ex,useDataObjectUpdateByIdMutation:()=>d.ft});var d=e(91434);void 0!==(a=e.hmd(a)).hot&&a.hot.accept()}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__data_object.160792b1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__data_object.23ff06e0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__dependencies.a9508cf9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__dependencies.a9508cf9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__documents.8a5c66b8.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__documents.8a5c66b8.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__elements.5babca9f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__elements.5babca9f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__metadata.e9f2a028.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__metadata.e9f2a028.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__perspectives.936945cf.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__perspectives.936945cf.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__properties.314180ef.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__properties.314180ef.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__reports.50fc5ca0.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__reports.50fc5ca0.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__role.89b3367b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__role.89b3367b.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__schedule.9ccfa450.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__schedule.9ccfa450.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__settings.2c556240.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__settings.2c556240.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__tags.f737e834.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__tags.f737e834.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__thumbnails.a167200d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__thumbnails.a167200d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__translations.7a8790cb.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__translations.7a8790cb.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__user.0c42ebe1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__user.0c42ebe1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__version.7220c1e1.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__version.7220c1e1.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_api__workflow.ad14d72f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_api__workflow.ad14d72f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js
similarity index 85%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js
index fc7e22f041..ae4dc86db6 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js
@@ -1,4 +1,4 @@
-/*! For license information please see __federation_expose_app.9a31719b.js.LICENSE.txt */
+/*! For license information please see __federation_expose_app.f6074673.js.LICENSE.txt */
(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["8234"],{66894(e,t,i){var r={"./ar.inline.svg":["36592","521"],"./ca.inline.svg":["91363","1472"]};function n(e){if(!i.o(r,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=r[e],n=t[0];return i.e(t[1]).then(function(){return i(n)})}n.keys=()=>Object.keys(r),n.id=66894,e.exports=n},90670(e,t,i){var r={"./co.inline.svg":["46497","5690"],"./mo.inline.svg":["51075","5904"],"./cv.inline.svg":["47870","5731"],"./do.inline.svg":["60550","8779"],"./lv.inline.svg":["80225","4426"],"./il.inline.svg":["63750","9691"],"./az.inline.svg":["35787","705"],"./lb.inline.svg":["33421","206"],"./st.inline.svg":["36316","3229"],"./ao.inline.svg":["18599","3756"],"./kg.inline.svg":["39441","6186"],"./tj.inline.svg":["50669","5454"],"./tw.inline.svg":["15950","8051"],"./mq.inline.svg":["657","4858"],"./bm.inline.svg":["85750","1003"],"./is.inline.svg":["78771","8272"],"./qa.inline.svg":["70797","3838"],"./bi.inline.svg":["47042","6335"],"./tf.inline.svg":["54457","658"],"./au.inline.svg":["79025","5114"],"./ae.inline.svg":["81057","9114"],"./ck.inline.svg":["43037","446"],"./fm.inline.svg":["8074","5431"],"./sa.inline.svg":["60851","2464"],"./bl.inline.svg":["32273","3066"],"./tm.inline.svg":["84260","101"],"./bh.inline.svg":["21581","1742"],"./um.inline.svg":["59965","4702"],"./nl.inline.svg":["10957","2638"],"./languages/ar.inline.svg":["36592","521"],"./bn.inline.svg":["43311","8372"],"./dm.inline.svg":["52116","3941"],"./lk.inline.svg":["54890","6695"],"./br.inline.svg":["6115","2016"],"./ga.inline.svg":["93631","1428"],"./gb-eng.inline.svg":["12699","3528"],"./km.inline.svg":["48151","172"],"./si.inline.svg":["74315","9336"],"./lu.inline.svg":["86388","85"],"./ml.inline.svg":["91949","9607"],"./as.inline.svg":["77451","3240"],"./vi.inline.svg":["84718","803"],"./mx.inline.svg":["59710","4195"],"./ne.inline.svg":["24458","2503"],"./en.inline.svg":["39632","6313"],"./ky.inline.svg":["6211","3584"],"./bg.inline.svg":["53420","157"],"./gd.inline.svg":["3840","7161"],"./gn.inline.svg":["50138","7527"],"./tg.inline.svg":["6193","3"],"./va.inline.svg":["32454","4715"],"./py.inline.svg":["42628","3653"],"./cz.inline.svg":["11842","9471"],"./my.inline.svg":["92217","8146"],"./ag.inline.svg":["46143","6484"],"./bo.inline.svg":["38116","2117"],"./cc.inline.svg":["60101","9030"],"./hu.inline.svg":["20528","2073"],"./pa.inline.svg":["33052","9357"],"./gm.inline.svg":["94403","7264"],"./sx.inline.svg":["30784","25"],"./gw.inline.svg":["5037","3406"],"./gb-wls.inline.svg":["88263","9052"],"./tc.inline.svg":["12586","6967"],"./cy.inline.svg":["65899","7960"],"./mm.inline.svg":["55589","3846"],"./mr.inline.svg":["5220","8437"],"./ms.inline.svg":["55023","4084"],"./zm.inline.svg":["84830","8195"],"./ls.inline.svg":["36178","2399"],"./np.inline.svg":["48873","2098"],"./ki.inline.svg":["8787","5168"],"./sv.inline.svg":["56910","2739"],"./na.inline.svg":["57886","5331"],"./aq.inline.svg":["1453","7006"],"./gl.inline.svg":["80456","3009"],"./pk.inline.svg":["87494","1643"],"./pg.inline.svg":["42810","103"],"./dk.inline.svg":["85554","6255"],"./fo.inline.svg":["86520","1265"],"./lr.inline.svg":["79677","4718"],"./jm.inline.svg":["57774","7939"],"./kp.inline.svg":["11968","9801"],"./sl.inline.svg":["14948","3125"],"./tt.inline.svg":["51463","2204"],"./sc.inline.svg":["48885","1814"],"./ht.inline.svg":["83371","2472"],"./se.inline.svg":["73367","1708"],"./to.inline.svg":["68150","7419"],"./by.inline.svg":["24338","3935"],"./id.inline.svg":["91182","8547"],"./gr.inline.svg":["37846","9403"],"./mg.inline.svg":["85435","3144"],"./ly.inline.svg":["21288","7073"],"./bd.inline.svg":["85561","8850"],"./ni.inline.svg":["43766","8635"],"./ph.inline.svg":["71295","6052"],"./pl.inline.svg":["41307","8520"],"./ss.inline.svg":["15557","3062"],"./li.inline.svg":["66616","7041"],"./tn.inline.svg":["28241","7210"],"./pe.inline.svg":["97608","145"],"./mc.inline.svg":["17503","7396"],"./ie.inline.svg":["4169","5186"],"./mk.inline.svg":["65543","1180"],"./sd.inline.svg":["81420","2189"],"./nr.inline.svg":["45671","1612"],"./ee.inline.svg":["83221","3750"],"./wf.inline.svg":["89410","8479"],"./gg.inline.svg":["71805","3166"],"./sj.inline.svg":["87714","7679"],"./languages/ca.inline.svg":["91363","1472"],"./no.inline.svg":["16976","6649"],"./cw.inline.svg":["80377","3330"],"./cr.inline.svg":["60266","1303"],"./bz.inline.svg":["53147","6984"],"./pr.inline.svg":["90073","4034"],"./gp.inline.svg":["71652","261"],"./cx.inline.svg":["92656","4329"],"./ye.inline.svg":["19161","1010"],"./vc.inline.svg":["98004","741"],"./hr.inline.svg":["84945","4346"],"./mh.inline.svg":["63694","7171"],"./gb-sct.inline.svg":["89453","830"],"./et.inline.svg":["60570","7799"],"./tv.inline.svg":["96105","7250"],"./md.inline.svg":["92690","687"],"./uy.inline.svg":["79409","7994"],"./us.inline.svg":["18231","4028"],"./nz.inline.svg":["99551","660"],"./ke.inline.svg":["93807","5412"],"./mf.inline.svg":["56832","2121"],"./mv.inline.svg":["88144","2793"],"./hk.inline.svg":["89006","8835"],"./_unknown.inline.svg":["99502"],"./at.inline.svg":["35286","8971"],"./lc.inline.svg":["58882","4799"],"./er.inline.svg":["34460","7053"],"./gu.inline.svg":["47371","6472"],"./ax.inline.svg":["79722","4871"],"./ba.inline.svg":["43050","8231"],"./bb.inline.svg":["77043","4160"],"./kw.inline.svg":["97121","1834"],"./dj.inline.svg":["29053","8574"],"./pf.inline.svg":["31045","5990"],"./kh.inline.svg":["92120","1553"],"./mz.inline.svg":["67180","2845"],"./ng.inline.svg":["64139","1153"],"./ro.inline.svg":["13044","6229"],"./sk.inline.svg":["70714","6270"],"./zw.inline.svg":["63668","2373"],"./in.inline.svg":["75668","2597"],"./iq.inline.svg":["83157","1270"],"./rw.inline.svg":["36716","5277"],"./so.inline.svg":["18193","9322"],"./re.inline.svg":["12206","2179"],"./tl.inline.svg":["52847","7524"],"./pt.inline.svg":["81555","5696"],"./eg.inline.svg":["82963","3392"],"./tk.inline.svg":["26978","8031"],"./ru.inline.svg":["34206","8403"],"./al.inline.svg":["83086","9603"],"./gy.inline.svg":["30071","2492"],"./jp.inline.svg":["75181","1102"],"./mw.inline.svg":["77739","6424"],"./hn.inline.svg":["55461","7334"],"./jo.inline.svg":["24636","8477"],"./cu.inline.svg":["97527","380"],"./ca.inline.svg":["55587","7440"],"./lt.inline.svg":["78623","2980"],"./cm.inline.svg":["5663","8932"],"./tr.inline.svg":["82405","198"],"./am.inline.svg":["46889","5154"],"./ar.inline.svg":["14608","2841"],"./ug.inline.svg":["82563","8800"],"./pw.inline.svg":["31210","9767"],"./fr.inline.svg":["90847","3396"],"./uz.inline.svg":["59812","1797"],"./es.inline.svg":["90919","3068"],"./pn.inline.svg":["72349","1438"],"./be.inline.svg":["49278","1635"],"./eu.inline.svg":["32453","3686"],"./td.inline.svg":["18455","5084"],"./mt.inline.svg":["7330","7935"],"./fi.inline.svg":["40414","8467"],"./pm.inline.svg":["81280","5177"],"./rs.inline.svg":["62840","4225"],"./aw.inline.svg":["3631","9076"],"./cg.inline.svg":["84841","2290"],"./fk.inline.svg":["47372","3197"],"./gi.inline.svg":["39751","2380"],"./gt.inline.svg":["11056","1065"],"./ma.inline.svg":["58337","4154"],"./za.inline.svg":["93634","6911"],"./ps.inline.svg":["53790","6819"],"./cl.inline.svg":["48788","8645"],"./sn.inline.svg":["64790","2267"],"./bq.inline.svg":["54650","8567"],"./nf.inline.svg":["23475","8832"],"./bf.inline.svg":["83383","6572"],"./me.inline.svg":["38525","8910"],"./ir.inline.svg":["41816","4241"],"./ec.inline.svg":["89303","5804"],"./af.inline.svg":["72308","2709"],"./ad.inline.svg":["83654","619"],"./je.inline.svg":["5510","1851"],"./bt.inline.svg":["56009","2162"],"./yt.inline.svg":["90638","35"],"./kn.inline.svg":["98494","1875"],"./mu.inline.svg":["81101","334"],"./om.inline.svg":["20283","8536"],"./zz.inline.svg":["27267","5712"],"./gb.inline.svg":["2534","1019"],"./ge.inline.svg":["60283","4120"],"./sy.inline.svg":["87227","4603"],"./vg.inline.svg":["94208","5753"],"./vn.inline.svg":["88451","9536"],"./sr.inline.svg":["77082","6743"],"./ws.inline.svg":["40417","4698"],"./io.inline.svg":["54847","3748"],"./sh.inline.svg":["54352","281"],"./cf.inline.svg":["51854","8707"],"./cn.inline.svg":["99590","2619"],"./sm.inline.svg":["71503","692"],"./bv.inline.svg":["84999","3836"],"./gh.inline.svg":["9372","365"],"./ua.inline.svg":["31113","8050"],"./sb.inline.svg":["61834","6135"],"./sg.inline.svg":["52857","1762"],"./bs.inline.svg":["9448","8609"],"./vu.inline.svg":["44706","1567"],"./im.inline.svg":["3214","2410"],"./gq.inline.svg":["28207","7828"],"./eh.inline.svg":["75318","235"],"./ve.inline.svg":["30066","4319"],"./gf.inline.svg":["51890","3839"],"./ci.inline.svg":["73595","4680"],"./nu.inline.svg":["56058","6759"],"./hm.inline.svg":["38696","129"],"./it.inline.svg":["13182","4771"],"./nc.inline.svg":["60396","8557"],"./gs.inline.svg":["74897","6458"],"./bw.inline.svg":["28540","7821"],"./mp.inline.svg":["50166","2427"],"./kz.inline.svg":["69466","935"],"./cd.inline.svg":["18716","2893"],"./bj.inline.svg":["42603","2168"],"./tz.inline.svg":["60029","6766"],"./sz.inline.svg":["78834","3055"],"./mn.inline.svg":["99528","7793"],"./la.inline.svg":["45552","5545"],"./ai.inline.svg":["49541","1750"],"./dz.inline.svg":["82797","4062"],"./fj.inline.svg":["30295","3548"],"./kr.inline.svg":["31474","2015"],"./ch.inline.svg":["61344","3657"],"./de.inline.svg":["89756","141"],"./th.inline.svg":["10315","1688"]};function n(e){if(!i.o(r,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=r[e],n=t[0];return Promise.all(t.slice(1).map(i.e)).then(function(){return i(n)})}n.keys=()=>Object.keys(r),n.id=90670,e.exports=n},99502(e,t,i){"use strict";i.r(t),i.d(t,{default:()=>n});var r=i(74848);i(47867);let n=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",viewBox:"0 0 640 480",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M0 0h640v480H0z",style:{fill:"#f2f2f2",stroke:"#000",strokeMiterlimit:10}}),(0,r.jsx)("path",{d:"M295 316.4c-.1-4.6-.2-8.1-.2-10.4 0-13.6 1.9-25.4 5.8-35.3 2.8-7.5 7.4-15 13.7-22.6 4.6-5.5 13-13.6 25-24.2s19.8-19.1 23.4-25.4 5.4-13.2 5.4-20.6c0-13.5-5.3-25.4-15.8-35.6S328.8 127 313.5 127c-14.8 0-27.1 4.6-37 13.9s-16.4 23.7-19.5 43.4l-35.7-4.2c3.2-26.4 12.8-46.5 28.6-60.6q23.85-21 63-21c27.6 0 49.7 7.5 66.2 22.6 16.5 15 24.7 33.2 24.7 54.6 0 12.3-2.9 23.7-8.7 34.1s-17.1 23.1-33.9 38q-16.95 15-22.2 22.2c-3.5 4.8-6 10.2-7.7 16.4s-2.6 16.2-2.9 30.1H295zm-2.1 69.6v-39.5h39.5V386z",style:{fill:"#4f4f4f"}})]})},88358(e,t,i){"use strict";i.d(t,{g:()=>x,A:()=>j});var r=i(60142),n=i.n(r),l=i(21429),a=i(55638),o=i(46881),s=i(88605),d=i(35864),c=i(41630),u=i(74365);let p=async e=>{let t=e.map(e=>({key:e,type:"simple"}));await c.M_.dispatch(u.FH.endpoints.translationCreate.initiate({createTranslation:{translationData:t}}))},m=(0,s.createSlice)({name:"missingTranslations",initialState:[],reducers:{addMissingTranslation:(e,t)=>{let{payload:i}=t;e.push(i)},removeMissingTranslations:(e,t)=>{let{payload:i}=t,r=Array.isArray(i)?i:[i];return e.filter(e=>!r.includes(e))}}}),{addMissingTranslation:g,removeMissingTranslations:h}=m.actions;m.name,(0,o.injectSliceWithState)(m);let v=(0,d.debounce)(async e=>{var t;let i=e.getState();if((null==(t=i.authentication)?void 0:t.isAuthenticated)!==!0)return;let r=i.missingTranslations;e.dispatch(h(r)),p(r)},3e3),f=(0,s.createListenerMiddleware)();f.startListening({actionCreator:g,effect:async(e,t)=>{v.cancel(),v(t)}}),(0,o.addAppMiddleware)(f.middleware);var y=i(11207),b=i(25085);let x="en";n().use(l.initReactI18next).init({fallbackLng:x,ns:["translation"],resources:{},keySeparator:!1,saveMissing:!0,postProcess:["returnKeyIfEmpty"]}).catch(()=>{(0,a.Ay)(new a.$g("Could not load translations"))}),n().use(y.K),n().on("missingKey",(e,t,i,r)=>{(0,b.isNonEmptyString)(i)&&(c.M_.dispatch(g(i)),n().addResource(x,t,i,i))});let j=n()},11207(e,t,i){"use strict";i.d(t,{K:()=>r});let r={type:"postProcessor",name:"returnKeyIfEmpty",process(e,t,i,r){let n=e;if(""===e&&(n=t,Array.isArray(t)&&(n=t[0])),"string"!=typeof n)try{n=JSON.stringify(n)}catch(r){let i=Array.isArray(t)?t[0]:t;return console.warn(`Translation key '${i}' with value '${e}' is not translatable`),Array.isArray(t)?t[0]:t}return n}}},27755(e,t,i){"use strict";i.d(t,{s:()=>r});let r=new class{registerModule(e){this.registry.push(e)}initModules(){this.registry.forEach(e=>{e.onInit()})}constructor(){this.registry=[]}}},42817(e,t,i){"use strict";i.d(t,{g:()=>a});var r=i(63364),n=i(10600),l=i(35864);let a=new class{getValues(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!e)return{...this.values};try{let e={};for(let[t,i]of Object.entries(this.values)){let r=this.transformEditableValue(t,i);e[t]=r}return e}catch(e){return console.warn("Could not apply transformValueForApi transformations:",e),{...this.values}}}getValue(e){return this.values[e]}updateValue(e,t){this.values[e]=t}initializeValues(e){Object.assign(this.values,e)}removeValues(e){for(let t of e)delete this.values[t]}getInheritanceState(e){return this.inheritanceState[e]??!1}setInheritanceState(e,t){this.inheritanceState[e]=t}initializeInheritanceState(e){Object.assign(this.inheritanceState,e)}registerDynamicEditables(e){for(let t of e)this.dynamicEditables[t.id]=t}unregisterDynamicEditables(e){for(let t of e)delete this.dynamicEditables[t]}getEditableDefinitions(){let e=(()=>{try{return window.editableDefinitions??[]}catch(e){return console.warn("Could not get editable definitions from iframe window:",e),[]}})();return[...e,...Object.values(this.dynamicEditables).filter(t=>!e.some(e=>e.id===t.id))].filter(e=>e.name in this.values)}transformEditableValue(e,t){let i=this.getEditableDefinitions().find(t=>t.name===e);if((0,l.isNil)(i))return t;let r=this.getDynamicTypeForEditable(i.type);if((0,l.isNil)(r))return t;let n=r.transformValueForApi(t.data,i);return{type:t.type,data:n}}getDynamicTypeForEditable(e){try{let t=r.kL.get(n.K["DynamicTypes/DocumentEditableRegistry"]);if(!t.hasDynamicType(e))return null;return t.getDynamicType(e)}catch(t){return console.warn(`Could not get dynamic type for editable type "${e}":`,t),null}}constructor(){this.values={},this.inheritanceState={},this.dynamicEditables={}}}},46096(e,t,i){"use strict";i.d(t,{BB:()=>o,P3:()=>l,c4:()=>n,qH:()=>a});var r=i(35864);class n extends Error{constructor(e="PimcoreStudio API is not available"){super(e),this.name="PimcoreStudioApiNotAvailableError"}}class l extends Error{constructor(e="Cross-origin access to PimcoreStudio API denied"){super(e),this.name="CrossOriginApiAccessError"}}function a(){try{let e=window.parent;if(!(0,r.isNil)(null==e?void 0:e.PimcoreStudio))return e.PimcoreStudio}catch(e){console.debug("Cannot access parent window PimcoreStudio API due to cross-origin restrictions")}try{let e=window;if(!(0,r.isNil)(null==e?void 0:e.PimcoreStudio))return e.PimcoreStudio}catch(e){throw new l("Cannot access current window PimcoreStudio API")}throw new n("PimcoreStudio API is not available in parent or current window")}function o(){try{return a(),!0}catch(e){if(e instanceof n||e instanceof l)return!1;throw e}}},41630(e,t,i){"use strict";i.d(t,{d$:()=>m,GV:()=>f,jL:()=>v,hb:()=>y,M_:()=>g,eg:()=>b,fu:()=>h});var r=i(88605),n=i(62284),l=i(53073);let a={id:0,username:"",email:"",firstname:"",lastname:"",permissions:[],isAdmin:!1,classes:[],docTypes:[],language:"en",activePerspective:"0",perspectives:[],dateTimeLocale:"",welcomeScreen:!1,memorizeTabs:!1,hasImage:!1,contentLanguages:[],keyBindings:[],allowedLanguagesForEditingWebsiteTranslations:[],allowedLanguagesForViewingWebsiteTranslations:[],allowDirtyClose:!1,twoFactorAuthentication:{enabled:!1,required:!1,type:"",active:!1}},o=e=>t=>i=>{if((0,r.isRejectedWithValue)(i)){var n;let r=i.payload,l=null==(n=i.meta)?void 0:n.arg;if((null==r?void 0:r.status)===401)return"endpointName"in l&&"userGetCurrentInformation"===l.endpointName?t(i):(e.dispatch({type:"auth/setUser",payload:a}),void e.dispatch({type:"authentication/setAuthState",payload:!1}))}return t(i)},s=[l.api],d=()=>(0,r.combineSlices)({},...s).withLazyLoadedSlices(),c=(0,r.createDynamicMiddleware)(),{addMiddleware:u,withMiddleware:p}=c,m=d(),g=(0,r.configureStore)({reducer:m,middleware:e=>e({serializableCheck:{ignoredActions:["execution-engine/jobReceived"],ignoredActionPaths:["execution-engine","meta"],ignoredPaths:["execution-engine","meta"]}}).concat(l.api.middleware,o,c.middleware)}),h=e=>{s.push(e);let t=d();return g.replaceReducer(t),t},v=n.useDispatch,f=n.useSelector,y=u.withTypes(),b=p.withTypes()},66828(e,t,i){"use strict";i.d(t,{G8:()=>o,Rc:()=>l,qj:()=>a});var r=i(74353),n=i.n(r);let l=(e,t)=>n().isDayjs(e)?e:"number"==typeof e?n().unix(e):"string"==typeof e?n()(e,t):null,a=(e,t,i)=>{if(null===e)return null;if("timestamp"===t){let t=e.startOf("day");return new Date(t.year(),t.month(),t.date()).getTime()/1e3}return"dateString"===t?void 0!==i?e.format(i):e.format():e},o=e=>null==e?"":n().isDayjs(e)?"[dayjs object]: "+e.toString():e.toString()},16450(e,t,i){"use strict";i.d(t,{F:()=>l});var r=i(47867),n=i(62784);let l=()=>{let e=(0,r.useContext)(n.Z);if(void 0===e)throw Error("useDynamicFilter must be used within a DynamicFilterProvider");return e}},8674(e,t,i){"use strict";i.d(t,{b:()=>r.b});var r=i(8561)},41417(e,t,i){"use strict";i.d(t,{s:()=>h});var r=i(74848);i(47867);var n=i(94788),l=i(86569),a=i(25085),o=i(81898),s=i(13755),d=i(22014),c=i(7814),u=i(8651),p=i.n(u);let m=(0,i(44241).createStyles)(e=>{let{token:t,css:i}=e;return{editableHtmlDropContent:i`
position: relative;
border: 1px solid ${t.colorBorder};
@@ -226,7 +226,7 @@
`,title:i`
margin: 0 !important;
line-height: 20px !important;
- `}}),s=e=>{let{children:t,withBorder:i=!1,className:n}=e,{styles:s}=o(),d=l()(i?s.containerWithBorder:s.container,n);return(0,r.jsx)("div",{className:d,children:(0,r.jsx)(a.h,{titleClass:s.title,children:t})})}},3416(e,t,i){"use strict";i.d(t,{m:()=>r});let r={"widget-manager:inner:widget-closed":"widget-manager:inner:widget-closed","widget-manager:outer:widget-closed":"widget-manager:outer:widget-closed","data-object:editor:post-update":"data-object:editor:post-update","document:editor:post-update":"document:editor:post-update","asset:editor:post-update":"asset:editor:post-update"}},60124(e,t,i){"use strict";i.d(t,{B:()=>l,m:()=>n.m});var r=i(35864),n=i(3416);let l=new class{subscribe(e,t){let i={identifier:e,callback:t};return this.subscribers.push(i),i}unsubscribe(e){this.subscribers=this.subscribers.filter(t=>t!==e)}publish(e){this.subscribers.forEach(t=>{let i=t.identifier.type===e.identifier.type,n=(0,r.isUndefined)(t.identifier.id)||t.identifier.id===e.identifier.id;i&&n&&t.callback(e)})}constructor(){this.subscribers=[]}}},47732(e,t,i){"use strict";i.d(t,{s:()=>r});class r{registerLoader(e){if(this.loaders.has(e.name))throw Error(`Loader with name "${e.name}" already exists`);this.loaders.set(e.name,e)}getLoader(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=this.loaders.get(e);if(void 0===i&&t)throw Error(`Loader with name "${e}" not found`);return i}getLoaders(){return Array.from(this.loaders.values())}async loadAll(){for(let e of this.loaders.values())try{await e.onLoad()}catch(t){console.warn(`Loader ${e.name} failed:`,t)}}hasLoader(e){return this.loaders.has(e)}overrideLoader(e){if(!this.loaders.has(e.name))throw Error(`Loader with name "${e.name}" not found`);this.loaders.set(e.name,e)}constructor(){this.loaders=new Map}}},30515(e,t,i){"use strict";i.d(t,{A:()=>p});var r=i(63364),n=i(47867),l=i(62284),a=i(35864),o=i(10600),s=i(61549),d=i(44499),c=i(96403),u=i(2700);let p=()=>{let e=r.kL.get(o.K.mainNavRegistry),t=(0,s.J)(),i=(0,l.useSelector)(u.JT),[p,m]=(0,n.useState)(0);(0,n.useEffect)(()=>e.subscribe(()=>{m(e=>e+1)}),[e]);let g=e=>e.filter(e=>{if(!(0,a.isNil)(e.hidden)&&e.hidden()||!(0,a.isNil)(e.permission)&&!(0,d.J)(e.permission)||!(0,a.isNil)(e.perspectivePermissionHide)&&(0,c.a)(e.perspectivePermissionHide)||!(0,a.isNil)(e.perspectivePermission)&&!(0,c.a)(e.perspectivePermission))return!1;if(!(0,a.isNil)(e.children)){e.children=g(e.children);let t=!(0,a.isNil)(e.useCustomMainNavItem)||!(0,a.isNil)(e.widgetConfig);if(0===e.children.length&&!t)return!1}return!0});return{navItems:(0,n.useMemo)(()=>(0,a.isNil)(t)||(0,a.isNil)(i)?[]:g(e.getMainNavTree()),[t,i,p])}}},26053(e,t,i){"use strict";i.d(t,{c:()=>a});var r=i(31635),n=i(62446),l=i(35864);class a{registerMainNavItem(e){(0,l.isNil)(e.widgetConfig)||((0,l.isNil)(e.widgetConfig.config)&&(e.widgetConfig.config={}),e.widgetConfig.config.mainNavPath=e.path);let t=this.items.findIndex(t=>t.path===e.path);-1!==t?this.items[t]=e:this.items.push(e),this.notifyListeners()}unregisterMainNavItem(e){let t=this.items.findIndex(t=>t.path===e);-1!==t&&(this.items.splice(t,1),this.notifyListeners())}subscribe(e){return this.listeners.push(e),()=>{let t=this.listeners.indexOf(e);-1!==t&&this.listeners.splice(t,1)}}notifyListeners(){this.listeners.forEach(e=>{e()})}getMainNavItem(e){return this.items.find(t=>t.path===e)}getMainNavItems(){return this.items}getMainNavTree(){let e=[];return this.items.forEach(t=>{this.addNavItemToItemList(e,t)}),this.sortTree(e),e}addNavItemToItemList(e,t){let i=t.path.split("/");if(i.length>4)return void console.warn("MainNav: Maximum depth of 4 levels is allowed, Item will be ignored",t);let r=e;i.forEach((e,n)=>{let a=r.find(t=>t.id===e),o=n===i.length-1;if((0,l.isUndefined)(a)){let s=e;o||(0,l.isUndefined)(t.group)||e!==t.group?o&&(s=t.label??e):s=t.group,a={order:o?t.order:1e3,id:e,label:s,path:i.slice(0,n+1).join("/"),children:[],...o&&{dividerTop:t.dividerTop,dividerBottom:t.dividerBottom,icon:t.icon,groupIcon:t.groupIcon,widgetConfig:t.widgetConfig,useCustomMainNavItem:t.useCustomMainNavItem,className:t.className,permission:t.permission,perspectivePermission:t.perspectivePermission,perspectivePermissionHide:t.perspectivePermissionHide,hidden:t.hidden}},r.push(a)}else n===i.length-1&&Object.assign(a,{icon:t.icon,groupIcon:t.groupIcon,order:t.order??1e3,className:t.className,permission:t.permission,perspectivePermission:t.perspectivePermission,perspectivePermissionHide:t.perspectivePermissionHide,hidden:t.hidden,widgetConfig:t.widgetConfig,useCustomMainNavItem:t.useCustomMainNavItem,dividerBottom:t.dividerBottom,dividerTop:t.dividerTop,label:t.label??a.label});r=a.children??[]})}sortTree(e){e.sort((e,t)=>(e.order??1e3)-(t.order??1e3)),e.forEach(e=>{(0,l.isNil)(e.children)||this.sortTree(e.children)})}constructor(){this.items=[],this.listeners=[]}}a=(0,r.Cg)([(0,n.injectable)()],a)},25330(e,t,i){"use strict";i.d(t,{Y:()=>l});var r=i(62284),n=i(72098);let l=()=>{let e=(0,r.useSelector)(n.yP);return{logoUrl:(null==e?void 0:e.customLogo)??"/bundles/pimcorestudioui/img/logo-purple.svg",customLogoSmall:(null==e?void 0:e.customLogoSmall)??"/bundles/pimcorestudioui/img/logo-purple.svg",loginScreenCustomBackgroundImage:(null==e?void 0:e.loginScreenCustomBackgroundImage)??"/bundles/pimcorestudioui/img/login-bg.png"}}},77885(e,t,i){"use strict";i.d(t,{I5:()=>s.I,Yw:()=>c.Y,Zt:()=>m,bU:()=>d.b,eC:()=>u.e,eb:()=>a.e});var r=i(31635),n=i(62446),l=i(55638),a=i(74152),o=i(35864),s=i(62649),d=i(81031),c=i(69634),u=i(5743);let p=e=>{let t={},i=e=>{for(let r in e){let n=e[r];(0,o.isObject)(n)&&"type"in n?t[n.name]=n:(0,o.isObject)(n)&&i(n)}};return i(e),t};class m{register(e){this.getComponentConfig(e.name).type!==s.I.SINGLE&&(0,l.Ay)(new l.$g(`Component "${e.name}" is not configured as a single component. Use registerToSlot instead.`)),this.has(e.name)&&(0,l.Ay)(new l.$g(`Component with the name "${e.name}" already exists. Use the override method to override it`)),this.registry[e.name]=e}getAll(){return this.registry}get(e){return this.has(e)||(0,l.Ay)(new l.$g(`No component with the name "${e}" found`)),this.registry[e].component}has(e){return e in this.registry}override(e){this.has(e.name)||(0,l.Ay)(new l.$g(`No component named "${e.name}" found to override`)),this.registry[e.name]=e}overrideSlotComponent(e,t){let i=this.getSlotComponents(e),r=i.findIndex(e=>e.name===t.name);-1===r&&(0,l.Ay)(new l.$g(`No component named "${t.name}" found in slot "${e}" to override`)),i[r]=t}registerToSlot(e,t){this.getComponentConfig(e).type!==s.I.SLOT&&(0,l.Ay)(new l.$g(`Slot "${e}" is not configured as a slot component.`)),(0,o.isUndefined)(this.slots[e])&&(this.slots[e]=[]),void 0!==this.slots[e].find(e=>e.name===t.name)&&(0,l.Ay)(new l.$g(`Component with the name "${t.name}" already exists in slot "${e}". Use the overrideSlotComponent method to override it`)),this.slots[e].push(t),this.slots[e].sort((e,t)=>(e.priority??0)-(t.priority??0))}getSlotComponents(e){return this.slots[e]??[]}registerConfig(e){let t=p(e);Object.assign(this.configs,t)}getComponentConfig(e){if((0,o.isUndefined)(this.configs[e]))throw Error(`Component configuration for "${e}" not found.`);return this.configs[e]}constructor(){this.registry={},this.slots={},this.configs=p(a.e)}}m=(0,r.Cg)([(0,n.injectable)()],m)},62649(e,t,i){"use strict";i.d(t,{I:()=>n});var r,n=((r={}).SINGLE="single",r.SLOT="slot",r)},5743(e,t,i){"use strict";i.d(t,{e:()=>l});var r=i(63364),n=i(10600);function l(){return(0,r.Lt)(n.K["App/ComponentRegistry/ComponentRegistry"])}},47920(e,t,i){"use strict";i.d(t,{r:()=>r});let r={documentTree:{name:"document.tree",priority:{addFolder:100,addPage:110,addSnippet:120,addLink:130,addEmail:140,addHardlink:150,rename:200,copy:300,paste:400,pasteInheritance:410,cut:500,pasteCut:510,publish:600,unpublish:700,delete:800,openInNewWindow:850,advanced:870,refreshTree:900}},documentTreeAdvanced:{name:"document.tree.advanced",priority:{convertTo:100,lock:200,useAsSite:300,editSite:310,removeSite:320}},documentEditorToolbar:{name:"document.editor.toolbar",priority:{unpublish:100,delete:200,rename:300,translations:400,openInNewWindow:500,openPreviewInNewWindow:550}},dataObjectEditorToolbar:{name:"data-object.editor.toolbar",priority:{unpublish:100,delete:200,rename:300}},assetEditorToolbar:{name:"asset.editor.toolbar",priority:{rename:100,delete:200,uploadNewVersion:250,download:300,zipDownload:400,clearImageThumbnail:500,clearVideoThumbnail:600,clearPdfThumbnail:700}},assetTree:{name:"asset.tree",priority:{newAssets:100,addFolder:120,rename:200,copy:300,paste:400,cut:500,pasteCut:510,delete:800,createZipDownload:850,uploadNewVersion:860,download:870,advanced:880,refreshTree:900}},dataObjectTree:{name:"data-object.tree",priority:{addObject:100,addVariant:110,addFolder:120,rename:200,copy:300,paste:400,cut:500,pasteCut:510,publish:600,unpublish:700,delete:800,advanced:870,refreshTree:900}},dataObjectTreeAdvanced:{name:"data-object.tree.advanced",priority:{lock:100,lockAndPropagate:110,unlock:120,unlockAndPropagate:130}},dataObjectListGrid:{name:"data-object.list-grid",priority:{open:100,rename:200,locateInTree:300,publish:400,unpublish:500,delete:600}},assetListGrid:{name:"asset.list-grid",priority:{open:100,rename:200,locateInTree:300,delete:400,download:500}},assetPreviewCard:{name:"asset.preview-card",priority:{open:100,info:200,rename:300,locateInTree:400,uploadNewVersion:500,download:600,delete:700}}}},57885(e,t,i){"use strict";i.d(t,{g:()=>a});var r=i(31635),n=i(62446),l=i(55638);class a{registerToSlot(e,t){this.slots[e]=this.slots[e]??[],void 0!==this.slots[e].find(e=>e.name===t.name)&&(0,l.Ay)(new l.$g(`Provider with the name "${t.name}" already exists in slot "${e}". Use the overrideSlotProvider method to override it`)),this.slots[e].push(t)}overrideSlotProvider(e,t){let{slotProviders:i,index:r}=this.getSlotItem(e,t.name);i[r]=t}updateSlotProvider(e,t,i){let{slotProviders:r,index:n}=this.getSlotItem(e,t);r[n]=i(r[n])}getSlotProviders(e){return this.slots[e]=this.slots[e]??[],this.slots[e].sort((e,t)=>(e.priority??999)-(t.priority??999))}getSlotItem(e,t){let i=this.getSlotProviders(e),r=i.findIndex(e=>e.name===t);return -1===r&&(0,l.Ay)(new l.$g(`No provider named "${t}" found in slot "${e}"`)),{slotProviders:i,index:r}}constructor(){this.slots={}}}a=(0,r.Cg)([(0,n.injectable)()],a)},47904(e,t,i){"use strict";i.d(t,{W:()=>l});var r=i(10600),n=i(63364);function l(e,t){return n.kL.get(r.K["App/ContextMenuRegistry/ContextMenuRegistry"]).getSlotProviders(e).map(e=>e.useMenuItem(t)).filter(e=>null!==e)}},84210(e,t,i){"use strict";i.d(t,{$1:()=>a,My:()=>l,W2:()=>o,xo:()=>s});var r=i(46881);let n=(0,i(88605).createSlice)({name:"global-context",initialState:null,reducers:{addGlobalContext:(e,t)=>t.payload,removeGlobalContext:(e,t)=>null,setGlobalDefaultContext:(e,t)=>t.payload},selectors:{selectContextByType:(e,t)=>(null==e?void 0:e.type)===t?e:null}});(0,r.injectSliceWithState)(n);let{addGlobalContext:l,removeGlobalContext:a,setGlobalDefaultContext:o}=n.actions,{selectContextByType:s}=n.getSelectors(e=>e["global-context"])},31729(e,t,i){"use strict";i.d(t,{e:()=>p});var r=i(47867),n=i(18613),l=i(74353),a=i.n(l),o=i(83826),s=i.n(o),d=i(88569),c=i.n(d),u=i(18196);a().extend(s()),a().extend(c());let p=()=>{let{timezone:e}=(0,n.useSettings)();return{convertToTimestamp:(0,r.useCallback)(function(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!(0,u.uI)(t))return null;try{let n;return n=r&&(0,u.uI)(e)?a().tz(t,e):a()(t),i?n.valueOf():n.unix()}catch(e){return console.error("Failed to convert date string to timestamp:",e),null}},[e]),convertToDateString:(0,r.useCallback)(t=>{let{timestamp:i,asMilliseconds:r=!0,respectServerTimezone:n=!0,format:l=""}=t;try{let t,o=r?i:1e3*i;return t=n&&(0,u.uI)(e)?a().tz(o,e):a()(o),(0,u.uI)(l)?t.format(l):t.toISOString()}catch(e){return console.error("Failed to convert timestamp to date:",e),null}},[e])}}},69134(e,t,i){"use strict";i.d(t,{Z:()=>s});var r=i(47867),n=i(68119),l=i(11324),a=i(7566),o=i(44499);let s=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3?arguments[3]:void 0,d=(0,l.P)(),{user:c}=(0,n.U)(),{mergedKeyBindings:u}=(0,a.F)(null==c?void 0:c.keyBindings),p=(0,r.useCallback)(i=>{if(i.target instanceof HTMLInputElement&&"true"===i.target.dataset.keybindingInput)return;let r=u.find(e=>e.action===t),{keyCode:n,ctrlKey:l,altKey:a,shiftKey:d}=i;if((null==r?void 0:r.key)!==void 0&&r.key===n&&r.ctrl===l&&r.shift===d&&r.alt===a){if(void 0!==s&&!(0,o.J)(s))return;i.preventDefault(),e(i)}},[e,t,s]);(0,r.useEffect)(()=>{if(document.removeEventListener("keydown",p),i||d)return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[i,d,p])}},8849(e,t,i){"use strict";i.d(t,{r:()=>a});var r=i(47867),n=i(80223),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.V);if((0,l.isNil)(e))throw Error("useModalHolder must be used within a ModalHolderProvider");return e}},66112(e,t,i){"use strict";i.d(t,{s:()=>r});class r{setField(e,t){this.data[e]=t}getField(e){return this.data[e]}hasField(e){return e in this.data}getData(){return this.data}constructor(e){this.data=e}}},32234(e,t,i){"use strict";i.d(t,{k:()=>l});var r=i(31635),n=i(62446);class l{registerProcessor(e){this.processors=this.processors.filter(t=>t.id!==e.id),this.processors.push(e),this.processors.sort((e,t)=>t.priority-e.priority)}unregisterProcessor(e){this.processors=this.processors.filter(t=>t.id!==e)}executeProcessors(e){for(let t of this.processors)try{t.execute(e)}catch(e){console.warn(`Processor ${t.id} failed:`,e)}}getRegisteredProcessors(){return[...this.processors]}hasProcessor(e){return this.processors.some(t=>t.id===e)}constructor(){this.processors=[]}}l=(0,r.Cg)([(0,n.injectable)()],l)},59446(e,t,i){"use strict";i.d(t,{t:()=>s});var r=i(62284),n=i(72098),l=i(47867),a=i(46096),o=i(81624);let s=()=>{let e=(0,r.useSelector)(n.mt),[t]=(0,l.useState)(()=>(0,o.GZ)());return(0,l.useMemo)(()=>{if(t&&(0,a.BB)())try{let{settings:e}=(0,a.qH)(),t=e.getSettings();if(null!=t&&Object.keys(t).length>0)return t}catch(e){console.warn("[useSettings] Failed to get parent settings:",e)}return e},[t,e])??{}}},55745(e,t,i){"use strict";i.d(t,{Hk:()=>s,Vf:()=>p,sH:()=>u});var r=i(53996);let{useAdminSettingsGetQuery:n,useAdminSettingsUpdateMutation:l,useSettingAdminThumbnailQuery:a,useSystemSettingsGetQuery:o,useSettingsUpdateMutation:s,useActiveBundlesGetQuery:d,usePingActionQuery:c,useLazyPingActionQuery:u,useSettingsCountryCollectionQuery:p}=i(52626).FH.enhanceEndpoints({addTagTypes:[r.nP.SETTINGS_ADMIN],endpoints:{adminSettingsGet:{providesTags:(e,t,i)=>r.yc.SETTINGS_ADMIN()},adminSettingsUpdate:{invalidatesTags:(e,t,i)=>r.qN.SETTINGS_ADMIN()},settingAdminThumbnail:{providesTags:(e,t,i)=>r.yc.SETTINGS_ADMIN()}}})},52626(e,t,i){"use strict";i.d(t,{Bo:()=>p,FH:()=>l,Gg:()=>o,Hk:()=>u,JD:()=>s,Md:()=>c,Vf:()=>d,cC:()=>a,c_:()=>g,fS:()=>m,rn:()=>n});var r=i(53073);let n=["Settings Admin","Settings"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({adminSettingsGet:e.query({query:()=>({url:"/pimcore-studio/api/settings/admin"}),providesTags:["Settings Admin"]}),adminSettingsUpdate:e.mutation({query:e=>({url:"/pimcore-studio/api/settings/admin/save",method:"POST",body:e.updateAdminSettings}),invalidatesTags:["Settings Admin"]}),settingAdminThumbnail:e.query({query:()=>({url:"/pimcore-studio/api/setting/admin/thumbnail"}),providesTags:["Settings Admin"]}),settingsCountryCollection:e.query({query:()=>({url:"/pimcore-studio/api/settings/available-countries"}),providesTags:["Settings"]}),systemSettingsGet:e.query({query:()=>({url:"/pimcore-studio/api/settings"}),providesTags:["Settings"]}),settingsUpdate:e.mutation({query:e=>({url:"/pimcore-studio/api/settings",method:"PUT",body:e.body}),invalidatesTags:["Settings"]}),settingsImageAdapterCheck:e.query({query:()=>({url:"/pimcore-studio/api/settings/adapter/image"}),providesTags:["Settings"]}),activeBundlesGet:e.query({query:()=>({url:"/pimcore-studio/api/settings/active-bundles"}),providesTags:["Settings"]}),pingAction:e.query({query:()=>({url:"/pimcore-studio/api/settings/ping"}),providesTags:["Settings"]})}),overrideExisting:!1}),{useAdminSettingsGetQuery:a,useAdminSettingsUpdateMutation:o,useSettingAdminThumbnailQuery:s,useSettingsCountryCollectionQuery:d,useSystemSettingsGetQuery:c,useSettingsUpdateMutation:u,useSettingsImageAdapterCheckQuery:p,useActiveBundlesGetQuery:m,usePingActionQuery:g}=l},72098(e,t,i){"use strict";i.d(t,{MM:()=>d,XE:()=>s,mt:()=>c,oc:()=>o,rC:()=>u,yP:()=>p});var r=i(88605),n=i(46881),l=i(52626);let a=(0,r.createSlice)({name:"settings",initialState:{},reducers:{setSettings:(e,t)=>{let{payload:i}=t;e.settings=i},setAdminSettings:(e,t)=>{let{payload:i}=t;e.adminSettings=i},setThumbnails:(e,t)=>{let{payload:i}=t;e.thumbnails=i}},extraReducers:e=>{e.addMatcher(l.FH.endpoints.settingAdminThumbnail.matchFulfilled,(e,t)=>{let{payload:i}=t;e.thumbnails=i})}});(0,n.injectSliceWithState)(a);let{setSettings:o,setAdminSettings:s,setThumbnails:d}=a.actions,c=e=>e.settings.settings,u=e=>e.settings.adminSettings,p=e=>e.settings.thumbnails},20260(e,t,i){"use strict";i.d(t,{u:()=>r});let r={light:"studio-default-light",dark:"studio-default-dark"}},63824(e,t,i){"use strict";i.d(t,{FH:()=>n,Xz:()=>d,d5:()=>s,e5:()=>o});var r=i(53996);let n=i(74365).FH.enhanceEndpoints({addTagTypes:[r.nP.DOMAIN_TRANSLATIONS,r.nP.LOCALES],endpoints:{translationGetList:{providesTags:(e,t,i)=>r.yc.DOMAIN_TRANSLATIONS()},translationGetAvailableLocales:{providesTags:(e,t,i)=>r.yc.LOCALES()},translationGetDomains:{providesTags:()=>[]},translationDeleteByKey:{invalidatesTags:()=>[]},translationCreate:{invalidatesTags:()=>[]},translationUpdate:{invalidatesTags:()=>[]}}}),{useTranslationCreateMutation:l,useTranslationDeleteByKeyMutation:a,useTranslationGetDomainsQuery:o,useTranslationGetListQuery:s,useTranslationGetAvailableLocalesQuery:d,useTranslationUpdateMutation:c}=n},74365(e,t,i){"use strict";i.d(t,{FH:()=>l,KT:()=>p,Ni:()=>v,Q8:()=>d,Xz:()=>a,Zn:()=>o,d5:()=>g,d_:()=>m,e5:()=>u,oG:()=>h,pr:()=>c,rn:()=>n,sp:()=>s});var r=i(53073);let n=["Translation"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({translationGetAvailableLocales:e.query({query:()=>({url:"/pimcore-studio/api/translations/available-locales"}),providesTags:["Translation"]}),translationCleanupByDomain:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}/cleanup`,method:"DELETE"}),invalidatesTags:["Translation"]}),translationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/create",method:"POST",body:e.createTranslation}),invalidatesTags:["Translation"]}),translationDetermineCsvSettingsForImport:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/csv-settings",method:"POST",body:e.body}),invalidatesTags:["Translation"]}),translationDeleteByKey:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.key}`,method:"DELETE",params:{domain:e.domain}}),invalidatesTags:["Translation"]}),translationGetDomains:e.query({query:()=>({url:"/pimcore-studio/api/translations/domains"}),providesTags:["Translation"]}),translationExportList:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/export",method:"POST",body:e.body,params:{domain:e.domain}}),invalidatesTags:["Translation"]}),translationImportCsv:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}/import`,method:"POST",body:e.body}),invalidatesTags:["Translation"]}),translationGetList:e.query({query:e=>({url:"/pimcore-studio/api/translations/list",method:"POST",body:e.body,params:{domain:e.domain}}),providesTags:["Translation"]}),translationGetCollection:e.mutation({query:e=>({url:"/pimcore-studio/api/translations",method:"POST",body:e.translation}),invalidatesTags:["Translation"]}),translationUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}`,method:"PUT",body:e.body}),invalidatesTags:["Translation"]})}),overrideExisting:!1}),{useTranslationGetAvailableLocalesQuery:a,useTranslationCleanupByDomainMutation:o,useTranslationCreateMutation:s,useTranslationDetermineCsvSettingsForImportMutation:d,useTranslationDeleteByKeyMutation:c,useTranslationGetDomainsQuery:u,useTranslationExportListMutation:p,useTranslationImportCsvMutation:m,useTranslationGetListQuery:g,useTranslationGetCollectionMutation:h,useTranslationUpdateMutation:v}=l},26234(e,t,i){"use strict";function r(e,t){let i=URL.createObjectURL(t),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}function n(e,t){r(e,new Blob([JSON.stringify(t,null,2)],{type:"application/json"}))}i.d(t,{P:()=>r,z:()=>n})},7843(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"asset-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["asset-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},93063(e,t,i){"use strict";i.d(t,{F:()=>a,R:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=[...e.customMetadata??[],t.payload.customMetadata],r(e),e))},i=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l&&(0,n.Ay)(new n.$g(`Item with id ${i} not found`)),t.entities[i]=r({...l})},r=e=>{e.modified=!0,e.changes={...e.changes,customMetadata:!0}};return{addCustomMetadata:t,removeCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=(e.customMetadata??[]).filter(e=>e.name!==t.payload.customMetadata.name||e.language!==t.payload.customMetadata.language),r(e),e))},updateCustomMetadata:(e,n)=>{let l=!1;i(e,n.payload.id,e=>(e.customMetadata=(e.customMetadata??[]).map((t,i)=>t.name===n.payload.customMetadata.name&&t.language===n.payload.customMetadata.language?(r(e),l=!0,n.payload.customMetadata):t),e)),l||t(e,n)},updateAllCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=t.payload.customMetadata,r(e),e))},setCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=t.payload.customMetadata,e))}}},a=(e,t,i,n,l,a,o)=>{let s=(0,r.useAppDispatch)();return{customMetadata:null==t?void 0:t.customMetadata,updateCustomMetadata:t=>{s(i({id:e,customMetadata:t}))},addCustomMetadata:t=>{s(n({id:e,customMetadata:t}))},removeCustomMetadata:t=>{s(l({id:e,customMetadata:t}))},updateAllCustomMetadata:t=>{s(o({id:e,customMetadata:t}))},setCustomMetadata:t=>{s(a({id:e,customMetadata:t}))}}}},50967(e,t,i){"use strict";i.d(t,{$:()=>l,V:()=>a});var r=i(46881),n=i(35864);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0===n?console.error(`Item with id ${i} not found`):t.entities[i]=r({...n})},i=e=>{e.modified=!0,e.changes={...e.changes,customSettings:!0}};return{setCustomSettings:(e,r)=>{t(e,r.payload.id,t=>{let{customSettings:l}=r.payload;if(!(0,n.isEmpty)(l)&&!(0,n.isUndefined)(l.key)){let a=e.entities[r.payload.id].customSettings??[],o=(0,n.findIndex)(a,{key:l.key});o>-1?a[o]={...a[o],value:l.value}:a.push(l),t.customSettings=a,i(t)}return t})},removeCustomSettings:(e,r)=>{t(e,r.payload.id,t=>{let{customSettings:l}=r.payload;if(!(0,n.isUndefined)(null==l?void 0:l.key)){let a=e.entities[r.payload.id].customSettings??[],o=(0,n.findIndex)(a,{key:l.key});o>-1&&(a.splice(o,1),t.customSettings=a,i(t))}return t})}}},a=e=>{let{id:t,draft:i,setCustomSettingsAction:n,removeCustomSettingsAction:l}=e,a=(0,r.useAppDispatch)();return{customSettings:null==i?void 0:i.customSettings,setCustomSettings:e=>{a(n({id:t,customSettings:e}))},removeCustomSettings:e=>{a(l({id:t,customSettings:e}))}}}},53119(e,t,i){"use strict";i.d(t,{J:()=>a,N:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l&&(0,n.Ay)(new n.$g(`Item with id ${i} not found`)),t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,imageSettings:!0}};return{addImageSettings:(e,r)=>{t(e,r.payload.id,e=>(e.imageSettings={...e.imageSettings,...r.payload.settings},i(e),e))},removeImageSetting:(e,r)=>{t(e,r.payload.id,e=>{let t=structuredClone(e.imageSettings);return delete t[r.payload.setting],e.imageSettings={...t},i(e),e})},updateImageSetting:(e,r)=>{t(e,r.payload.id,e=>(e.imageSettings[r.payload.setting]=r.payload.value,i(e),e))}}},a=(e,t,i,n,l)=>{let a=(0,r.useAppDispatch)();return{imageSettings:null==t?void 0:t.imageSettings,addImageSettings:t=>{a(i({id:e,settings:t}))},removeImageSetting:t=>{a(n({id:e,setting:t}))},updateImageSetting:(t,i)=>{a(l({id:e,setting:t,value:i}))}}}},84555(e,t,i){"use strict";i.d(t,{M:()=>l,y:()=>n});var r=i(46881);let n=e=>({updateTextData:(t,i)=>{var r;let n;r=i.payload.id,void 0===(n=e.getSelectors().selectById(t,r))?console.error(`Item with id ${r} not found`):t.entities[r]=(e=>(e.textData=i.payload.textData??"",e.modified=!0,e.changes={...e.changes,textData:!0},e))({...n})}}),l=e=>{let{id:t,draft:i,updateTextDataAction:n}=e,l=(0,r.useAppDispatch)();return{textData:null==i?void 0:i.textData,updateTextData:e=>{l(n({id:t,textData:e}))}}}},27330(e,t,i){"use strict";i.d(t,{FH:()=>l,Hw:()=>s,RB:()=>u,Rq:()=>c,hM:()=>o,k9:()=>d,mL:()=>a});var r=i(42507),n=i(53996);let l=r.api.enhanceEndpoints({addTagTypes:[n.nP.PREDEFINED_ASSET_METADATA],endpoints:{metadataGetCollection:{providesTags:(e,t,i)=>n.yc.PREDEFINED_ASSET_METADATA()},metadataPredefinedCreate:{invalidatesTags:()=>[]},metadataPredefinedUpdate:{invalidatesTags:()=>[]},metadataPredefinedDelete:{invalidatesTags:()=>[]}}}),{useAssetCustomMetadataGetByIdQuery:a,useMetadataGetCollectionQuery:o,useLazyMetadataGetCollectionQuery:s,useMetadataPredefinedCreateMutation:d,useMetadataPredefinedUpdateMutation:c,useMetadataPredefinedDeleteMutation:u}=l},42507(e,t,i){"use strict";i.r(t),i.d(t,{addTagTypes:()=>n,api:()=>l,useAssetCustomMetadataGetByIdQuery:()=>o,useMetadataAssetGetCollectionQuery:()=>a,useMetadataGetCollectionQuery:()=>s,useMetadataPredefinedCreateMutation:()=>d,useMetadataPredefinedDeleteMutation:()=>u,useMetadataPredefinedUpdateMutation:()=>c});var r=i(53073);let n=["Metadata"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({metadataAssetGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/metadata/asset",params:{subType:e.subType,group:e.group}}),providesTags:["Metadata"]}),assetCustomMetadataGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-metadata`}),providesTags:["Metadata"]}),metadataGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/metadata",method:"POST",body:e.body}),providesTags:["Metadata"]}),metadataPredefinedCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/metadata/predefined",method:"POST",body:e.createPredefinedMetadata}),invalidatesTags:["Metadata"]}),metadataPredefinedUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/metadata/predefined/${e.id}`,method:"PUT",body:e.updatePredefinedMetadata}),invalidatesTags:["Metadata"]}),metadataPredefinedDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/metadata/predefined/${e.id}`,method:"DELETE"}),invalidatesTags:["Metadata"]})}),overrideExisting:!1}),{useMetadataAssetGetCollectionQuery:a,useAssetCustomMetadataGetByIdQuery:o,useMetadataGetCollectionQuery:s,useMetadataPredefinedCreateMutation:d,useMetadataPredefinedUpdateMutation:c,useMetadataPredefinedDeleteMutation:u}=l},89354(e,t,i){"use strict";i.d(t,{l:()=>f});var r=i(46881),n=i(21724),l=i(47867),a=i(40331),o=i(93063),s=i(76359),d=i(53119),c=i(95674),u=i(63364),p=i(10600),m=i(92634),g=i(84555),h=i(50967),v=i(7843);let f=e=>{let t=(0,r.useAppSelector)(t=>(0,n.f_)(t,e)),[i,f]=(0,l.useState)(!0),y=(0,u.Lt)(p.K["Asset/Editor/TypeRegistry"]),b=(0,r.useAppSelector)(t=>(0,v.qD)(t,e));(0,l.useEffect)(()=>{void 0===t?f(!0):f(!1)},[t]);let x=(0,s.L)(e,n.O0,n.$B),j=(0,a.I)(e,t,n.uA,n.kV,n.iC,n.ro),w=(0,c.z)(e,t,n.gz,n.YH,n.a6,n.YI,n.KL),C=(0,o.F)(e,t,n.lB,n.vD,n.fP,n.aG,n.wH),S=(0,h.V)({id:e,draft:t,setCustomSettingsAction:n.Cc,removeCustomSettingsAction:n.Hh}),T=(0,d.J)(e,t,n.tn,n.EI,n.gA),I=(0,g.M)({id:e,draft:t,updateTextDataAction:n.we}),k=(0,m.JX)(e,t,n.pm),E=(null==t?void 0:t.type)===void 0?void 0:y.get(t.type)??y.get("unknown");return{isLoading:i,isError:b,asset:t,editorType:E,...x,...j,...w,...C,...S,...T,...I,...k}}},76497(e,t,i){"use strict";i.d(t,{G:()=>n});var r=i(46096);let n=()=>({openAsset:async e=>{let{config:t}=e,{element:i}=(0,r.qH)();await i.openAsset(t.id)}})},27918(e,t,i){"use strict";i.d(t,{k:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"asset")),setContext:function(t){e((0,n.My)({type:"asset",config:t}))},removeContext:function(){e((0,n.$1)("asset"))}}}},76468(e,t,i){"use strict";i.d(t,{t:()=>l});var r=i(47867),n=i(85670);let l=()=>{let e=(0,r.useContext)(n.l);if(void 0===e)throw Error("useSettings must be used within a SettingsProvider");return e}},25293(e,t,i){"use strict";i.d(t,{A:()=>I});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let[t,i]=(0,n.useState)([]),a=()=>{if(void 0!==t&&0!==t.length)return{type:"system.tag",filterValue:{considerChildTags:!0,tags:t}}};return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{tags:t,setTags:i,getDataQueryArg:a},children:e.children}),[t])},o=()=>{let e=(0,n.useContext)(l);if(void 0===e)throw Error("useTagFilter must be used within a TagFilterProvider");return e};var s=i(21429),d=i(81898),c=i(74325),u=i(27820),p=i(27994),m=i(91206),g=i(96940),h=i(39808),v=i(25750),f=i(93966),y=i(96317),b=i(14490);let x=e=>{let{checkedKeys:t,setCheckedKeys:i}=e,{data:n,isLoading:l}=(0,b.uQ)({page:1,pageSize:9999});if(l)return(0,r.jsx)(h.U,{loading:!0});if((null==n?void 0:n.items)===void 0)return(0,r.jsx)("div",{children:"Failed to load tags"});let a=(0,y.M)({tags:n.items,loadingNodes:new Set});return(0,r.jsx)(v.s,{"data-testid":"tag-filter-tree",gap:"small",vertical:!0,children:(0,r.jsx)(f.l,{checkStrictly:!0,checkedKeys:{checked:t,halfChecked:[]},onCheck:e=>{i(e.checked)},treeData:a,withCustomSwitcherIcon:!0})})},j=(0,n.createContext)({tags:[],setTags:()=>{}}),w=e=>{let{children:t}=e,{tags:i}=o(),[l,a]=(0,n.useState)(i);return(0,n.useEffect)(()=>{a(i)},[i]),(0,n.useMemo)(()=>(0,r.jsx)(j.Provider,{value:{tags:l,setTags:a},children:t}),[l])};var C=i(79963);let S=()=>{let{tags:e,setTags:t}=(0,n.useContext)(j),{setTags:i}=o(),{setPage:l}=(0,C.M)(),{t:a}=(0,s.useTranslation)(),d=e.map(e=>e.toString());return(0,r.jsx)(m.s,{renderToolbar:(0,r.jsxs)(g.M,{theme:"secondary",children:[(0,r.jsx)(u.J,{"data-testid":"listing-tag-filter-clear-button",icon:{value:"close"},onClick:()=>{t([])},type:"link",children:"Clear all filters"}),(0,r.jsx)(p.$,{"data-testid":"listing-tag-filter-apply-button",onClick:()=>{i(e),l(1)},type:"primary",children:"Apply"})]}),children:(0,r.jsxs)(h.U,{padded:!0,padding:"small",children:[(0,r.jsx)(c.h,{children:a("sidebar.tag_filters")}),(0,r.jsx)(x,{checkedKeys:d,setCheckedKeys:e=>{t(e.map(e=>parseInt(e)))}})]})})},T=()=>(0,r.jsx)(w,{children:(0,r.jsx)(S,{})}),I=e=>{let{ContextComponent:t,useDataQueryHelper:i,useSidebarOptions:n,...l}=e;return{ContextComponent:()=>(0,r.jsx)(a,{children:(0,r.jsx)(t,{})}),useDataQueryHelper:()=>{let{getArgs:e,...t}=i(),{getDataQueryArg:r,tags:n}=o();return{...t,getArgs:()=>{let t=e(),i=r(),l=[...(t.body.filters.columnFilters??[]).filter(e=>"system.tag"!==e.type)];return n.length>0&&l.push(i),{...t,body:{...t.body,filters:{...t.body.filters,columnFilters:l}}}}}},useSidebarOptions:()=>{let{getProps:e}=n(),{tags:t}=o(),{t:i}=(0,s.useTranslation)();return{getProps:()=>{let n=e(),l=n.highlights??[];return t.length>0?l.push("tag-filters"):l=l.filter(e=>"tag-filters"!==e),{...n,highlights:l,entries:[{component:(0,r.jsx)(T,{}),key:"tag-filters",icon:(0,r.jsx)(d.I,{value:"tag"}),tooltip:i("sidebar.tag_filters")},...n.entries]}}}},...l}}},92502(e,t,i){"use strict";i.d(t,{p:()=>r});let r=()=>({getId:()=>1})},78354(e,t,i){"use strict";i.d(t,{s:()=>a});var r=i(63364),n=i(10600),l=i(35864);let a=e=>(0,l.isNil)(e)?null:r.kL.get(n.K["Asset/ThumbnailService"]).getThumbnailUrl(e)},76228(e,t,i){"use strict";i.d(t,{Kc:()=>o,UA:()=>l});var r=i(46881);let n=(0,i(88605).createSlice)({name:"authentication",initialState:{isAuthenticated:void 0},reducers:{setAuthState(e,t){e.isAuthenticated=t.payload},resetAuthState(e){e.isAuthenticated=void 0}}});(0,r.injectSliceWithState)(n);let{setAuthState:l,resetAuthState:a}=n.actions,o=e=>e.authentication.isAuthenticated;n.reducer},11482(e,t,i){"use strict";i.d(t,{Ng:()=>n,_L:()=>r,z1:()=>l});let{useLoginMutation:r,useLogoutMutation:n,useLoginTokenMutation:l}=i(53073).api.enhanceEndpoints({addTagTypes:["Authorization"]}).injectEndpoints({endpoints:e=>({login:e.mutation({query:e=>({url:"/pimcore-studio/api/login",method:"POST",body:e.credentials}),invalidatesTags:["Authorization"]}),logout:e.mutation({query:()=>({url:"/pimcore-studio/api/logout",method:"POST"}),invalidatesTags:["Authorization"]}),loginToken:e.mutation({query:e=>({url:"/pimcore-studio/api/login/token",method:"POST",body:e.authenticationToken}),invalidatesTags:["Authorization"]})}),overrideExisting:!1})},9653(e,t,i){"use strict";i.d(t,{F:()=>n});var r,n=((r={}).NotesAndEvents="notes_events",r.Translations="translations",r.Appearance="system_appearance_settings",r.Documents="documents",r.DocumentTypes="document_types",r.Objects="objects",r.Assets="assets",r.Thumbnails="thumbnails",r.TagsConfiguration="tags_configuration",r.PredefinedProperties="predefined_properties",r.WebsiteSettings="website_settings",r.Users="users",r.Notifications="notifications",r.SendNotifications="notifications_send",r.Emails="emails",r.Reports="reports",r.ReportsConfig="reports_config",r.RecycleBin="recyclebin",r.Redirects="redirects",r.ApplicationLogger="application_logging",r.PerspectiveEditor="studio_perspective_editor",r.WidgetEditor="studio_perspective_widget_editor",r.GDPRDataExtractor="gdpr_data_extractor",r.SystemSettings="system_settings",r.Classes="classes",r.FieldCollections="fieldcollections",r.ObjectBricks="objectbricks",r.ClassificationStore="classificationstore",r.SelectOptions="selectoptions",r.QuantityValues="quantityValueUnits",r.AssetMetadata="asset_metadata",r)},39578(e,t,i){"use strict";i.d(t,{u:()=>s});var r=i(55638),n=i(29124),l=i(52725),a=i(46881),o=i(11482);let s=()=>{let[e]=(0,n.sz)(),[t]=(0,o.z1)();return{resetPassword:async(t,i,n)=>{let o,s=e({resetPassword:{username:t,resetPasswordUrl:(o=(0,l.generatePath)(a.routes.passwordReset),`${a.currentDomain}${o}`)}});try{let e=await s;if(void 0!==e.error){(0,r.Ay)(new r.hD(e.error)),null==i||i();return}null==i||i(),null==n||n()}catch{(0,r.Ay)(new r.$g("Error resetting password")),null==i||i()}},loginWithToken:async(e,i,n)=>{let l=t({authenticationToken:{token:e}});try{let e=await l;if(void 0!==e.error){(0,r.Ay)(new r.hD(e.error)),null==n||n();return}null==i||i()}catch(e){console.log("error",e),(0,r.Ay)(new r.$g("Error using token for authorization")),null==n||n()}}}}},19808(e,t,i){"use strict";i.d(t,{X:()=>o});var r=i(47867),n=i(95487),l=i(46881),a=i(76228);let o=()=>{let e=(0,l.useAppSelector)(a.Kc),t=(0,l.useAppDispatch)(),{isError:i,error:o,isSuccess:s,refetch:d}=(0,n.s)(void 0,{skip:void 0!==e});return(0,r.useEffect)(()=>{i&&t((0,a.UA)(!1)),s&&t((0,a.UA)(!0))},[i,s,o]),{isAuthenticated:e,recheck:()=>{d()}}}},19019(e,t,i){"use strict";i.d(t,{L:()=>l,P:()=>n});var r=i(46881);let n=()=>({resetChanges:e=>{e.changes={},e.modifiedCells={},e.modified=!1},setModifiedCells:(e,t)=>{e.modifiedCells={...e.modifiedCells,...t.payload.modifiedCells},e.modified=!0}}),l=(e,t)=>{let i=(0,r.useAppDispatch)();return{removeTrackedChanges:()=>{i(e())},setModifiedCells:e=>{i(t({modifiedCells:e}))}}}},68119(e,t,i){"use strict";i.d(t,{U:()=>o});var r=i(46881),n=i(73565),l=i(47867),a=i(19019);let o=()=>{let e=(0,r.useAppSelector)(e=>(0,n.xu)(e)),[t,i]=(0,l.useState)(!0);return(0,l.useEffect)(()=>{void 0===e?i(!0):i(!1)},[e]),{isLoading:t,user:e,...(0,a.L)(()=>(0,n.vD)(),e=>(0,n.$B)(e))}}},61549(e,t,i){"use strict";i.d(t,{J:()=>a});var r=i(47867),n=i(62284),l=i(73565);let a=()=>{let e=(0,n.useSelector)(l.xu);return(0,r.useMemo)(()=>e,[e])}},44499(e,t,i){"use strict";i.d(t,{J:()=>l});var r=i(41630),n=i(73565);let l=e=>{let t=r.M_.getState(),i=(0,n.xu)(t);return!!i.isAdmin||void 0!==e&&i.permissions.includes(e)}},95487(e,t,i){"use strict";i.d(t,{F:()=>n,s:()=>l});var r=i(53996);let n=i(29124).FH.enhanceEndpoints({addTagTypes:[r.nP.CURRENT_USER_INFORMATION],endpoints:{userGetCurrentInformation:{providesTags:(e,t,i)=>r.yc.CURRENT_USER_INFORMATION()},userGetImage:e=>{let t=e.query;void 0!==t&&(e.query=e=>{let i=t(e);return null===i||"object"!=typeof i?i:{...i,responseHandler:async e=>{let t=await e.blob();return{data:URL.createObjectURL(t)}}}})}}}),{useUserGetCurrentInformationQuery:l}=n},29124(e,t,i){"use strict";i.d(t,{FH:()=>r,lO:()=>j,rW:()=>c,sz:()=>y});let r=i(53073).api.enhanceEndpoints({addTagTypes:["User Management"]}).injectEndpoints({endpoints:e=>({userCloneById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/clone/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/user/",method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userFolderCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/user/folder",method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userGetCurrentInformation:e.query({query:()=>({url:"/pimcore-studio/api/user/current-user-information"}),providesTags:["User Management"]}),userGetById:e.query({query:e=>({url:`/pimcore-studio/api/user/${e.id}`}),providesTags:["User Management"]}),userUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}`,method:"PUT",body:e.updateUser}),invalidatesTags:["User Management"]}),userDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userFolderDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/folder/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userGetImage:e.query({query:e=>({url:`/pimcore-studio/api/user/image/${e.id}`}),providesTags:["User Management"]}),userImageDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/image/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userDefaultKeyBindings:e.query({query:()=>({url:"/pimcore-studio/api/users/default-key-bindings"}),providesTags:["User Management"]}),userGetAvailablePermissions:e.query({query:()=>({url:"/pimcore-studio/api/user/available-permissions"}),providesTags:["User Management"]}),userGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/users"}),providesTags:["User Management"]}),userListWithPermission:e.query({query:e=>({url:"/pimcore-studio/api/users/with-permission",params:{permission:e.permission,includeCurrentUser:e.includeCurrentUser}}),providesTags:["User Management"]}),userResetPassword:e.mutation({query:e=>({url:"/pimcore-studio/api/user/reset-password",method:"POST",body:e.resetPassword}),invalidatesTags:["User Management"]}),pimcoreStudioApiUserSearch:e.query({query:e=>({url:"/pimcore-studio/api/user/search",params:{searchQuery:e.searchQuery}}),providesTags:["User Management"]}),userTokenLinkGet:e.query({query:e=>({url:`/pimcore-studio/api/user/token-link/${e.id}`,method:"POST",body:e.tokenLink}),providesTags:["User Management"]}),userUpdateActivePerspective:e.mutation({query:e=>({url:`/pimcore-studio/api/user/active-perspective/${e.perspectiveId}`,method:"PUT"}),invalidatesTags:["User Management"]}),userUpdatePasswordById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}/password`,method:"PUT",body:e.body}),invalidatesTags:["User Management"]}),userUpdateProfile:e.mutation({query:e=>({url:"/pimcore-studio/api/user/update-profile",method:"PUT",body:e.updateUserProfile}),invalidatesTags:["User Management"]}),userUploadImage:e.mutation({query:e=>({url:`/pimcore-studio/api/user/upload-image/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userGetTree:e.query({query:e=>({url:"/pimcore-studio/api/users/tree",params:{parentId:e.parentId}}),providesTags:["User Management"]}),userGetShareCollection:e.query({query:()=>({url:"/pimcore-studio/api/users-share-list"}),providesTags:["User Management"]})}),overrideExisting:!1}),{useUserCloneByIdMutation:n,useUserCreateMutation:l,useUserFolderCreateMutation:a,useUserGetCurrentInformationQuery:o,useUserGetByIdQuery:s,useUserUpdateByIdMutation:d,useUserDeleteByIdMutation:c,useUserFolderDeleteByIdMutation:u,useUserGetImageQuery:p,useUserImageDeleteByIdMutation:m,useUserDefaultKeyBindingsQuery:g,useUserGetAvailablePermissionsQuery:h,useUserGetCollectionQuery:v,useUserListWithPermissionQuery:f,useUserResetPasswordMutation:y,usePimcoreStudioApiUserSearchQuery:b,useUserTokenLinkGetQuery:x,useUserUpdateActivePerspectiveMutation:j,useUserUpdatePasswordByIdMutation:w,useUserUpdateProfileMutation:C,useUserUploadImageMutation:S,useUserGetTreeQuery:T,useUserGetShareCollectionQuery:I}=r},73565(e,t,i){"use strict";i.d(t,{$B:()=>p,OA:()=>c,WF:()=>s,Zr:()=>d,gV:()=>o,vD:()=>u,xu:()=>m});var r=i(88605),n=i(46881),l=i(19019);let a=(0,r.createSlice)({name:"auth",initialState:{modified:!1,changes:{},modifiedCells:{},id:0,username:"",email:"",firstname:"",lastname:"",permissions:[],isAdmin:!1,classes:[],docTypes:[],language:"en",activePerspective:"0",perspectives:[],dateTimeLocale:"",welcomeScreen:!1,memorizeTabs:!1,hasImage:!1,image:void 0,contentLanguages:[],keyBindings:[],allowedLanguagesForEditingWebsiteTranslations:[],allowedLanguagesForViewingWebsiteTranslations:[],allowDirtyClose:!1,twoFactorAuthentication:{enabled:!1,required:!1,type:"",active:!1}},reducers:{setUser:(e,t)=>{let{payload:i}=t;return{...e,...i}},userProfileUpdated:(e,t)=>{let{payload:i}=t;return{...e,...i,modified:!1,modifiedCells:{},changes:{}}},userProfileImageUpdated:(e,t)=>{let{payload:i}=t;return{...e,image:i.data.image,hasImage:i.data.hasImage}},setPerspectives:(e,t)=>{let{payload:i}=t;return{...e,perspectives:i}},...(0,l.P)()}});a.name,(0,n.injectSliceWithState)(a);let{setUser:o,userProfileUpdated:s,userProfileImageUpdated:d,setPerspectives:c,resetChanges:u,setModifiedCells:p}=a.actions,m=e=>e.auth},45725(e,t,i){"use strict";i.d(t,{$v:()=>v,F7:()=>f,GC:()=>x,GV:()=>p,H8:()=>F,Hl:()=>d,I2:()=>g,KD:()=>w,Q:()=>y,T4:()=>j,TW:()=>M,U3:()=>b,Wm:()=>s,Zn:()=>u,_o:()=>m,d9:()=>c,dz:()=>h,eH:()=>P,hq:()=>C,pv:()=>a,wt:()=>o});var r=i(68710);function n(e,t,i){e((e,n)=>{var l;for(let[a,o]of Object.entries((null==(l=n().api)?void 0:l.queries)??{}))if(a.startsWith(`${t}(`))try{e(r.FH.util.updateQueryData(t,o.originalArgs,i))}catch{}})}function l(e,t,i){let n=[];return e((e,l)=>{var a;for(let[o,s]of Object.entries((null==(a=l().api)?void 0:a.queries)??{}))if(o.startsWith(`${t}(`))try{let l=e(r.FH.util.updateQueryData(t,s.originalArgs,i));n.push(l)}catch{}}),n}let{useClassificationStoreConfigurationCollectionCollectionQuery:a,useClassificationStoreConfigurationGroupCollectionQuery:o,useClassificationStoreConfigurationKeyCollectionQuery:s,useClassificationStoreConfigurationKeyGroupRelationCollectionQuery:d,useClassificationStoreConfigurationCollectionRelationCollectionQuery:c,useClassificationStoreConfigurationGroupCreateMutation:u,useClassificationStoreConfigurationGroupUpdateMutation:p,useClassificationStoreConfigurationGroupDeleteMutation:m,useClassificationStoreConfigurationCollectionCreateMutation:g,useClassificationStoreConfigurationCollectionUpdateMutation:h,useClassificationStoreConfigurationCollectionDeleteMutation:v,useClassificationStoreConfigurationKeyCreateMutation:f,useClassificationStoreConfigurationKeyUpdateMutation:y,useClassificationStoreConfigurationKeyDeleteMutation:b,useClassificationStoreConfigurationKeyGroupRelationCreateMutation:x,useClassificationStoreConfigurationKeyGroupRelationDeleteMutation:j,useClassificationStoreConfigurationCollectionRelationCreateMutation:w,useClassificationStoreConfigurationCollectionRelationDeleteMutation:C,useClassificationStoreConfigurationStoreTreeQuery:S,useClassificationStoreConfigurationStoreCreateMutation:T,useClassificationStoreConfigurationStoreUpdateMutation:I,useClassificationStoreGetCollectionsQuery:k,useClassificationStoreGetGroupsQuery:E,useClassificationStoreGetKeyGroupRelationsQuery:D,useClassificationStoreGetLayoutByCollectionQuery:N,useLazyClassificationStoreGetLayoutByCollectionQuery:P,useClassificationStoreGetLayoutByGroupQuery:A,useLazyClassificationStoreGetLayoutByGroupQuery:F,useClassificationStoreGetLayoutByKeyQuery:$,useLazyClassificationStoreGetLayoutByKeyQuery:M}=r.FH.enhanceEndpoints({endpoints:{classificationStoreConfigurationGroupCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationGroupUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationGroupCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationGroupUpdate;t.items[i]={...t.items[i],...r}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationGroupCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationGroupDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationGroupCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationCollectionCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationCollectionUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationCollectionCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationCollectionUpdate;t.items[i]={...t.items[i],...r}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationCollectionCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationCollectionCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationKeyCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationKeyUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationKeyCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationKeyUpdate;t.items[i]={...t.items[i],name:r.name,...void 0!==r.type&&null!==r.type?{type:r.type}:{},description:r.description}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationKeyCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationKeyDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationKeyCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationKeyGroupRelationCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationKeyGroupRelationCreate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{keyId:a,groupId:o,sorter:s,mandatory:d}=e.classificationStoreConfigurationKeyGroupRelationCreate,c=l(i,"classificationStoreConfigurationKeyGroupRelationCollection",e=>{let t=e.items.findIndex(e=>e.keyId===a&&e.groupId===o);-1!==t?e.items[t]={...e.items[t],sorter:s,mandatory:d}:(e.items.push({keyId:a,groupId:o,sorter:s,mandatory:d,keyName:null,keyDescription:null,groupName:null}),e.totalItems+=1)});try{let{data:e}=await r;n(i,"classificationStoreConfigurationKeyGroupRelationCollection",t=>{let i=t.items.findIndex(t=>t.keyId===e.keyId&&t.groupId===e.groupId);-1!==i&&(t.items[i]=e)})}catch{c.forEach(e=>{e.undo()})}}},classificationStoreConfigurationKeyGroupRelationDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{keyId:n,groupId:a}=e.classificationStoreConfigurationKeyGroupRelationDelete,o=l(i,"classificationStoreConfigurationKeyGroupRelationCollection",e=>{let t=e.items.findIndex(e=>e.keyId===n&&e.groupId===a);-1!==t&&(e.items.splice(t,1),e.totalItems=Math.max(0,e.totalItems-1))});try{await r}catch{o.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionRelationCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationCollectionRelationCreate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{colId:a,groupId:o,sorter:s}=e.classificationStoreConfigurationCollectionRelationCreate,d=l(i,"classificationStoreConfigurationCollectionRelationCollection",e=>{let t=e.items.findIndex(e=>e.colId===a&&e.groupId===o);-1!==t?e.items[t]={...e.items[t],sorter:s}:(e.items.push({id:"",colId:a,groupId:o,sorter:s,groupName:null,groupDescription:null}),e.totalItems+=1)});try{let{data:e}=await r;n(i,"classificationStoreConfigurationCollectionRelationCollection",t=>{let i=t.items.findIndex(t=>t.colId===e.colId&&t.groupId===e.groupId);-1!==i&&(t.items[i]=e)})}catch{d.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionRelationDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{colId:n,groupId:a}=e.classificationStoreConfigurationCollectionRelationDelete,o=l(i,"classificationStoreConfigurationCollectionRelationCollection",e=>{let t=e.items.findIndex(e=>e.colId===n&&e.groupId===a);-1!==t&&(e.items.splice(t,1),e.totalItems=Math.max(0,e.totalItems-1))});try{await r}catch{o.forEach(e=>{e.undo()})}}}}})},68710(e,t,i){"use strict";i.d(t,{FH:()=>r,IX:()=>I,Q:()=>f,SA:()=>S,WP:()=>C,Y0:()=>E,ZZ:()=>A,b5:()=>k,t6:()=>w});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Classification Store"]}).injectEndpoints({endpoints:e=>({classificationStoreConfigurationCollectionCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/collections`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationCollectionCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collections/add",method:"POST",body:e.classificationStoreConfigurationCollectionCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationCollectionUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.colId}/relations`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collection-relations/add",method:"POST",body:e.classificationStoreConfigurationCollectionRelationCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collection-relations",method:"DELETE",body:e.classificationStoreConfigurationCollectionRelationDelete}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/groups`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationGroupCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/groups/add",method:"POST",body:e.classificationStoreConfigurationGroupCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationGroupUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/keys`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationKeyCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/keys/add",method:"POST",body:e.classificationStoreConfigurationKeyCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/keys/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationKeyUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/keys/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.groupId}/key-relations`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/key-group-relations/add",method:"POST",body:e.classificationStoreConfigurationKeyGroupRelationCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/key-group-relations",method:"DELETE",body:e.classificationStoreConfigurationKeyGroupRelationDelete}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationStoreCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/stores",method:"POST",body:e.classificationStoreConfigurationStoreCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationStoreTree:e.query({query:()=>({url:"/pimcore-studio/api/classification-store/configuration/stores/tree"}),providesTags:["Classification Store"]}),classificationStoreConfigurationStoreUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationStoreUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGetPage:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/get-page",params:{table:e.table,id:e.id,storeId:e.storeId,pageSize:e.pageSize,sortKey:e.sortKey,sortDir:e.sortDir}}),providesTags:["Classification Store"]}),classificationStoreGetCollections:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/collections",params:{storeId:e.storeId,classId:e.classId,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName,searchTerm:e.searchTerm}}),providesTags:["Classification Store"]}),classificationStoreGetGroups:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/groups",params:{storeId:e.storeId,classId:e.classId,searchTerm:e.searchTerm,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetKeyGroupRelations:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/key-group-relations",params:{storeId:e.storeId,classId:e.classId,searchTerm:e.searchTerm,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-collection/${e.collectionId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByGroup:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-group/${e.groupId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByKey:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-key/${e.keyId}/${e.groupId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetConfigCollection:e.query({query:()=>({url:"/pimcore-studio/api/classification-store/config/collection"}),providesTags:["Classification Store"]})}),overrideExisting:!1}),{useClassificationStoreConfigurationCollectionCollectionQuery:n,useClassificationStoreConfigurationCollectionCreateMutation:l,useClassificationStoreConfigurationCollectionUpdateMutation:a,useClassificationStoreConfigurationCollectionDeleteMutation:o,useClassificationStoreConfigurationCollectionRelationCollectionQuery:s,useClassificationStoreConfigurationCollectionRelationCreateMutation:d,useClassificationStoreConfigurationCollectionRelationDeleteMutation:c,useClassificationStoreConfigurationGroupCollectionQuery:u,useClassificationStoreConfigurationGroupCreateMutation:p,useClassificationStoreConfigurationGroupUpdateMutation:m,useClassificationStoreConfigurationGroupDeleteMutation:g,useClassificationStoreConfigurationKeyCollectionQuery:h,useClassificationStoreConfigurationKeyCreateMutation:v,useClassificationStoreConfigurationKeyUpdateMutation:f,useClassificationStoreConfigurationKeyDeleteMutation:y,useClassificationStoreConfigurationKeyGroupRelationCollectionQuery:b,useClassificationStoreConfigurationKeyGroupRelationCreateMutation:x,useClassificationStoreConfigurationKeyGroupRelationDeleteMutation:j,useClassificationStoreConfigurationStoreCreateMutation:w,useClassificationStoreConfigurationStoreTreeQuery:C,useClassificationStoreConfigurationStoreUpdateMutation:S,useClassificationStoreConfigurationGetPageQuery:T,useClassificationStoreGetCollectionsQuery:I,useClassificationStoreGetGroupsQuery:k,useClassificationStoreGetKeyGroupRelationsQuery:E,useClassificationStoreGetLayoutByCollectionQuery:D,useClassificationStoreGetLayoutByGroupQuery:N,useClassificationStoreGetLayoutByKeyQuery:P,useClassificationStoreGetConfigCollectionQuery:A}=r},91434(e,t,i){"use strict";i.d(t,{Ex:()=>c,FH:()=>n,M5:()=>d,ZE:()=>l,ft:()=>s,lJ:()=>o,nF:()=>p,pV:()=>u,rg:()=>a});var r=i(53996);let n=i(69187).FH.enhanceEndpoints({addTagTypes:[r.nP.DATA_OBJECT,r.nP.DATA_OBJECT_TREE,r.nP.DATA_OBJECT_DETAIL],endpoints:{dataObjectClone:{invalidatesTags:(e,t,i)=>r.qN.DATA_OBJECT_TREE_ID(i.parentId)},dataObjectGetById:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectGetTree:{providesTags:(e,t,i)=>void 0!==i.parentId?r.yc.DATA_OBJECT_TREE_ID(i.parentId):r.yc.DATA_OBJECT_TREE()},dataObjectGetGrid:{keepUnusedDataFor:10,providesTags:(e,t,i)=>r.yc.DATA_OBJECT_GRID_ID(i.body.folderId)},dataObjectUpdateById:{invalidatesTags:(e,t,i)=>"autoSave"===i.body.data.task?[]:r.qN.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectAdd:{invalidatesTags:(e,t,i)=>r.qN.DATA_OBJECT_TREE_ID(i.parentId)},dataObjectGetLayoutById:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectFormatPath:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.body.objectId)},dataObjectPatchById:{invalidatesTags:(e,t,i)=>{let n=[];for(let e of i.body.data)n.push(...r.qN.DATA_OBJECT_DETAIL_ID(e.id));return n}}}}),{useDataObjectAddMutation:l,useDataObjectCloneMutation:a,useDataObjectGetByIdQuery:o,useDataObjectUpdateByIdMutation:s,useDataObjectPatchByIdMutation:d,useDataObjectPatchFolderByIdMutation:c,useDataObjectGetTreeQuery:u,useDataObjectGetLayoutByIdQuery:p}=n},69187(e,t,i){"use strict";i.d(t,{FH:()=>r,Gq:()=>I,M5:()=>w,RX:()=>u,ZE:()=>n,dB:()=>b,ft:()=>s,je:()=>g,lw:()=>c,n5:()=>f,om:()=>y,rg:()=>a,t1:()=>p,v4:()=>v,vr:()=>d});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Data Objects","Data Object Grid"]}).injectEndpoints({endpoints:e=>({dataObjectAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/add/${e.parentId}`,method:"POST",body:e.dataObjectAddParameters}),invalidatesTags:["Data Objects"]}),dataObjectBatchDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects/batch-delete",method:"DELETE",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectClone:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}/clone/${e.parentId}`,method:"POST",body:e.cloneParameters}),invalidatesTags:["Data Objects"]}),dataObjectGetById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}`}),providesTags:["Data Objects"]}),dataObjectUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectGetGridPreview:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/grid/preview",method:"POST",body:e.body}),providesTags:["Data Object Grid"]}),dataObjectDeleteGridConfigurationByConfigurationId:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/${e.configurationId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectGetGridConfiguration:e.query({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/${e.folderId}/${e.classId}`,params:{configurationId:e.configurationId}}),providesTags:["Data Object Grid"]}),dataObjectListSavedGridConfigurations:e.query({query:e=>({url:`/pimcore-studio/api/data-object/grid/configurations/${e.classId}`}),providesTags:["Data Object Grid"]}),dataObjectRemoveGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/remove-favorite/${e.configurationId}/${e.folderId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectSaveGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/save/${e.classId}`,method:"POST",body:e.body}),invalidatesTags:["Data Object Grid"]}),dataObjectSetGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/${e.configurationId}/${e.folderId}`,method:"POST"}),invalidatesTags:["Data Object Grid"]}),dataObjectUpdateGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/update/${e.configurationId}`,method:"PUT",body:e.body}),invalidatesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumns:e.query({query:e=>({url:"/pimcore-studio/api/data-object/grid/available-columns",params:{classId:e.classId,folderId:e.folderId}}),providesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumnsForRelation:e.query({query:e=>({url:"/pimcore-studio/api/data-object/grid/available-columns-for-relation",params:{classId:e.classId,relationField:e.relationField}}),providesTags:["Data Object Grid"]}),dataObjectGetGrid:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/grid/${e.classId}`,method:"POST",body:e.body}),providesTags:["Data Object Grid"]}),dataObjectGetPhpcodeTransformers:e.query({query:()=>({url:"/pimcore-studio/api/data-objects/grid/transformers/services/phpcode"}),providesTags:["Data Object Grid"]}),dataObjectGetLayoutById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}/layout`,params:{layoutId:e.layoutId}}),providesTags:["Data Objects"]}),dataObjectPatchById:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects",method:"PATCH",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectPatchFolderById:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects/folder",method:"PATCH",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectFormatPath:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/format-path",method:"POST",body:e.body}),providesTags:["Data Objects"]}),dataObjectPreviewById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/preview/${e.id}`,params:{site:e.site}}),providesTags:["Data Objects"]}),dataObjectReplaceContent:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.sourceId}/replace/${e.targetId}`,method:"POST"}),invalidatesTags:["Data Objects"]}),dataObjectGetSelectOptions:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects/select-options",method:"POST",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectGetTree:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants,className:e.className,classIds:e.classIds}}),providesTags:["Data Objects"]})}),overrideExisting:!1}),{useDataObjectAddMutation:n,useDataObjectBatchDeleteMutation:l,useDataObjectCloneMutation:a,useDataObjectGetByIdQuery:o,useDataObjectUpdateByIdMutation:s,useDataObjectGetGridPreviewQuery:d,useDataObjectDeleteGridConfigurationByConfigurationIdMutation:c,useDataObjectGetGridConfigurationQuery:u,useDataObjectListSavedGridConfigurationsQuery:p,useDataObjectRemoveGridConfigurationAsFavoriteMutation:m,useDataObjectSaveGridConfigurationMutation:g,useDataObjectSetGridConfigurationAsFavoriteMutation:h,useDataObjectUpdateGridConfigurationMutation:v,useDataObjectGetAvailableGridColumnsQuery:f,useDataObjectGetAvailableGridColumnsForRelationQuery:y,useDataObjectGetGridQuery:b,useDataObjectGetPhpcodeTransformersQuery:x,useDataObjectGetLayoutByIdQuery:j,useDataObjectPatchByIdMutation:w,useDataObjectPatchFolderByIdMutation:C,useDataObjectFormatPathQuery:S,useDataObjectPreviewByIdQuery:T,useDataObjectReplaceContentMutation:I,useDataObjectGetSelectOptionsMutation:k,useDataObjectGetTreeQuery:E}=r},22555(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"data-object-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["data-object-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},31866(e,t,i){"use strict";i.d(t,{L:()=>a,p:()=>l});var r=i(46881),n=i(47867);let l=e=>({markObjectDataAsModified:(t,i)=>{var r,n,l;let a;r=t,n=i.payload,l=e=>{var t;return(t=e).modified=!0,t.changes={...t.changes,objectData:!0},e},void 0!==(a=e.getSelectors().selectById(r,n))&&(r.entities[n]=l({...a}))}}),a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{markObjectDataAsModified:()=>{var r;null!=t&&null!=(r=t.changes)&&r.objectData||a(()=>{l(i(e))})}}}},93104(e,t,i){"use strict";i.d(t,{Yl:()=>o,ub:()=>d,xz:()=>u});var r=i(35864),n=i(276),l=i(44767),a=i(18196);let o=(e,t)=>[e,t].filter(Boolean).join("/"),s=[l.l.BLOCK],d=async e=>{let t,{objectId:i,layout:l,versionData:d,versionId:c,versionCount:u,objectDataRegistry:p,layoutsList:m,setLayoutsList:g}=e,h={fullPath:d.fullPath,creationDate:(0,n.r6)({timestamp:d.creationDate??null,dateStyle:"short",timeStyle:"medium"}),modificationDate:(0,n.r6)({timestamp:d.modificationDate??null,dateStyle:"short",timeStyle:"medium"})},v=async e=>{let{data:t,objectValuesData:n=null==d?void 0:d.objectData,fieldBreadcrumbTitle:l="",fieldPath:h=""}=e,f=t.map(async e=>{if("layout"===e.datatype){let t=o(l,e.title);return await v({data:e.children,fieldBreadcrumbTitle:t,objectValuesData:n,fieldPath:h})}if("data"===e.datatype){let t=e.name,d=(0,r.get)(n,t),f=e.fieldtype,y=(0,a.Po)(h)?t:`${h}.${t}`;if(!p.hasDynamicType(f))return[];let b=p.getDynamicType(f),x=await b.processVersionFieldData({objectId:i,item:e,fieldBreadcrumbTitle:l,fieldValueByName:d,versionId:c,versionCount:u,layoutsList:m,setLayoutsList:g,fieldPath:y}),j=null==x?void 0:x.map(async e=>{var t,i,a,d;if(n={},!(0,r.isEmpty)(null==e||null==(t=e.fieldData)?void 0:t.children)&&!s.includes(null==e||null==(i=e.fieldData)?void 0:i.fieldtype)){let t=o(l,(null==e||null==(a=e.fieldData)?void 0:a.title)??"");return await v({data:[null==e?void 0:e.fieldData],objectValuesData:{...n,[null==e||null==(d=e.fieldData)?void 0:d.name]:null==e?void 0:e.fieldValue},fieldBreadcrumbTitle:t,fieldPath:(null==e?void 0:e.fieldPath)??""})}return[e]});return(await Promise.all(j)).flatMap(e=>e)}return[]});return(await Promise.all(f)).flatMap(e=>e)},f=await v({data:l});return[...(t=[],Object.entries(h).forEach(e=>{let[i,r]=e;t.push({fieldBreadcrumbTitle:"systemData",fieldData:{title:i,name:i,fieldtype:"input"},fieldValue:r,versionId:c,versionCount:u,fieldPath:""})}),t),...f]},c=e=>{var t,i;let r=e.fieldBreadcrumbTitle??"",n=(null==(t=e.fieldData)?void 0:t.name)??"",l=(null==(i=e.fieldData)?void 0:i.locale)??"default";return`${r}-${n}-${l}`},u=e=>{let{data:t}=e,i=[],n=new Map((t[0]??[]).map(e=>[c(e),e])),a=t[1]??[],o=new Map(a.map(e=>[c(e),e])),s=!(0,r.isEmpty)(a);for(let e of new Set([...n.keys(),...o.keys()])){let t=n.get(e),a=o.get(e),c=!(0,r.isUndefined)(a),m={Field:{fieldBreadcrumbTitle:(null==t?void 0:t.fieldBreadcrumbTitle)??(null==a?void 0:a.fieldBreadcrumbTitle),...(null==t?void 0:t.fieldData)??(null==a?void 0:a.fieldData)}};if((0,r.isEmpty)(t)?c&&(m[`Version ${a.versionCount}`]=null):m[`Version ${t.versionCount}`]=t.fieldValue,c&&(m[`Version ${a.versionCount}`]=a.fieldValue??null),s&&!(0,r.isEqual)((null==t?void 0:t.fieldValue)??null,(null==a?void 0:a.fieldValue)??null)){var d,u,p;if(m.isModifiedValue=!0,(null==t||null==(d=t.fieldData)?void 0:d.fieldtype)===l.l.FIELD_COLLECTIONS){let e=null==t||null==(u=t.fieldValue)?void 0:u.length,i=null==a||null==(p=a.fieldValue)?void 0:p.length,n=i>e?a:t,l=e(null==e?void 0:e.type)===(null==t?void 0:t.type)&&(0,r.isEqual)(null==e?void 0:e.data,null==t?void 0:t.data)).map(e=>e.type)}}i.push(m)}return i}},66026(e,t,i){"use strict";i.d(t,{A:()=>v});var r=i(46881),n=i(54100),l=i(47867),a=i(40331),o=i(76359),s=i(95674),d=i(63364),c=i(10600),u=i(92634),p=i(31866),m=i(26280),g=i(50034),h=i(22555);let v=e=>{let t=(0,r.useAppSelector)(t=>(0,n.Sz)(t,e)),[i,v]=(0,l.useState)(!0),f=(0,d.Lt)(c.K["DataObject/Editor/TypeRegistry"]),y=(0,r.useAppSelector)(t=>(0,h.qD)(t,e));(0,l.useEffect)(()=>{void 0!==t||y?v(!1):v(!0)},[t]);let b=(0,o.L)(e,n.vD,n.$B),x=(0,a.I)(e,t,n.fS,n.ZD,n.zE,n.WZ),j=(0,s.z)(e,t,n.dr,n.NL,n.r0,n.f7,n.lq),w=(0,u.JX)(e,t,n.Ko),C=(0,p.L)(e,t,n.am),S=(0,m.cY)(e,n._5),T=(0,g.D)(e,n.T2,n.Up),I=(null==t?void 0:t.type)===void 0?void 0:f.get(t.type)??f.get("object");return{isLoading:i,isError:y,dataObject:t,editorType:I,...b,...x,...j,...w,...C,...S,...T}}},40721(e,t,i){"use strict";i.d(t,{H:()=>c});var r=i(41630),n=i(59385),l=i(74108),a=i(69187),o=i(54100),s=i(55638),d=i(46096);let c=()=>{let e=r.M_.dispatch,[t]=(0,a.ft)();return{openDataObject:async function(e){let{config:t}=e,{element:i}=(0,d.qH)();await i.openDataObject(t.id)},executeDataObjectTask:async(i,r,a)=>{let d=t({id:i,body:{data:{task:r}}});d.catch(e=>{(0,s.Ay)(new s.hD(e))});try{e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!0}));let t=await d;if(void 0!==t.error){e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!1})),(0,s.Ay)(new s.hD(t.error)),null==a||a();return}r===l.D.Unpublish&&e((0,o.Up)({id:i})),r===l.D.Publish&&e((0,o.T2)({id:i})),(r===l.D.Unpublish||r===l.D.Publish)&&e((0,n.setNodePublished)({nodeId:String(i),elementType:"data-object",isPublished:"publish"===r})),e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!1})),null==a||a()}catch(e){(0,s.Ay)(new s.$g(e.message))}}}}},64724(e,t,i){"use strict";i.d(t,{n:()=>l});var r=i(47867),n=i(20713);let l=()=>{let{id:e}=(0,r.useContext)(n.Z);return{id:e}}},20761(e,t,i){"use strict";i.d(t,{G:()=>s});var r=i(47867),n=i(41630),l=i(55638),a=i(91434),o=i(35864);let s=()=>{let e=(0,r.useRef)(new Map),t=(e,t,i,r)=>`${e}_${t}_${i}_${r}`,i=(e,i,r,n)=>{let l={},a=[];return e.forEach(e=>{let o=t(i,r,e.type,e.id),s=n.get(o);void 0!==s?l[`${e.type}_${e.id}`]=s:a.push(e)}),{cachedItems:l,itemsToRequest:a}};return{formatPath:async function(r,s,d){var c;let u,p=arguments.length>3&&void 0!==arguments[3]&&arguments[3],m=e.current,{cachedItems:g,itemsToRequest:h}=i(r,d,s,m);if(p||0===h.length){let e;return{totalItems:(e=Object.entries(g).map(e=>{let[t,i]=e;return{objectReference:t,formatedPath:i}})).length,items:e}}let v=h.reduce((e,t)=>(e[`${t.type}_${t.id}`]={id:t.id,type:t.type,label:t.fullPath,path:t.fullPath,nicePathKey:`${t.type}_${t.id}`},e),{});if(0===Object.keys(v).length)return;let{data:f,error:y}=await n.M_.dispatch(a.FH.endpoints.dataObjectFormatPath.initiate({body:{objectId:d,targets:v,fieldName:s}}));return void 0===f?void(0,l.Ay)(new l.hD(y)):(null==(c=f.items)||c.forEach(e=>{let i=h.find(t=>`${t.type}_${t.id}`===String(e.objectReference));if(!(0,o.isNil)(i)){let r=t(d,s,i.type,i.id);m.set(r,String(e.formatedPath))}}),{totalItems:(u=[...Object.entries(g).map(e=>{let[t,i]=e;return{objectReference:t,formatedPath:i}}),...f.items??[]]).length,items:u})},hasUncachedItems:(t,r,n)=>{let{itemsToRequest:l}=i(t,n,r,e.current);return l.length>0}}}},85566(e,t,i){"use strict";i.d(t,{L:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"data-object")),setContext:function(t){e((0,n.My)({type:"data-object",config:t}))},removeContext:function(){e((0,n.$1)("data-object"))}}}},51289(e,t,i){"use strict";i.d(t,{R:()=>s});var r=i(21429),n=i(35864),l=i.n(n),a=i(2208),o=i(46881);let s=()=>{let{data:e}=(0,a.cJ)(),t=(0,o.useAppDispatch)(),{t:i}=(0,r.useTranslation)();return{getSelectOptions:t=>(null==e?void 0:e.items)===void 0?[]:e.items.filter(e=>void 0===t||null!==e.id&&t.includes(String(e.id))).map(e=>({label:null===e.abbreviation?e.id:i(String(e.abbreviation)),value:e.id})),convertValue:async(i,r,n)=>{if((null==e?void 0:e.items)===void 0)return null;let l=e.items.find(e=>e.id===i),o=e.items.find(e=>e.id===r);if(void 0===l||void 0===o||null===l.baseUnit||l.baseUnit!==o.baseUnit)return null;let{data:s}=await t(a.FH.endpoints.unitQuantityValueConvert.initiate({fromUnitId:i,toUnitId:r,value:n}));return(null==s?void 0:s.data)??null},getAbbreviation:t=>{if((null==e?void 0:e.items)===void 0)return"";let r=e.items.find(e=>e.id===t);return"string"!=typeof(null==r?void 0:r.abbreviation)||l().isEmpty(r.abbreviation)?t:i(r.abbreviation)}}}},68528(e,t,i){"use strict";i.d(t,{F1:()=>l,Y$:()=>n,vK:()=>a});var r,n=((r={}).Add="add",r.Remove="remove",r.Replace="replace",r);let l="supportsBatchAppendMode",a=(e,t)=>({action:t,data:e})},64688(e,t,i){"use strict";i.d(t,{C:()=>o,g:()=>s});var r=i(31635),n=i(62446),l=i(32234),a=i(66112);class o extends a.s{constructor(e,t,i){super(i),this.dataObjectId=e,this.saveTask=t,this.updateData=i}}class s extends l.k{}s=(0,r.Cg)([(0,n.injectable)()],s)},2208(e,t,i){"use strict";i.d(t,{FH:()=>r,cJ:()=>p,mj:()=>l});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Units"]}).injectEndpoints({endpoints:e=>({unitQuantityValueUnitsCollection:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units/collection",method:"POST",body:e.body}),providesTags:["Units"]}),unitQuantityValueConvertAll:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/convert-all",params:{fromUnitId:e.fromUnitId,value:e.value}}),providesTags:["Units"]}),unitQuantityValueConvert:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/convert",params:{fromUnitId:e.fromUnitId,toUnitId:e.toUnitId,value:e.value}}),providesTags:["Units"]}),unitQuantityValueUnitsCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units",method:"POST",body:e.createUnitParameters}),invalidatesTags:["Units"]}),unitQuantityValueUnitsUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/unit/quantity-value/units/${e.id}`,method:"PUT",body:e.updateUnitParameters}),invalidatesTags:["Units"]}),unitQuantityValueUnitsDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/unit/quantity-value/units/${e.id}`,method:"DELETE"}),invalidatesTags:["Units"]}),unitQuantityValueUnitsExport:e.query({query:()=>({url:"/pimcore-studio/api/unit/quantity-value/units/export"}),providesTags:["Units"]}),unitQuantityValueUnitsImport:e.mutation({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units/import",method:"POST",body:e.body}),invalidatesTags:["Units"]}),unitQuantityValueList:e.query({query:()=>({url:"/pimcore-studio/api/unit/quantity-value/unit-list"}),providesTags:["Units"]})}),overrideExisting:!1}),{useUnitQuantityValueUnitsCollectionQuery:n,useUnitQuantityValueConvertAllQuery:l,useUnitQuantityValueConvertQuery:a,useUnitQuantityValueUnitsCreateMutation:o,useUnitQuantityValueUnitsUpdateMutation:s,useUnitQuantityValueUnitsDeleteMutation:d,useUnitQuantityValueUnitsExportQuery:c,useUnitQuantityValueUnitsImportMutation:u,useUnitQuantityValueListQuery:p}=r},46766(e,t,i){"use strict";i.d(t,{$P:()=>m,BZ:()=>g,FH:()=>o,K4:()=>P,L0:()=>F,MO:()=>A,P5:()=>c,Pp:()=>b,Rc:()=>D,T9:()=>j,Tw:()=>s,Ui:()=>C,XE:()=>h,XS:()=>v,Xb:()=>S,em:()=>x,eq:()=>k,gJ:()=>T,hM:()=>p,ix:()=>E,nr:()=>d,pJ:()=>w,v2:()=>y,vA:()=>u,wS:()=>I,xt:()=>N,zO:()=>f});var r=i(53996),n=i(75023),l=i(53073),a=i(35864);let o=n.FH.enhanceEndpoints({addTagTypes:[r.nP.DOCUMENT,r.nP.DOCUMENT_TREE,r.nP.DOCUMENT_DETAIL,r.nP.DOCUMENT_TYPES,r.nP.DOCUMENT_SITE],endpoints:{documentClone:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_TREE_ID(i.parentId)},documentGetById:{providesTags:(e,t,i)=>r.yc.DOCUMENT_DETAIL_ID(i.id)},documentGetTree:{providesTags:(e,t,i)=>void 0!==i.parentId?r.yc.DOCUMENT_TREE_ID(i.parentId):r.yc.DOCUMENT_TREE()},documentDocTypeList:{providesTags:(e,t,i)=>r.yc.DOCUMENT_TYPES()},documentDocTypeDelete:{invalidatesTags:()=>[]},documentDocTypeUpdateById:{invalidatesTags:()=>[]},documentDocTypeAdd:{invalidatesTags:()=>[]},documentUpdateById:{invalidatesTags:(e,t,i)=>"autoSave"===i.body.data.task?[]:r.qN.DOCUMENT_DETAIL_ID(i.id)},documentAdd:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_TREE_ID(i.parentId)},documentGetSite:{providesTags:()=>[]},documentUpdateSite:{invalidatesTags:()=>r.qN.DOCUMENT_SITE()},documentDeleteSite:{invalidatesTags:()=>r.qN.DOCUMENT_SITE()},documentsListAvailableSites:{providesTags:()=>r.yc.DOCUMENT_SITE()},documentGetTranslations:{providesTags:(e,t,i)=>r.yc.DOCUMENT_DETAIL_ID(i.id)},documentAddTranslation:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_DETAIL_ID(i.id)},documentDeleteTranslation:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_DETAIL_ID(i.id)}}}).injectEndpoints({endpoints:e=>({documentRenderletRender:e.query({queryFn:async(e,t,i,r)=>{let n=await r({url:`${(0,l.getPrefix)()}/documents/renderlet/render`,params:{id:e.id,type:e.type,controller:e.controller,parentDocumentId:e.parentDocumentId,template:e.template},responseHandler:async e=>await e.blob()});if(!(0,a.isNil)(n.error)){if(n.error.data instanceof Blob)try{let e=await n.error.data.text(),t=JSON.parse(e);return{error:{...n.error,data:t}}}catch{}return{error:n.error}}return{data:n.data}},providesTags:["Documents"]})}),overrideExisting:!0}),{useDocumentAddMutation:s,useDocumentCloneMutation:d,useDocumentGetByIdQuery:c,useDocumentUpdateByIdMutation:u,useDocumentGetTreeQuery:p,useDocumentAvailableTemplatesListQuery:m,useDocumentDocTypeListQuery:g,useDocumentDocTypeTypeListQuery:h,useDocumentAvailableControllersListQuery:v,useDocumentDocTypeAddMutation:f,useDocumentDocTypeUpdateByIdMutation:y,useDocumentDocTypeDeleteMutation:b,useDocumentPageSnippetChangeMainDocumentMutation:x,useDocumentPageSnippetAreaBlockRenderQuery:j,useLazyDocumentPageSnippetAreaBlockRenderQuery:w,useDocumentRenderletRenderQuery:C,useDocumentsListAvailableSitesQuery:S,useDocumentGetSiteQuery:T,useLazyDocumentGetSiteQuery:I,useDocumentUpdateSiteMutation:k,useDocumentDeleteSiteMutation:E,useDocumentGetTranslationsQuery:D,useLazyDocumentGetTranslationsQuery:N,useDocumentAddTranslationMutation:P,useDocumentDeleteTranslationMutation:A,useDocumentGetTranslationParentByLanguageQuery:F}=o},75023(e,t,i){"use strict";i.d(t,{BZ:()=>u,FH:()=>r,LS:()=>a,Pp:()=>d,Tw:()=>n,kj:()=>p,v2:()=>s,vA:()=>g,zO:()=>o});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Documents"]}).injectEndpoints({endpoints:e=>({documentAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/add/${e.parentId}`,method:"POST",body:e.documentAddParameters}),invalidatesTags:["Documents"]}),documentClone:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/clone/${e.parentId}`,method:"POST",body:e.documentCloneParameters}),invalidatesTags:["Documents"]}),documentConvert:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/convert/${e.type}`,method:"POST"}),invalidatesTags:["Documents"]}),documentDocTypeAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/documents/doc-types/add",method:"POST",body:e.docTypeAddParameters}),invalidatesTags:["Documents"]}),documentDocTypeUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/doc-types/${e.id}`,method:"PUT",body:e.docTypeUpdateParameters}),invalidatesTags:["Documents"]}),documentDocTypeDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/doc-types/${e.id}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentDocTypeTypeList:e.query({query:()=>({url:"/pimcore-studio/api/documents/doc-types/types"}),providesTags:["Documents"]}),documentDocTypeList:e.query({query:e=>({url:"/pimcore-studio/api/documents/doc-types",params:{type:e.type}}),providesTags:["Documents"]}),documentGetTypes:e.query({query:()=>({url:"/pimcore-studio/api/documents/types"}),providesTags:["Documents"]}),documentGetById:e.query({query:e=>({url:`/pimcore-studio/api/documents/${e.id}`}),providesTags:["Documents"]}),documentUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Documents"]}),documentPageCheckPrettyUrl:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page/check-pretty-url`,method:"POST",body:e.checkPrettyUrl}),invalidatesTags:["Documents"]}),documentPageStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page/stream/preview`}),providesTags:["Documents"]}),documentAvailableControllersList:e.query({query:()=>({url:"/pimcore-studio/api/documents/get-available-controllers"}),providesTags:["Documents"]}),documentAvailableTemplatesList:e.query({query:()=>({url:"/pimcore-studio/api/documents/get-available-templates"}),providesTags:["Documents"]}),documentPageSnippetChangeMainDocument:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page-snippet/change-main-document`,method:"PUT",body:e.changeMainDocument}),invalidatesTags:["Documents"]}),documentPageSnippetAreaBlockRender:e.query({query:e=>({url:`/pimcore-studio/api/documents/page-snippet/${e.id}/area-block/render`,method:"POST",body:e.body}),providesTags:["Documents"]}),documentRenderletRender:e.query({query:e=>({url:"/pimcore-studio/api/documents/renderlet/render",params:{id:e.id,type:e.type,controller:e.controller,parentDocumentId:e.parentDocumentId,template:e.template}}),providesTags:["Documents"]}),documentReplaceContent:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.sourceId}/replace/${e.targetId}`,method:"POST"}),invalidatesTags:["Documents"]}),documentsListAvailableSites:e.query({query:e=>({url:"/pimcore-studio/api/documents/sites/list-available",params:{excludeMainSite:e.excludeMainSite}}),providesTags:["Documents"]}),documentUpdateSite:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/site/${e.id}`,method:"POST",body:e.updateSite}),invalidatesTags:["Documents"]}),documentDeleteSite:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/site/${e.id}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentGetSite:e.query({query:e=>({url:`/pimcore-studio/api/documents/site/${e.documentId}`}),providesTags:["Documents"]}),documentAddTranslation:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/add/${e.translationId}`,method:"POST"}),invalidatesTags:["Documents"]}),documentDeleteTranslation:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/delete/${e.translationId}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentGetTranslations:e.query({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}`}),providesTags:["Documents"]}),documentGetTranslationParentByLanguage:e.query({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/get-parent/${e.language}`}),providesTags:["Documents"]}),documentGetTree:e.query({query:e=>({url:"/pimcore-studio/api/documents/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants}}),providesTags:["Documents"]})}),overrideExisting:!1}),{useDocumentAddMutation:n,useDocumentCloneMutation:l,useDocumentConvertMutation:a,useDocumentDocTypeAddMutation:o,useDocumentDocTypeUpdateByIdMutation:s,useDocumentDocTypeDeleteMutation:d,useDocumentDocTypeTypeListQuery:c,useDocumentDocTypeListQuery:u,useDocumentGetTypesQuery:p,useDocumentGetByIdQuery:m,useDocumentUpdateByIdMutation:g,useDocumentPageCheckPrettyUrlMutation:h,useDocumentPageStreamPreviewQuery:v,useDocumentAvailableControllersListQuery:f,useDocumentAvailableTemplatesListQuery:y,useDocumentPageSnippetChangeMainDocumentMutation:b,useDocumentPageSnippetAreaBlockRenderQuery:x,useDocumentRenderletRenderQuery:j,useDocumentReplaceContentMutation:w,useDocumentsListAvailableSitesQuery:C,useDocumentUpdateSiteMutation:S,useDocumentDeleteSiteMutation:T,useDocumentGetSiteQuery:I,useDocumentAddTranslationMutation:k,useDocumentDeleteTranslationMutation:E,useDocumentGetTranslationsQuery:D,useDocumentGetTranslationParentByLanguageQuery:N,useDocumentGetTreeQuery:P}=r},98247(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"document-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["document-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},23898(e,t,i){"use strict";i.d(t,{i:()=>a,o:()=>l});var r=i(46881),n=i(47867);let l=e=>({markDocumentEditablesAsModified:(t,i)=>{var r,n,l;let a;r=t,n=i.payload,l=e=>{var t;return(t=e).modified=!0,t.changes={...t.changes,documentEditable:!0},e},void 0!==(a=e.getSelectors().selectById(r,n))&&(r.entities[n]=l({...a}))}}),a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{markDocumentEditablesAsModified:()=>{var r;null!=t&&null!=(r=t.changes)&&r.documentEditable||a(()=>{l(i(e))})}}}},65115(e,t,i){"use strict";i.d(t,{Q:()=>a,Y:()=>l});var r=i(46881),n=i(35864);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0===n?console.error(`Item with id ${i} not found`):t.entities[i]=r({...n})},i=e=>{e.modified=!0,e.changes={...e.changes,settingsData:!0}};return{setSettingsData:(e,r)=>{t(e,r.payload.id,e=>{let{settingsData:t}=r.payload;return(0,n.isUndefined)(t)||(e.settingsData={...t},i(e)),e})},updateSettingsData:(e,r)=>{t(e,r.payload.id,e=>{let{settingsData:t}=r.payload;return(0,n.isUndefined)(t)||(e.settingsData={...e.settingsData,...t},i(e)),e})}}},a=e=>{let{id:t,draft:i,setSettingsDataAction:n,updateSettingsDataAction:l}=e,a=(0,r.useAppDispatch)();return{settingsData:null==i?void 0:i.settingsData,setSettingsData:e=>{a(n({id:t,settingsData:e}))},updateSettingsData:e=>{a(l({id:t,settingsData:e}))}}}},15156(e,t,i){"use strict";i.d(t,{S:()=>f});var r=i(46881),n=i(29376),l=i(47867),a=i(40331),o=i(76359),s=i(95674),d=i(63364),c=i(10600),u=i(92634),p=i(50034),m=i(98247),g=i(23898),h=i(26280),v=i(65115);let f=e=>{let t=(0,r.useAppSelector)(t=>(0,n.ei)(t,e)),[i,f]=(0,l.useState)(!0),y=(0,d.Lt)(c.K["Document/Editor/TypeRegistry"]),b=(0,r.useAppSelector)(t=>(0,m.qD)(t,e));(0,l.useEffect)(()=>{void 0!==t||b?f(!1):f(!0)},[t]);let x=(0,o.L)(e,n.vD,n.$B),j=(0,a.I)(e,t,n.vb,n.HL,n.hw,n.Kk),w=(0,s.z)(e,t,n.Vu,n.B8,n.x,n.VN,n.zE),C=(0,u.JX)(e,t,n.K5),S=(0,h.cY)(e,n._5),T=(0,p.D)(e,n.T2,n.Up),I=(0,g.i)(e,t,n.D3),k=(0,v.Q)({id:e,draft:t,setSettingsDataAction:n.C4,updateSettingsDataAction:n.lY}),E=(null==t?void 0:t.type)===void 0?void 0:y.get(t.type)??y.get("document");return{isLoading:i,isError:b,document:t,editorType:E,...x,...j,...w,...C,...I,...S,...T,...k}}},75091(e,t,i){"use strict";i.d(t,{$:()=>d});var r=i(41630),n=i(55638),l=i(59385),a=i(29376);i(58042);var o=i(75023),s=i(46096);let d=()=>{let e=r.M_.dispatch,[t]=(0,o.vA)();return{openDocument:async function(e){let{config:t}=e,{element:i}=(0,s.qH)();await i.openDocument(t.id)},executeDocumentTask:async(i,r,o)=>{let s=t({id:i,body:{data:{task:r}}});s.catch(e=>{(0,n.Ay)(new n.hD(e))});try{e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!0}));let t=await s;if(void 0!==t.error){e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!1})),(0,n.Ay)(new n.hD(t.error)),null==o||o();return}"unpublish"===r&&e((0,a.Up)({id:i})),"publish"===r&&e((0,a.T2)({id:i})),("unpublish"===r||"publish"===r)&&e((0,l.setNodePublished)({nodeId:String(i),elementType:"document",isPublished:"publish"===r})),e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!1})),null==o||o()}catch(e){(0,n.Ay)(new n.$g(e.message))}}}}},79246(e,t,i){"use strict";i.d(t,{v:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"document")),setContext:function(t){e((0,n.My)({type:"document",config:t}))},removeContext:function(){e((0,n.$1)("document"))}}}},90583(e,t,i){"use strict";i.d(t,{u:()=>n});var r=i(46766);let n=e=>{let{data:t}=(0,r.Xb)({excludeMainSite:(null==e?void 0:e.excludeMainSite)??!1}),i=e=>{var i;return(null==t||null==(i=t.items)?void 0:i.filter(t=>e.includes(t.id)))??[]};return{getSiteById:e=>{var i;return null==t||null==(i=t.items)?void 0:i.find(t=>t.id===e)},getAllSites:()=>(null==t?void 0:t.items)??[],getSitesByIds:i,getRemainingSites:(e,r)=>{let n=void 0!==r&&r.length>0?i(r):null==t?void 0:t.items;return(null==n?void 0:n.filter(t=>!e.includes(t.id)))??[]}}}},13366(e,t,i){"use strict";i.d(t,{U:()=>d});var r=i(31635),n=i(62446),l=i(10600),a=i(46096),o=i(35864),s=i(38921);class d{validateRequiredFields(e){try{let{document:i}=(0,a.qH)();if(!i.isIframeAvailable(e))return{isValid:!0,requiredFields:[]};let r=i.getIframeApi(e),n=i.getIframeDocument(e),l=r.documentEditable.getEditableDefinitions(),d=[];for(let e of l)(0,s.k8)(e.name,n);for(let e of l){var t;let i=this.documentEditableRegistry.getDynamicType(e.type);if((0,o.isNil)(i)||!i.hasRequiredConfig(e))continue;let l=null==(t=r.documentEditable.getValue(e.name))?void 0:t.data;if(!i.validateRequired(l,e)){let t=(0,o.isEmpty)(e.name)?e.realName:e.name;d.push(t),(0,s.sZ)(e.name,n)}}return{isValid:0===d.length,requiredFields:d}}catch(t){return console.warn(`Error validating required fields for document ${e}:`,t),{isValid:!0,requiredFields:[]}}}constructor(e){this.documentEditableRegistry=e}}d=(0,r.Cg)([(0,n.injectable)(),(0,r.Qj)(0,(0,n.inject)(l.K["DynamicTypes/DocumentEditableRegistry"])),(0,r.Sn)("design:type",Function),(0,r.Sn)("design:paramtypes",["u"y,D7:()=>f,Gy:()=>b});var r,n=i(41630),l=i(75023),a=i(29376),o=i(59385),s=i(46096),d=i(79472),c=i(35864),u=i(63364),p=i(10600),m=i(26962),g=i(68622),h=i(60124),v=i(3416),f=((r={}).Version="version",r.AutoSave="autoSave",r.Publish="publish",r.Save="save",r.Unpublish="unpublish",r);class y{static getInstance(e){return this.instances.has(e)||this.instances.set(e,new y(e)),this.instances.get(e)}static cleanup(e){this.instances.delete(e)}onRunningTaskChange(e){return this.taskCallbacks.add(e),()=>this.taskCallbacks.delete(e)}onErrorChange(e){return this.errorCallbacks.add(e),()=>this.errorCallbacks.delete(e)}getRunningTask(){return this.runningTask}async executeSave(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if("autoSave"===e){let e=n.M_.getState(),t=(0,a.ei)(e,this.documentId);if(!(0,d.o)(null==t?void 0:t.permissions,"save"))return}if(null!=this.runningTask){if("autoSave"===e||"autoSave"!==this.runningTask)return;this.queuedTask={task:e,onFinish:t};return}await this.performSave(e,t,i)}async performSave(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];u.kL.get(p.K.debouncedFormRegistry).flushByTag((0,m.n)(this.documentId)),this.setRunningTask(e);try{let l=await this.saveDocument(e,i);if(l.success){var r;n.M_.dispatch((0,a._5)({id:this.documentId,draftData:(null==(r=l.data)?void 0:r.draftData)??null})),"publish"===e&&n.M_.dispatch((0,o.setNodePublished)({nodeId:String(this.documentId),elementType:"document",isPublished:!0}));let i={identifier:{type:v.m["document:editor:post-update"],id:String(this.documentId)},payload:{id:this.documentId,task:e,updatedData:l.data,responseData:l.data}};h.B.publish(i),null==t||t()}else throw l.error}catch(t){throw console.error(`Save failed for document ${this.documentId}:`,t),this.errorCallbacks.forEach(i=>{i(t,e)}),t}finally{this.setRunningTask(void 0),await this.executeQueuedTask()}}async executeQueuedTask(){if(!(0,c.isUndefined)(this.queuedTask)){let{task:e,onFinish:t}=this.queuedTask;this.queuedTask=void 0,await this.performSave(e,t)}}setRunningTask(e){this.runningTask=e,this.taskCallbacks.forEach(t=>{t(e)})}getEditableData(){try{let{document:e}=(0,s.qH)();if(!e.isIframeAvailable(this.documentId))return{};let t=e.getIframeApi(this.documentId),i=t.documentEditable.getValues(!0);return Object.fromEntries(Object.entries(i).filter(e=>{let[i]=e;return!t.documentEditable.getInheritanceState(i)}))}catch(e){return console.warn(`Could not get editable data for document ${this.documentId}:`,e),{}}}buildUpdateData(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"autoSave",l=!(arguments.length>1)||void 0===arguments[1]||arguments[1],o=n.M_.getState(),s=(0,a.ei)(o,this.documentId);if((0,c.isNil)(s))throw Error(`Document ${this.documentId} not found in state`);let d={};if(null==(e=s.changes)?void 0:e.properties){let e=null==(i=s.properties)?void 0:i.map(e=>{let{rowId:t,...i}=e;if("object"==typeof i.data){var r;return{...i,data:(null==i||null==(r=i.data)?void 0:r.id)??null}}return i});d.properties=null==e?void 0:e.filter(e=>!e.inherited)}(0,c.isNil)(null==(t=s.changes)?void 0:t.settingsData)||(0,c.isNil)(s.settingsData)||(d.settingsData=s.settingsData);let m=this.getEditableData();Object.keys(m).length>0&&(d.editableData=m),d.task=r,d.useDraftData=l;let h=u.kL.get(p.K["Document/ProcessorRegistry/SaveDataProcessor"]),v=new g.S(this.documentId,r,d);return h.executeProcessors(v),v.updateData}async saveDocument(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"autoSave",t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=this.buildUpdateData(e,t),r=await n.M_.dispatch(l.FH.endpoints.documentUpdateById.initiate({id:this.documentId,body:{data:i}}));return(0,c.isNil)(r.error)?{success:!0,data:r.data}:(console.error(`Failed to save document ${this.documentId}:`,r.error),{success:!1,error:r.error})}constructor(e){this.documentId=e,this.taskCallbacks=new Set,this.errorCallbacks=new Set}}y.instances=new Map;let b=new class{async saveDocument(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"autoSave",i=y.getInstance(e);await i.executeSave(t)}};i(13366)},68622(e,t,i){"use strict";i.d(t,{S:()=>o,c:()=>s});var r=i(31635),n=i(62446),l=i(32234),a=i(66112);class o extends a.s{constructor(e,t,i){super(i),this.documentId=e,this.saveTask=t,this.updateData=i}}class s extends l.k{}s=(0,r.Cg)([(0,n.injectable)()],s)},26962(e,t,i){"use strict";i.d(t,{n:()=>r});let r=e=>`document-${e}`},42669(e,t,i){"use strict";i.d(t,{n:()=>o});var r=i(68153),n=i(79472),l=i(63993),a=i(17388);let o=e=>{let{getStoredNode:t,getNodeTask:i}=(0,l.x)(e),{isTreeActionAllowed:o}=(0,a.H)();return{isPasteHidden:(l,a)=>{let s=t(),d=i();return!(o(r.o.Paste)&&void 0!==s&&void 0!==d&&(void 0===l||(0,n.o)(l.permissions,"create")))||void 0!==a&&d!==a||"asset"===e&&(null==l?void 0:l.type)!=="folder"||"cut"===d&&void 0!==l&&String(l.id)===String(s.id)}}}},63155(e,t,i){"use strict";i.d(t,{I:()=>l});var r=i(47867),n=i(64165);let l=()=>{let e=(0,r.useContext)(n.u);if(void 0===e)throw Error("useTypeSelect must be used within a TypeSelectProvider");return e}},26280(e,t,i){"use strict";i.d(t,{Yu:()=>o,cY:()=>s,u0:()=>a});var r=i(46881),n=i(47867),l=i(35864);let a="isAutoSaveDraftCreated",o=e=>({setDraftData:(t,i)=>{var r,n,o;let s;r=t,n=i.payload.id,o=e=>{var t;return(0,l.isNil)(e.draftData)&&(null==(t=i.payload.draftData)?void 0:t.isAutoSave)===!0&&(e.changes={...e.changes,[a]:!0}),e.draftData=i.payload.draftData,e},void 0!==(s=e.getSelectors().selectById(r,n))&&(r.entities[n]=o({...s}))}}),s=(e,t)=>{let i=(0,r.useAppDispatch)(),[,l]=(0,n.useTransition)();return{setDraftData:r=>{l(()=>{i(t({id:e,draftData:r}))})}}}},40331(e,t,i){"use strict";i.d(t,{I:()=>a,u:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,properties:!0}};return{addProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=[...e.properties??[],r.payload.property],i(e),e))},removeProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=(e.properties??[]).filter(e=>e.key!==r.payload.property.key),i(e),e))},updateProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=(e.properties??[]).map((t,n)=>t.key===r.payload.key&&t.inherited===r.payload.property.inherited?(i(e),r.payload.property):t),e))},setProperties:(e,i)=>{t(e,i.payload.id,e=>(e.properties=i.payload.properties,e))}}},a=(e,t,i,n,l,a)=>{let o=(0,r.useAppDispatch)();return{properties:null==t?void 0:t.properties,updateProperty:(t,r)=>{o(i({id:e,key:t,property:r}))},addProperty:t=>{o(n({id:e,property:t}))},removeProperty:t=>{o(l({id:e,property:t}))},setProperties:t=>{o(a({id:e,properties:t}))}}}},50034(e,t,i){"use strict";i.d(t,{D:()=>a,b:()=>l});var r=i(46881),n=i(47867);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0!==n&&(t.entities[i]=r({...n}))};return{publishDraft:(e,i)=>{t(e,i.payload.id,e=>(e.published=!0,e))},unpublishDraft:(e,i)=>{t(e,i.payload.id,e=>(e.published=!1,e))}}},a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{publishDraft:()=>{a(()=>{l(t({id:e}))})},unpublishDraft:()=>{a(()=>{l(i({id:e}))})}}}},95674(e,t,i){"use strict";i.d(t,{H:()=>l,z:()=>a});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,schedules:!0}};return{addSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=[...e.schedules??[],r.payload.schedule],i(e),e))},removeSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=(e.schedules??[]).filter(e=>e.id!==r.payload.schedule.id),i(e),e))},updateSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=(e.schedules??[]).map((t,n)=>t.id===r.payload.schedule.id?(i(e),r.payload.schedule):t),e))},setSchedules:(e,i)=>{t(e,i.payload.id,e=>(e.schedules=i.payload.schedules,e))},resetSchedulesChanges:(e,i)=>{t(e,i.payload,e=>{if(void 0===e.changes.schedules)return e;let{schedules:t,...i}=e.changes;return e.changes=i,e.modified=Object.keys(e.changes).length>0,e})}}},a=(e,t,i,n,l,a,o)=>{let s=(0,r.useAppDispatch)();return{schedules:null==t?void 0:t.schedules,updateSchedule:t=>{s(i({id:e,schedule:t}))},addSchedule:t=>{s(n({id:e,schedule:t}))},removeSchedule:t=>{s(l({id:e,schedule:t}))},setSchedules:t=>{s(a({id:e,schedules:t}))},resetSchedulesChanges:()=>{s(o(e))}}}},92634(e,t,i){"use strict";i.d(t,{JX:()=>a,Ne:()=>l,nd:()=>n});var r=i(46881);let n={activeTab:null},l=e=>({setActiveTab:(t,i)=>{var r,n,l;let a,{id:o,activeTab:s}=i.payload;r=t,n=o,l=e=>(e.activeTab=s,e),void 0===(a=e.getSelectors().selectById(r,n))?console.error(`Item with id ${n} not found`):r.entities[n]=l({...a})}}),a=(e,t,i)=>{let n=(0,r.useAppDispatch)();return{...t,setActiveTab:t=>n(i({id:e,activeTab:t}))}}},76359(e,t,i){"use strict";i.d(t,{L:()=>a,P:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})};return{resetChanges:(e,i)=>{t(e,i.payload,e=>(e.changes={},e.modifiedCells={},e.modified=!1,e))},setModifiedCells:(e,i)=>{t(e,i.payload.id,e=>(e.modifiedCells={...e.modifiedCells,[i.payload.type]:i.payload.modifiedCells},e))}}},a=(e,t,i)=>{let n=(0,r.useAppDispatch)();return{removeTrackedChanges:()=>{n(t(e))},setModifiedCells:(t,r)=>{n(i({id:e,type:t,modifiedCells:r}))}}}},34992(e,t,i){"use strict";function r(e,t,i){if(e[i]=t,void 0!==e.fullPath){let i=e.fullPath.split("/");i[i.length-1]=t,e.fullPath=i.join("/")}if(void 0!==e.path){let i=e.path.split("/");i[i.length-1]=t,e.path=i.join("/")}}i.d(t,{$:()=>r})},57697(e,t,i){"use strict";i.d(t,{f:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getComponent(e,t){return this.getDynamicType(e).getBatchEditComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},67574(e,t,i){"use strict";i.d(t,{I:()=>n});var r=i(22414);class n extends r.H{getEditableType(){return"areablock"}getElementSelector(){return`.pimcore_area_entry[data-name="${this.editableName}"]`}getElementType(e){return e.getAttribute("type")}setElementType(e,t){e.setAttribute("type",t)}getAreablockValue(){return this.ensureAllElementKeys().map(e=>({key:this.getElementKey(e)??"",type:this.getElementType(e)??"",hidden:this.isElementHidden(e)}))}isElementHidden(e){return"true"===e.getAttribute("data-hidden")}setElementHidden(e,t){t?e.setAttribute("data-hidden","true"):e.removeAttribute("data-hidden")}toggleElementHidden(e){let t=this.isElementHidden(e);return this.setElementHidden(e,!t),!t}applyStylestoAreaEntries(e){this.queryElements().forEach(t=>{t.classList.add(e)})}}},97844(e,t,i){"use strict";i.d(t,{So:()=>s,ZV:()=>n,th:()=>o,uk:()=>a,w9:()=>l});var r=i(35864);let n="Available Areas",l="Uncategorized";function a(e){let t=e.filter(e=>"areablock"===e.type);if(0===t.length)return{};let i={},a=(e,t,n)=>{(0,r.isNil)(i[e])&&(i[e]=[]),t.forEach(t=>{i[e].push({areablockName:n.name,type:t.type,name:t.name,description:t.description,icon:t.icon})})},o=t.some(e=>{let t=s.getGroupedAreaTypes(e.config);return!(0,r.isArray)(t)});return t.forEach(e=>{let t=s.getGroupedAreaTypes(e.config);(0,r.isArray)(t)?a(o?l:n,t,e):Object.entries(t).forEach(t=>{let[i,r]=t;a(i,r,e)})}),i}let o={filterEditableNames(e,t,i){let r=`${t}:${i}.`;return e.filter(e=>e.startsWith(r))},elementsToAreablockValue:e=>e.map(e=>{let t=e.getAttribute("key")??"";return{key:t,type:e.getAttribute("type")??"",hidden:"true"===e.getAttribute("data-hidden")}}),swapElements(e,t,i){let r=[...e],n=r[t];return r[t]=r[i],r[i]=n,r}},s={getEffectiveLimit:e=>(null==e?void 0:e.limit)??1e6,isReloadMode:e=>!!(null==e?void 0:e.reload),isLimitReached:(e,t)=>!((0,r.isNil)(t)||(0,r.isUndefined)(t))&&e>=t,canMoveUp:e=>e>0,canMoveDown:(e,t)=>e(null==e?void 0:e.types)??[],isTypeAllowed:(e,t)=>!!(0,r.isNil)(null==e?void 0:e.allowed)||0===e.allowed.length||e.allowed.includes(t),getGroupedAreaTypes(e){let t=(null==e?void 0:e.types)??[],i=null==e?void 0:e.group;if((0,r.isNil)(i)||0===Object.keys(i).length)return t;let n={};return Object.entries(i).forEach(e=>{let[i,l]=e,a=[...new Set(l)].map(e=>t.find(t=>t.type===e)).filter(e=>!(0,r.isNil)(e));a.length>0&&(n[i]=a)}),n}}},96524(e,t,i){"use strict";i.d(t,{M:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{notifyDocumentReady(e,t){this.getDynamicTypes().forEach(i=>{i.onDocumentReady(e,t)})}}a=(0,r.Cg)([(0,n.injectable)()],a)},54719(e,t,i){"use strict";i.d(t,{P:()=>l});var r=i(44241),n=i(83678);let l=(0,r.createStyles)(e=>{let{token:t}=e;return{dropzone:{height:n.lk.HEIGHT,borderRadius:t.borderRadius,backgroundColor:t.colorPrimary,opacity:0,'&[data-pimcore-drag-state="dragging"]':{opacity:.1},'&[data-pimcore-drag-state="active"]':{opacity:.6}},dropzoneDragActive:{opacity:.1},dropzoneHover:{opacity:.6},dropzoneRejected:{opacity:.6,backgroundColor:t.colorError},dragActive:{opacity:"0.3 !important",backgroundColor:`${t.colorPrimaryBg} !important`,"& [data-pimcore-editable-dropzone]":{visibility:"hidden"}}}})},83678(e,t,i){"use strict";i.d(t,{Le:()=>n,Sh:()=>l,Ze:()=>a,lA:()=>r,lk:()=>o});let r={DROPZONE:"pimcore-editable-dropzone",DROPZONE_CONTAINER:"pimcore-editable-dropzone-container"},n={DROPZONE:`.${r.DROPZONE}`,DROPZONE_CONTAINER:`.${r.DROPZONE_CONTAINER}`},l={DATA_NAME:"data-name",DATA_EDITABLE_DROPZONE:"data-pimcore-editable-dropzone",DATA_DROPZONE_ID:"data-pimcore-dropzone-id",DATA_DROPZONE_INDEX:"data-pimcore-dropzone-index",DATA_DRAG_STATE:"data-pimcore-drag-state",DATA_FIRST_DROPZONE:"data-pimcore-first-dropzone"},a={ACTIVE:"active",DRAGGING:"dragging"},o={ID_PREFIX:"pimcore-dropzone-",HEIGHT:"16px"}},36249(e,t,i){"use strict";i.d(t,{D_:()=>o,Ne:()=>c,T5:()=>l,h5:()=>a,qR:()=>s,z_:()=>d});var r=i(35864),n=i(83678);let l=(e,t)=>{let i=document.createElement("div");return i.className=n.lA.DROPZONE_CONTAINER,i.setAttribute(n.Sh.DATA_EDITABLE_DROPZONE,e??""),!0===t&&i.setAttribute(n.Sh.DATA_FIRST_DROPZONE,"true"),i.style.height=n.lk.HEIGHT,i},a=(e,t)=>{document.querySelectorAll(n.Le.DROPZONE_CONTAINER).forEach(i=>{let l=i.getAttribute(n.Sh.DATA_EDITABLE_DROPZONE);t?l===e?i.style.visibility="":!(0,r.isNull)(l)&&!(0,r.isNull)(e)&&l.startsWith(e+":")&&(i.style.visibility="hidden"):i.style.visibility=""})},o=(e,t,i)=>{(0,r.isNull)(e)||e.querySelectorAll(n.Le.DROPZONE).forEach(e=>{let r=e.getAttribute(n.Sh.DATA_DROPZONE_ID);i?r===t?e.setAttribute(n.Sh.DATA_DRAG_STATE,n.Ze.ACTIVE):e.setAttribute(n.Sh.DATA_DRAG_STATE,n.Ze.DRAGGING):e.removeAttribute(n.Sh.DATA_DRAG_STATE)})},s=(e,t)=>{(0,r.isNull)(e)||e.querySelectorAll(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`).forEach(e=>{e.remove()})},d=(e,t)=>{var i;let a;if(0===e.length){let e=document.querySelector(`[data-name="${t}"]`);if(!(0,r.isNil)(e)&&(0,r.isNil)(e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`))){let i=l(t);e.appendChild(i)}return}let o=e[0];if((null==(a=o.previousElementSibling)?void 0:a.getAttribute(n.Sh.DATA_EDITABLE_DROPZONE))!==t){let e=l(t,!0);null==(i=o.parentNode)||i.insertBefore(e,o)}e.forEach(e=>{if(null===e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`)){let i=l(t);e.appendChild(i)}})},c=(e,t)=>{if((0,r.isNull)(e)||(0,r.isNull)(t))return;let i=e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"][${n.Sh.DATA_FIRST_DROPZONE}="true"]`);null!==i&&i.remove()}},80399(e,t,i){"use strict";i.d(t,{Z:()=>l});var r=i(47867),n=i(11587);let l=()=>{let e=(0,r.useRef)(null),t=(0,r.useRef)(null),i=(0,r.useRef)(null),l=(0,r.useRef)(void 0),a=(0,r.useRef)(!1),o=(0,r.useRef)(!0),s=e=>({width:Math.max(e.width,n.Yh),height:Math.max(e.height,n.fw)});return{getSmartDimensions:(0,r.useCallback)(r=>{if(l.current!==r&&(l.current=r,i.current=null),void 0===r)return o.current||(o.current=!0),a.current?t.current:null;if(null!==i.current)return i.current;let n=a.current||o.current?o.current?t.current:e.current:null;return a.current=!0,o.current=!1,i.current=n,n},[]),handlePreviewResize:i=>{let r=s(i);e.current=r,t.current=r},handleAssetTargetResize:e=>{let i=s(e);o.current&&(t.current=i)}}}},11587(e,t,i){"use strict";i.d(t,{Yh:()=>n,fw:()=>l,ui:()=>a,vX:()=>o});var r=i(35864);let n=150,l=100,a=100,o=(e,t)=>e?{width:void 0,height:void 0}:{width:(0,r.isNil)(null==t?void 0:t.width)?n:Math.max(t.width,n),height:(0,r.isNil)(null==t?void 0:t.height)?l:Math.max(t.height,l)}},22414(e,t,i){"use strict";i.d(t,{H:()=>n});var r=i(35864);class n{findContainer(e){return(0,r.isNil)(null==e?void 0:e.current)?document.querySelector(`[data-name="${this.editableName}"][data-type="${this.getEditableType()}"]`):e.current}getContainer(){return this.container}getEditableName(){return this.editableName}getRealEditableName(){var e;return(null==(e=this.container)?void 0:e.getAttribute("data-real-name"))??this.editableName}queryElements(){return(0,r.isNil)(this.container)?[]:Array.from(this.container.querySelectorAll(this.getElementSelector()))}findElementIndex(e){return this.queryElements().indexOf(e)}findElementByKey(e){return this.queryElements().find(t=>this.getElementKey(t)===e)??null}getElementKey(e){return e.getAttribute("key")}setElementKey(e,t){e.setAttribute("key",t)}parseElementKey(e){return parseInt(this.getElementKey(e)??"0",10)}calculateNextKey(){let e=this.queryElements();if(0===e.length)return 1;let t=0;for(let i of e){let e=this.parseElementKey(i);e>t&&(t=e)}return t+1}ensureAllElementKeys(){let e=this.queryElements();return e.forEach(e=>{let t=this.getElementKey(e);((0,r.isNil)(t)||""===t)&&this.setElementKey(e,this.calculateNextKey().toString())}),e}constructor(e,t){this.editableName=e,this.container=this.findContainer(t)}}},2586(e,t,i){"use strict";i.d(t,{i:()=>a});var r=i(63364),n=i(10600),l=i(35864);let a=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"JPEG";return o({...e,assetType:t,defaultMimeType:i})},o=e=>{let{assetId:t,width:i,height:a,containerWidth:o,thumbnailSettings:s,thumbnailConfig:d,assetType:c,defaultMimeType:u="JPEG"}=e,p=r.kL.get(n.K["Asset/ThumbnailService"]);if((0,l.isString)(d))return p.getThumbnailUrl({assetId:t,assetType:c,thumbnailName:d,...s});if((0,l.isObject)(d)){let e={assetId:t,assetType:c,dynamicConfig:d,...s};return p.getThumbnailUrl(e)}if((0,l.isNil)(i)&&(0,l.isNil)(a)&&o<=0)return;let{thumbnailWidth:m,thumbnailHeight:g,resizeMode:h}=(e=>{let{width:t,height:i,containerWidth:r}=e;return void 0===t&&void 0===i?{thumbnailWidth:r,resizeMode:"scaleByWidth"}:void 0!==t?{thumbnailWidth:"string"==typeof t?parseInt(t):t,resizeMode:"scaleByWidth"}:void 0!==i?{thumbnailHeight:"string"==typeof i?parseInt(i):i,resizeMode:"scaleByHeight"}:{resizeMode:"none"}})({width:i,height:a,containerWidth:o});if(void 0===m&&void 0===g)return;let v={frame:!1,resizeMode:h,mimeType:u,...s};return void 0!==m?p.getThumbnailUrl({assetId:t,assetType:c,width:m,height:g,...v}):void 0!==g?p.getThumbnailUrl({assetId:t,assetType:c,width:0,height:g,...v}):void 0}},40701(e,t,i){"use strict";i.d(t,{b:()=>r});let r=e=>Object.fromEntries(e.map(e=>[e.name,{type:e.type,data:e.data??null}]))},78785(e,t,i){"use strict";i.d(t,{r:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getComponent(e,t){return this.getDynamicType(e).getFieldFilterComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},97536(e,t,i){"use strict";i.d(t,{H:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getGridCellComponent(e,t){return this.getDynamicType(e).getGridCellComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},61379(e,t,i){"use strict";i.d(t,{a:()=>o});var r=i(31635),n=i(63364),l=i(10600),a=i(62446);class o{getGridCellComponent(e){return n.kL.get(l.K["DynamicTypes/GridCellRegistry"]).getGridCellComponent(this.dynamicTypeGridCellType.id,e)}getFieldFilterComponent(e){return n.kL.get(l.K["DynamicTypes/FieldFilterRegistry"]).getComponent(this.dynamicTypeFieldFilterType.id,e)}}o=(0,r.Cg)([(0,a.injectable)()],o)},40810(e,t,i){"use strict";i.d(t,{f:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},7402(e,t,i){"use strict";i.d(t,{J:()=>o});var r=i(31635),n=i(63364),l=i(10600),a=i(62446);class o{getGridCellComponent(e){return n.kL.get(l.K["DynamicTypes/GridCellRegistry"]).getGridCellComponent(this.dynamicTypeGridCellType.id,e)}getFieldFilterComponent(e){return n.kL.get(l.K["DynamicTypes/FieldFilterRegistry"]).getComponent(this.dynamicTypeFieldFilterType.id,e)}constructor(){this.iconName=void 0}}o=(0,r.Cg)([(0,a.injectable)()],o)},20103(e,t,i){"use strict";i.d(t,{i:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getTypeSelectionTypes(){let e=new Map;return this.dynamicTypes.forEach((t,i)=>{t.visibleInTypeSelection&&e.set(i,t)}),e}}a=(0,r.Cg)([(0,n.injectable)()],a)},49546(e,t,i){"use strict";i.d(t,{B:()=>n.A,H:()=>r.A});var r=i(61908),n=i(73994)},73994(e,t,i){"use strict";i.d(t,{A:()=>l});var r=i(47867),n=i(61908);let l=()=>{let e=(0,r.useContext)(n.F);if(void 0===e)throw Error("useClassificationStore must be used within a ClassificationStoreProvider");return{isOpenModal:e.isOpen,openModal:e.open,closeModal:e.close,setSearchValue:e.setSearchValue,getSearchValue:e.getSearchValue,currentLayoutData:e.currentLayoutData,updateCurrentLayoutData:e.setCurrentLayoutData}}},96511(e,t,i){"use strict";i.d(t,{X:()=>n});var r,n=((r={}).Collection="collection",r.Group="group",r.GroupByKey="group-by-key",r)},44475(e,t,i){"use strict";i.d(t,{_:()=>v});var r=i(47867),n=i(21429),l=i(29740),a=i(7814),o=i(35864),s=i(56789),d=i(31091),c=i(86608),u=i(46096),p=i(81624);let m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,c.q)();return{openModal:(0,r.useCallback)(i=>{if((0,p.GZ)()&&(0,u.BB)()){let{element:t}=(0,u.qH)();t.openLinkModal({value:i,options:e});return}t.openModal(i,e)},[t,e]),closeModal:(0,r.useCallback)(()=>{t.closeModal()},[t]),isOpen:t.isOpen}};var g=i(8651),h=i.n(g);let v=e=>{let{t}=(0,n.useTranslation)(),{openElement:i}=(0,s.K)(),{PreviewComponent:c}=e,u=e.value??null,{openModal:p}=m({disabled:e.disabled,allowedTypes:e.allowedTypes,allowedTargets:e.allowedTargets,disabledFields:e.disabledFields,onSave:e.onChange}),g=()=>{if(null===u)return;"direct"!==u.linktype||null===u.direct||(0,o.isEmpty)(u.direct)||window.open(u.direct,"_blank");let e=(0,d.Az)(u.internalType??null),t=u.internal??null;"internal"===u.linktype&&null!==e&&null!==t&&i({type:e,id:t}).catch(e=>{console.error("Error while opening element:",e)})},v=()=>{p(u)};return{renderPreview:()=>{if((0,o.isNil)(c))throw Error("PreviewComponent is required");return(0,r.createElement)(c,{className:h()("studio-inherited-overlay",e.className),inherited:e.inherited,textPrefix:e.textPrefix,textSuffix:e.textSuffix,value:u})},renderActions:()=>{let i=[];return null===u||(0,o.isEmpty)(u.fullPath)||i.push((0,r.createElement)(a.m,{key:"open",title:t("open")},(0,r.createElement)(l.K,{icon:{value:"open-folder"},onClick:g,type:"default"}))),!0!==e.disabled?i.push((0,r.createElement)(a.m,{key:"edit",title:t("edit")},(0,r.createElement)(l.K,{icon:{value:"edit"},onClick:v,type:"default"}))):i.push((0,r.createElement)(a.m,{key:"details",title:t("details")},(0,r.createElement)(l.K,{icon:{value:"info-circle"},onClick:v,type:"default"}))),i},openLink:g,showModal:v,value:u}}},31091(e,t,i){"use strict";i.d(t,{Az:()=>o,Cx:()=>l,vZ:()=>n});var r=i(87632);let n=e=>({text:e.text,path:a(e),target:e.target??void 0,parameters:e.parameters,anchor:e.anchor,title:e.title,accesskey:e.accesskey,rel:e.rel,tabindex:e.tabindex,class:e.class}),l=e=>{var t,i,n,l,a,o,d;return{text:e.text??"",linktype:(null==(t=e.path)?void 0:t.textInput)===!0?"direct":"internal",direct:(null==(i=e.path)?void 0:i.textInput)===!0?e.path.fullPath:null,internal:(null==(n=e.path)?void 0:n.textInput)===!0?null:null==(l=e.path)?void 0:l.id,internalType:(null==(a=e.path)?void 0:a.textInput)===!0?null:s((0,r.sv)(String(null==(o=e.path)?void 0:o.type))),fullPath:null==(d=e.path)?void 0:d.fullPath,target:e.target??null,parameters:e.parameters??"",anchor:e.anchor??"",title:e.title??"",accesskey:e.accesskey??"",rel:e.rel??"",tabindex:e.tabindex??"",class:e.class??""}},a=e=>{if("internal"!==e.linktype)return{textInput:!0,fullPath:e.direct??""};{let t=o(e.internalType);return null===t?null:{type:t,id:e.internal??0,fullPath:e.fullPath,subtype:e.internalType??void 0}}},o=e=>"string"==typeof e?(0,r.sv)(e):null,s=e=>"data-object"===e?"object":e??null},44767(e,t,i){"use strict";i.d(t,{l:()=>n});var r,n=((r={}).LOCALIZED_FIELDS="localizedfields",r.OBJECT_BRICKS="objectbricks",r.FIELD_COLLECTIONS="fieldcollections",r.BLOCK="block",r.CLASSIFICATION_STORE="classificationstore",r)},31429(e,t,i){"use strict";i.d(t,{C:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},94902(e,t,i){"use strict";i.d(t,{N:()=>n,s:()=>l});var r=i(19249);let n=(e,t)=>{let i=[];e.forEach(e=>{i.push({id:i.length+1,x:e.left,y:e.top,width:e.width,height:e.height,type:"hotspot",data:e.data,name:e.name})});let n=r.X.marker;return t.forEach(e=>{i.push({id:i.length+1,x:e.left,y:e.top,width:n.width,height:n.height,type:"marker",data:e.data,name:e.name})}),i},l=e=>{let t=[],i=[];return e.forEach(e=>{"hotspot"===e.type?t.push({left:e.x,top:e.y,width:e.width,height:e.height,data:e.data,name:e.name}):"marker"===e.type&&i.push({left:e.x,top:e.y,data:e.data,name:e.name})}),{hotspots:t,marker:i}}},30856(e,t,i){"use strict";i.d(t,{M3:()=>s,gF:()=>d,hu:()=>o,zd:()=>l});var r=i(35864),n=i(87632);let l=e=>{var t,i,r;let n=[],l=[];return null==(t=e.classes)||t.forEach(e=>{"folder"===e.classes?n.push("folder"):l.push(e.classes)}),l.length>0&&n.push("object","variant"),{allowedAssetTypes:(null==(i=e.assetTypes)?void 0:i.map(e=>e.assetTypes))??[],allowedDocumentTypes:(null==(r=e.documentTypes)?void 0:r.map(e=>e.documentTypes))??[],allowedClasses:l.length>0?l:void 0,allowedDataObjectTypes:n.length>0?n:void 0,assetsAllowed:e.assetsAllowed,documentsAllowed:e.documentsAllowed,dataObjectsAllowed:e.objectsAllowed}},a=(e,t)=>!!(0,r.isNil)(e)||0===e.length||e.includes(t),o=(e,t)=>{var i,l,o;if(null===e.data)return!1;let s=(0,n.sv)(e.type);if(null===s)return!1;let d=e.data.type;return("data-object"!==s||"folder"===d||(i=s,l=String(e.data.className),o=t,!!("data-object"!==i||(0,r.isNil)(o.allowedClasses)||0===o.allowedClasses.length||o.allowedClasses.includes(l))))&&("asset"===s?!!t.assetsAllowed:"document"===s?!!t.documentsAllowed:"data-object"===s&&!!t.dataObjectsAllowed)&&("asset"===s?a(t.allowedAssetTypes,d):"data-object"===s?a(t.allowedDataObjectTypes,d):"document"===s&&a(t.allowedDocumentTypes,d))},s=e=>({asset:e.assetsAllowed??!1,document:e.documentsAllowed??!1,object:e.dataObjectsAllowed??!1}),d=e=>({assets:{allowedTypes:e.allowedAssetTypes},documents:{allowedTypes:e.allowedDocumentTypes},objects:{allowedTypes:e.allowedDataObjectTypes,allowedClasses:e.allowedClasses}})},64910(e,t,i){"use strict";i.d(t,{k:()=>c});var r=i(47867),n=i(89507),l=i(35864),a=i.n(l),o=i(21429);let s="edit::",d=(e,t)=>"bool"===e||"columnbool"===e?{type:"checkbox",editable:!0}:"number"===e?{type:"number",editable:!0}:"select"===e?{type:"select",editable:!0,config:{options:(null==t?void 0:t.split(";"))??[]}}:"multiselect"===e?{type:"multi-select",editable:!0,config:{options:(null==t?void 0:t.split(";"))??[]}}:{type:"input",editable:!0},c=(e,t,i,l)=>{let{t:c}=(0,o.useTranslation)(),u=e.map(e=>e.key),p=(0,r.useMemo)(()=>{let t=(0,n.createColumnHelper)(),i=[];for(let r of e)i.push(t.accessor(s+r.key,{header:a().isEmpty(r.label)?void 0:c(String(r.label)),size:r.width??150,meta:d(r.type??"text",r.value)}));return i},[e,c]),m=e=>void 0===e?null:Array.isArray(e)?a().compact(e).join(","):e;return{columnDefinition:p,onUpdateCellData:e=>{let t=[...i??[]];t=t.map((t,i)=>i===e.rowIndex?{...t,data:{...t.data,[e.columnId.replace(s,"")]:m(e.value)}}:t),null==l||l(t)},convertToManyToManyRelationValue:t=>null==t?null:t.map(t=>(t=>{let i={};if(void 0!==t.data)for(let r in t.data){let n=e.find(e=>e.key===r);(null==n?void 0:n.type)==="multiselect"?i[s+r]=a().isEmpty(t.data[r])?[]:a().compact(String(t.data[r]).split(",")):i[s+r]=t.data[r]}return{id:t.element.id,type:t.element.type,subtype:t.element.subtype,isPublished:t.element.isPublished,fullPath:t.element.fullPath,...i}})(t)),convertToAdvancedManyToManyRelationValue:e=>null==e?null:e.map(e=>(e=>{let i={};for(let t of u){let r=s+t;void 0!==e[r]?i[t]=m(e[r]):i[t]=null}return{element:{id:e.id,type:e.type,subtype:e.subtype,isPublished:e.isPublished,fullPath:e.fullPath},data:i,fieldName:t,columns:u}})(e))}}},27653(e,t,i){"use strict";i.d(t,{I:()=>l,x:()=>n});var r=i(18196);let n=e=>(0,r.Po)(e)?"500px":e,l=e=>(0,r.Po)(e)?"250px":e},81276(e,t,i){"use strict";i.d(t,{V:()=>l});var r=i(31635),n=i(62446);class l{}l=(0,r.Cg)([(0,n.injectable)()],l)},25593(e,t,i){"use strict";i.d(t,{o:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},87638(e,t,i){"use strict";i.d(t,{M:()=>l});var r=i(31635),n=i(62446);class l{isAvailableForSelection(e){return!0}constructor(){this.group=null}}l=(0,r.Cg)([(0,n.injectable)()],l)},11387(e,t,i){"use strict";i.d(t,{v:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},61363(e,t,i){"use strict";i.d(t,{C9:()=>l,PD:()=>n,kt:()=>a});var r=i(55638);let n={GRID_CELL:"GRID_CELL",FIELD_FILTER:"FIELD_FILTER",BATCH_EDIT:"BATCH_EDIT"},l={[n.GRID_CELL]:"getGridCellComponent",[n.FIELD_FILTER]:"getFieldFilterComponent",[n.BATCH_EDIT]:"getBatchEditComponent"};class a{resolve(e){let{target:t,dynamicType:i}=e;return this.hasCallable(t,i)||(0,r.Ay)(new r.$g(`DynamicTypeResolver: ${i.id} does not have a callable ${l[t]}`)),e=>i[l[t]].bind(i)(e)}hasCallable(e,t){return void 0!==t[l[e]]&&"function"==typeof t[l[e]]}}},72928(e,t,i){"use strict";i.d(t,{R:()=>s});var r=i(47867),n=i(61363),l=i(87669),a=i(63364),o=i(55638);let s=()=>{let e=(0,r.useContext)(l.i);null==e&&(0,o.Ay)(new o.$g("useDynamicTypeResolver must be used within a DynamicTypeRegistryProvider"));let{serviceIds:t}=e,i=t.map(e=>a.kL.get(e));return{getComponentRenderer:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return{ComponentRenderer:l.resolve({target:t,dynamicType:i})}}return{ComponentRenderer:null}},hasType:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return!0}return!1},getType:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return i}return null}}}},48832(e,t,i){"use strict";i.d(t,{Cy:()=>c,L:()=>s,mv:()=>o,vV:()=>d});var r=i(10600),n=i(63364),l=i(35864),a=i(50094);let o=150,s=e=>{let t=[];return e.forEach(e=>{if((0,l.isNumber)(e.width))return void t.push(e);let i=c(e.type);void 0!==i?t.push({...e,width:i}):t.push({...e,width:o})}),t},d=e=>{var t;let i=null==e||null==(t=e.config)?void 0:t.dataObjectConfig.fieldDefinition,r=(null==e?void 0:e.columns)??null,n=350;return null!==r&&r.forEach(e=>{if((0,l.isNumber)(e.width)){n+=e.width;return}let t={...i,defaultFieldWidth:a.wT},r=c(e.type,t);if(void 0!==r){n+=r;return}n+=o}),n},c=(e,t)=>{let i=(0,n.Lt)(r.K["DynamicTypes/ObjectDataRegistry"]);if(void 0!==e){let r=i.getDynamicType(e,!1);if((null==r?void 0:r.getDefaultGridColumnWidth)!==void 0)return r.getDefaultGridColumnWidth(t)}}},3832(e,t,i){"use strict";i.d(t,{O:()=>a});var r=i(31635),n=i(62446),l=i(55638);class a{register(e){this.has(e.name)&&(0,l.Ay)(new l.$g(`Type with the name "${e.name}" already exists.`)),this.registry[e.name]=e}get(e){return this.has(e)||(0,l.Ay)(new l.$g(`No type with the name "${e}" found`)),this.registry[e]}has(e){return e in this.registry}getAll(){return Object.values(this.registry)}constructor(){this.registry={}}}a=(0,r.Cg)([(0,n.injectable)()],a)},67625(e,t,i){"use strict";i.d(t,{M:()=>o});var r=i(87286),n=i(47867),l=i(35864),a=i.n(l);let o=()=>{let e=(0,n.useContext)(r.K);if(a().isEmpty(e))throw Error("useTabManager must be used within TabManagerProvider");return e.tabManager}},14490(e,t,i){"use strict";i.d(t,{A:()=>o,ET:()=>u,FH:()=>n,ei:()=>a,jM:()=>p,uQ:()=>s,vX:()=>c,xX:()=>l,zC:()=>d});var r=i(53996);let n=i(6387).FH.enhanceEndpoints({addTagTypes:[r.nP.AVAILABLE_TAGS,r.nP.ASSET_DETAIL,r.nP.DATA_OBJECT_DETAIL],endpoints:{tagUpdateById:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagDeleteById:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagCreate:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagGetById:{providesTags:(e,t,i)=>r.yc.AVAILABLE_TAGS()},tagGetCollection:{providesTags:(e,t,i)=>r.yc.AVAILABLE_TAGS()},tagAssignToElement:{invalidatesTags:(e,t,i)=>[]},tagUnassignFromElement:{invalidatesTags:(e,t,i)=>[]},tagBatchOperationToElementsByTypeAndId:{invalidatesTags:(e,t,i)=>r.qN.ELEMENT_TAGS(i.elementType,i.id)},tagGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>r.yc.ELEMENT_TAGS(i.elementType,i.id).filter(e=>void 0!==e)}}}),{useTagCreateMutation:l,useTagDeleteByIdMutation:a,useTagUpdateByIdMutation:o,useTagGetCollectionQuery:s,useTagAssignToElementMutation:d,useTagUnassignFromElementMutation:c,useTagGetCollectionForElementByTypeAndIdQuery:u,useTagBatchOperationToElementsByTypeAndIdMutation:p}=n},6387(e,t,i){"use strict";i.d(t,{FH:()=>r,uQ:()=>n});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Tags","Tags for Element"]}).injectEndpoints({endpoints:e=>({tagGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/tags",params:{page:e.page,pageSize:e.pageSize,elementType:e.elementType,filter:e.filter,parentId:e.parentId}}),providesTags:["Tags"]}),tagCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/tag",method:"POST",body:e.createTagParameters}),invalidatesTags:["Tags"]}),tagGetById:e.query({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`}),providesTags:["Tags"]}),tagUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`,method:"PUT",body:e.updateTagParameters}),invalidatesTags:["Tags"]}),tagDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`,method:"DELETE"}),invalidatesTags:["Tags"]}),tagAssignToElement:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/assign/${e.elementType}/${e.id}/${e.tagId}`,method:"POST"}),invalidatesTags:["Tags for Element"]}),tagBatchOperationToElementsByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/batch/${e.operation}/${e.elementType}/${e.id}`,method:"POST"}),invalidatesTags:["Tags for Element"]}),tagGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/tags/${e.elementType}/${e.id}`}),providesTags:["Tags for Element"]}),tagUnassignFromElement:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.elementType}/${e.id}/${e.tagId}`,method:"DELETE"}),invalidatesTags:["Tags for Element"]})}),overrideExisting:!1}),{useTagGetCollectionQuery:n,useTagCreateMutation:l,useTagGetByIdQuery:a,useTagUpdateByIdMutation:o,useTagDeleteByIdMutation:s,useTagAssignToElementMutation:d,useTagBatchOperationToElementsByTypeAndIdMutation:c,useTagGetCollectionForElementByTypeAndIdQuery:u,useTagUnassignFromElementMutation:p}=r},26268(e,t,i){"use strict";i.d(t,{I:()=>r});let r=(0,i(44241).createStyles)(e=>{let{token:t,css:i}=e;return{sectionTitle:i`
+ `}}),s=e=>{let{children:t,withBorder:i=!1,className:n}=e,{styles:s}=o(),d=l()(i?s.containerWithBorder:s.container,n);return(0,r.jsx)("div",{className:d,children:(0,r.jsx)(a.h,{titleClass:s.title,children:t})})}},3416(e,t,i){"use strict";i.d(t,{m:()=>r});let r={"widget-manager:inner:widget-closed":"widget-manager:inner:widget-closed","widget-manager:outer:widget-closed":"widget-manager:outer:widget-closed","data-object:editor:post-update":"data-object:editor:post-update","document:editor:post-update":"document:editor:post-update","asset:editor:post-update":"asset:editor:post-update"}},60124(e,t,i){"use strict";i.d(t,{B:()=>l,m:()=>n.m});var r=i(35864),n=i(3416);let l=new class{subscribe(e,t){let i={identifier:e,callback:t};return this.subscribers.push(i),i}unsubscribe(e){this.subscribers=this.subscribers.filter(t=>t!==e)}publish(e){this.subscribers.forEach(t=>{let i=t.identifier.type===e.identifier.type,n=(0,r.isUndefined)(t.identifier.id)||t.identifier.id===e.identifier.id;i&&n&&t.callback(e)})}constructor(){this.subscribers=[]}}},47732(e,t,i){"use strict";i.d(t,{s:()=>r});class r{registerLoader(e){if(this.loaders.has(e.name))throw Error(`Loader with name "${e.name}" already exists`);this.loaders.set(e.name,e)}getLoader(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=this.loaders.get(e);if(void 0===i&&t)throw Error(`Loader with name "${e}" not found`);return i}getLoaders(){return Array.from(this.loaders.values())}async loadAll(){for(let e of this.loaders.values())try{await e.onLoad()}catch(t){console.warn(`Loader ${e.name} failed:`,t)}}hasLoader(e){return this.loaders.has(e)}overrideLoader(e){if(!this.loaders.has(e.name))throw Error(`Loader with name "${e.name}" not found`);this.loaders.set(e.name,e)}constructor(){this.loaders=new Map}}},30515(e,t,i){"use strict";i.d(t,{A:()=>p});var r=i(63364),n=i(47867),l=i(62284),a=i(35864),o=i(10600),s=i(61549),d=i(44499),c=i(96403),u=i(2700);let p=()=>{let e=r.kL.get(o.K.mainNavRegistry),t=(0,s.J)(),i=(0,l.useSelector)(u.JT),[p,m]=(0,n.useState)(0);(0,n.useEffect)(()=>e.subscribe(()=>{m(e=>e+1)}),[e]);let g=e=>e.filter(e=>{if(!(0,a.isNil)(e.hidden)&&e.hidden()||!(0,a.isNil)(e.permission)&&!(0,d.J)(e.permission)||!(0,a.isNil)(e.perspectivePermissionHide)&&(0,c.a)(e.perspectivePermissionHide)||!(0,a.isNil)(e.perspectivePermission)&&!(0,c.a)(e.perspectivePermission))return!1;if(!(0,a.isNil)(e.children)){e.children=g(e.children);let t=!(0,a.isNil)(e.useCustomMainNavItem)||!(0,a.isNil)(e.widgetConfig);if(0===e.children.length&&!t)return!1}return!0});return{navItems:(0,n.useMemo)(()=>(0,a.isNil)(t)||(0,a.isNil)(i)?[]:g(e.getMainNavTree()),[t,i,p])}}},26053(e,t,i){"use strict";i.d(t,{c:()=>a});var r=i(31635),n=i(62446),l=i(35864);class a{registerMainNavItem(e){(0,l.isNil)(e.widgetConfig)||((0,l.isNil)(e.widgetConfig.config)&&(e.widgetConfig.config={}),e.widgetConfig.config.mainNavPath=e.path);let t=this.items.findIndex(t=>t.path===e.path);-1!==t?this.items[t]=e:this.items.push(e),this.notifyListeners()}unregisterMainNavItem(e){let t=this.items.findIndex(t=>t.path===e);-1!==t&&(this.items.splice(t,1),this.notifyListeners())}subscribe(e){return this.listeners.push(e),()=>{let t=this.listeners.indexOf(e);-1!==t&&this.listeners.splice(t,1)}}notifyListeners(){this.listeners.forEach(e=>{e()})}getMainNavItem(e){return this.items.find(t=>t.path===e)}getMainNavItems(){return this.items}getMainNavTree(){let e=[];return this.items.forEach(t=>{this.addNavItemToItemList(e,t)}),this.sortTree(e),e}addNavItemToItemList(e,t){let i=t.path.split("/");if(i.length>4)return void console.warn("MainNav: Maximum depth of 4 levels is allowed, Item will be ignored",t);let r=e;i.forEach((e,n)=>{let a=r.find(t=>t.id===e),o=n===i.length-1;if((0,l.isUndefined)(a)){let s=e;o||(0,l.isUndefined)(t.group)||e!==t.group?o&&(s=t.label??e):s=t.group,a={order:o?t.order:1e3,id:e,label:s,path:i.slice(0,n+1).join("/"),children:[],...o&&{dividerTop:t.dividerTop,dividerBottom:t.dividerBottom,icon:t.icon,groupIcon:t.groupIcon,widgetConfig:t.widgetConfig,useCustomMainNavItem:t.useCustomMainNavItem,className:t.className,permission:t.permission,perspectivePermission:t.perspectivePermission,perspectivePermissionHide:t.perspectivePermissionHide,hidden:t.hidden}},r.push(a)}else n===i.length-1&&Object.assign(a,{icon:t.icon,groupIcon:t.groupIcon,order:t.order??1e3,className:t.className,permission:t.permission,perspectivePermission:t.perspectivePermission,perspectivePermissionHide:t.perspectivePermissionHide,hidden:t.hidden,widgetConfig:t.widgetConfig,useCustomMainNavItem:t.useCustomMainNavItem,dividerBottom:t.dividerBottom,dividerTop:t.dividerTop,label:t.label??a.label});r=a.children??[]})}sortTree(e){e.sort((e,t)=>(e.order??1e3)-(t.order??1e3)),e.forEach(e=>{(0,l.isNil)(e.children)||this.sortTree(e.children)})}constructor(){this.items=[],this.listeners=[]}}a=(0,r.Cg)([(0,n.injectable)()],a)},25330(e,t,i){"use strict";i.d(t,{Y:()=>l});var r=i(62284),n=i(72098);let l=()=>{let e=(0,r.useSelector)(n.yP);return{logoUrl:(null==e?void 0:e.customLogo)??"/bundles/pimcorestudioui/img/logo-purple.svg",customLogoSmall:(null==e?void 0:e.customLogoSmall)??"/bundles/pimcorestudioui/img/logo-purple.svg",loginScreenCustomBackgroundImage:(null==e?void 0:e.loginScreenCustomBackgroundImage)??"/bundles/pimcorestudioui/img/login-bg.png"}}},77885(e,t,i){"use strict";i.d(t,{I5:()=>s.I,Yw:()=>c.Y,Zt:()=>m,bU:()=>d.b,eC:()=>u.e,eb:()=>a.e});var r=i(31635),n=i(62446),l=i(55638),a=i(74152),o=i(35864),s=i(62649),d=i(81031),c=i(69634),u=i(5743);let p=e=>{let t={},i=e=>{for(let r in e){let n=e[r];(0,o.isObject)(n)&&"type"in n?t[n.name]=n:(0,o.isObject)(n)&&i(n)}};return i(e),t};class m{register(e){this.getComponentConfig(e.name).type!==s.I.SINGLE&&(0,l.Ay)(new l.$g(`Component "${e.name}" is not configured as a single component. Use registerToSlot instead.`)),this.has(e.name)&&(0,l.Ay)(new l.$g(`Component with the name "${e.name}" already exists. Use the override method to override it`)),this.registry[e.name]=e}getAll(){return this.registry}get(e){return this.has(e)||(0,l.Ay)(new l.$g(`No component with the name "${e}" found`)),this.registry[e].component}has(e){return e in this.registry}override(e){this.has(e.name)||(0,l.Ay)(new l.$g(`No component named "${e.name}" found to override`)),this.registry[e.name]=e}overrideSlotComponent(e,t){let i=this.getSlotComponents(e),r=i.findIndex(e=>e.name===t.name);-1===r&&(0,l.Ay)(new l.$g(`No component named "${t.name}" found in slot "${e}" to override`)),i[r]=t}registerToSlot(e,t){this.getComponentConfig(e).type!==s.I.SLOT&&(0,l.Ay)(new l.$g(`Slot "${e}" is not configured as a slot component.`)),(0,o.isUndefined)(this.slots[e])&&(this.slots[e]=[]),void 0!==this.slots[e].find(e=>e.name===t.name)&&(0,l.Ay)(new l.$g(`Component with the name "${t.name}" already exists in slot "${e}". Use the overrideSlotComponent method to override it`)),this.slots[e].push(t),this.slots[e].sort((e,t)=>(e.priority??0)-(t.priority??0))}getSlotComponents(e){return this.slots[e]??[]}registerConfig(e){let t=p(e);Object.assign(this.configs,t)}getComponentConfig(e){if((0,o.isUndefined)(this.configs[e]))throw Error(`Component configuration for "${e}" not found.`);return this.configs[e]}constructor(){this.registry={},this.slots={},this.configs=p(a.e)}}m=(0,r.Cg)([(0,n.injectable)()],m)},62649(e,t,i){"use strict";i.d(t,{I:()=>n});var r,n=((r={}).SINGLE="single",r.SLOT="slot",r)},5743(e,t,i){"use strict";i.d(t,{e:()=>l});var r=i(63364),n=i(10600);function l(){return(0,r.Lt)(n.K["App/ComponentRegistry/ComponentRegistry"])}},47920(e,t,i){"use strict";i.d(t,{r:()=>r});let r={documentTree:{name:"document.tree",priority:{addFolder:100,addPage:110,addSnippet:120,addLink:130,addEmail:140,addHardlink:150,rename:200,copy:300,paste:400,pasteInheritance:410,cut:500,pasteCut:510,publish:600,unpublish:700,delete:800,openInNewWindow:850,advanced:870,refreshTree:900}},documentTreeAdvanced:{name:"document.tree.advanced",priority:{convertTo:100,lock:200,useAsSite:300,editSite:310,removeSite:320}},documentEditorToolbar:{name:"document.editor.toolbar",priority:{unpublish:100,delete:200,rename:300,translations:400,openInNewWindow:500,openPreviewInNewWindow:550}},dataObjectEditorToolbar:{name:"data-object.editor.toolbar",priority:{unpublish:100,delete:200,rename:300}},assetEditorToolbar:{name:"asset.editor.toolbar",priority:{rename:100,delete:200,uploadNewVersion:250,download:300,zipDownload:400,clearImageThumbnail:500,clearVideoThumbnail:600,clearPdfThumbnail:700}},assetTree:{name:"asset.tree",priority:{newAssets:100,addFolder:120,rename:200,copy:300,paste:400,cut:500,pasteCut:510,delete:800,createZipDownload:850,uploadNewVersion:860,download:870,advanced:880,refreshTree:900}},dataObjectTree:{name:"data-object.tree",priority:{addObject:100,addVariant:110,addFolder:120,rename:200,copy:300,paste:400,cut:500,pasteCut:510,publish:600,unpublish:700,delete:800,advanced:870,refreshTree:900}},dataObjectTreeAdvanced:{name:"data-object.tree.advanced",priority:{lock:100,lockAndPropagate:110,unlock:120,unlockAndPropagate:130}},dataObjectListGrid:{name:"data-object.list-grid",priority:{open:100,rename:200,locateInTree:300,publish:400,unpublish:500,delete:600}},assetListGrid:{name:"asset.list-grid",priority:{open:100,rename:200,locateInTree:300,delete:400,download:500}},assetPreviewCard:{name:"asset.preview-card",priority:{open:100,info:200,rename:300,locateInTree:400,uploadNewVersion:500,download:600,delete:700}}}},57885(e,t,i){"use strict";i.d(t,{g:()=>a});var r=i(31635),n=i(62446),l=i(55638);class a{registerToSlot(e,t){this.slots[e]=this.slots[e]??[],void 0!==this.slots[e].find(e=>e.name===t.name)&&(0,l.Ay)(new l.$g(`Provider with the name "${t.name}" already exists in slot "${e}". Use the overrideSlotProvider method to override it`)),this.slots[e].push(t)}overrideSlotProvider(e,t){let{slotProviders:i,index:r}=this.getSlotItem(e,t.name);i[r]=t}updateSlotProvider(e,t,i){let{slotProviders:r,index:n}=this.getSlotItem(e,t);r[n]=i(r[n])}getSlotProviders(e){return this.slots[e]=this.slots[e]??[],this.slots[e].sort((e,t)=>(e.priority??999)-(t.priority??999))}getSlotItem(e,t){let i=this.getSlotProviders(e),r=i.findIndex(e=>e.name===t);return -1===r&&(0,l.Ay)(new l.$g(`No provider named "${t}" found in slot "${e}"`)),{slotProviders:i,index:r}}constructor(){this.slots={}}}a=(0,r.Cg)([(0,n.injectable)()],a)},47904(e,t,i){"use strict";i.d(t,{W:()=>l});var r=i(10600),n=i(63364);function l(e,t){return n.kL.get(r.K["App/ContextMenuRegistry/ContextMenuRegistry"]).getSlotProviders(e).map(e=>e.useMenuItem(t)).filter(e=>null!==e)}},84210(e,t,i){"use strict";i.d(t,{$1:()=>a,My:()=>l,W2:()=>o,xo:()=>s});var r=i(46881);let n=(0,i(88605).createSlice)({name:"global-context",initialState:null,reducers:{addGlobalContext:(e,t)=>t.payload,removeGlobalContext:(e,t)=>null,setGlobalDefaultContext:(e,t)=>t.payload},selectors:{selectContextByType:(e,t)=>(null==e?void 0:e.type)===t?e:null}});(0,r.injectSliceWithState)(n);let{addGlobalContext:l,removeGlobalContext:a,setGlobalDefaultContext:o}=n.actions,{selectContextByType:s}=n.getSelectors(e=>e["global-context"])},31729(e,t,i){"use strict";i.d(t,{e:()=>p});var r=i(47867),n=i(18613),l=i(74353),a=i.n(l),o=i(83826),s=i.n(o),d=i(88569),c=i.n(d),u=i(18196);a().extend(s()),a().extend(c());let p=()=>{let{timezone:e}=(0,n.useSettings)();return{convertToTimestamp:(0,r.useCallback)(function(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!(0,u.uI)(t))return null;try{let n;return n=r&&(0,u.uI)(e)?a().tz(t,e):a()(t),i?n.valueOf():n.unix()}catch(e){return console.error("Failed to convert date string to timestamp:",e),null}},[e]),convertToDateString:(0,r.useCallback)(t=>{let{timestamp:i,asMilliseconds:r=!0,respectServerTimezone:n=!0,format:l=""}=t;try{let t,o=r?i:1e3*i;return t=n&&(0,u.uI)(e)?a().tz(o,e):a()(o),(0,u.uI)(l)?t.format(l):t.toISOString()}catch(e){return console.error("Failed to convert timestamp to date:",e),null}},[e])}}},69134(e,t,i){"use strict";i.d(t,{Z:()=>s});var r=i(47867),n=i(68119),l=i(11324),a=i(7566),o=i(44499);let s=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3?arguments[3]:void 0,d=(0,l.P)(),{user:c}=(0,n.U)(),{mergedKeyBindings:u}=(0,a.F)(null==c?void 0:c.keyBindings),p=(0,r.useCallback)(i=>{if(i.target instanceof HTMLInputElement&&"true"===i.target.dataset.keybindingInput)return;let r=u.find(e=>e.action===t),{keyCode:n,ctrlKey:l,altKey:a,shiftKey:d}=i;if((null==r?void 0:r.key)!==void 0&&r.key===n&&r.ctrl===l&&r.shift===d&&r.alt===a){if(void 0!==s&&!(0,o.J)(s))return;i.preventDefault(),e(i)}},[e,t,s]);(0,r.useEffect)(()=>{if(document.removeEventListener("keydown",p),i||d)return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[i,d,p])}},8849(e,t,i){"use strict";i.d(t,{r:()=>a});var r=i(47867),n=i(80223),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.V);if((0,l.isNil)(e))throw Error("useModalHolder must be used within a ModalHolderProvider");return e}},66112(e,t,i){"use strict";i.d(t,{s:()=>r});class r{setField(e,t){this.data[e]=t}getField(e){return this.data[e]}hasField(e){return e in this.data}getData(){return this.data}constructor(e){this.data=e}}},32234(e,t,i){"use strict";i.d(t,{k:()=>l});var r=i(31635),n=i(62446);class l{registerProcessor(e){this.processors=this.processors.filter(t=>t.id!==e.id),this.processors.push(e),this.processors.sort((e,t)=>t.priority-e.priority)}unregisterProcessor(e){this.processors=this.processors.filter(t=>t.id!==e)}executeProcessors(e){for(let t of this.processors)try{t.execute(e)}catch(e){console.warn(`Processor ${t.id} failed:`,e)}}getRegisteredProcessors(){return[...this.processors]}hasProcessor(e){return this.processors.some(t=>t.id===e)}constructor(){this.processors=[]}}l=(0,r.Cg)([(0,n.injectable)()],l)},59446(e,t,i){"use strict";i.d(t,{t:()=>s});var r=i(62284),n=i(72098),l=i(47867),a=i(46096),o=i(81624);let s=()=>{let e=(0,r.useSelector)(n.mt),[t]=(0,l.useState)(()=>(0,o.GZ)());return(0,l.useMemo)(()=>{if(t&&(0,a.BB)())try{let{settings:e}=(0,a.qH)(),t=e.getSettings();if(null!=t&&Object.keys(t).length>0)return t}catch(e){console.warn("[useSettings] Failed to get parent settings:",e)}return e},[t,e])??{}}},55745(e,t,i){"use strict";i.d(t,{Hk:()=>s,Vf:()=>p,sH:()=>u});var r=i(53996);let{useAdminSettingsGetQuery:n,useAdminSettingsUpdateMutation:l,useSettingAdminThumbnailQuery:a,useSystemSettingsGetQuery:o,useSettingsUpdateMutation:s,useActiveBundlesGetQuery:d,usePingActionQuery:c,useLazyPingActionQuery:u,useSettingsCountryCollectionQuery:p}=i(52626).FH.enhanceEndpoints({addTagTypes:[r.nP.SETTINGS_ADMIN],endpoints:{adminSettingsGet:{providesTags:(e,t,i)=>r.yc.SETTINGS_ADMIN()},adminSettingsUpdate:{invalidatesTags:(e,t,i)=>r.qN.SETTINGS_ADMIN()},settingAdminThumbnail:{providesTags:(e,t,i)=>r.yc.SETTINGS_ADMIN()}}})},52626(e,t,i){"use strict";i.d(t,{Bo:()=>p,FH:()=>l,Gg:()=>o,Hk:()=>u,JD:()=>s,Md:()=>c,Vf:()=>d,cC:()=>a,c_:()=>g,fS:()=>m,rn:()=>n});var r=i(53073);let n=["Settings Admin","Settings"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({adminSettingsGet:e.query({query:()=>({url:"/pimcore-studio/api/settings/admin"}),providesTags:["Settings Admin"]}),adminSettingsUpdate:e.mutation({query:e=>({url:"/pimcore-studio/api/settings/admin/save",method:"POST",body:e.updateAdminSettings}),invalidatesTags:["Settings Admin"]}),settingAdminThumbnail:e.query({query:()=>({url:"/pimcore-studio/api/setting/admin/thumbnail"}),providesTags:["Settings Admin"]}),settingsCountryCollection:e.query({query:()=>({url:"/pimcore-studio/api/settings/available-countries"}),providesTags:["Settings"]}),systemSettingsGet:e.query({query:()=>({url:"/pimcore-studio/api/settings"}),providesTags:["Settings"]}),settingsUpdate:e.mutation({query:e=>({url:"/pimcore-studio/api/settings",method:"PUT",body:e.body}),invalidatesTags:["Settings"]}),settingsImageAdapterCheck:e.query({query:()=>({url:"/pimcore-studio/api/settings/adapter/image"}),providesTags:["Settings"]}),activeBundlesGet:e.query({query:()=>({url:"/pimcore-studio/api/settings/active-bundles"}),providesTags:["Settings"]}),pingAction:e.query({query:()=>({url:"/pimcore-studio/api/settings/ping"}),providesTags:["Settings"]})}),overrideExisting:!1}),{useAdminSettingsGetQuery:a,useAdminSettingsUpdateMutation:o,useSettingAdminThumbnailQuery:s,useSettingsCountryCollectionQuery:d,useSystemSettingsGetQuery:c,useSettingsUpdateMutation:u,useSettingsImageAdapterCheckQuery:p,useActiveBundlesGetQuery:m,usePingActionQuery:g}=l},72098(e,t,i){"use strict";i.d(t,{MM:()=>d,XE:()=>s,mt:()=>c,oc:()=>o,rC:()=>u,yP:()=>p});var r=i(88605),n=i(46881),l=i(52626);let a=(0,r.createSlice)({name:"settings",initialState:{},reducers:{setSettings:(e,t)=>{let{payload:i}=t;e.settings=i},setAdminSettings:(e,t)=>{let{payload:i}=t;e.adminSettings=i},setThumbnails:(e,t)=>{let{payload:i}=t;e.thumbnails=i}},extraReducers:e=>{e.addMatcher(l.FH.endpoints.settingAdminThumbnail.matchFulfilled,(e,t)=>{let{payload:i}=t;e.thumbnails=i})}});(0,n.injectSliceWithState)(a);let{setSettings:o,setAdminSettings:s,setThumbnails:d}=a.actions,c=e=>e.settings.settings,u=e=>e.settings.adminSettings,p=e=>e.settings.thumbnails},20260(e,t,i){"use strict";i.d(t,{u:()=>r});let r={light:"studio-default-light",dark:"studio-default-dark"}},63824(e,t,i){"use strict";i.d(t,{FH:()=>n,Xz:()=>d,d5:()=>s,e5:()=>o});var r=i(53996);let n=i(74365).FH.enhanceEndpoints({addTagTypes:[r.nP.DOMAIN_TRANSLATIONS,r.nP.LOCALES],endpoints:{translationGetList:{providesTags:(e,t,i)=>r.yc.DOMAIN_TRANSLATIONS()},translationGetAvailableLocales:{providesTags:(e,t,i)=>r.yc.LOCALES()},translationGetDomains:{providesTags:()=>[]},translationDeleteByKey:{invalidatesTags:()=>[]},translationCreate:{invalidatesTags:()=>[]},translationUpdate:{invalidatesTags:()=>[]}}}),{useTranslationCreateMutation:l,useTranslationDeleteByKeyMutation:a,useTranslationGetDomainsQuery:o,useTranslationGetListQuery:s,useTranslationGetAvailableLocalesQuery:d,useTranslationUpdateMutation:c}=n},74365(e,t,i){"use strict";i.d(t,{FH:()=>l,KT:()=>p,Ni:()=>v,Q8:()=>d,Xz:()=>a,Zn:()=>o,d5:()=>g,d_:()=>m,e5:()=>u,oG:()=>h,pr:()=>c,rn:()=>n,sp:()=>s});var r=i(53073);let n=["Translation"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({translationGetAvailableLocales:e.query({query:()=>({url:"/pimcore-studio/api/translations/available-locales"}),providesTags:["Translation"]}),translationCleanupByDomain:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}/cleanup`,method:"DELETE"}),invalidatesTags:["Translation"]}),translationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/create",method:"POST",body:e.createTranslation}),invalidatesTags:["Translation"]}),translationDetermineCsvSettingsForImport:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/csv-settings",method:"POST",body:e.body}),invalidatesTags:["Translation"]}),translationDeleteByKey:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.key}`,method:"DELETE",params:{domain:e.domain}}),invalidatesTags:["Translation"]}),translationGetDomains:e.query({query:()=>({url:"/pimcore-studio/api/translations/domains"}),providesTags:["Translation"]}),translationExportList:e.mutation({query:e=>({url:"/pimcore-studio/api/translations/export",method:"POST",body:e.body,params:{domain:e.domain}}),invalidatesTags:["Translation"]}),translationImportCsv:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}/import`,method:"POST",body:e.body}),invalidatesTags:["Translation"]}),translationGetList:e.query({query:e=>({url:"/pimcore-studio/api/translations/list",method:"POST",body:e.body,params:{domain:e.domain}}),providesTags:["Translation"]}),translationGetCollection:e.mutation({query:e=>({url:"/pimcore-studio/api/translations",method:"POST",body:e.translation}),invalidatesTags:["Translation"]}),translationUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/translations/${e.domain}`,method:"PUT",body:e.body}),invalidatesTags:["Translation"]})}),overrideExisting:!1}),{useTranslationGetAvailableLocalesQuery:a,useTranslationCleanupByDomainMutation:o,useTranslationCreateMutation:s,useTranslationDetermineCsvSettingsForImportMutation:d,useTranslationDeleteByKeyMutation:c,useTranslationGetDomainsQuery:u,useTranslationExportListMutation:p,useTranslationImportCsvMutation:m,useTranslationGetListQuery:g,useTranslationGetCollectionMutation:h,useTranslationUpdateMutation:v}=l},26234(e,t,i){"use strict";function r(e,t){let i=URL.createObjectURL(t),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}function n(e,t){r(e,new Blob([JSON.stringify(t,null,2)],{type:"application/json"}))}i.d(t,{P:()=>r,z:()=>n})},7843(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"asset-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["asset-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},93063(e,t,i){"use strict";i.d(t,{F:()=>a,R:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=[...e.customMetadata??[],t.payload.customMetadata],r(e),e))},i=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l&&(0,n.Ay)(new n.$g(`Item with id ${i} not found`)),t.entities[i]=r({...l})},r=e=>{e.modified=!0,e.changes={...e.changes,customMetadata:!0}};return{addCustomMetadata:t,removeCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=(e.customMetadata??[]).filter(e=>e.name!==t.payload.customMetadata.name||e.language!==t.payload.customMetadata.language),r(e),e))},updateCustomMetadata:(e,n)=>{let l=!1;i(e,n.payload.id,e=>(e.customMetadata=(e.customMetadata??[]).map((t,i)=>t.name===n.payload.customMetadata.name&&t.language===n.payload.customMetadata.language?(r(e),l=!0,n.payload.customMetadata):t),e)),l||t(e,n)},updateAllCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=t.payload.customMetadata,r(e),e))},setCustomMetadata:(e,t)=>{i(e,t.payload.id,e=>(e.customMetadata=t.payload.customMetadata,e))}}},a=(e,t,i,n,l,a,o)=>{let s=(0,r.useAppDispatch)();return{customMetadata:null==t?void 0:t.customMetadata,updateCustomMetadata:t=>{s(i({id:e,customMetadata:t}))},addCustomMetadata:t=>{s(n({id:e,customMetadata:t}))},removeCustomMetadata:t=>{s(l({id:e,customMetadata:t}))},updateAllCustomMetadata:t=>{s(o({id:e,customMetadata:t}))},setCustomMetadata:t=>{s(a({id:e,customMetadata:t}))}}}},50967(e,t,i){"use strict";i.d(t,{$:()=>l,V:()=>a});var r=i(46881),n=i(35864);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0===n?console.error(`Item with id ${i} not found`):t.entities[i]=r({...n})},i=e=>{e.modified=!0,e.changes={...e.changes,customSettings:!0}};return{setCustomSettings:(e,r)=>{t(e,r.payload.id,t=>{let{customSettings:l}=r.payload;if(!(0,n.isEmpty)(l)&&!(0,n.isUndefined)(l.key)){let a=e.entities[r.payload.id].customSettings??[],o=(0,n.findIndex)(a,{key:l.key});o>-1?a[o]={...a[o],value:l.value}:a.push(l),t.customSettings=a,i(t)}return t})},removeCustomSettings:(e,r)=>{t(e,r.payload.id,t=>{let{customSettings:l}=r.payload;if(!(0,n.isUndefined)(null==l?void 0:l.key)){let a=e.entities[r.payload.id].customSettings??[],o=(0,n.findIndex)(a,{key:l.key});o>-1&&(a.splice(o,1),t.customSettings=a,i(t))}return t})}}},a=e=>{let{id:t,draft:i,setCustomSettingsAction:n,removeCustomSettingsAction:l}=e,a=(0,r.useAppDispatch)();return{customSettings:null==i?void 0:i.customSettings,setCustomSettings:e=>{a(n({id:t,customSettings:e}))},removeCustomSettings:e=>{a(l({id:t,customSettings:e}))}}}},53119(e,t,i){"use strict";i.d(t,{J:()=>a,N:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l&&(0,n.Ay)(new n.$g(`Item with id ${i} not found`)),t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,imageSettings:!0}};return{addImageSettings:(e,r)=>{t(e,r.payload.id,e=>(e.imageSettings={...e.imageSettings,...r.payload.settings},i(e),e))},removeImageSetting:(e,r)=>{t(e,r.payload.id,e=>{let t=structuredClone(e.imageSettings);return delete t[r.payload.setting],e.imageSettings={...t},i(e),e})},updateImageSetting:(e,r)=>{t(e,r.payload.id,e=>(e.imageSettings[r.payload.setting]=r.payload.value,i(e),e))}}},a=(e,t,i,n,l)=>{let a=(0,r.useAppDispatch)();return{imageSettings:null==t?void 0:t.imageSettings,addImageSettings:t=>{a(i({id:e,settings:t}))},removeImageSetting:t=>{a(n({id:e,setting:t}))},updateImageSetting:(t,i)=>{a(l({id:e,setting:t,value:i}))}}}},84555(e,t,i){"use strict";i.d(t,{M:()=>l,y:()=>n});var r=i(46881);let n=e=>({updateTextData:(t,i)=>{var r;let n;r=i.payload.id,void 0===(n=e.getSelectors().selectById(t,r))?console.error(`Item with id ${r} not found`):t.entities[r]=(e=>(e.textData=i.payload.textData??"",e.modified=!0,e.changes={...e.changes,textData:!0},e))({...n})}}),l=e=>{let{id:t,draft:i,updateTextDataAction:n}=e,l=(0,r.useAppDispatch)();return{textData:null==i?void 0:i.textData,updateTextData:e=>{l(n({id:t,textData:e}))}}}},27330(e,t,i){"use strict";i.d(t,{FH:()=>l,Hw:()=>s,RB:()=>u,Rq:()=>c,hM:()=>o,k9:()=>d,mL:()=>a});var r=i(42507),n=i(53996);let l=r.api.enhanceEndpoints({addTagTypes:[n.nP.PREDEFINED_ASSET_METADATA],endpoints:{metadataGetCollection:{providesTags:(e,t,i)=>n.yc.PREDEFINED_ASSET_METADATA()},metadataPredefinedCreate:{invalidatesTags:()=>[]},metadataPredefinedUpdate:{invalidatesTags:()=>[]},metadataPredefinedDelete:{invalidatesTags:()=>[]}}}),{useAssetCustomMetadataGetByIdQuery:a,useMetadataGetCollectionQuery:o,useLazyMetadataGetCollectionQuery:s,useMetadataPredefinedCreateMutation:d,useMetadataPredefinedUpdateMutation:c,useMetadataPredefinedDeleteMutation:u}=l},42507(e,t,i){"use strict";i.r(t),i.d(t,{addTagTypes:()=>n,api:()=>l,useAssetCustomMetadataGetByIdQuery:()=>o,useMetadataAssetGetCollectionQuery:()=>a,useMetadataGetCollectionQuery:()=>s,useMetadataPredefinedCreateMutation:()=>d,useMetadataPredefinedDeleteMutation:()=>u,useMetadataPredefinedUpdateMutation:()=>c});var r=i(53073);let n=["Metadata"],l=r.api.enhanceEndpoints({addTagTypes:n}).injectEndpoints({endpoints:e=>({metadataAssetGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/metadata/asset",params:{subType:e.subType,group:e.group}}),providesTags:["Metadata"]}),assetCustomMetadataGetById:e.query({query:e=>({url:`/pimcore-studio/api/assets/${e.id}/custom-metadata`}),providesTags:["Metadata"]}),metadataGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/metadata",method:"POST",body:e.body}),providesTags:["Metadata"]}),metadataPredefinedCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/metadata/predefined",method:"POST",body:e.createPredefinedMetadata}),invalidatesTags:["Metadata"]}),metadataPredefinedUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/metadata/predefined/${e.id}`,method:"PUT",body:e.updatePredefinedMetadata}),invalidatesTags:["Metadata"]}),metadataPredefinedDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/metadata/predefined/${e.id}`,method:"DELETE"}),invalidatesTags:["Metadata"]})}),overrideExisting:!1}),{useMetadataAssetGetCollectionQuery:a,useAssetCustomMetadataGetByIdQuery:o,useMetadataGetCollectionQuery:s,useMetadataPredefinedCreateMutation:d,useMetadataPredefinedUpdateMutation:c,useMetadataPredefinedDeleteMutation:u}=l},89354(e,t,i){"use strict";i.d(t,{l:()=>f});var r=i(46881),n=i(21724),l=i(47867),a=i(40331),o=i(93063),s=i(76359),d=i(53119),c=i(95674),u=i(63364),p=i(10600),m=i(92634),g=i(84555),h=i(50967),v=i(7843);let f=e=>{let t=(0,r.useAppSelector)(t=>(0,n.f_)(t,e)),[i,f]=(0,l.useState)(!0),y=(0,u.Lt)(p.K["Asset/Editor/TypeRegistry"]),b=(0,r.useAppSelector)(t=>(0,v.qD)(t,e));(0,l.useEffect)(()=>{void 0===t?f(!0):f(!1)},[t]);let x=(0,s.L)(e,n.O0,n.$B),j=(0,a.I)(e,t,n.uA,n.kV,n.iC,n.ro),w=(0,c.z)(e,t,n.gz,n.YH,n.a6,n.YI,n.KL),C=(0,o.F)(e,t,n.lB,n.vD,n.fP,n.aG,n.wH),S=(0,h.V)({id:e,draft:t,setCustomSettingsAction:n.Cc,removeCustomSettingsAction:n.Hh}),T=(0,d.J)(e,t,n.tn,n.EI,n.gA),I=(0,g.M)({id:e,draft:t,updateTextDataAction:n.we}),k=(0,m.JX)(e,t,n.pm),E=(null==t?void 0:t.type)===void 0?void 0:y.get(t.type)??y.get("unknown");return{isLoading:i,isError:b,asset:t,editorType:E,...x,...j,...w,...C,...S,...T,...I,...k}}},76497(e,t,i){"use strict";i.d(t,{G:()=>n});var r=i(46096);let n=()=>({openAsset:async e=>{let{config:t}=e,{element:i}=(0,r.qH)();await i.openAsset(t.id)}})},27918(e,t,i){"use strict";i.d(t,{k:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"asset")),setContext:function(t){e((0,n.My)({type:"asset",config:t}))},removeContext:function(){e((0,n.$1)("asset"))}}}},76468(e,t,i){"use strict";i.d(t,{t:()=>l});var r=i(47867),n=i(85670);let l=()=>{let e=(0,r.useContext)(n.l);if(void 0===e)throw Error("useSettings must be used within a SettingsProvider");return e}},25293(e,t,i){"use strict";i.d(t,{A:()=>I});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let[t,i]=(0,n.useState)([]),a=()=>{if(void 0!==t&&0!==t.length)return{type:"system.tag",filterValue:{considerChildTags:!0,tags:t}}};return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{tags:t,setTags:i,getDataQueryArg:a},children:e.children}),[t])},o=()=>{let e=(0,n.useContext)(l);if(void 0===e)throw Error("useTagFilter must be used within a TagFilterProvider");return e};var s=i(21429),d=i(81898),c=i(74325),u=i(27820),p=i(27994),m=i(91206),g=i(96940),h=i(39808),v=i(25750),f=i(93966),y=i(96317),b=i(14490);let x=e=>{let{checkedKeys:t,setCheckedKeys:i}=e,{data:n,isLoading:l}=(0,b.uQ)({page:1,pageSize:9999});if(l)return(0,r.jsx)(h.U,{loading:!0});if((null==n?void 0:n.items)===void 0)return(0,r.jsx)("div",{children:"Failed to load tags"});let a=(0,y.M)({tags:n.items,loadingNodes:new Set});return(0,r.jsx)(v.s,{"data-testid":"tag-filter-tree",gap:"small",vertical:!0,children:(0,r.jsx)(f.l,{checkStrictly:!0,checkedKeys:{checked:t,halfChecked:[]},onCheck:e=>{i(e.checked)},treeData:a,withCustomSwitcherIcon:!0})})},j=(0,n.createContext)({tags:[],setTags:()=>{}}),w=e=>{let{children:t}=e,{tags:i}=o(),[l,a]=(0,n.useState)(i);return(0,n.useEffect)(()=>{a(i)},[i]),(0,n.useMemo)(()=>(0,r.jsx)(j.Provider,{value:{tags:l,setTags:a},children:t}),[l])};var C=i(79963);let S=()=>{let{tags:e,setTags:t}=(0,n.useContext)(j),{setTags:i}=o(),{setPage:l}=(0,C.M)(),{t:a}=(0,s.useTranslation)(),d=e.map(e=>e.toString());return(0,r.jsx)(m.s,{renderToolbar:(0,r.jsxs)(g.M,{theme:"secondary",children:[(0,r.jsx)(u.J,{"data-testid":"listing-tag-filter-clear-button",icon:{value:"close"},onClick:()=>{t([])},type:"link",children:"Clear all filters"}),(0,r.jsx)(p.$,{"data-testid":"listing-tag-filter-apply-button",onClick:()=>{i(e),l(1)},type:"primary",children:"Apply"})]}),children:(0,r.jsxs)(h.U,{padded:!0,padding:"small",children:[(0,r.jsx)(c.h,{children:a("sidebar.tag_filters")}),(0,r.jsx)(x,{checkedKeys:d,setCheckedKeys:e=>{t(e.map(e=>parseInt(e)))}})]})})},T=()=>(0,r.jsx)(w,{children:(0,r.jsx)(S,{})}),I=e=>{let{ContextComponent:t,useDataQueryHelper:i,useSidebarOptions:n,...l}=e;return{ContextComponent:()=>(0,r.jsx)(a,{children:(0,r.jsx)(t,{})}),useDataQueryHelper:()=>{let{getArgs:e,...t}=i(),{getDataQueryArg:r,tags:n}=o();return{...t,getArgs:()=>{let t=e(),i=r(),l=[...(t.body.filters.columnFilters??[]).filter(e=>"system.tag"!==e.type)];return n.length>0&&l.push(i),{...t,body:{...t.body,filters:{...t.body.filters,columnFilters:l}}}}}},useSidebarOptions:()=>{let{getProps:e}=n(),{tags:t}=o(),{t:i}=(0,s.useTranslation)();return{getProps:()=>{let n=e(),l=n.highlights??[];return t.length>0?l.push("tag-filters"):l=l.filter(e=>"tag-filters"!==e),{...n,highlights:l,entries:[{component:(0,r.jsx)(T,{}),key:"tag-filters",icon:(0,r.jsx)(d.I,{value:"tag"}),tooltip:i("sidebar.tag_filters")},...n.entries]}}}},...l}}},92502(e,t,i){"use strict";i.d(t,{p:()=>r});let r=()=>({getId:()=>1})},78354(e,t,i){"use strict";i.d(t,{s:()=>a});var r=i(63364),n=i(10600),l=i(35864);let a=e=>(0,l.isNil)(e)?null:r.kL.get(n.K["Asset/ThumbnailService"]).getThumbnailUrl(e)},76228(e,t,i){"use strict";i.d(t,{Kc:()=>o,UA:()=>l});var r=i(46881);let n=(0,i(88605).createSlice)({name:"authentication",initialState:{isAuthenticated:void 0},reducers:{setAuthState(e,t){e.isAuthenticated=t.payload},resetAuthState(e){e.isAuthenticated=void 0}}});(0,r.injectSliceWithState)(n);let{setAuthState:l,resetAuthState:a}=n.actions,o=e=>e.authentication.isAuthenticated;n.reducer},11482(e,t,i){"use strict";i.d(t,{Ng:()=>n,_L:()=>r,z1:()=>l});let{useLoginMutation:r,useLogoutMutation:n,useLoginTokenMutation:l}=i(53073).api.enhanceEndpoints({addTagTypes:["Authorization"]}).injectEndpoints({endpoints:e=>({login:e.mutation({query:e=>({url:"/pimcore-studio/api/login",method:"POST",body:e.credentials}),invalidatesTags:["Authorization"]}),logout:e.mutation({query:()=>({url:"/pimcore-studio/api/logout",method:"POST"}),invalidatesTags:["Authorization"]}),loginToken:e.mutation({query:e=>({url:"/pimcore-studio/api/login/token",method:"POST",body:e.authenticationToken}),invalidatesTags:["Authorization"]})}),overrideExisting:!1})},9653(e,t,i){"use strict";i.d(t,{F:()=>n});var r,n=((r={}).NotesAndEvents="notes_events",r.Translations="translations",r.Appearance="system_appearance_settings",r.Documents="documents",r.DocumentTypes="document_types",r.Objects="objects",r.Assets="assets",r.Thumbnails="thumbnails",r.TagsConfiguration="tags_configuration",r.PredefinedProperties="predefined_properties",r.WebsiteSettings="website_settings",r.Users="users",r.Notifications="notifications",r.SendNotifications="notifications_send",r.Emails="emails",r.Reports="reports",r.ReportsConfig="reports_config",r.RecycleBin="recyclebin",r.Redirects="redirects",r.ApplicationLogger="application_logging",r.PerspectiveEditor="studio_perspective_editor",r.WidgetEditor="studio_perspective_widget_editor",r.GDPRDataExtractor="gdpr_data_extractor",r.SystemSettings="system_settings",r.Classes="classes",r.FieldCollections="fieldcollections",r.ObjectBricks="objectbricks",r.ClassificationStore="classificationstore",r.SelectOptions="selectoptions",r.QuantityValues="quantityValueUnits",r.AssetMetadata="asset_metadata",r)},39578(e,t,i){"use strict";i.d(t,{u:()=>s});var r=i(55638),n=i(29124),l=i(52725),a=i(46881),o=i(11482);let s=()=>{let[e]=(0,n.sz)(),[t]=(0,o.z1)();return{resetPassword:async(t,i,n)=>{let o,s=e({resetPassword:{username:t,resetPasswordUrl:(o=(0,l.generatePath)(a.routes.passwordReset),`${a.currentDomain}${o}`)}});try{let e=await s;if(void 0!==e.error){(0,r.Ay)(new r.hD(e.error)),null==i||i();return}null==i||i(),null==n||n()}catch{(0,r.Ay)(new r.$g("Error resetting password")),null==i||i()}},loginWithToken:async(e,i,n)=>{let l=t({authenticationToken:{token:e}});try{let e=await l;if(void 0!==e.error){(0,r.Ay)(new r.hD(e.error)),null==n||n();return}null==i||i()}catch(e){console.log("error",e),(0,r.Ay)(new r.$g("Error using token for authorization")),null==n||n()}}}}},19808(e,t,i){"use strict";i.d(t,{X:()=>o});var r=i(47867),n=i(95487),l=i(46881),a=i(76228);let o=()=>{let e=(0,l.useAppSelector)(a.Kc),t=(0,l.useAppDispatch)(),{isError:i,error:o,isSuccess:s,refetch:d}=(0,n.s)(void 0,{skip:void 0!==e});return(0,r.useEffect)(()=>{i&&t((0,a.UA)(!1)),s&&t((0,a.UA)(!0))},[i,s,o]),{isAuthenticated:e,recheck:()=>{d()}}}},19019(e,t,i){"use strict";i.d(t,{L:()=>l,P:()=>n});var r=i(46881);let n=()=>({resetChanges:e=>{e.changes={},e.modifiedCells={},e.modified=!1},setModifiedCells:(e,t)=>{e.modifiedCells={...e.modifiedCells,...t.payload.modifiedCells},e.modified=!0}}),l=(e,t)=>{let i=(0,r.useAppDispatch)();return{removeTrackedChanges:()=>{i(e())},setModifiedCells:e=>{i(t({modifiedCells:e}))}}}},68119(e,t,i){"use strict";i.d(t,{U:()=>o});var r=i(46881),n=i(73565),l=i(47867),a=i(19019);let o=()=>{let e=(0,r.useAppSelector)(e=>(0,n.xu)(e)),[t,i]=(0,l.useState)(!0);return(0,l.useEffect)(()=>{void 0===e?i(!0):i(!1)},[e]),{isLoading:t,user:e,...(0,a.L)(()=>(0,n.vD)(),e=>(0,n.$B)(e))}}},61549(e,t,i){"use strict";i.d(t,{J:()=>a});var r=i(47867),n=i(62284),l=i(73565);let a=()=>{let e=(0,n.useSelector)(l.xu);return(0,r.useMemo)(()=>e,[e])}},44499(e,t,i){"use strict";i.d(t,{J:()=>l});var r=i(41630),n=i(73565);let l=e=>{let t=r.M_.getState(),i=(0,n.xu)(t);return!!i.isAdmin||void 0!==e&&i.permissions.includes(e)}},95487(e,t,i){"use strict";i.d(t,{F:()=>n,s:()=>l});var r=i(53996);let n=i(29124).FH.enhanceEndpoints({addTagTypes:[r.nP.CURRENT_USER_INFORMATION],endpoints:{userGetCurrentInformation:{providesTags:(e,t,i)=>r.yc.CURRENT_USER_INFORMATION()},userGetImage:e=>{let t=e.query;void 0!==t&&(e.query=e=>{let i=t(e);return null===i||"object"!=typeof i?i:{...i,responseHandler:async e=>{let t=await e.blob();return{data:URL.createObjectURL(t)}}}})}}}),{useUserGetCurrentInformationQuery:l}=n},29124(e,t,i){"use strict";i.d(t,{FH:()=>r,lO:()=>j,rW:()=>c,sz:()=>y});let r=i(53073).api.enhanceEndpoints({addTagTypes:["User Management"]}).injectEndpoints({endpoints:e=>({userCloneById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/clone/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/user/",method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userFolderCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/user/folder",method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userGetCurrentInformation:e.query({query:()=>({url:"/pimcore-studio/api/user/current-user-information"}),providesTags:["User Management"]}),userGetById:e.query({query:e=>({url:`/pimcore-studio/api/user/${e.id}`}),providesTags:["User Management"]}),userUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}`,method:"PUT",body:e.updateUser}),invalidatesTags:["User Management"]}),userDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userFolderDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/folder/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userGetImage:e.query({query:e=>({url:`/pimcore-studio/api/user/image/${e.id}`}),providesTags:["User Management"]}),userImageDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/image/${e.id}`,method:"DELETE"}),invalidatesTags:["User Management"]}),userDefaultKeyBindings:e.query({query:()=>({url:"/pimcore-studio/api/users/default-key-bindings"}),providesTags:["User Management"]}),userGetAvailablePermissions:e.query({query:()=>({url:"/pimcore-studio/api/user/available-permissions"}),providesTags:["User Management"]}),userGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/users"}),providesTags:["User Management"]}),userListWithPermission:e.query({query:e=>({url:"/pimcore-studio/api/users/with-permission",params:{permission:e.permission,includeCurrentUser:e.includeCurrentUser}}),providesTags:["User Management"]}),userResetPassword:e.mutation({query:e=>({url:"/pimcore-studio/api/user/reset-password",method:"POST",body:e.resetPassword}),invalidatesTags:["User Management"]}),pimcoreStudioApiUserSearch:e.query({query:e=>({url:"/pimcore-studio/api/user/search",params:{searchQuery:e.searchQuery}}),providesTags:["User Management"]}),userTokenLinkGet:e.query({query:e=>({url:`/pimcore-studio/api/user/token-link/${e.id}`,method:"POST",body:e.tokenLink}),providesTags:["User Management"]}),userUpdateActivePerspective:e.mutation({query:e=>({url:`/pimcore-studio/api/user/active-perspective/${e.perspectiveId}`,method:"PUT"}),invalidatesTags:["User Management"]}),userUpdatePasswordById:e.mutation({query:e=>({url:`/pimcore-studio/api/user/${e.id}/password`,method:"PUT",body:e.body}),invalidatesTags:["User Management"]}),userUpdateProfile:e.mutation({query:e=>({url:"/pimcore-studio/api/user/update-profile",method:"PUT",body:e.updateUserProfile}),invalidatesTags:["User Management"]}),userUploadImage:e.mutation({query:e=>({url:`/pimcore-studio/api/user/upload-image/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["User Management"]}),userGetTree:e.query({query:e=>({url:"/pimcore-studio/api/users/tree",params:{parentId:e.parentId}}),providesTags:["User Management"]}),userGetShareCollection:e.query({query:()=>({url:"/pimcore-studio/api/users-share-list"}),providesTags:["User Management"]})}),overrideExisting:!1}),{useUserCloneByIdMutation:n,useUserCreateMutation:l,useUserFolderCreateMutation:a,useUserGetCurrentInformationQuery:o,useUserGetByIdQuery:s,useUserUpdateByIdMutation:d,useUserDeleteByIdMutation:c,useUserFolderDeleteByIdMutation:u,useUserGetImageQuery:p,useUserImageDeleteByIdMutation:m,useUserDefaultKeyBindingsQuery:g,useUserGetAvailablePermissionsQuery:h,useUserGetCollectionQuery:v,useUserListWithPermissionQuery:f,useUserResetPasswordMutation:y,usePimcoreStudioApiUserSearchQuery:b,useUserTokenLinkGetQuery:x,useUserUpdateActivePerspectiveMutation:j,useUserUpdatePasswordByIdMutation:w,useUserUpdateProfileMutation:C,useUserUploadImageMutation:S,useUserGetTreeQuery:T,useUserGetShareCollectionQuery:I}=r},73565(e,t,i){"use strict";i.d(t,{$B:()=>p,OA:()=>c,WF:()=>s,Zr:()=>d,gV:()=>o,vD:()=>u,xu:()=>m});var r=i(88605),n=i(46881),l=i(19019);let a=(0,r.createSlice)({name:"auth",initialState:{modified:!1,changes:{},modifiedCells:{},id:0,username:"",email:"",firstname:"",lastname:"",permissions:[],isAdmin:!1,classes:[],docTypes:[],language:"en",activePerspective:"0",perspectives:[],dateTimeLocale:"",welcomeScreen:!1,memorizeTabs:!1,hasImage:!1,image:void 0,contentLanguages:[],keyBindings:[],allowedLanguagesForEditingWebsiteTranslations:[],allowedLanguagesForViewingWebsiteTranslations:[],allowDirtyClose:!1,twoFactorAuthentication:{enabled:!1,required:!1,type:"",active:!1}},reducers:{setUser:(e,t)=>{let{payload:i}=t;return{...e,...i}},userProfileUpdated:(e,t)=>{let{payload:i}=t;return{...e,...i,modified:!1,modifiedCells:{},changes:{}}},userProfileImageUpdated:(e,t)=>{let{payload:i}=t;return{...e,image:i.data.image,hasImage:i.data.hasImage}},setPerspectives:(e,t)=>{let{payload:i}=t;return{...e,perspectives:i}},...(0,l.P)()}});a.name,(0,n.injectSliceWithState)(a);let{setUser:o,userProfileUpdated:s,userProfileImageUpdated:d,setPerspectives:c,resetChanges:u,setModifiedCells:p}=a.actions,m=e=>e.auth},45725(e,t,i){"use strict";i.d(t,{$v:()=>v,F7:()=>f,GC:()=>x,GV:()=>p,H8:()=>F,Hl:()=>d,I2:()=>g,KD:()=>w,Q:()=>y,T4:()=>j,TW:()=>M,U3:()=>b,Wm:()=>s,Zn:()=>u,_o:()=>m,d9:()=>c,dz:()=>h,eH:()=>P,hq:()=>C,pv:()=>a,wt:()=>o});var r=i(68710);function n(e,t,i){e((e,n)=>{var l;for(let[a,o]of Object.entries((null==(l=n().api)?void 0:l.queries)??{}))if(a.startsWith(`${t}(`))try{e(r.FH.util.updateQueryData(t,o.originalArgs,i))}catch{}})}function l(e,t,i){let n=[];return e((e,l)=>{var a;for(let[o,s]of Object.entries((null==(a=l().api)?void 0:a.queries)??{}))if(o.startsWith(`${t}(`))try{let l=e(r.FH.util.updateQueryData(t,s.originalArgs,i));n.push(l)}catch{}}),n}let{useClassificationStoreConfigurationCollectionCollectionQuery:a,useClassificationStoreConfigurationGroupCollectionQuery:o,useClassificationStoreConfigurationKeyCollectionQuery:s,useClassificationStoreConfigurationKeyGroupRelationCollectionQuery:d,useClassificationStoreConfigurationCollectionRelationCollectionQuery:c,useClassificationStoreConfigurationGroupCreateMutation:u,useClassificationStoreConfigurationGroupUpdateMutation:p,useClassificationStoreConfigurationGroupDeleteMutation:m,useClassificationStoreConfigurationCollectionCreateMutation:g,useClassificationStoreConfigurationCollectionUpdateMutation:h,useClassificationStoreConfigurationCollectionDeleteMutation:v,useClassificationStoreConfigurationKeyCreateMutation:f,useClassificationStoreConfigurationKeyUpdateMutation:y,useClassificationStoreConfigurationKeyDeleteMutation:b,useClassificationStoreConfigurationKeyGroupRelationCreateMutation:x,useClassificationStoreConfigurationKeyGroupRelationDeleteMutation:j,useClassificationStoreConfigurationCollectionRelationCreateMutation:w,useClassificationStoreConfigurationCollectionRelationDeleteMutation:C,useClassificationStoreConfigurationStoreTreeQuery:S,useClassificationStoreConfigurationStoreCreateMutation:T,useClassificationStoreConfigurationStoreUpdateMutation:I,useClassificationStoreGetCollectionsQuery:k,useClassificationStoreGetGroupsQuery:E,useClassificationStoreGetKeyGroupRelationsQuery:D,useClassificationStoreGetLayoutByCollectionQuery:N,useLazyClassificationStoreGetLayoutByCollectionQuery:P,useClassificationStoreGetLayoutByGroupQuery:A,useLazyClassificationStoreGetLayoutByGroupQuery:F,useClassificationStoreGetLayoutByKeyQuery:$,useLazyClassificationStoreGetLayoutByKeyQuery:M}=r.FH.enhanceEndpoints({endpoints:{classificationStoreConfigurationGroupCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationGroupUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationGroupCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationGroupUpdate;t.items[i]={...t.items[i],...r}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationGroupCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationGroupDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationGroupCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationCollectionCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationCollectionUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationCollectionCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationCollectionUpdate;t.items[i]={...t.items[i],...r}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationCollectionCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationCollectionCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationKeyCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationKeyUpdate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,a=l(i,"classificationStoreConfigurationKeyCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);if(-1!==i){let r=e.classificationStoreConfigurationKeyUpdate;t.items[i]={...t.items[i],name:r.name,...void 0!==r.type&&null!==r.type?{type:r.type}:{},description:r.description}}});try{let{data:e}=await r;n(i,"classificationStoreConfigurationKeyCollection",t=>{let i=t.items.findIndex(t=>t.id===e.id);-1!==i&&(t.items[i]=e)})}catch{a.forEach(e=>{e.undo()})}}},classificationStoreConfigurationKeyDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t;try{await r,n(i,"classificationStoreConfigurationKeyCollection",t=>{t.items=t.items.filter(t=>t.id!==e.id),t.totalItems=Math.max(0,t.totalItems-1)})}catch{}}},classificationStoreConfigurationKeyGroupRelationCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationKeyGroupRelationCreate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{keyId:a,groupId:o,sorter:s,mandatory:d}=e.classificationStoreConfigurationKeyGroupRelationCreate,c=l(i,"classificationStoreConfigurationKeyGroupRelationCollection",e=>{let t=e.items.findIndex(e=>e.keyId===a&&e.groupId===o);-1!==t?e.items[t]={...e.items[t],sorter:s,mandatory:d}:(e.items.push({keyId:a,groupId:o,sorter:s,mandatory:d,keyName:null,keyDescription:null,groupName:null}),e.totalItems+=1)});try{let{data:e}=await r;n(i,"classificationStoreConfigurationKeyGroupRelationCollection",t=>{let i=t.items.findIndex(t=>t.keyId===e.keyId&&t.groupId===e.groupId);-1!==i&&(t.items[i]=e)})}catch{c.forEach(e=>{e.undo()})}}},classificationStoreConfigurationKeyGroupRelationDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{keyId:n,groupId:a}=e.classificationStoreConfigurationKeyGroupRelationDelete,o=l(i,"classificationStoreConfigurationKeyGroupRelationCollection",e=>{let t=e.items.findIndex(e=>e.keyId===n&&e.groupId===a);-1!==t&&(e.items.splice(t,1),e.totalItems=Math.max(0,e.totalItems-1))});try{await r}catch{o.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionRelationCollection:{providesTags:["Classification Store"]},classificationStoreConfigurationCollectionRelationCreate:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{colId:a,groupId:o,sorter:s}=e.classificationStoreConfigurationCollectionRelationCreate,d=l(i,"classificationStoreConfigurationCollectionRelationCollection",e=>{let t=e.items.findIndex(e=>e.colId===a&&e.groupId===o);-1!==t?e.items[t]={...e.items[t],sorter:s}:(e.items.push({id:"",colId:a,groupId:o,sorter:s,groupName:null,groupDescription:null}),e.totalItems+=1)});try{let{data:e}=await r;n(i,"classificationStoreConfigurationCollectionRelationCollection",t=>{let i=t.items.findIndex(t=>t.colId===e.colId&&t.groupId===e.groupId);-1!==i&&(t.items[i]=e)})}catch{d.forEach(e=>{e.undo()})}}},classificationStoreConfigurationCollectionRelationDelete:{invalidatesTags:()=>[],async onQueryStarted(e,t){let{dispatch:i,queryFulfilled:r}=t,{colId:n,groupId:a}=e.classificationStoreConfigurationCollectionRelationDelete,o=l(i,"classificationStoreConfigurationCollectionRelationCollection",e=>{let t=e.items.findIndex(e=>e.colId===n&&e.groupId===a);-1!==t&&(e.items.splice(t,1),e.totalItems=Math.max(0,e.totalItems-1))});try{await r}catch{o.forEach(e=>{e.undo()})}}}}})},68710(e,t,i){"use strict";i.d(t,{FH:()=>r,IX:()=>I,Q:()=>f,SA:()=>S,WP:()=>C,Y0:()=>E,ZZ:()=>A,b5:()=>k,t6:()=>w});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Classification Store"]}).injectEndpoints({endpoints:e=>({classificationStoreConfigurationCollectionCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/collections`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationCollectionCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collections/add",method:"POST",body:e.classificationStoreConfigurationCollectionCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationCollectionUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/collections/${e.colId}/relations`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collection-relations/add",method:"POST",body:e.classificationStoreConfigurationCollectionRelationCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationCollectionRelationDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/collection-relations",method:"DELETE",body:e.classificationStoreConfigurationCollectionRelationDelete}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/groups`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationGroupCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/groups/add",method:"POST",body:e.classificationStoreConfigurationGroupCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationGroupUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGroupDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.storeId}/keys`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationKeyCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/keys/add",method:"POST",body:e.classificationStoreConfigurationKeyCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/keys/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationKeyUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/keys/${e.id}`,method:"DELETE"}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/groups/${e.groupId}/key-relations`,method:"POST",body:e.body}),providesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/key-group-relations/add",method:"POST",body:e.classificationStoreConfigurationKeyGroupRelationCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationKeyGroupRelationDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/key-group-relations",method:"DELETE",body:e.classificationStoreConfigurationKeyGroupRelationDelete}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationStoreCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/stores",method:"POST",body:e.classificationStoreConfigurationStoreCreate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationStoreTree:e.query({query:()=>({url:"/pimcore-studio/api/classification-store/configuration/stores/tree"}),providesTags:["Classification Store"]}),classificationStoreConfigurationStoreUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/classification-store/configuration/stores/${e.id}`,method:"PUT",body:e.classificationStoreConfigurationStoreUpdate}),invalidatesTags:["Classification Store"]}),classificationStoreConfigurationGetPage:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/configuration/get-page",params:{table:e.table,id:e.id,storeId:e.storeId,pageSize:e.pageSize,sortKey:e.sortKey,sortDir:e.sortDir}}),providesTags:["Classification Store"]}),classificationStoreGetCollections:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/collections",params:{storeId:e.storeId,classId:e.classId,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName,searchTerm:e.searchTerm}}),providesTags:["Classification Store"]}),classificationStoreGetGroups:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/groups",params:{storeId:e.storeId,classId:e.classId,searchTerm:e.searchTerm,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetKeyGroupRelations:e.query({query:e=>({url:"/pimcore-studio/api/classification-store/key-group-relations",params:{storeId:e.storeId,classId:e.classId,searchTerm:e.searchTerm,page:e.page,pageSize:e.pageSize,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByCollection:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-collection/${e.collectionId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByGroup:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-group/${e.groupId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetLayoutByKey:e.query({query:e=>({url:`/pimcore-studio/api/classification-store/layout-by-key/${e.keyId}/${e.groupId}`,params:{objectId:e.objectId,fieldName:e.fieldName}}),providesTags:["Classification Store"]}),classificationStoreGetConfigCollection:e.query({query:()=>({url:"/pimcore-studio/api/classification-store/config/collection"}),providesTags:["Classification Store"]})}),overrideExisting:!1}),{useClassificationStoreConfigurationCollectionCollectionQuery:n,useClassificationStoreConfigurationCollectionCreateMutation:l,useClassificationStoreConfigurationCollectionUpdateMutation:a,useClassificationStoreConfigurationCollectionDeleteMutation:o,useClassificationStoreConfigurationCollectionRelationCollectionQuery:s,useClassificationStoreConfigurationCollectionRelationCreateMutation:d,useClassificationStoreConfigurationCollectionRelationDeleteMutation:c,useClassificationStoreConfigurationGroupCollectionQuery:u,useClassificationStoreConfigurationGroupCreateMutation:p,useClassificationStoreConfigurationGroupUpdateMutation:m,useClassificationStoreConfigurationGroupDeleteMutation:g,useClassificationStoreConfigurationKeyCollectionQuery:h,useClassificationStoreConfigurationKeyCreateMutation:v,useClassificationStoreConfigurationKeyUpdateMutation:f,useClassificationStoreConfigurationKeyDeleteMutation:y,useClassificationStoreConfigurationKeyGroupRelationCollectionQuery:b,useClassificationStoreConfigurationKeyGroupRelationCreateMutation:x,useClassificationStoreConfigurationKeyGroupRelationDeleteMutation:j,useClassificationStoreConfigurationStoreCreateMutation:w,useClassificationStoreConfigurationStoreTreeQuery:C,useClassificationStoreConfigurationStoreUpdateMutation:S,useClassificationStoreConfigurationGetPageQuery:T,useClassificationStoreGetCollectionsQuery:I,useClassificationStoreGetGroupsQuery:k,useClassificationStoreGetKeyGroupRelationsQuery:E,useClassificationStoreGetLayoutByCollectionQuery:D,useClassificationStoreGetLayoutByGroupQuery:N,useClassificationStoreGetLayoutByKeyQuery:P,useClassificationStoreGetConfigCollectionQuery:A}=r},91434(e,t,i){"use strict";i.d(t,{Ex:()=>c,FH:()=>n,M5:()=>d,ZE:()=>l,ft:()=>s,lJ:()=>o,nF:()=>p,pV:()=>u,rg:()=>a});var r=i(53996);let n=i(69187).FH.enhanceEndpoints({addTagTypes:[r.nP.DATA_OBJECT,r.nP.DATA_OBJECT_TREE,r.nP.DATA_OBJECT_DETAIL],endpoints:{dataObjectClone:{invalidatesTags:(e,t,i)=>r.qN.DATA_OBJECT_TREE_ID(i.parentId)},dataObjectGetById:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectGetTree:{providesTags:(e,t,i)=>void 0!==i.parentId?r.yc.DATA_OBJECT_TREE_ID(i.parentId):r.yc.DATA_OBJECT_TREE()},dataObjectGetGrid:{keepUnusedDataFor:10,providesTags:(e,t,i)=>r.yc.DATA_OBJECT_GRID_ID(i.body.folderId)},dataObjectUpdateById:{invalidatesTags:(e,t,i)=>"autoSave"===i.body.data.task?[]:r.qN.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectAdd:{invalidatesTags:(e,t,i)=>r.qN.DATA_OBJECT_TREE_ID(i.parentId)},dataObjectGetLayoutById:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.id)},dataObjectFormatPath:{providesTags:(e,t,i)=>r.yc.DATA_OBJECT_DETAIL_ID(i.body.objectId)},dataObjectPatchById:{invalidatesTags:(e,t,i)=>{let n=[];for(let e of i.body.data)n.push(...r.qN.DATA_OBJECT_DETAIL_ID(e.id));return n}}}}),{useDataObjectAddMutation:l,useDataObjectCloneMutation:a,useDataObjectGetByIdQuery:o,useDataObjectUpdateByIdMutation:s,useDataObjectPatchByIdMutation:d,useDataObjectPatchFolderByIdMutation:c,useDataObjectGetTreeQuery:u,useDataObjectGetLayoutByIdQuery:p}=n},69187(e,t,i){"use strict";i.d(t,{FH:()=>r,Gq:()=>I,M5:()=>w,RX:()=>u,ZE:()=>n,dB:()=>b,ft:()=>s,je:()=>g,lw:()=>c,n5:()=>f,om:()=>y,rg:()=>a,t1:()=>p,v4:()=>v,vr:()=>d});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Data Objects","Data Object Grid"]}).injectEndpoints({endpoints:e=>({dataObjectAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/add/${e.parentId}`,method:"POST",body:e.dataObjectAddParameters}),invalidatesTags:["Data Objects"]}),dataObjectBatchDelete:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects/batch-delete",method:"DELETE",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectClone:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}/clone/${e.parentId}`,method:"POST",body:e.cloneParameters}),invalidatesTags:["Data Objects"]}),dataObjectGetById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}`}),providesTags:["Data Objects"]}),dataObjectUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectGetGridPreview:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/grid/preview",method:"POST",body:e.body}),providesTags:["Data Object Grid"]}),dataObjectDeleteGridConfigurationByConfigurationId:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/${e.configurationId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectGetGridConfiguration:e.query({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/${e.folderId}/${e.classId}`,params:{configurationId:e.configurationId}}),providesTags:["Data Object Grid"]}),dataObjectListSavedGridConfigurations:e.query({query:e=>({url:`/pimcore-studio/api/data-object/grid/configurations/${e.classId}`}),providesTags:["Data Object Grid"]}),dataObjectRemoveGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/remove-favorite/${e.configurationId}/${e.folderId}`,method:"DELETE"}),invalidatesTags:["Data Object Grid"]}),dataObjectSaveGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/save/${e.classId}`,method:"POST",body:e.body}),invalidatesTags:["Data Object Grid"]}),dataObjectSetGridConfigurationAsFavorite:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/${e.configurationId}/${e.folderId}`,method:"POST"}),invalidatesTags:["Data Object Grid"]}),dataObjectUpdateGridConfiguration:e.mutation({query:e=>({url:`/pimcore-studio/api/data-object/grid/configuration/update/${e.configurationId}`,method:"PUT",body:e.body}),invalidatesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumns:e.query({query:e=>({url:"/pimcore-studio/api/data-object/grid/available-columns",params:{classId:e.classId,folderId:e.folderId}}),providesTags:["Data Object Grid"]}),dataObjectGetAvailableGridColumnsForRelation:e.query({query:e=>({url:"/pimcore-studio/api/data-object/grid/available-columns-for-relation",params:{classId:e.classId,relationField:e.relationField}}),providesTags:["Data Object Grid"]}),dataObjectGetGrid:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/grid/${e.classId}`,method:"POST",body:e.body}),providesTags:["Data Object Grid"]}),dataObjectGetPhpcodeTransformers:e.query({query:()=>({url:"/pimcore-studio/api/data-objects/grid/transformers/services/phpcode"}),providesTags:["Data Object Grid"]}),dataObjectGetLayoutById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/${e.id}/layout`,params:{layoutId:e.layoutId}}),providesTags:["Data Objects"]}),dataObjectPatchById:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects",method:"PATCH",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectPatchFolderById:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/folder/${e.id}`,method:"PATCH",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectFormatPath:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/format-path",method:"POST",body:e.body}),providesTags:["Data Objects"]}),dataObjectPreviewById:e.query({query:e=>({url:`/pimcore-studio/api/data-objects/preview/${e.id}`,params:{site:e.site}}),providesTags:["Data Objects"]}),dataObjectReplaceContent:e.mutation({query:e=>({url:`/pimcore-studio/api/data-objects/${e.sourceId}/replace/${e.targetId}`,method:"POST"}),invalidatesTags:["Data Objects"]}),dataObjectGetSelectOptions:e.mutation({query:e=>({url:"/pimcore-studio/api/data-objects/select-options",method:"POST",body:e.body}),invalidatesTags:["Data Objects"]}),dataObjectGetTree:e.query({query:e=>({url:"/pimcore-studio/api/data-objects/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants,className:e.className,classIds:e.classIds}}),providesTags:["Data Objects"]})}),overrideExisting:!1}),{useDataObjectAddMutation:n,useDataObjectBatchDeleteMutation:l,useDataObjectCloneMutation:a,useDataObjectGetByIdQuery:o,useDataObjectUpdateByIdMutation:s,useDataObjectGetGridPreviewQuery:d,useDataObjectDeleteGridConfigurationByConfigurationIdMutation:c,useDataObjectGetGridConfigurationQuery:u,useDataObjectListSavedGridConfigurationsQuery:p,useDataObjectRemoveGridConfigurationAsFavoriteMutation:m,useDataObjectSaveGridConfigurationMutation:g,useDataObjectSetGridConfigurationAsFavoriteMutation:h,useDataObjectUpdateGridConfigurationMutation:v,useDataObjectGetAvailableGridColumnsQuery:f,useDataObjectGetAvailableGridColumnsForRelationQuery:y,useDataObjectGetGridQuery:b,useDataObjectGetPhpcodeTransformersQuery:x,useDataObjectGetLayoutByIdQuery:j,useDataObjectPatchByIdMutation:w,useDataObjectPatchFolderByIdMutation:C,useDataObjectFormatPathQuery:S,useDataObjectPreviewByIdQuery:T,useDataObjectReplaceContentMutation:I,useDataObjectGetSelectOptionsMutation:k,useDataObjectGetTreeQuery:E}=r},22555(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"data-object-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["data-object-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},31866(e,t,i){"use strict";i.d(t,{L:()=>a,p:()=>l});var r=i(46881),n=i(47867);let l=e=>({markObjectDataAsModified:(t,i)=>{var r,n,l;let a;r=t,n=i.payload,l=e=>{var t;return(t=e).modified=!0,t.changes={...t.changes,objectData:!0},e},void 0!==(a=e.getSelectors().selectById(r,n))&&(r.entities[n]=l({...a}))}}),a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{markObjectDataAsModified:()=>{var r;null!=t&&null!=(r=t.changes)&&r.objectData||a(()=>{l(i(e))})}}}},93104(e,t,i){"use strict";i.d(t,{Yl:()=>o,ub:()=>d,xz:()=>u});var r=i(35864),n=i(276),l=i(44767),a=i(18196);let o=(e,t)=>[e,t].filter(Boolean).join("/"),s=[l.l.BLOCK],d=async e=>{let t,{objectId:i,layout:l,versionData:d,versionId:c,versionCount:u,objectDataRegistry:p,layoutsList:m,setLayoutsList:g}=e,h={fullPath:d.fullPath,creationDate:(0,n.r6)({timestamp:d.creationDate??null,dateStyle:"short",timeStyle:"medium"}),modificationDate:(0,n.r6)({timestamp:d.modificationDate??null,dateStyle:"short",timeStyle:"medium"})},v=async e=>{let{data:t,objectValuesData:n=null==d?void 0:d.objectData,fieldBreadcrumbTitle:l="",fieldPath:h=""}=e,f=t.map(async e=>{if("layout"===e.datatype){let t=o(l,e.title);return await v({data:e.children,fieldBreadcrumbTitle:t,objectValuesData:n,fieldPath:h})}if("data"===e.datatype){let t=e.name,d=(0,r.get)(n,t),f=e.fieldtype,y=(0,a.Po)(h)?t:`${h}.${t}`;if(!p.hasDynamicType(f))return[];let b=p.getDynamicType(f),x=await b.processVersionFieldData({objectId:i,item:e,fieldBreadcrumbTitle:l,fieldValueByName:d,versionId:c,versionCount:u,layoutsList:m,setLayoutsList:g,fieldPath:y}),j=null==x?void 0:x.map(async e=>{var t,i,a,d;if(n={},!(0,r.isEmpty)(null==e||null==(t=e.fieldData)?void 0:t.children)&&!s.includes(null==e||null==(i=e.fieldData)?void 0:i.fieldtype)){let t=o(l,(null==e||null==(a=e.fieldData)?void 0:a.title)??"");return await v({data:[null==e?void 0:e.fieldData],objectValuesData:{...n,[null==e||null==(d=e.fieldData)?void 0:d.name]:null==e?void 0:e.fieldValue},fieldBreadcrumbTitle:t,fieldPath:(null==e?void 0:e.fieldPath)??""})}return[e]});return(await Promise.all(j)).flatMap(e=>e)}return[]});return(await Promise.all(f)).flatMap(e=>e)},f=await v({data:l});return[...(t=[],Object.entries(h).forEach(e=>{let[i,r]=e;t.push({fieldBreadcrumbTitle:"systemData",fieldData:{title:i,name:i,fieldtype:"input"},fieldValue:r,versionId:c,versionCount:u,fieldPath:""})}),t),...f]},c=e=>{var t,i;let r=e.fieldBreadcrumbTitle??"",n=(null==(t=e.fieldData)?void 0:t.name)??"",l=(null==(i=e.fieldData)?void 0:i.locale)??"default";return`${r}-${n}-${l}`},u=e=>{let{data:t}=e,i=[],n=new Map((t[0]??[]).map(e=>[c(e),e])),a=t[1]??[],o=new Map(a.map(e=>[c(e),e])),s=!(0,r.isEmpty)(a);for(let e of new Set([...n.keys(),...o.keys()])){let t=n.get(e),a=o.get(e),c=!(0,r.isUndefined)(a),m={Field:{fieldBreadcrumbTitle:(null==t?void 0:t.fieldBreadcrumbTitle)??(null==a?void 0:a.fieldBreadcrumbTitle),...(null==t?void 0:t.fieldData)??(null==a?void 0:a.fieldData)}};if((0,r.isEmpty)(t)?c&&(m[`Version ${a.versionCount}`]=null):m[`Version ${t.versionCount}`]=t.fieldValue,c&&(m[`Version ${a.versionCount}`]=a.fieldValue??null),s&&!(0,r.isEqual)((null==t?void 0:t.fieldValue)??null,(null==a?void 0:a.fieldValue)??null)){var d,u,p;if(m.isModifiedValue=!0,(null==t||null==(d=t.fieldData)?void 0:d.fieldtype)===l.l.FIELD_COLLECTIONS){let e=null==t||null==(u=t.fieldValue)?void 0:u.length,i=null==a||null==(p=a.fieldValue)?void 0:p.length,n=i>e?a:t,l=e(null==e?void 0:e.type)===(null==t?void 0:t.type)&&(0,r.isEqual)(null==e?void 0:e.data,null==t?void 0:t.data)).map(e=>e.type)}}i.push(m)}return i}},66026(e,t,i){"use strict";i.d(t,{A:()=>v});var r=i(46881),n=i(54100),l=i(47867),a=i(40331),o=i(76359),s=i(95674),d=i(63364),c=i(10600),u=i(92634),p=i(31866),m=i(26280),g=i(50034),h=i(22555);let v=e=>{let t=(0,r.useAppSelector)(t=>(0,n.Sz)(t,e)),[i,v]=(0,l.useState)(!0),f=(0,d.Lt)(c.K["DataObject/Editor/TypeRegistry"]),y=(0,r.useAppSelector)(t=>(0,h.qD)(t,e));(0,l.useEffect)(()=>{void 0!==t||y?v(!1):v(!0)},[t]);let b=(0,o.L)(e,n.vD,n.$B),x=(0,a.I)(e,t,n.fS,n.ZD,n.zE,n.WZ),j=(0,s.z)(e,t,n.dr,n.NL,n.r0,n.f7,n.lq),w=(0,u.JX)(e,t,n.Ko),C=(0,p.L)(e,t,n.am),S=(0,m.cY)(e,n._5),T=(0,g.D)(e,n.T2,n.Up),I=(null==t?void 0:t.type)===void 0?void 0:f.get(t.type)??f.get("object");return{isLoading:i,isError:y,dataObject:t,editorType:I,...b,...x,...j,...w,...C,...S,...T}}},40721(e,t,i){"use strict";i.d(t,{H:()=>c});var r=i(41630),n=i(59385),l=i(74108),a=i(69187),o=i(54100),s=i(55638),d=i(46096);let c=()=>{let e=r.M_.dispatch,[t]=(0,a.ft)();return{openDataObject:async function(e){let{config:t}=e,{element:i}=(0,d.qH)();await i.openDataObject(t.id)},executeDataObjectTask:async(i,r,a)=>{let d=t({id:i,body:{data:{task:r}}});d.catch(e=>{(0,s.Ay)(new s.hD(e))});try{e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!0}));let t=await d;if(void 0!==t.error){e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!1})),(0,s.Ay)(new s.hD(t.error)),null==a||a();return}r===l.D.Unpublish&&e((0,o.Up)({id:i})),r===l.D.Publish&&e((0,o.T2)({id:i})),(r===l.D.Unpublish||r===l.D.Publish)&&e((0,n.setNodePublished)({nodeId:String(i),elementType:"data-object",isPublished:"publish"===r})),e((0,n.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"data-object",loading:!1})),null==a||a()}catch(e){(0,s.Ay)(new s.$g(e.message))}}}}},64724(e,t,i){"use strict";i.d(t,{n:()=>l});var r=i(47867),n=i(20713);let l=()=>{let{id:e}=(0,r.useContext)(n.Z);return{id:e}}},20761(e,t,i){"use strict";i.d(t,{G:()=>s});var r=i(47867),n=i(41630),l=i(55638),a=i(91434),o=i(35864);let s=()=>{let e=(0,r.useRef)(new Map),t=(e,t,i,r)=>`${e}_${t}_${i}_${r}`,i=(e,i,r,n)=>{let l={},a=[];return e.forEach(e=>{let o=t(i,r,e.type,e.id),s=n.get(o);void 0!==s?l[`${e.type}_${e.id}`]=s:a.push(e)}),{cachedItems:l,itemsToRequest:a}};return{formatPath:async function(r,s,d){var c;let u,p=arguments.length>3&&void 0!==arguments[3]&&arguments[3],m=e.current,{cachedItems:g,itemsToRequest:h}=i(r,d,s,m);if(p||0===h.length){let e;return{totalItems:(e=Object.entries(g).map(e=>{let[t,i]=e;return{objectReference:t,formatedPath:i}})).length,items:e}}let v=h.reduce((e,t)=>(e[`${t.type}_${t.id}`]={id:t.id,type:t.type,label:t.fullPath,path:t.fullPath,nicePathKey:`${t.type}_${t.id}`},e),{});if(0===Object.keys(v).length)return;let{data:f,error:y}=await n.M_.dispatch(a.FH.endpoints.dataObjectFormatPath.initiate({body:{objectId:d,targets:v,fieldName:s}}));return void 0===f?void(0,l.Ay)(new l.hD(y)):(null==(c=f.items)||c.forEach(e=>{let i=h.find(t=>`${t.type}_${t.id}`===String(e.objectReference));if(!(0,o.isNil)(i)){let r=t(d,s,i.type,i.id);m.set(r,String(e.formatedPath))}}),{totalItems:(u=[...Object.entries(g).map(e=>{let[t,i]=e;return{objectReference:t,formatedPath:i}}),...f.items??[]]).length,items:u})},hasUncachedItems:(t,r,n)=>{let{itemsToRequest:l}=i(t,n,r,e.current);return l.length>0}}}},85566(e,t,i){"use strict";i.d(t,{L:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"data-object")),setContext:function(t){e((0,n.My)({type:"data-object",config:t}))},removeContext:function(){e((0,n.$1)("data-object"))}}}},51289(e,t,i){"use strict";i.d(t,{R:()=>s});var r=i(21429),n=i(35864),l=i.n(n),a=i(2208),o=i(46881);let s=()=>{let{data:e}=(0,a.cJ)(),t=(0,o.useAppDispatch)(),{t:i}=(0,r.useTranslation)();return{getSelectOptions:t=>(null==e?void 0:e.items)===void 0?[]:e.items.filter(e=>void 0===t||null!==e.id&&t.includes(String(e.id))).map(e=>({label:null===e.abbreviation?e.id:i(String(e.abbreviation)),value:e.id})),convertValue:async(i,r,n)=>{if((null==e?void 0:e.items)===void 0)return null;let l=e.items.find(e=>e.id===i),o=e.items.find(e=>e.id===r);if(void 0===l||void 0===o||null===l.baseUnit||l.baseUnit!==o.baseUnit)return null;let{data:s}=await t(a.FH.endpoints.unitQuantityValueConvert.initiate({fromUnitId:i,toUnitId:r,value:n}));return(null==s?void 0:s.data)??null},getAbbreviation:t=>{if((null==e?void 0:e.items)===void 0)return"";let r=e.items.find(e=>e.id===t);return"string"!=typeof(null==r?void 0:r.abbreviation)||l().isEmpty(r.abbreviation)?t:i(r.abbreviation)}}}},68528(e,t,i){"use strict";i.d(t,{F1:()=>l,Y$:()=>n,vK:()=>a});var r,n=((r={}).Add="add",r.Remove="remove",r.Replace="replace",r);let l="supportsBatchAppendMode",a=(e,t)=>({action:t,data:e})},64688(e,t,i){"use strict";i.d(t,{C:()=>o,g:()=>s});var r=i(31635),n=i(62446),l=i(32234),a=i(66112);class o extends a.s{constructor(e,t,i){super(i),this.dataObjectId=e,this.saveTask=t,this.updateData=i}}class s extends l.k{}s=(0,r.Cg)([(0,n.injectable)()],s)},2208(e,t,i){"use strict";i.d(t,{FH:()=>r,cJ:()=>p,mj:()=>l});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Units"]}).injectEndpoints({endpoints:e=>({unitQuantityValueUnitsCollection:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units/collection",method:"POST",body:e.body}),providesTags:["Units"]}),unitQuantityValueConvertAll:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/convert-all",params:{fromUnitId:e.fromUnitId,value:e.value}}),providesTags:["Units"]}),unitQuantityValueConvert:e.query({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/convert",params:{fromUnitId:e.fromUnitId,toUnitId:e.toUnitId,value:e.value}}),providesTags:["Units"]}),unitQuantityValueUnitsCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units",method:"POST",body:e.createUnitParameters}),invalidatesTags:["Units"]}),unitQuantityValueUnitsUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/unit/quantity-value/units/${e.id}`,method:"PUT",body:e.updateUnitParameters}),invalidatesTags:["Units"]}),unitQuantityValueUnitsDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/unit/quantity-value/units/${e.id}`,method:"DELETE"}),invalidatesTags:["Units"]}),unitQuantityValueUnitsExport:e.query({query:()=>({url:"/pimcore-studio/api/unit/quantity-value/units/export"}),providesTags:["Units"]}),unitQuantityValueUnitsImport:e.mutation({query:e=>({url:"/pimcore-studio/api/unit/quantity-value/units/import",method:"POST",body:e.body}),invalidatesTags:["Units"]}),unitQuantityValueList:e.query({query:()=>({url:"/pimcore-studio/api/unit/quantity-value/unit-list"}),providesTags:["Units"]})}),overrideExisting:!1}),{useUnitQuantityValueUnitsCollectionQuery:n,useUnitQuantityValueConvertAllQuery:l,useUnitQuantityValueConvertQuery:a,useUnitQuantityValueUnitsCreateMutation:o,useUnitQuantityValueUnitsUpdateMutation:s,useUnitQuantityValueUnitsDeleteMutation:d,useUnitQuantityValueUnitsExportQuery:c,useUnitQuantityValueUnitsImportMutation:u,useUnitQuantityValueListQuery:p}=r},46766(e,t,i){"use strict";i.d(t,{$P:()=>m,BZ:()=>g,FH:()=>o,K4:()=>P,L0:()=>F,MO:()=>A,P5:()=>c,Pp:()=>b,Rc:()=>D,T9:()=>j,Tw:()=>s,Ui:()=>C,XE:()=>h,XS:()=>v,Xb:()=>S,em:()=>x,eq:()=>k,gJ:()=>T,hM:()=>p,ix:()=>E,nr:()=>d,pJ:()=>w,v2:()=>y,vA:()=>u,wS:()=>I,xt:()=>N,zO:()=>f});var r=i(53996),n=i(75023),l=i(53073),a=i(35864);let o=n.FH.enhanceEndpoints({addTagTypes:[r.nP.DOCUMENT,r.nP.DOCUMENT_TREE,r.nP.DOCUMENT_DETAIL,r.nP.DOCUMENT_TYPES,r.nP.DOCUMENT_SITE],endpoints:{documentClone:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_TREE_ID(i.parentId)},documentGetById:{providesTags:(e,t,i)=>r.yc.DOCUMENT_DETAIL_ID(i.id)},documentGetTree:{providesTags:(e,t,i)=>void 0!==i.parentId?r.yc.DOCUMENT_TREE_ID(i.parentId):r.yc.DOCUMENT_TREE()},documentDocTypeList:{providesTags:(e,t,i)=>r.yc.DOCUMENT_TYPES()},documentDocTypeDelete:{invalidatesTags:()=>[]},documentDocTypeUpdateById:{invalidatesTags:()=>[]},documentDocTypeAdd:{invalidatesTags:()=>[]},documentUpdateById:{invalidatesTags:(e,t,i)=>"autoSave"===i.body.data.task?[]:r.qN.DOCUMENT_DETAIL_ID(i.id)},documentAdd:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_TREE_ID(i.parentId)},documentGetSite:{providesTags:()=>[]},documentUpdateSite:{invalidatesTags:()=>r.qN.DOCUMENT_SITE()},documentDeleteSite:{invalidatesTags:()=>r.qN.DOCUMENT_SITE()},documentsListAvailableSites:{providesTags:()=>r.yc.DOCUMENT_SITE()},documentGetTranslations:{providesTags:(e,t,i)=>r.yc.DOCUMENT_DETAIL_ID(i.id)},documentAddTranslation:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_DETAIL_ID(i.id)},documentDeleteTranslation:{invalidatesTags:(e,t,i)=>r.qN.DOCUMENT_DETAIL_ID(i.id)}}}).injectEndpoints({endpoints:e=>({documentRenderletRender:e.query({queryFn:async(e,t,i,r)=>{let n=await r({url:`${(0,l.getPrefix)()}/documents/renderlet/render`,params:{id:e.id,type:e.type,controller:e.controller,parentDocumentId:e.parentDocumentId,template:e.template},responseHandler:async e=>await e.blob()});if(!(0,a.isNil)(n.error)){if(n.error.data instanceof Blob)try{let e=await n.error.data.text(),t=JSON.parse(e);return{error:{...n.error,data:t}}}catch{}return{error:n.error}}return{data:n.data}},providesTags:["Documents"]})}),overrideExisting:!0}),{useDocumentAddMutation:s,useDocumentCloneMutation:d,useDocumentGetByIdQuery:c,useDocumentUpdateByIdMutation:u,useDocumentGetTreeQuery:p,useDocumentAvailableTemplatesListQuery:m,useDocumentDocTypeListQuery:g,useDocumentDocTypeTypeListQuery:h,useDocumentAvailableControllersListQuery:v,useDocumentDocTypeAddMutation:f,useDocumentDocTypeUpdateByIdMutation:y,useDocumentDocTypeDeleteMutation:b,useDocumentPageSnippetChangeMainDocumentMutation:x,useDocumentPageSnippetAreaBlockRenderQuery:j,useLazyDocumentPageSnippetAreaBlockRenderQuery:w,useDocumentRenderletRenderQuery:C,useDocumentsListAvailableSitesQuery:S,useDocumentGetSiteQuery:T,useLazyDocumentGetSiteQuery:I,useDocumentUpdateSiteMutation:k,useDocumentDeleteSiteMutation:E,useDocumentGetTranslationsQuery:D,useLazyDocumentGetTranslationsQuery:N,useDocumentAddTranslationMutation:P,useDocumentDeleteTranslationMutation:A,useDocumentGetTranslationParentByLanguageQuery:F}=o},75023(e,t,i){"use strict";i.d(t,{BZ:()=>u,FH:()=>r,LS:()=>a,Pp:()=>d,Tw:()=>n,kj:()=>p,v2:()=>s,vA:()=>g,zO:()=>o});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Documents"]}).injectEndpoints({endpoints:e=>({documentAdd:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/add/${e.parentId}`,method:"POST",body:e.documentAddParameters}),invalidatesTags:["Documents"]}),documentClone:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/clone/${e.parentId}`,method:"POST",body:e.documentCloneParameters}),invalidatesTags:["Documents"]}),documentConvert:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/convert/${e.type}`,method:"POST"}),invalidatesTags:["Documents"]}),documentDocTypeAdd:e.mutation({query:e=>({url:"/pimcore-studio/api/documents/doc-types/add",method:"POST",body:e.docTypeAddParameters}),invalidatesTags:["Documents"]}),documentDocTypeUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/doc-types/${e.id}`,method:"PUT",body:e.docTypeUpdateParameters}),invalidatesTags:["Documents"]}),documentDocTypeDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/doc-types/${e.id}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentDocTypeTypeList:e.query({query:()=>({url:"/pimcore-studio/api/documents/doc-types/types"}),providesTags:["Documents"]}),documentDocTypeList:e.query({query:e=>({url:"/pimcore-studio/api/documents/doc-types",params:{type:e.type}}),providesTags:["Documents"]}),documentGetTypes:e.query({query:()=>({url:"/pimcore-studio/api/documents/types"}),providesTags:["Documents"]}),documentGetById:e.query({query:e=>({url:`/pimcore-studio/api/documents/${e.id}`}),providesTags:["Documents"]}),documentUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}`,method:"PUT",body:e.body}),invalidatesTags:["Documents"]}),documentPageCheckPrettyUrl:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page/check-pretty-url`,method:"POST",body:e.checkPrettyUrl}),invalidatesTags:["Documents"]}),documentPageStreamPreview:e.query({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page/stream/preview`}),providesTags:["Documents"]}),documentAvailableControllersList:e.query({query:()=>({url:"/pimcore-studio/api/documents/get-available-controllers"}),providesTags:["Documents"]}),documentAvailableTemplatesList:e.query({query:()=>({url:"/pimcore-studio/api/documents/get-available-templates"}),providesTags:["Documents"]}),documentPageSnippetChangeMainDocument:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.id}/page-snippet/change-main-document`,method:"PUT",body:e.changeMainDocument}),invalidatesTags:["Documents"]}),documentPageSnippetAreaBlockRender:e.query({query:e=>({url:`/pimcore-studio/api/documents/page-snippet/${e.id}/area-block/render`,method:"POST",body:e.body}),providesTags:["Documents"]}),documentRenderletRender:e.query({query:e=>({url:"/pimcore-studio/api/documents/renderlet/render",params:{id:e.id,type:e.type,controller:e.controller,parentDocumentId:e.parentDocumentId,template:e.template}}),providesTags:["Documents"]}),documentReplaceContent:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/${e.sourceId}/replace/${e.targetId}`,method:"POST"}),invalidatesTags:["Documents"]}),documentsListAvailableSites:e.query({query:e=>({url:"/pimcore-studio/api/documents/sites/list-available",params:{excludeMainSite:e.excludeMainSite}}),providesTags:["Documents"]}),documentUpdateSite:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/site/${e.id}`,method:"POST",body:e.updateSite}),invalidatesTags:["Documents"]}),documentDeleteSite:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/site/${e.id}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentGetSite:e.query({query:e=>({url:`/pimcore-studio/api/documents/site/${e.documentId}`}),providesTags:["Documents"]}),documentAddTranslation:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/add/${e.translationId}`,method:"POST"}),invalidatesTags:["Documents"]}),documentDeleteTranslation:e.mutation({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/delete/${e.translationId}`,method:"DELETE"}),invalidatesTags:["Documents"]}),documentGetTranslations:e.query({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}`}),providesTags:["Documents"]}),documentGetTranslationParentByLanguage:e.query({query:e=>({url:`/pimcore-studio/api/documents/translations/${e.id}/get-parent/${e.language}`}),providesTags:["Documents"]}),documentGetTree:e.query({query:e=>({url:"/pimcore-studio/api/documents/tree",params:{page:e.page,pageSize:e.pageSize,parentId:e.parentId,idSearchTerm:e.idSearchTerm,pqlQuery:e.pqlQuery,excludeFolders:e.excludeFolders,path:e.path,pathIncludeParent:e.pathIncludeParent,pathIncludeDescendants:e.pathIncludeDescendants}}),providesTags:["Documents"]})}),overrideExisting:!1}),{useDocumentAddMutation:n,useDocumentCloneMutation:l,useDocumentConvertMutation:a,useDocumentDocTypeAddMutation:o,useDocumentDocTypeUpdateByIdMutation:s,useDocumentDocTypeDeleteMutation:d,useDocumentDocTypeTypeListQuery:c,useDocumentDocTypeListQuery:u,useDocumentGetTypesQuery:p,useDocumentGetByIdQuery:m,useDocumentUpdateByIdMutation:g,useDocumentPageCheckPrettyUrlMutation:h,useDocumentPageStreamPreviewQuery:v,useDocumentAvailableControllersListQuery:f,useDocumentAvailableTemplatesListQuery:y,useDocumentPageSnippetChangeMainDocumentMutation:b,useDocumentPageSnippetAreaBlockRenderQuery:x,useDocumentRenderletRenderQuery:j,useDocumentReplaceContentMutation:w,useDocumentsListAvailableSitesQuery:C,useDocumentUpdateSiteMutation:S,useDocumentDeleteSiteMutation:T,useDocumentGetSiteQuery:I,useDocumentAddTranslationMutation:k,useDocumentDeleteTranslationMutation:E,useDocumentGetTranslationsQuery:D,useDocumentGetTranslationParentByLanguageQuery:N,useDocumentGetTreeQuery:P}=r},98247(e,t,i){"use strict";i.d(t,{Pf:()=>l,aP:()=>a,qD:()=>o});var r=i(46881);let n=(0,i(88605).createSlice)({name:"document-draft-error",initialState:{failedDraftIds:[]},reducers:{addFailedDraftId:(e,t)=>{e.failedDraftIds.includes(t.payload)||e.failedDraftIds.push(t.payload)},removeFailedDraftId:(e,t)=>{e.failedDraftIds=e.failedDraftIds.filter(e=>e!==t.payload)}}}),{addFailedDraftId:l,removeFailedDraftId:a}=n.actions,o=(e,t)=>e["document-draft-error"].failedDraftIds.includes(t);n.reducer,(0,r.injectSliceWithState)(n)},23898(e,t,i){"use strict";i.d(t,{i:()=>a,o:()=>l});var r=i(46881),n=i(47867);let l=e=>({markDocumentEditablesAsModified:(t,i)=>{var r,n,l;let a;r=t,n=i.payload,l=e=>{var t;return(t=e).modified=!0,t.changes={...t.changes,documentEditable:!0},e},void 0!==(a=e.getSelectors().selectById(r,n))&&(r.entities[n]=l({...a}))}}),a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{markDocumentEditablesAsModified:()=>{var r;null!=t&&null!=(r=t.changes)&&r.documentEditable||a(()=>{l(i(e))})}}}},65115(e,t,i){"use strict";i.d(t,{Q:()=>a,Y:()=>l});var r=i(46881),n=i(35864);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0===n?console.error(`Item with id ${i} not found`):t.entities[i]=r({...n})},i=e=>{e.modified=!0,e.changes={...e.changes,settingsData:!0}};return{setSettingsData:(e,r)=>{t(e,r.payload.id,e=>{let{settingsData:t}=r.payload;return(0,n.isUndefined)(t)||(e.settingsData={...t},i(e)),e})},updateSettingsData:(e,r)=>{t(e,r.payload.id,e=>{let{settingsData:t}=r.payload;return(0,n.isUndefined)(t)||(e.settingsData={...e.settingsData,...t},i(e)),e})}}},a=e=>{let{id:t,draft:i,setSettingsDataAction:n,updateSettingsDataAction:l}=e,a=(0,r.useAppDispatch)();return{settingsData:null==i?void 0:i.settingsData,setSettingsData:e=>{a(n({id:t,settingsData:e}))},updateSettingsData:e=>{a(l({id:t,settingsData:e}))}}}},15156(e,t,i){"use strict";i.d(t,{S:()=>f});var r=i(46881),n=i(29376),l=i(47867),a=i(40331),o=i(76359),s=i(95674),d=i(63364),c=i(10600),u=i(92634),p=i(50034),m=i(98247),g=i(23898),h=i(26280),v=i(65115);let f=e=>{let t=(0,r.useAppSelector)(t=>(0,n.ei)(t,e)),[i,f]=(0,l.useState)(!0),y=(0,d.Lt)(c.K["Document/Editor/TypeRegistry"]),b=(0,r.useAppSelector)(t=>(0,m.qD)(t,e));(0,l.useEffect)(()=>{void 0!==t||b?f(!1):f(!0)},[t]);let x=(0,o.L)(e,n.vD,n.$B),j=(0,a.I)(e,t,n.vb,n.HL,n.hw,n.Kk),w=(0,s.z)(e,t,n.Vu,n.B8,n.x,n.VN,n.zE),C=(0,u.JX)(e,t,n.K5),S=(0,h.cY)(e,n._5),T=(0,p.D)(e,n.T2,n.Up),I=(0,g.i)(e,t,n.D3),k=(0,v.Q)({id:e,draft:t,setSettingsDataAction:n.C4,updateSettingsDataAction:n.lY}),E=(null==t?void 0:t.type)===void 0?void 0:y.get(t.type)??y.get("document");return{isLoading:i,isError:b,document:t,editorType:E,...x,...j,...w,...C,...I,...S,...T,...k}}},75091(e,t,i){"use strict";i.d(t,{$:()=>d});var r=i(41630),n=i(55638),l=i(59385),a=i(29376);i(58042);var o=i(75023),s=i(46096);let d=()=>{let e=r.M_.dispatch,[t]=(0,o.vA)();return{openDocument:async function(e){let{config:t}=e,{element:i}=(0,s.qH)();await i.openDocument(t.id)},executeDocumentTask:async(i,r,o)=>{let s=t({id:i,body:{data:{task:r}}});s.catch(e=>{(0,n.Ay)(new n.hD(e))});try{e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!0}));let t=await s;if(void 0!==t.error){e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!1})),(0,n.Ay)(new n.hD(t.error)),null==o||o();return}"unpublish"===r&&e((0,a.Up)({id:i})),"publish"===r&&e((0,a.T2)({id:i})),("unpublish"===r||"publish"===r)&&e((0,l.setNodePublished)({nodeId:String(i),elementType:"document",isPublished:"publish"===r})),e((0,l.setNodeLoadingInAllTree)({nodeId:String(i),elementType:"document",loading:!1})),null==o||o()}catch(e){(0,n.Ay)(new n.$g(e.message))}}}}},79246(e,t,i){"use strict";i.d(t,{v:()=>l});var r=i(46881),n=i(84210);let l=()=>{let e=(0,r.useAppDispatch)();return{context:(0,r.useAppSelector)(e=>(0,n.xo)(e,"document")),setContext:function(t){e((0,n.My)({type:"document",config:t}))},removeContext:function(){e((0,n.$1)("document"))}}}},90583(e,t,i){"use strict";i.d(t,{u:()=>n});var r=i(46766);let n=e=>{let{data:t}=(0,r.Xb)({excludeMainSite:(null==e?void 0:e.excludeMainSite)??!1}),i=e=>{var i;return(null==t||null==(i=t.items)?void 0:i.filter(t=>e.includes(t.id)))??[]};return{getSiteById:e=>{var i;return null==t||null==(i=t.items)?void 0:i.find(t=>t.id===e)},getAllSites:()=>(null==t?void 0:t.items)??[],getSitesByIds:i,getRemainingSites:(e,r)=>{let n=void 0!==r&&r.length>0?i(r):null==t?void 0:t.items;return(null==n?void 0:n.filter(t=>!e.includes(t.id)))??[]}}}},13366(e,t,i){"use strict";i.d(t,{U:()=>d});var r=i(31635),n=i(62446),l=i(10600),a=i(46096),o=i(35864),s=i(38921);class d{validateRequiredFields(e){try{let{document:i}=(0,a.qH)();if(!i.isIframeAvailable(e))return{isValid:!0,requiredFields:[]};let r=i.getIframeApi(e),n=i.getIframeDocument(e),l=r.documentEditable.getEditableDefinitions(),d=[];for(let e of l)(0,s.k8)(e.name,n);for(let e of l){var t;let i=this.documentEditableRegistry.getDynamicType(e.type);if((0,o.isNil)(i)||!i.hasRequiredConfig(e))continue;let l=null==(t=r.documentEditable.getValue(e.name))?void 0:t.data;if(!i.validateRequired(l,e)){let t=(0,o.isEmpty)(e.name)?e.realName:e.name;d.push(t),(0,s.sZ)(e.name,n)}}return{isValid:0===d.length,requiredFields:d}}catch(t){return console.warn(`Error validating required fields for document ${e}:`,t),{isValid:!0,requiredFields:[]}}}constructor(e){this.documentEditableRegistry=e}}d=(0,r.Cg)([(0,n.injectable)(),(0,r.Qj)(0,(0,n.inject)(l.K["DynamicTypes/DocumentEditableRegistry"])),(0,r.Sn)("design:type",Function),(0,r.Sn)("design:paramtypes",["u"y,D7:()=>f,Gy:()=>b});var r,n=i(41630),l=i(75023),a=i(29376),o=i(59385),s=i(46096),d=i(79472),c=i(35864),u=i(63364),p=i(10600),m=i(26962),g=i(68622),h=i(60124),v=i(3416),f=((r={}).Version="version",r.AutoSave="autoSave",r.Publish="publish",r.Save="save",r.Unpublish="unpublish",r);class y{static getInstance(e){return this.instances.has(e)||this.instances.set(e,new y(e)),this.instances.get(e)}static cleanup(e){this.instances.delete(e)}onRunningTaskChange(e){return this.taskCallbacks.add(e),()=>this.taskCallbacks.delete(e)}onErrorChange(e){return this.errorCallbacks.add(e),()=>this.errorCallbacks.delete(e)}getRunningTask(){return this.runningTask}async executeSave(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if("autoSave"===e){let e=n.M_.getState(),t=(0,a.ei)(e,this.documentId);if(!(0,d.o)(null==t?void 0:t.permissions,"save"))return}if(null!=this.runningTask){if("autoSave"===e||"autoSave"!==this.runningTask)return;this.queuedTask={task:e,onFinish:t};return}await this.performSave(e,t,i)}async performSave(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];u.kL.get(p.K.debouncedFormRegistry).flushByTag((0,m.n)(this.documentId)),this.setRunningTask(e);try{let l=await this.saveDocument(e,i);if(l.success){var r;n.M_.dispatch((0,a._5)({id:this.documentId,draftData:(null==(r=l.data)?void 0:r.draftData)??null})),"publish"===e&&n.M_.dispatch((0,o.setNodePublished)({nodeId:String(this.documentId),elementType:"document",isPublished:!0}));let i={identifier:{type:v.m["document:editor:post-update"],id:String(this.documentId)},payload:{id:this.documentId,task:e,updatedData:l.data,responseData:l.data}};h.B.publish(i),null==t||t()}else throw l.error}catch(t){throw console.error(`Save failed for document ${this.documentId}:`,t),this.errorCallbacks.forEach(i=>{i(t,e)}),t}finally{this.setRunningTask(void 0),await this.executeQueuedTask()}}async executeQueuedTask(){if(!(0,c.isUndefined)(this.queuedTask)){let{task:e,onFinish:t}=this.queuedTask;this.queuedTask=void 0,await this.performSave(e,t)}}setRunningTask(e){this.runningTask=e,this.taskCallbacks.forEach(t=>{t(e)})}getEditableData(){try{let{document:e}=(0,s.qH)();if(!e.isIframeAvailable(this.documentId))return{};let t=e.getIframeApi(this.documentId),i=t.documentEditable.getValues(!0);return Object.fromEntries(Object.entries(i).filter(e=>{let[i]=e;return!t.documentEditable.getInheritanceState(i)}))}catch(e){return console.warn(`Could not get editable data for document ${this.documentId}:`,e),{}}}buildUpdateData(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"autoSave",l=!(arguments.length>1)||void 0===arguments[1]||arguments[1],o=n.M_.getState(),s=(0,a.ei)(o,this.documentId);if((0,c.isNil)(s))throw Error(`Document ${this.documentId} not found in state`);let d={};if(null==(e=s.changes)?void 0:e.properties){let e=null==(i=s.properties)?void 0:i.map(e=>{let{rowId:t,...i}=e;if("object"==typeof i.data){var r;return{...i,data:(null==i||null==(r=i.data)?void 0:r.id)??null}}return i});d.properties=null==e?void 0:e.filter(e=>!e.inherited)}(0,c.isNil)(null==(t=s.changes)?void 0:t.settingsData)||(0,c.isNil)(s.settingsData)||(d.settingsData=s.settingsData);let m=this.getEditableData();Object.keys(m).length>0&&(d.editableData=m),d.task=r,d.useDraftData=l;let h=u.kL.get(p.K["Document/ProcessorRegistry/SaveDataProcessor"]),v=new g.S(this.documentId,r,d);return h.executeProcessors(v),v.updateData}async saveDocument(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"autoSave",t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=this.buildUpdateData(e,t),r=await n.M_.dispatch(l.FH.endpoints.documentUpdateById.initiate({id:this.documentId,body:{data:i}}));return(0,c.isNil)(r.error)?{success:!0,data:r.data}:(console.error(`Failed to save document ${this.documentId}:`,r.error),{success:!1,error:r.error})}constructor(e){this.documentId=e,this.taskCallbacks=new Set,this.errorCallbacks=new Set}}y.instances=new Map;let b=new class{async saveDocument(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"autoSave",i=y.getInstance(e);await i.executeSave(t)}};i(13366)},68622(e,t,i){"use strict";i.d(t,{S:()=>o,c:()=>s});var r=i(31635),n=i(62446),l=i(32234),a=i(66112);class o extends a.s{constructor(e,t,i){super(i),this.documentId=e,this.saveTask=t,this.updateData=i}}class s extends l.k{}s=(0,r.Cg)([(0,n.injectable)()],s)},26962(e,t,i){"use strict";i.d(t,{n:()=>r});let r=e=>`document-${e}`},42669(e,t,i){"use strict";i.d(t,{n:()=>o});var r=i(68153),n=i(79472),l=i(63993),a=i(17388);let o=e=>{let{getStoredNode:t,getNodeTask:i}=(0,l.x)(e),{isTreeActionAllowed:o}=(0,a.H)();return{isPasteHidden:(l,a)=>{let s=t(),d=i();return!(o(r.o.Paste)&&void 0!==s&&void 0!==d&&(void 0===l||(0,n.o)(l.permissions,"create")))||void 0!==a&&d!==a||"asset"===e&&(null==l?void 0:l.type)!=="folder"||"cut"===d&&void 0!==l&&String(l.id)===String(s.id)}}}},63155(e,t,i){"use strict";i.d(t,{I:()=>l});var r=i(47867),n=i(64165);let l=()=>{let e=(0,r.useContext)(n.u);if(void 0===e)throw Error("useTypeSelect must be used within a TypeSelectProvider");return e}},26280(e,t,i){"use strict";i.d(t,{Yu:()=>o,cY:()=>s,u0:()=>a});var r=i(46881),n=i(47867),l=i(35864);let a="isAutoSaveDraftCreated",o=e=>({setDraftData:(t,i)=>{var r,n,o;let s;r=t,n=i.payload.id,o=e=>{var t;return(0,l.isNil)(e.draftData)&&(null==(t=i.payload.draftData)?void 0:t.isAutoSave)===!0&&(e.changes={...e.changes,[a]:!0}),e.draftData=i.payload.draftData,e},void 0!==(s=e.getSelectors().selectById(r,n))&&(r.entities[n]=o({...s}))}}),s=(e,t)=>{let i=(0,r.useAppDispatch)(),[,l]=(0,n.useTransition)();return{setDraftData:r=>{l(()=>{i(t({id:e,draftData:r}))})}}}},40331(e,t,i){"use strict";i.d(t,{I:()=>a,u:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,properties:!0}};return{addProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=[...e.properties??[],r.payload.property],i(e),e))},removeProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=(e.properties??[]).filter(e=>e.key!==r.payload.property.key),i(e),e))},updateProperty:(e,r)=>{t(e,r.payload.id,e=>(e.properties=(e.properties??[]).map((t,n)=>t.key===r.payload.key&&t.inherited===r.payload.property.inherited?(i(e),r.payload.property):t),e))},setProperties:(e,i)=>{t(e,i.payload.id,e=>(e.properties=i.payload.properties,e))}}},a=(e,t,i,n,l,a)=>{let o=(0,r.useAppDispatch)();return{properties:null==t?void 0:t.properties,updateProperty:(t,r)=>{o(i({id:e,key:t,property:r}))},addProperty:t=>{o(n({id:e,property:t}))},removeProperty:t=>{o(l({id:e,property:t}))},setProperties:t=>{o(a({id:e,properties:t}))}}}},50034(e,t,i){"use strict";i.d(t,{D:()=>a,b:()=>l});var r=i(46881),n=i(47867);let l=e=>{let t=(t,i,r)=>{let n=e.getSelectors().selectById(t,i);void 0!==n&&(t.entities[i]=r({...n}))};return{publishDraft:(e,i)=>{t(e,i.payload.id,e=>(e.published=!0,e))},unpublishDraft:(e,i)=>{t(e,i.payload.id,e=>(e.published=!1,e))}}},a=(e,t,i)=>{let l=(0,r.useAppDispatch)(),[,a]=(0,n.useTransition)();return{publishDraft:()=>{a(()=>{l(t({id:e}))})},unpublishDraft:()=>{a(()=>{l(i({id:e}))})}}}},95674(e,t,i){"use strict";i.d(t,{H:()=>l,z:()=>a});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})},i=e=>{e.modified=!0,e.changes={...e.changes,schedules:!0}};return{addSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=[...e.schedules??[],r.payload.schedule],i(e),e))},removeSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=(e.schedules??[]).filter(e=>e.id!==r.payload.schedule.id),i(e),e))},updateSchedule:(e,r)=>{t(e,r.payload.id,e=>(e.schedules=(e.schedules??[]).map((t,n)=>t.id===r.payload.schedule.id?(i(e),r.payload.schedule):t),e))},setSchedules:(e,i)=>{t(e,i.payload.id,e=>(e.schedules=i.payload.schedules,e))},resetSchedulesChanges:(e,i)=>{t(e,i.payload,e=>{if(void 0===e.changes.schedules)return e;let{schedules:t,...i}=e.changes;return e.changes=i,e.modified=Object.keys(e.changes).length>0,e})}}},a=(e,t,i,n,l,a,o)=>{let s=(0,r.useAppDispatch)();return{schedules:null==t?void 0:t.schedules,updateSchedule:t=>{s(i({id:e,schedule:t}))},addSchedule:t=>{s(n({id:e,schedule:t}))},removeSchedule:t=>{s(l({id:e,schedule:t}))},setSchedules:t=>{s(a({id:e,schedules:t}))},resetSchedulesChanges:()=>{s(o(e))}}}},92634(e,t,i){"use strict";i.d(t,{JX:()=>a,Ne:()=>l,nd:()=>n});var r=i(46881);let n={activeTab:null},l=e=>({setActiveTab:(t,i)=>{var r,n,l;let a,{id:o,activeTab:s}=i.payload;r=t,n=o,l=e=>(e.activeTab=s,e),void 0===(a=e.getSelectors().selectById(r,n))?console.error(`Item with id ${n} not found`):r.entities[n]=l({...a})}}),a=(e,t,i)=>{let n=(0,r.useAppDispatch)();return{...t,setActiveTab:t=>n(i({id:e,activeTab:t}))}}},76359(e,t,i){"use strict";i.d(t,{L:()=>a,P:()=>l});var r=i(46881),n=i(55638);let l=e=>{let t=(t,i,r)=>{let l=e.getSelectors().selectById(t,i);void 0===l?(0,n.Ay)(new n.$g(`Item with id ${i} not found`)):t.entities[i]=r({...l})};return{resetChanges:(e,i)=>{t(e,i.payload,e=>(e.changes={},e.modifiedCells={},e.modified=!1,e))},setModifiedCells:(e,i)=>{t(e,i.payload.id,e=>(e.modifiedCells={...e.modifiedCells,[i.payload.type]:i.payload.modifiedCells},e))}}},a=(e,t,i)=>{let n=(0,r.useAppDispatch)();return{removeTrackedChanges:()=>{n(t(e))},setModifiedCells:(t,r)=>{n(i({id:e,type:t,modifiedCells:r}))}}}},34992(e,t,i){"use strict";function r(e,t,i){if(e[i]=t,void 0!==e.fullPath){let i=e.fullPath.split("/");i[i.length-1]=t,e.fullPath=i.join("/")}if(void 0!==e.path){let i=e.path.split("/");i[i.length-1]=t,e.path=i.join("/")}}i.d(t,{$:()=>r})},57697(e,t,i){"use strict";i.d(t,{f:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getComponent(e,t){return this.getDynamicType(e).getBatchEditComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},67574(e,t,i){"use strict";i.d(t,{I:()=>n});var r=i(22414);class n extends r.H{getEditableType(){return"areablock"}getElementSelector(){return`.pimcore_area_entry[data-name="${this.editableName}"]`}getElementType(e){return e.getAttribute("type")}setElementType(e,t){e.setAttribute("type",t)}getAreablockValue(){return this.ensureAllElementKeys().map(e=>({key:this.getElementKey(e)??"",type:this.getElementType(e)??"",hidden:this.isElementHidden(e)}))}isElementHidden(e){return"true"===e.getAttribute("data-hidden")}setElementHidden(e,t){t?e.setAttribute("data-hidden","true"):e.removeAttribute("data-hidden")}toggleElementHidden(e){let t=this.isElementHidden(e);return this.setElementHidden(e,!t),!t}applyStylestoAreaEntries(e){this.queryElements().forEach(t=>{t.classList.add(e)})}}},97844(e,t,i){"use strict";i.d(t,{So:()=>s,ZV:()=>n,th:()=>o,uk:()=>a,w9:()=>l});var r=i(35864);let n="Available Areas",l="Uncategorized";function a(e){let t=e.filter(e=>"areablock"===e.type);if(0===t.length)return{};let i={},a=(e,t,n)=>{(0,r.isNil)(i[e])&&(i[e]=[]),t.forEach(t=>{i[e].push({areablockName:n.name,type:t.type,name:t.name,description:t.description,icon:t.icon})})},o=t.some(e=>{let t=s.getGroupedAreaTypes(e.config);return!(0,r.isArray)(t)});return t.forEach(e=>{let t=s.getGroupedAreaTypes(e.config);(0,r.isArray)(t)?a(o?l:n,t,e):Object.entries(t).forEach(t=>{let[i,r]=t;a(i,r,e)})}),i}let o={filterEditableNames(e,t,i){let r=`${t}:${i}.`;return e.filter(e=>e.startsWith(r))},elementsToAreablockValue:e=>e.map(e=>{let t=e.getAttribute("key")??"";return{key:t,type:e.getAttribute("type")??"",hidden:"true"===e.getAttribute("data-hidden")}}),swapElements(e,t,i){let r=[...e],n=r[t];return r[t]=r[i],r[i]=n,r}},s={getEffectiveLimit:e=>(null==e?void 0:e.limit)??1e6,isReloadMode:e=>!!(null==e?void 0:e.reload),isLimitReached:(e,t)=>!((0,r.isNil)(t)||(0,r.isUndefined)(t))&&e>=t,canMoveUp:e=>e>0,canMoveDown:(e,t)=>e(null==e?void 0:e.types)??[],isTypeAllowed:(e,t)=>!!(0,r.isNil)(null==e?void 0:e.allowed)||0===e.allowed.length||e.allowed.includes(t),getGroupedAreaTypes(e){let t=(null==e?void 0:e.types)??[],i=null==e?void 0:e.group;if((0,r.isNil)(i)||0===Object.keys(i).length)return t;let n={};return Object.entries(i).forEach(e=>{let[i,l]=e,a=[...new Set(l)].map(e=>t.find(t=>t.type===e)).filter(e=>!(0,r.isNil)(e));a.length>0&&(n[i]=a)}),n}}},96524(e,t,i){"use strict";i.d(t,{M:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{notifyDocumentReady(e,t){this.getDynamicTypes().forEach(i=>{i.onDocumentReady(e,t)})}}a=(0,r.Cg)([(0,n.injectable)()],a)},54719(e,t,i){"use strict";i.d(t,{P:()=>l});var r=i(44241),n=i(83678);let l=(0,r.createStyles)(e=>{let{token:t}=e;return{dropzone:{height:n.lk.HEIGHT,borderRadius:t.borderRadius,backgroundColor:t.colorPrimary,opacity:0,'&[data-pimcore-drag-state="dragging"]':{opacity:.1},'&[data-pimcore-drag-state="active"]':{opacity:.6}},dropzoneDragActive:{opacity:.1},dropzoneHover:{opacity:.6},dropzoneRejected:{opacity:.6,backgroundColor:t.colorError},dragActive:{opacity:"0.3 !important",backgroundColor:`${t.colorPrimaryBg} !important`,"& [data-pimcore-editable-dropzone]":{visibility:"hidden"}}}})},83678(e,t,i){"use strict";i.d(t,{Le:()=>n,Sh:()=>l,Ze:()=>a,lA:()=>r,lk:()=>o});let r={DROPZONE:"pimcore-editable-dropzone",DROPZONE_CONTAINER:"pimcore-editable-dropzone-container"},n={DROPZONE:`.${r.DROPZONE}`,DROPZONE_CONTAINER:`.${r.DROPZONE_CONTAINER}`},l={DATA_NAME:"data-name",DATA_EDITABLE_DROPZONE:"data-pimcore-editable-dropzone",DATA_DROPZONE_ID:"data-pimcore-dropzone-id",DATA_DROPZONE_INDEX:"data-pimcore-dropzone-index",DATA_DRAG_STATE:"data-pimcore-drag-state",DATA_FIRST_DROPZONE:"data-pimcore-first-dropzone"},a={ACTIVE:"active",DRAGGING:"dragging"},o={ID_PREFIX:"pimcore-dropzone-",HEIGHT:"16px"}},36249(e,t,i){"use strict";i.d(t,{D_:()=>o,Ne:()=>c,T5:()=>l,h5:()=>a,qR:()=>s,z_:()=>d});var r=i(35864),n=i(83678);let l=(e,t)=>{let i=document.createElement("div");return i.className=n.lA.DROPZONE_CONTAINER,i.setAttribute(n.Sh.DATA_EDITABLE_DROPZONE,e??""),!0===t&&i.setAttribute(n.Sh.DATA_FIRST_DROPZONE,"true"),i.style.height=n.lk.HEIGHT,i},a=(e,t)=>{document.querySelectorAll(n.Le.DROPZONE_CONTAINER).forEach(i=>{let l=i.getAttribute(n.Sh.DATA_EDITABLE_DROPZONE);t?l===e?i.style.visibility="":!(0,r.isNull)(l)&&!(0,r.isNull)(e)&&l.startsWith(e+":")&&(i.style.visibility="hidden"):i.style.visibility=""})},o=(e,t,i)=>{(0,r.isNull)(e)||e.querySelectorAll(n.Le.DROPZONE).forEach(e=>{let r=e.getAttribute(n.Sh.DATA_DROPZONE_ID);i?r===t?e.setAttribute(n.Sh.DATA_DRAG_STATE,n.Ze.ACTIVE):e.setAttribute(n.Sh.DATA_DRAG_STATE,n.Ze.DRAGGING):e.removeAttribute(n.Sh.DATA_DRAG_STATE)})},s=(e,t)=>{(0,r.isNull)(e)||e.querySelectorAll(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`).forEach(e=>{e.remove()})},d=(e,t)=>{var i;let a;if(0===e.length){let e=document.querySelector(`[data-name="${t}"]`);if(!(0,r.isNil)(e)&&(0,r.isNil)(e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`))){let i=l(t);e.appendChild(i)}return}let o=e[0];if((null==(a=o.previousElementSibling)?void 0:a.getAttribute(n.Sh.DATA_EDITABLE_DROPZONE))!==t){let e=l(t,!0);null==(i=o.parentNode)||i.insertBefore(e,o)}e.forEach(e=>{if(null===e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"]`)){let i=l(t);e.appendChild(i)}})},c=(e,t)=>{if((0,r.isNull)(e)||(0,r.isNull)(t))return;let i=e.querySelector(`[${n.Sh.DATA_EDITABLE_DROPZONE}="${t}"][${n.Sh.DATA_FIRST_DROPZONE}="true"]`);null!==i&&i.remove()}},80399(e,t,i){"use strict";i.d(t,{Z:()=>l});var r=i(47867),n=i(11587);let l=()=>{let e=(0,r.useRef)(null),t=(0,r.useRef)(null),i=(0,r.useRef)(null),l=(0,r.useRef)(void 0),a=(0,r.useRef)(!1),o=(0,r.useRef)(!0),s=e=>({width:Math.max(e.width,n.Yh),height:Math.max(e.height,n.fw)});return{getSmartDimensions:(0,r.useCallback)(r=>{if(l.current!==r&&(l.current=r,i.current=null),void 0===r)return o.current||(o.current=!0),a.current?t.current:null;if(null!==i.current)return i.current;let n=a.current||o.current?o.current?t.current:e.current:null;return a.current=!0,o.current=!1,i.current=n,n},[]),handlePreviewResize:i=>{let r=s(i);e.current=r,t.current=r},handleAssetTargetResize:e=>{let i=s(e);o.current&&(t.current=i)}}}},11587(e,t,i){"use strict";i.d(t,{Yh:()=>n,fw:()=>l,ui:()=>a,vX:()=>o});var r=i(35864);let n=150,l=100,a=100,o=(e,t)=>e?{width:void 0,height:void 0}:{width:(0,r.isNil)(null==t?void 0:t.width)?n:Math.max(t.width,n),height:(0,r.isNil)(null==t?void 0:t.height)?l:Math.max(t.height,l)}},22414(e,t,i){"use strict";i.d(t,{H:()=>n});var r=i(35864);class n{findContainer(e){return(0,r.isNil)(null==e?void 0:e.current)?document.querySelector(`[data-name="${this.editableName}"][data-type="${this.getEditableType()}"]`):e.current}getContainer(){return this.container}getEditableName(){return this.editableName}getRealEditableName(){var e;return(null==(e=this.container)?void 0:e.getAttribute("data-real-name"))??this.editableName}queryElements(){return(0,r.isNil)(this.container)?[]:Array.from(this.container.querySelectorAll(this.getElementSelector()))}findElementIndex(e){return this.queryElements().indexOf(e)}findElementByKey(e){return this.queryElements().find(t=>this.getElementKey(t)===e)??null}getElementKey(e){return e.getAttribute("key")}setElementKey(e,t){e.setAttribute("key",t)}parseElementKey(e){return parseInt(this.getElementKey(e)??"0",10)}calculateNextKey(){let e=this.queryElements();if(0===e.length)return 1;let t=0;for(let i of e){let e=this.parseElementKey(i);e>t&&(t=e)}return t+1}ensureAllElementKeys(){let e=this.queryElements();return e.forEach(e=>{let t=this.getElementKey(e);((0,r.isNil)(t)||""===t)&&this.setElementKey(e,this.calculateNextKey().toString())}),e}constructor(e,t){this.editableName=e,this.container=this.findContainer(t)}}},2586(e,t,i){"use strict";i.d(t,{i:()=>a});var r=i(63364),n=i(10600),l=i(35864);let a=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"JPEG";return o({...e,assetType:t,defaultMimeType:i})},o=e=>{let{assetId:t,width:i,height:a,containerWidth:o,thumbnailSettings:s,thumbnailConfig:d,assetType:c,defaultMimeType:u="JPEG"}=e,p=r.kL.get(n.K["Asset/ThumbnailService"]);if((0,l.isString)(d))return p.getThumbnailUrl({assetId:t,assetType:c,thumbnailName:d,...s});if((0,l.isObject)(d)){let e={assetId:t,assetType:c,dynamicConfig:d,...s};return p.getThumbnailUrl(e)}if((0,l.isNil)(i)&&(0,l.isNil)(a)&&o<=0)return;let{thumbnailWidth:m,thumbnailHeight:g,resizeMode:h}=(e=>{let{width:t,height:i,containerWidth:r}=e;return void 0===t&&void 0===i?{thumbnailWidth:r,resizeMode:"scaleByWidth"}:void 0!==t?{thumbnailWidth:"string"==typeof t?parseInt(t):t,resizeMode:"scaleByWidth"}:void 0!==i?{thumbnailHeight:"string"==typeof i?parseInt(i):i,resizeMode:"scaleByHeight"}:{resizeMode:"none"}})({width:i,height:a,containerWidth:o});if(void 0===m&&void 0===g)return;let v={frame:!1,resizeMode:h,mimeType:u,...s};return void 0!==m?p.getThumbnailUrl({assetId:t,assetType:c,width:m,height:g,...v}):void 0!==g?p.getThumbnailUrl({assetId:t,assetType:c,width:0,height:g,...v}):void 0}},40701(e,t,i){"use strict";i.d(t,{b:()=>r});let r=e=>Object.fromEntries(e.map(e=>[e.name,{type:e.type,data:e.data??null}]))},78785(e,t,i){"use strict";i.d(t,{r:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getComponent(e,t){return this.getDynamicType(e).getFieldFilterComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},97536(e,t,i){"use strict";i.d(t,{H:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getGridCellComponent(e,t){return this.getDynamicType(e).getGridCellComponent(t)}}a=(0,r.Cg)([(0,n.injectable)()],a)},61379(e,t,i){"use strict";i.d(t,{a:()=>o});var r=i(31635),n=i(63364),l=i(10600),a=i(62446);class o{getGridCellComponent(e){return n.kL.get(l.K["DynamicTypes/GridCellRegistry"]).getGridCellComponent(this.dynamicTypeGridCellType.id,e)}getFieldFilterComponent(e){return n.kL.get(l.K["DynamicTypes/FieldFilterRegistry"]).getComponent(this.dynamicTypeFieldFilterType.id,e)}}o=(0,r.Cg)([(0,a.injectable)()],o)},40810(e,t,i){"use strict";i.d(t,{f:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},7402(e,t,i){"use strict";i.d(t,{J:()=>o});var r=i(31635),n=i(63364),l=i(10600),a=i(62446);class o{getGridCellComponent(e){return n.kL.get(l.K["DynamicTypes/GridCellRegistry"]).getGridCellComponent(this.dynamicTypeGridCellType.id,e)}getFieldFilterComponent(e){return n.kL.get(l.K["DynamicTypes/FieldFilterRegistry"]).getComponent(this.dynamicTypeFieldFilterType.id,e)}constructor(){this.iconName=void 0}}o=(0,r.Cg)([(0,a.injectable)()],o)},20103(e,t,i){"use strict";i.d(t,{i:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{getTypeSelectionTypes(){let e=new Map;return this.dynamicTypes.forEach((t,i)=>{t.visibleInTypeSelection&&e.set(i,t)}),e}}a=(0,r.Cg)([(0,n.injectable)()],a)},49546(e,t,i){"use strict";i.d(t,{B:()=>n.A,H:()=>r.A});var r=i(61908),n=i(73994)},73994(e,t,i){"use strict";i.d(t,{A:()=>l});var r=i(47867),n=i(61908);let l=()=>{let e=(0,r.useContext)(n.F);if(void 0===e)throw Error("useClassificationStore must be used within a ClassificationStoreProvider");return{isOpenModal:e.isOpen,openModal:e.open,closeModal:e.close,setSearchValue:e.setSearchValue,getSearchValue:e.getSearchValue,currentLayoutData:e.currentLayoutData,updateCurrentLayoutData:e.setCurrentLayoutData}}},96511(e,t,i){"use strict";i.d(t,{X:()=>n});var r,n=((r={}).Collection="collection",r.Group="group",r.GroupByKey="group-by-key",r)},44475(e,t,i){"use strict";i.d(t,{_:()=>v});var r=i(47867),n=i(21429),l=i(29740),a=i(7814),o=i(35864),s=i(56789),d=i(31091),c=i(86608),u=i(46096),p=i(81624);let m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,c.q)();return{openModal:(0,r.useCallback)(i=>{if((0,p.GZ)()&&(0,u.BB)()){let{element:t}=(0,u.qH)();t.openLinkModal({value:i,options:e});return}t.openModal(i,e)},[t,e]),closeModal:(0,r.useCallback)(()=>{t.closeModal()},[t]),isOpen:t.isOpen}};var g=i(8651),h=i.n(g);let v=e=>{let{t}=(0,n.useTranslation)(),{openElement:i}=(0,s.K)(),{PreviewComponent:c}=e,u=e.value??null,{openModal:p}=m({disabled:e.disabled,allowedTypes:e.allowedTypes,allowedTargets:e.allowedTargets,disabledFields:e.disabledFields,onSave:e.onChange}),g=()=>{if(null===u)return;"direct"!==u.linktype||null===u.direct||(0,o.isEmpty)(u.direct)||window.open(u.direct,"_blank");let e=(0,d.Az)(u.internalType??null),t=u.internal??null;"internal"===u.linktype&&null!==e&&null!==t&&i({type:e,id:t}).catch(e=>{console.error("Error while opening element:",e)})},v=()=>{p(u)};return{renderPreview:()=>{if((0,o.isNil)(c))throw Error("PreviewComponent is required");return(0,r.createElement)(c,{className:h()("studio-inherited-overlay",e.className),inherited:e.inherited,textPrefix:e.textPrefix,textSuffix:e.textSuffix,value:u})},renderActions:()=>{let i=[];return null===u||(0,o.isEmpty)(u.fullPath)||i.push((0,r.createElement)(a.m,{key:"open",title:t("open")},(0,r.createElement)(l.K,{icon:{value:"open-folder"},onClick:g,type:"default"}))),!0!==e.disabled?i.push((0,r.createElement)(a.m,{key:"edit",title:t("edit")},(0,r.createElement)(l.K,{icon:{value:"edit"},onClick:v,type:"default"}))):i.push((0,r.createElement)(a.m,{key:"details",title:t("details")},(0,r.createElement)(l.K,{icon:{value:"info-circle"},onClick:v,type:"default"}))),i},openLink:g,showModal:v,value:u}}},31091(e,t,i){"use strict";i.d(t,{Az:()=>o,Cx:()=>l,vZ:()=>n});var r=i(87632);let n=e=>({text:e.text,path:a(e),target:e.target??void 0,parameters:e.parameters,anchor:e.anchor,title:e.title,accesskey:e.accesskey,rel:e.rel,tabindex:e.tabindex,class:e.class}),l=e=>{var t,i,n,l,a,o,d;return{text:e.text??"",linktype:(null==(t=e.path)?void 0:t.textInput)===!0?"direct":"internal",direct:(null==(i=e.path)?void 0:i.textInput)===!0?e.path.fullPath:null,internal:(null==(n=e.path)?void 0:n.textInput)===!0?null:null==(l=e.path)?void 0:l.id,internalType:(null==(a=e.path)?void 0:a.textInput)===!0?null:s((0,r.sv)(String(null==(o=e.path)?void 0:o.type))),fullPath:null==(d=e.path)?void 0:d.fullPath,target:e.target??null,parameters:e.parameters??"",anchor:e.anchor??"",title:e.title??"",accesskey:e.accesskey??"",rel:e.rel??"",tabindex:e.tabindex??"",class:e.class??""}},a=e=>{if("internal"!==e.linktype)return{textInput:!0,fullPath:e.direct??""};{let t=o(e.internalType);return null===t?null:{type:t,id:e.internal??0,fullPath:e.fullPath,subtype:e.internalType??void 0}}},o=e=>"string"==typeof e?(0,r.sv)(e):null,s=e=>"data-object"===e?"object":e??null},44767(e,t,i){"use strict";i.d(t,{l:()=>n});var r,n=((r={}).LOCALIZED_FIELDS="localizedfields",r.OBJECT_BRICKS="objectbricks",r.FIELD_COLLECTIONS="fieldcollections",r.BLOCK="block",r.CLASSIFICATION_STORE="classificationstore",r)},31429(e,t,i){"use strict";i.d(t,{C:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},94902(e,t,i){"use strict";i.d(t,{N:()=>n,s:()=>l});var r=i(19249);let n=(e,t)=>{let i=[];e.forEach(e=>{i.push({id:i.length+1,x:e.left,y:e.top,width:e.width,height:e.height,type:"hotspot",data:e.data,name:e.name})});let n=r.X.marker;return t.forEach(e=>{i.push({id:i.length+1,x:e.left,y:e.top,width:n.width,height:n.height,type:"marker",data:e.data,name:e.name})}),i},l=e=>{let t=[],i=[];return e.forEach(e=>{"hotspot"===e.type?t.push({left:e.x,top:e.y,width:e.width,height:e.height,data:e.data,name:e.name}):"marker"===e.type&&i.push({left:e.x,top:e.y,data:e.data,name:e.name})}),{hotspots:t,marker:i}}},30856(e,t,i){"use strict";i.d(t,{M3:()=>s,gF:()=>d,hu:()=>o,zd:()=>l});var r=i(35864),n=i(87632);let l=e=>{var t,i,r;let n=[],l=[];return null==(t=e.classes)||t.forEach(e=>{"folder"===e.classes?n.push("folder"):l.push(e.classes)}),l.length>0&&n.push("object","variant"),{allowedAssetTypes:(null==(i=e.assetTypes)?void 0:i.map(e=>e.assetTypes))??[],allowedDocumentTypes:(null==(r=e.documentTypes)?void 0:r.map(e=>e.documentTypes))??[],allowedClasses:l.length>0?l:void 0,allowedDataObjectTypes:n.length>0?n:void 0,assetsAllowed:e.assetsAllowed,documentsAllowed:e.documentsAllowed,dataObjectsAllowed:e.objectsAllowed}},a=(e,t)=>!!(0,r.isNil)(e)||0===e.length||e.includes(t),o=(e,t)=>{var i,l,o;if(null===e.data)return!1;let s=(0,n.sv)(e.type);if(null===s)return!1;let d=e.data.type;return("data-object"!==s||"folder"===d||(i=s,l=String(e.data.className),o=t,!!("data-object"!==i||(0,r.isNil)(o.allowedClasses)||0===o.allowedClasses.length||o.allowedClasses.includes(l))))&&("asset"===s?!!t.assetsAllowed:"document"===s?!!t.documentsAllowed:"data-object"===s&&!!t.dataObjectsAllowed)&&("asset"===s?a(t.allowedAssetTypes,d):"data-object"===s?a(t.allowedDataObjectTypes,d):"document"===s&&a(t.allowedDocumentTypes,d))},s=e=>({asset:e.assetsAllowed??!1,document:e.documentsAllowed??!1,object:e.dataObjectsAllowed??!1}),d=e=>({assets:{allowedTypes:e.allowedAssetTypes},documents:{allowedTypes:e.allowedDocumentTypes},objects:{allowedTypes:e.allowedDataObjectTypes,allowedClasses:e.allowedClasses}})},64910(e,t,i){"use strict";i.d(t,{k:()=>c});var r=i(47867),n=i(89507),l=i(35864),a=i.n(l),o=i(21429);let s="edit::",d=(e,t)=>"bool"===e||"columnbool"===e?{type:"checkbox",editable:!0}:"number"===e?{type:"number",editable:!0}:"select"===e?{type:"select",editable:!0,config:{options:(null==t?void 0:t.split(";"))??[]}}:"multiselect"===e?{type:"multi-select",editable:!0,config:{options:(null==t?void 0:t.split(";"))??[]}}:{type:"input",editable:!0},c=(e,t,i,l)=>{let{t:c}=(0,o.useTranslation)(),u=e.map(e=>e.key),p=(0,r.useMemo)(()=>{let t=(0,n.createColumnHelper)(),i=[];for(let r of e)i.push(t.accessor(s+r.key,{header:a().isEmpty(r.label)?void 0:c(String(r.label)),size:r.width??150,meta:d(r.type??"text",r.value)}));return i},[e,c]),m=e=>void 0===e?null:Array.isArray(e)?a().compact(e).join(","):e;return{columnDefinition:p,onUpdateCellData:e=>{let t=[...i??[]];t=t.map((t,i)=>i===e.rowIndex?{...t,data:{...t.data,[e.columnId.replace(s,"")]:m(e.value)}}:t),null==l||l(t)},convertToManyToManyRelationValue:t=>null==t?null:t.map(t=>(t=>{let i={};if(void 0!==t.data)for(let r in t.data){let n=e.find(e=>e.key===r);(null==n?void 0:n.type)==="multiselect"?i[s+r]=a().isEmpty(t.data[r])?[]:a().compact(String(t.data[r]).split(",")):i[s+r]=t.data[r]}return{id:t.element.id,type:t.element.type,subtype:t.element.subtype,isPublished:t.element.isPublished,fullPath:t.element.fullPath,...i}})(t)),convertToAdvancedManyToManyRelationValue:e=>null==e?null:e.map(e=>(e=>{let i={};for(let t of u){let r=s+t;void 0!==e[r]?i[t]=m(e[r]):i[t]=null}return{element:{id:e.id,type:e.type,subtype:e.subtype,isPublished:e.isPublished,fullPath:e.fullPath},data:i,fieldName:t,columns:u}})(e))}}},27653(e,t,i){"use strict";i.d(t,{I:()=>l,x:()=>n});var r=i(18196);let n=e=>(0,r.Po)(e)?"500px":e,l=e=>(0,r.Po)(e)?"250px":e},81276(e,t,i){"use strict";i.d(t,{V:()=>l});var r=i(31635),n=i(62446);class l{}l=(0,r.Cg)([(0,n.injectable)()],l)},25593(e,t,i){"use strict";i.d(t,{o:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},87638(e,t,i){"use strict";i.d(t,{M:()=>l});var r=i(31635),n=i(62446);class l{isAvailableForSelection(e){return!0}constructor(){this.group=null}}l=(0,r.Cg)([(0,n.injectable)()],l)},11387(e,t,i){"use strict";i.d(t,{v:()=>a});var r=i(31635),n=i(62446),l=i(69186);class a extends l.P{}a=(0,r.Cg)([(0,n.injectable)()],a)},61363(e,t,i){"use strict";i.d(t,{C9:()=>l,PD:()=>n,kt:()=>a});var r=i(55638);let n={GRID_CELL:"GRID_CELL",FIELD_FILTER:"FIELD_FILTER",BATCH_EDIT:"BATCH_EDIT"},l={[n.GRID_CELL]:"getGridCellComponent",[n.FIELD_FILTER]:"getFieldFilterComponent",[n.BATCH_EDIT]:"getBatchEditComponent"};class a{resolve(e){let{target:t,dynamicType:i}=e;return this.hasCallable(t,i)||(0,r.Ay)(new r.$g(`DynamicTypeResolver: ${i.id} does not have a callable ${l[t]}`)),e=>i[l[t]].bind(i)(e)}hasCallable(e,t){return void 0!==t[l[e]]&&"function"==typeof t[l[e]]}}},72928(e,t,i){"use strict";i.d(t,{R:()=>s});var r=i(47867),n=i(61363),l=i(87669),a=i(63364),o=i(55638);let s=()=>{let e=(0,r.useContext)(l.i);null==e&&(0,o.Ay)(new o.$g("useDynamicTypeResolver must be used within a DynamicTypeRegistryProvider"));let{serviceIds:t}=e,i=t.map(e=>a.kL.get(e));return{getComponentRenderer:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return{ComponentRenderer:l.resolve({target:t,dynamicType:i})}}return{ComponentRenderer:null}},hasType:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return!0}return!1},getType:function(e){let{target:t,dynamicTypeIds:r}=e,l=new n.kt;for(let e of r)for(let r of i)if(r.hasDynamicType(e)){let i=r.getDynamicType(e);if(l.hasCallable(t,i))return i}return null}}}},48832(e,t,i){"use strict";i.d(t,{Cy:()=>c,L:()=>s,mv:()=>o,vV:()=>d});var r=i(10600),n=i(63364),l=i(35864),a=i(50094);let o=150,s=e=>{let t=[];return e.forEach(e=>{if((0,l.isNumber)(e.width))return void t.push(e);let i=c(e.type);void 0!==i?t.push({...e,width:i}):t.push({...e,width:o})}),t},d=e=>{var t;let i=null==e||null==(t=e.config)?void 0:t.dataObjectConfig.fieldDefinition,r=(null==e?void 0:e.columns)??null,n=350;return null!==r&&r.forEach(e=>{if((0,l.isNumber)(e.width)){n+=e.width;return}let t={...i,defaultFieldWidth:a.wT},r=c(e.type,t);if(void 0!==r){n+=r;return}n+=o}),n},c=(e,t)=>{let i=(0,n.Lt)(r.K["DynamicTypes/ObjectDataRegistry"]);if(void 0!==e){let r=i.getDynamicType(e,!1);if((null==r?void 0:r.getDefaultGridColumnWidth)!==void 0)return r.getDefaultGridColumnWidth(t)}}},3832(e,t,i){"use strict";i.d(t,{O:()=>a});var r=i(31635),n=i(62446),l=i(55638);class a{register(e){this.has(e.name)&&(0,l.Ay)(new l.$g(`Type with the name "${e.name}" already exists.`)),this.registry[e.name]=e}get(e){return this.has(e)||(0,l.Ay)(new l.$g(`No type with the name "${e}" found`)),this.registry[e]}has(e){return e in this.registry}getAll(){return Object.values(this.registry)}constructor(){this.registry={}}}a=(0,r.Cg)([(0,n.injectable)()],a)},67625(e,t,i){"use strict";i.d(t,{M:()=>o});var r=i(87286),n=i(47867),l=i(35864),a=i.n(l);let o=()=>{let e=(0,n.useContext)(r.K);if(a().isEmpty(e))throw Error("useTabManager must be used within TabManagerProvider");return e.tabManager}},14490(e,t,i){"use strict";i.d(t,{A:()=>o,ET:()=>u,FH:()=>n,ei:()=>a,jM:()=>p,uQ:()=>s,vX:()=>c,xX:()=>l,zC:()=>d});var r=i(53996);let n=i(6387).FH.enhanceEndpoints({addTagTypes:[r.nP.AVAILABLE_TAGS,r.nP.ASSET_DETAIL,r.nP.DATA_OBJECT_DETAIL],endpoints:{tagUpdateById:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagDeleteById:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagCreate:{invalidatesTags:(e,t,i)=>r.qN.AVAILABLE_TAGS()},tagGetById:{providesTags:(e,t,i)=>r.yc.AVAILABLE_TAGS()},tagGetCollection:{providesTags:(e,t,i)=>r.yc.AVAILABLE_TAGS()},tagAssignToElement:{invalidatesTags:(e,t,i)=>[]},tagUnassignFromElement:{invalidatesTags:(e,t,i)=>[]},tagBatchOperationToElementsByTypeAndId:{invalidatesTags:(e,t,i)=>r.qN.ELEMENT_TAGS(i.elementType,i.id)},tagGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>r.yc.ELEMENT_TAGS(i.elementType,i.id).filter(e=>void 0!==e)}}}),{useTagCreateMutation:l,useTagDeleteByIdMutation:a,useTagUpdateByIdMutation:o,useTagGetCollectionQuery:s,useTagAssignToElementMutation:d,useTagUnassignFromElementMutation:c,useTagGetCollectionForElementByTypeAndIdQuery:u,useTagBatchOperationToElementsByTypeAndIdMutation:p}=n},6387(e,t,i){"use strict";i.d(t,{FH:()=>r,uQ:()=>n});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Tags","Tags for Element"]}).injectEndpoints({endpoints:e=>({tagGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/tags",params:{page:e.page,pageSize:e.pageSize,elementType:e.elementType,filter:e.filter,parentId:e.parentId}}),providesTags:["Tags"]}),tagCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/tag",method:"POST",body:e.createTagParameters}),invalidatesTags:["Tags"]}),tagGetById:e.query({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`}),providesTags:["Tags"]}),tagUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`,method:"PUT",body:e.updateTagParameters}),invalidatesTags:["Tags"]}),tagDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.id}`,method:"DELETE"}),invalidatesTags:["Tags"]}),tagAssignToElement:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/assign/${e.elementType}/${e.id}/${e.tagId}`,method:"POST"}),invalidatesTags:["Tags for Element"]}),tagBatchOperationToElementsByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/batch/${e.operation}/${e.elementType}/${e.id}`,method:"POST"}),invalidatesTags:["Tags for Element"]}),tagGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/tags/${e.elementType}/${e.id}`}),providesTags:["Tags for Element"]}),tagUnassignFromElement:e.mutation({query:e=>({url:`/pimcore-studio/api/tags/${e.elementType}/${e.id}/${e.tagId}`,method:"DELETE"}),invalidatesTags:["Tags for Element"]})}),overrideExisting:!1}),{useTagGetCollectionQuery:n,useTagCreateMutation:l,useTagGetByIdQuery:a,useTagUpdateByIdMutation:o,useTagDeleteByIdMutation:s,useTagAssignToElementMutation:d,useTagBatchOperationToElementsByTypeAndIdMutation:c,useTagGetCollectionForElementByTypeAndIdQuery:u,useTagUnassignFromElementMutation:p}=r},26268(e,t,i){"use strict";i.d(t,{I:()=>r});let r=(0,i(44241).createStyles)(e=>{let{token:t,css:i}=e;return{sectionTitle:i`
position: relative;
display: block;
padding: ${t.paddingSM}px ${t.paddingXS}px ${t.paddingXS}px ${t.paddingXS}px;
@@ -295,7 +295,7 @@
`,objectSectionEmptyStateHighlight:i`
background-color: ${t.Colors.Brand.Warning.colorWarningBg} !important;
border-color: ${t.colorBorder} !important;
- `}})},94316(e,t,i){"use strict";i.d(t,{KY:()=>x,CI:()=>b,Nn:()=>v,FH:()=>g,e7:()=>j,MF:()=>f,KC:()=>h,Yv:()=>y});var r=i(53996);let n=i(53073).api.enhanceEndpoints({addTagTypes:["Versions"]}).injectEndpoints({endpoints:e=>({versionAssetDownloadById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/asset/download`}),providesTags:["Versions"]}),versionImageStreamById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/image/stream`}),providesTags:["Versions"]}),versionPdfStreamById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/pdf/stream`}),providesTags:["Versions"]}),versionGetById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`}),providesTags:["Versions"]}),versionUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"PUT",body:e.updateVersion}),invalidatesTags:["Versions"]}),versionPublishById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"POST"}),invalidatesTags:["Versions"]}),versionDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"DELETE"}),invalidatesTags:["Versions"]}),versionGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Versions"]}),versionCleanupForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.elementType}/${e.id}`,method:"DELETE"}),invalidatesTags:["Versions"]})}),overrideExisting:!1}),{useVersionAssetDownloadByIdQuery:l,useVersionImageStreamByIdQuery:a,useVersionPdfStreamByIdQuery:o,useVersionGetByIdQuery:s,useVersionUpdateByIdMutation:d,useVersionPublishByIdMutation:c,useVersionDeleteByIdMutation:u,useVersionGetCollectionForElementByTypeAndIdQuery:p,useVersionCleanupForElementByTypeAndIdMutation:m}=n,g=n.enhanceEndpoints({addTagTypes:[r.nP.ASSET_DETAIL],endpoints:{versionGetById:{providesTags:(e,t,i)=>r.yc.VERSIONS_DETAIL(i.id)},versionGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>{let n=[];return null==e||e.items.forEach(e=>{n.push(...r.yc.VERSIONS_DETAIL(e.id))}),[...n,...r.yc.ELEMENT_VERSIONS(i.elementType,i.id)]}},versionCleanupForElementByTypeAndId:{invalidatesTags:(e,t,i)=>r.qN.ELEMENT_VERSIONS(i.elementType,i.id)},versionUpdateById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)},versionPublishById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)},versionDeleteById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)}}}),{useVersionAssetDownloadByIdQuery:h,useVersionCleanupForElementByTypeAndIdMutation:v,useVersionDeleteByIdMutation:f,useVersionGetByIdQuery:y,useVersionGetCollectionForElementByTypeAndIdQuery:b,useVersionPublishByIdMutation:x,useVersionUpdateByIdMutation:j}=g},57064(e,t,i){"use strict";i.d(t,{F:()=>l});var r=i(31635),n=i(62446);class l{getTabs(){return this.tabs}getTab(e){return this.tabs.find(t=>t.key===e)}register(e){void 0!==this.getTab(e.key)?this.tabs.splice(this.tabs.findIndex(t=>t.key===e.key),1,e):this.tabs.push(e)}constructor(){this.type="",this.tabs=[]}}l=(0,r.Cg)([(0,n.injectable)()],l)},79606(e,t,i){"use strict";i.d(t,{M6:()=>u,RX:()=>s,lA:()=>a,lK:()=>d,lu:()=>p,mG:()=>l,tX:()=>o,vK:()=>c,zq:()=>m});var r=i(16327),n=i(53996);let{useElementDeleteMutation:l,useElementGetDeleteInfoQuery:a,useElementFolderCreateMutation:o,useElementGetContextPermissionsQuery:s,useElementGetIdByPathQuery:d,useLazyElementGetIdByPathQuery:c,useElementGetSubtypeQuery:u,useElementResolveBySearchTermQuery:p,useLazyElementResolveBySearchTermQuery:m}=r.FH.enhanceEndpoints({addTagTypes:[n.nP.DATA_OBJECT_DETAIL,n.nP.ASSET_DETAIL],endpoints:{elementDelete:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_DETAIL(i.elementType,i.id)}}})},16327(e,t,i){"use strict";i.d(t,{FH:()=>r,mG:()=>n,tX:()=>a});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Elements"]}).injectEndpoints({endpoints:e=>({elementDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/delete/${e.id}`,method:"DELETE"}),invalidatesTags:["Elements"]}),elementGetDeleteInfo:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/delete-info/${e.id}`}),providesTags:["Elements"]}),elementFolderCreate:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/folder/${e.parentId}`,method:"POST",body:e.folderData}),invalidatesTags:["Elements"]}),elementGetContextPermissions:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/context-permissions/`}),providesTags:["Elements"]}),elementGetTreeLocation:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/location/${e.id}/${e.perspectiveId}`}),providesTags:["Elements"]}),elementGetIdByPath:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/path`,params:{elementPath:e.elementPath}}),providesTags:["Elements"]}),elementGetSubtype:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/subtype/${e.id}`}),providesTags:["Elements"]}),elementGetUsage:e.query({query:e=>({url:`/pimcore-studio/api/elements/usage/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,sortOrder:e.sortOrder,sortBy:e.sortBy}}),providesTags:["Elements"]}),elementUsageReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/usage/replace/${e.elementType}/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Elements"]}),elementResolveBySearchTerm:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/resolve`,params:{searchTerm:e.searchTerm}}),providesTags:["Elements"]})}),overrideExisting:!1}),{useElementDeleteMutation:n,useElementGetDeleteInfoQuery:l,useElementFolderCreateMutation:a,useElementGetContextPermissionsQuery:o,useElementGetTreeLocationQuery:s,useElementGetIdByPathQuery:d,useElementGetSubtypeQuery:c,useElementGetUsageQuery:u,useElementUsageReplaceMutation:p,useElementResolveBySearchTermQuery:m}=r},81674(e,t,i){"use strict";i.d(t,{Cr:()=>p,Ed:()=>u,Ip:()=>d,ME:()=>g,U9:()=>m,Vn:()=>h});var r=i(35864),n=i(40595),l=i(63364),a=i(10600),o=i(87632),s=i(47351);let d=(e,t)=>{let i=c(e,t),r=new s.V(e,t,i);return l.kL.get(a.K["Element/ProcessorRegistry/IconProcessor"]).executeProcessors(r),r.getIcon()??t},c=(e,t)=>{var i,r;return(null==(i=e.customAttributes)?void 0:i.icon)!==void 0&&(null==(r=e.customAttributes)?void 0:r.icon)!==null?e.customAttributes.icon:"isSite"in e&&e.isSite?{type:"name",value:"home-root-folder"}:void 0!==e.icon&&null!==e.icon?e.icon:t},u=(e,t)=>"asset"===t?e.filename??"":"data-object"===t||"document"===t?e.key??"":"",p=(e,t,i)=>{let r=`${e}_ACTION_${t}`;return void 0!==i&&(r+=`_ID_${i}`),r.toUpperCase()},m=e=>(0,r.isPlainObject)(e)&&(0,r.has)(e,"id")&&(0,r.has)(e,"type")&&(0,r.has)(e,"fullPath"),g=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=e.data,n="published"in i?i.published:null;return{id:i.id,type:(0,o.FA)(e.type),fullPath:String(i.fullPath),isPublished:t&&(0,r.isBoolean)(n)?n:null,subtype:"data-object"===e.type?e.data.classname??"folder":e.data.type??void 0}},h=(e,t)=>`${window.location.origin}${n.pc}${e}/${t}`},80546(e,t,i){"use strict";i.d(t,{F:()=>o});var r=i(41630),n=i(73362),l=i(91434),a=i(46766);let o=(e,t)=>{var i;let o=(0,r.jL)(),s=function(){if("asset"===e)return n.api;if("data-object"===e)return l.FH;if("document"===e)return a.FH;throw Error("Unknown element type")}(),d=(i=t,s.util.selectInvalidatedBy(r.M_.getState(),i)),c=e=>{let{updateFn:t}=e;d.forEach(e=>{o(s.util.updateQueryData(e.endpointName,e.originalArgs,t))})};return{update:c,updateFieldValue:(e,t,i)=>{c({updateFn:r=>{if("items"in r&&"object"==typeof r.items){let n=r.items.findIndex(t=>t.id===e);-1!==n&&t in r.items[n]&&(r.items[n][t]=i)}}})}}}},13397(e,t,i){"use strict";i.d(t,{M:()=>p});var r=i(73362),n=i(91434),l=i(80546),a=i(46881),o=i(62843),s=i(69187),d=i(35864),c=i(55638),u=i(75023);let p=(e,t)=>{let i=(0,a.useAppDispatch)(),[p]=(0,r.useAssetPatchByIdMutation)({fixedCacheKey:t}),[m]=(0,n.M5)({fixedCacheKey:t}),[g]=(0,u.vA)({fixedCacheKey:t}),[h]=(0,o.OR)(),[v]=(0,s.rg)(),{updateFieldValue:f}=(0,l.F)("asset",["ASSET_TREE"]),{updateFieldValue:y}=(0,l.F)("data-object",["DATA_OBJECT_TREE"]),{updateFieldValue:b}=(0,l.F)("document",["DOCUMENT_TREE"]);return{elementPatch:async t=>{try{if("asset"===e){let e=await p(t);return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),f(t.body.data[0].id,"filename",t.body.data[0].key),(0,d.isUndefined)(e.error)}if("data-object"===e){let e=await m(t);return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),y(t.body.data[0].id,"key",t.body.data[0].key),(0,d.isUndefined)(e.error)}if("document"===e){1!==t.body.data.length&&(0,c.Ay)(new c.$g("Document patching only supports a single element"));let e=await g({id:t.body.data[0].id,body:{data:{parentId:t.body.data[0].parentId,key:t.body.data[0].key,locked:t.body.data[0].locked,index:t.body.data[0].index}}});return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),b(t.body.data[0].id,"key",t.body.data[0].key),(0,d.isUndefined)(e.error)}}catch{(0,c.Ay)(new c.$g("Error while patching element"))}return!1},getElementById:async t=>{if("asset"===e){let{data:e}=await i(o.FH.endpoints.assetGetById.initiate({id:t}));return void 0!==e?("error"in e&&(0,c.Ay)(new c.$g("Could not get Asset by Id")),e):{}}if("data-object"===e){let{data:e}=await i(s.FH.endpoints.dataObjectGetById.initiate({id:t}));return void 0!==e?("error"in e&&(0,c.Ay)(new c.$g("Could not get Object by Id")),e):{}}},elementClone:async t=>{try{var i,r;if("asset"===e){let e=await h(t);if(!(0,d.isUndefined)(e.error))return(0,c.Ay)(new c.hD(e.error)),{success:!1};return{success:!0,jobRunId:null==(i=e.data)?void 0:i.jobRunId}}if("data-object"===e){let e=await v(t);if(!(0,d.isUndefined)(e.error))return(0,c.Ay)(new c.hD(e.error)),{success:!1};return{success:!0,jobRunId:(null==(r=e.data)?void 0:r.jobRunId)??void 0}}}catch(e){console.error(e)}return{success:!1}}}}},7334(e,t,i){"use strict";i.d(t,{J:()=>s,L:()=>d});var r=i(47867),n=i(39857),l=i(20713),a=i(15789),o=i(55638);let s=()=>{let e=d();if(null!==e)return e;let t="No element context found";throw(0,o.Ay)(new o.$g(t)),Error(t)},d=()=>{let{id:e}=(0,r.useContext)(n.m),{id:t}=(0,r.useContext)(l.Z),{id:i}=(0,r.useContext)(a.T);return 0!==e?{id:e,elementType:"asset"}:0!==t?{id:t,elementType:"data-object"}:0!==i?{id:i,elementType:"document"}:null}},33142(e,t,i){"use strict";i.d(t,{D:()=>o});var r=i(89354),n=i(66026),l=i(55638),a=i(15156);let o=(e,t)=>{if("asset"===t){let t=(0,r.l)(e);return{...t,element:t.asset}}if("data-object"===t){let t=(0,n.A)(e);return{...t,element:t.dataObject}}if("document"===t){let t=(0,a.S)(e);return{...t,element:t.document}}throw(0,l.Ay)(new l.$g("Element type not supported")),Error("Element type not supported")}},56789(e,t,i){"use strict";i.d(t,{K:()=>s});var r=i(55638),n=i(40721),l=i(75091),a=i(87632),o=i(46096);let s=()=>{let{executeDataObjectTask:e}=(0,n.H)(),{executeDocumentTask:t}=(0,l.$)();return{openElement:async function e(e){let{element:t}=(0,o.qH)();await t.openElement(e.id,e.type)},mapToElementType:function(e,t){let i=(0,a.sv)(e);return null===i&&!0!==t?void(0,r.Ay)(new r.$g(`Unknown element type: ${e}`)):i??void 0},mapToLegacyElementType:e=>{let t=(0,a.sv)(e);return null!==t?(0,a.FA)(t):e},executeElementTask:(i,r,n,l)=>{"data-object"===i?e(r,n,l):"document"===i?t(r,n,l):console.log("not implemented for elementType: "+i)}}}},55490(e,t,i){"use strict";i.d(t,{Q:()=>o});var r=i(27918),n=i(85566),l=i(79246),a=i(83196);let o=()=>{var e;let{getOpenedMainWidget:t}=(0,a.J)(),{context:i}=(0,r.k)(),{context:o}=(0,n.L)(),{context:s}=(0,l.v)(),d=null==(e=t())?void 0:e.getComponent();return"asset-editor"===d?{context:i}:"data-object-editor"===d?{context:o}:"document-editor"===d?{context:s}:{context:void 0}}},8412(e,t,i){"use strict";i.d(t,{t:()=>l});var r=i(47867),n=i(99582);let l=()=>{let e=(0,r.useContext)(n.l);if(null==e)throw Error("useSettings must be used within a SettingsProvider");return e}},74525(e,t,i){"use strict";i.d(t,{p:()=>y});var r=i(74848);i(47867);var n=i(46533),l=i(2807),a=i(3201),o=i(53209),s=i(75591),d=i(85185),c=i(96197),u=i(9273),p=i(61067),m=i(66634),g=i(72928),h=i(17044),v=i(85775),f=i(7789);let y=(e,t)=>{let{ContextComponent:i,useDataQueryHelper:y,useSidebarOptions:b,...x}=e;return{ContextComponent:()=>(0,r.jsx)(s.fr,{config:t,children:(0,r.jsx)(n.y,{children:(0,r.jsx)(o.WI,{children:(0,r.jsx)(a.VY,{children:(0,r.jsx)(l.v,{children:(0,r.jsx)(i,{})})})})})}),useDataQueryHelper:()=>{let{getArgs:e,...t}=y(),{getDataQueryFilterArg:i}=(0,d.U)(),{getDataQueryFilterArg:r}=(0,u.Z)(),{onlyDirectChildren:n}=(0,c.e)(),{fieldFilters:l}=(0,p.F)(),{availableColumns:s}=(0,m.m)(),{getType:f}=(0,g.R)(),{currentLanguage:b}=(0,v.Sk)();return{...t,getArgs:()=>{let t,d=e(),c=i(),u=r(),p=s.map(e=>e.key);p.push(a.SG,o.vh);let m=[...(d.body.filters.columnFilters??[]).filter(e=>!p.includes(e.type))];return void 0!==c&&m.push(c),void 0!==u&&m.push(u),l.length>0&&m.push(...(t=[],l.forEach(e=>{let i=s.find(t=>t.key===e.key);if(void 0===i)return;let r=f({target:"FIELD_FILTER",dynamicTypeIds:[i.type,i.frontendType]});if(null===r)return;if(!(r instanceof h.C))if(!("dynamicTypeFieldFilterType"in r))return;else r=r.dynamicTypeFieldFilterType;let n=r;n.shouldApply(e)&&t.push(n.transformFilterToApiRequest(e))}),t)),{...d,body:{...d.body,filters:{...d.body.filters,includeDescendants:!n,columnFilters:m.map(t=>{var i,r;let n,l,{...a}=t;return{...a,locale:(i=a.key,r=a.locale,n=s.find(e=>e.key===i),l="classId"in e(),"default"===r?null:(null==n?void 0:n.localizable)===!0?r??(l?b:null):null)}})}}}}}},useSidebarOptions:(0,f.h)(b),...x}}},79963(e,t,i){"use strict";i.d(t,{M:()=>l});var r=i(47867),n=i(78921);let l=()=>{let e=(0,r.useContext)(n.E);if(void 0===e)throw Error("usePaging must be used within a PagingProvider");return e}},59991(e,t,i){"use strict";i.d(t,{S:()=>a});var r=i(74848);i(47867);var n=i(78921),l=i(79963);let a=e=>{let{useDataQueryHelper:t,ContextComponent:i,...a}=e;return{...a,ContextComponent:()=>(0,r.jsx)(n.Q,{children:(0,r.jsx)(i,{})}),useDataQueryHelper:()=>{let{getArgs:e,hasRequiredArgs:i,...r}=t(),n=(0,l.M)();return{...r,hasRequiredArgs:i,getArgs:()=>{let t=e();return{...t,body:{...t.body??{},filters:{...t.body.filters??{},...{page:(null==n?void 0:n.page)??1,pageSize:(null==n?void 0:n.pageSize)??10}}}}}}}}}},56177(e,t,i){"use strict";i.d(t,{Y:()=>c});var r=i(74848),n=i(47867),l=i(81916),a=i(53894),o=i(20351),s=i(66634),d=i(92277);let c=(e,t)=>{let{useGridOptions:i,useSidebarOptions:c,ContextComponent:u,...p}=e;return{...p,ContextComponent:()=>(0,r.jsx)(l.G,{children:(0,r.jsx)(u,{})}),useGridOptions:()=>{let{getGridProps:e,...r}=i(),{data:l}=(0,o.E)(),{selectedRows:d,setSelectedRows:c,selectedRowsData:u,setSelectedRowsData:p}=(0,a.U)(),{availableColumns:m}=(0,s.m)();return(0,n.useEffect)(()=>{let e={},t=m.filter(e=>Array.isArray(e.group)&&e.group.includes("system")).map(e=>e.key);for(let i in d){let r=parseInt(i);for(let i of l.items){let n=i.columns.find(e=>"id"===e.key);if(void 0!==n&&n.value===r)for(let n of i.columns)t.includes(n.key)&&(e[r]={...e[r],[n.key]:n.value})}}p({...u,...e})},[d]),{...r,getGridProps:()=>({...e(),enableRowSelection:"single"===t.rowSelectionMode,enableMultipleRowSelection:"multiple"===t.rowSelectionMode,selectedRows:d,onSelectedRowsChange:c})}},useSidebarOptions:"multiple"===t.rowSelectionMode?(0,d.l)(c):c}}},55059(e,t,i){"use strict";i.d(t,{Y:()=>c});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let[t,i]=(0,n.useState)([]);return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{sorting:t,setSorting:i},children:e.children}),[t,e.children])},o=()=>{let e=(0,n.useContext)(l);if(void 0===e)throw Error("useSorting must be used within a SortingProvider");return e};var s=i(66707),d=i(10014);let c=e=>{let{useGridOptions:t,ContextComponent:i,useDataQueryHelper:n,...l}=e;return{...l,ContextComponent:()=>(0,r.jsx)(a,{children:(0,r.jsx)(i,{})}),useGridOptions:()=>{let{getGridProps:e,transformGridColumn:i,...r}=t(),{sorting:n,setSorting:l}=o(),a=e=>{l(e)};return{...r,transformGridColumn:e=>({...i(e),enableSorting:e.sortable}),getGridProps:()=>({...e(),sorting:n,onSortingChange:a,enableSorting:!0,manualSorting:!0})}},useDataQueryHelper:()=>{let{getArgs:e,...t}=n(),{sorting:i}=o(),{decodeColumnIdentifier:r}=(0,s.K)(),{currentLanguage:l}=(0,d.S)();return{...t,getArgs:()=>{let t=e(),n="classId"in t,a=[];for(let e of i??[]){var o,s;let t=r(e.id);void 0!==t&&a.push({key:(null==t||null==(s=t.config)||null==(o=s.filters)?void 0:o.key)??t.key,locale:t.localizable?t.locale??(n?l:void 0):void 0,direction:e.desc?"desc":"asc"})}return{...t,body:{...t.body,filters:{...t.body.filters,...a.length>0?{sortFilter:a[0]}:{}}}}}}}}}},94614(e,t,i){"use strict";i.d(t,{m:()=>l});var r=i(47867),n=i(9356);let l=()=>{let e=(0,r.useContext)(n.W);if(void 0===e)throw Error("useGridConfig must be used within a GridConfigProvider");return e}},40910(e,t,i){"use strict";i.d(t,{u:()=>l});var r=i(47867),n=i(32436);let l=()=>{let e=(0,r.useContext)(n.g);if(void 0===e)throw Error("useSelectedGridConfigId must be used within a SelectedGridConfigIdProvider");return e}},79472(e,t,i){"use strict";i.d(t,{o:()=>n});var r=i(35864);let n=(e,t)=>!(0,r.isUndefined)(e)&&!0===e[t]},47351(e,t,i){"use strict";i.d(t,{V:()=>a,n:()=>o});var r=i(31635),n=i(62446),l=i(32234);class a{setIcon(e){this.icon=e}getIcon(){return this.icon}hasIcon(){return null!==this.icon}constructor(e,t,i=null){this.element=e,this.defaultIcon=t,this.icon=i}}class o extends l.k{}o=(0,r.Cg)([(0,n.injectable)()],o)},87632(e,t,i){"use strict";i.d(t,{FA:()=>o,Hy:()=>r,b9:()=>n,sv:()=>a,wy:()=>l});let r=e=>n.includes(e),n=["asset","document","data-object"],l=["asset","document","object"],a=e=>{switch(e){case"asset":return"asset";case"document":return"document";case"data-object":case"object":case"dataObject":return"data-object";default:return null}},o=e=>"data-object"===e?"object":e},44511(e,t,i){"use strict";i.d(t,{a:()=>l});var r=i(46096),n=i(35864);let l=(e,t)=>{if(!(0,n.isNil)(t)&&!(0,n.isNil)(e))try{(0,r.qH)().element.locateInTree(t,e)}catch(e){console.error("Failed to locate element in tree:",e)}}},11940(e,t,i){"use strict";i.d(t,{X1:()=>o,FH:()=>r});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Execution Engine"]}).injectEndpoints({endpoints:e=>({executionEngineAbortJobRunById:e.mutation({query:e=>({url:`/pimcore-studio/api/execution-engine/abort/${e.jobRunId}`,method:"POST"}),invalidatesTags:["Execution Engine"]}),executionEngineHideJobRuns:e.mutation({query:e=>({url:"/pimcore-studio/api/execution-engine/hide",method:"POST",body:e.body}),invalidatesTags:["Execution Engine"]}),executionEngineListJobs:e.query({query:e=>({url:"/pimcore-studio/api/execution-engine/running-jobs",method:"POST",body:e.body}),providesTags:["Execution Engine"]})}),overrideExisting:!1}),{useExecutionEngineAbortJobRunByIdMutation:n,useExecutionEngineHideJobRunsMutation:l,useExecutionEngineListJobsQuery:a}=r;r.enhanceEndpoints({endpoints:{executionEngineAbortJobRunById:{invalidatesTags:[]},executionEngineHideJobRuns:{invalidatesTags:[]},executionEngineListJobs:{providesTags:[]}}});let{useExecutionEngineAbortJobRunByIdMutation:o,useExecutionEngineHideJobRunsMutation:s,useExecutionEngineListJobsQuery:d}=r},26642(e,t,i){"use strict";i.d(t,{Ub:()=>c,VI:()=>d,fS:()=>o,tD:()=>s});var r=i(46881),n=i(88605);let l=(0,n.createEntityAdapter)({}),a=(0,n.createSlice)({name:"execution-engine",initialState:l.getInitialState(),reducers:{jobReceived:l.addOne,jobUpdated:l.updateOne,jobDeleted:l.removeOne}});(0,r.injectSliceWithState)(a);let{jobReceived:o,jobUpdated:s,jobDeleted:d}=a.actions,{selectAll:c,selectById:u}=l.getSelectors(e=>e["execution-engine"])},2662(e,t,i){"use strict";i.d(t,{O:()=>l});var r=i(63364),n=i(10600);let l=()=>r.kL.get(n.K.executionEngine)},30652(e,t,i){"use strict";i.d(t,{O:()=>l});var r=i(46881),n=i(26642);let l=()=>{let e=(0,r.useAppDispatch)();return{jobs:(0,r.useAppSelector)(n.Ub),updateJob:function(t,i){e((0,n.tD)({id:t,changes:{...i}}))},removeJob:function(t){e((0,n.VI)(t))},addJob:function(t){e((0,n.fS)(t))}}}},83295(e,t,i){"use strict";i.d(t,{f:()=>d});var r=i(35864),n=i(41630),l=i(59385),a=i(55638),o=i(82763),s=i(60142);class d{async run(e){let{messageBus:t}=e;(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!0}));try{let e=await this.executeCloneRequest();if((0,r.isNil)(e))return void await this.handleCompletion();let i=new o.j({jobRunId:e,title:e=>"running"===e.status&&2===e.currentStep?(0,s.t)("jobs.clone-job.step2.title"):this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,a.Ay)(new a.$g(e.message))}}async handleCompletion(){(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),n.M_.dispatch((0,l.refreshNodeChildren)({elementType:this.elementType,nodeId:this.targetId.toString()}))}async handleJobFailure(e){(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),console.error("Clone job failed:",e)}constructor(e){this.sourceId=e.sourceId,this.targetId=e.targetId,this.title=e.title,this.elementType=e.elementType,this.treeId=e.treeId,this.nodeId=e.nodeId}}},82763(e,t,i){"use strict";i.d(t,{j:()=>g});var r=i(57248),n=i(41630),l=i(26642);let a=0;var o=i(35864),s=i(63364),d=i(10600),c=i(11940),u=i(22164);let p=["finished","finished_with_errors","failed"];class m{notifyUpdate(){this.isDestroyed||(this.stopPolling(),this.schedulePolling())}destroy(){this.isDestroyed=!0,this.stopPolling()}schedulePolling(){this.pollingBackoff.schedule(()=>{this.startPolling()})}startPolling(){this.isPolling||this.isDestroyed||(this.isPolling=!0,this.lastJobSnapshot=null,this.pollJobStatus())}scheduleNextPoll(){this.pollingBackoff.schedule(()=>{this.pollJobStatus()})}hasJobChanged(e){return(0,o.isNil)(this.lastJobSnapshot)||this.lastJobSnapshot.state!==e.state||this.lastJobSnapshot.currentStep!==e.currentStep||this.lastJobSnapshot.totalSteps!==e.totalSteps||this.lastJobSnapshot.currentMessage!==e.currentMessage||this.lastJobSnapshot.modificationDate!==e.modificationDate}stopPolling(){this.pollingBackoff.clear(),this.isPolling=!1,this.lastJobSnapshot=null}createSnapshot(e){return{state:e.state,currentStep:e.currentStep??null,totalSteps:e.totalSteps??null,currentMessage:e.currentMessage,modificationDate:e.modificationDate}}async pollJobStatus(){if(this.isDestroyed)return void this.stopPolling();try{let{data:e}=await n.M_.dispatch(c.FH.endpoints.executionEngineListJobs.initiate({body:{filters:{page:1,pageSize:1,columnFilters:[{type:"id",filterValue:Number(this.jobRunId)}]}}},{forceRefetch:!0}));if((0,o.isNil)(e))this.pollingBackoff.increase(),this.scheduleNextPoll();else{let t=e.items[0];if((0,o.isNil)(t))this.stopPolling();else{let e=this.createSnapshot(t);this.hasJobChanged(e)?this.pollingBackoff.reset():"queued"!==t.state&&this.pollingBackoff.increase(),this.lastJobSnapshot=e;let i=0===t.currentStep?"queued":t.state;if(await this.callbacks.onStatusUpdate({status:i,currentStep:t.currentStep,totalSteps:t.totalSteps,currentMessage:t.currentMessage,jobRun:t}),p.includes(t.state))return void this.stopPolling();this.scheduleNextPoll()}}}catch(i){var e,t;(null==(e=(t=this.callbacks).onError)?void 0:e.call(t,i))??console.error("Error polling job run status:",i),this.scheduleNextPoll()}}constructor(e,t){this.isPolling=!1,this.isDestroyed=!1,this.lastJobSnapshot=null,this.jobRunId=e,this.callbacks=t,this.pollingBackoff=new u._({initialDelay:1e4,maxDelay:3e5,multiplier:1.25}),this.schedulePolling()}}class g extends r.k{shouldHandle(e){var t;let i=null==(t=e.payload)?void 0:t.jobRunId;return!(0,o.isNil)(i)&&String(i)===String(this.jobRunId)}getId(){return this.jobRunId}onRegister(){n.M_.dispatch((0,l.fS)(this.getJob()))}async handleMessage(e){try{if("update"===e.type){let t=e.payload;if((0,o.isNil)(t))return;this.polling.notifyUpdate(),await this.processUpdate(t)}}catch(e){console.error("Error in message handling: ",e)}}onUnregister(){this.throttledProgressUpdate.cancel(),this.polling.destroy()}getTitle(e){return(0,o.isFunction)(this.title)?this.title(e):this.title}calculateProgress(e){return(0,o.isNil)(null==e?void 0:e.currentStep)||(0,o.isNil)(null==e?void 0:e.totalSteps)||!(e.totalSteps>1)?(0,o.isNil)(null==e?void 0:e.progress)?null:Math.max(0,Math.min(100,e.progress)):Math.max(0,Math.round((e.currentStep-1)/e.totalSteps*100))}async handleJobCompletion(e){(0,o.isNil)(this.onJobCompletion)||await this.onJobCompletion(e)}getJob(){return this.job=this.job??this.createJob(),this.job}createJob(){let e={id:a++,type:"default-message-bus",title:"",status:"queued",progress:0,currentStep:this.currentStep,totalSteps:this.totalSteps,onRetry:this.onRetry,onCustomizeButtons:this.onCustomizeButtons,jobRunId:this.jobRunId};return e.title=this.getTitle(e),e}updateJob(e){let t=this.getJob(),i={...t,...e},r=this.getTitle(i);r!==i.title&&(i.title=r,e.title=r),this.job=i,n.M_.dispatch((0,l.tD)({id:t.id,changes:e}))}transitionToChildJob(e){let t=this.jobRunId;this.jobRunId=e,((0,o.isNil)(this.totalSteps)||this.currentStepMath.abs(e-this.lastProgressValue)&&100!==e||this.throttledProgressUpdate(e,t)}performProgressUpdate(e,t){(0,o.isNil)(null==t?void 0:t.status)&&this.updateJob({status:"running"}),this.updateJob({progress:e})}async handlePolledStatusUpdate(e){let t={status:e.status,currentStep:e.currentStep,totalSteps:e.totalSteps,messages:(0,o.isNil)(e.currentMessage)?void 0:[e.currentMessage]};await this.processUpdate(t)}async processUpdate(e){(0,o.isNil)(null==e?void 0:e.status)||await this.handleStatusUpdate(e);let t=this.calculateProgress(e);(0,o.isNil)(t)||this.handleProgressUpdate(t,e)}constructor(e){super(),this.job=null,this.currentStep=1,this.lastProgressValue=-1,this.throttledProgressUpdate=(0,o.throttle)((e,t)=>{this.performProgressUpdate(e,t),this.lastProgressValue=e},250,{leading:!0,trailing:!0}),this.jobRunId=e.jobRunId,this.totalSteps=e.totalSteps,this.title=e.title,this.onJobCompletion=e.onJobCompletion,this.onRetry=e.onRetry,this.onCustomizeButtons=e.onCustomizeButtons,this.polling=new m(this.jobRunId,{onStatusUpdate:async e=>{await this.handlePolledStatusUpdate(e)},onError:e=>{console.error("Job run polling error:",e)}})}}},66410(e,t,i){"use strict";i.d(t,{v:()=>r});let r={"studio-backend-default":"studio-backend-default"}},4793(e,t,i){"use strict";i.r(t),i.d(t,{api:()=>n,useNotificationDeleteAllMutation:()=>a,useNotificationDeleteByIdMutation:()=>l,useNotificationGetByIdQuery:()=>s,useNotificationGetCollectionQuery:()=>o});var r=i(53996);let n=i(21914).FH.enhanceEndpoints({addTagTypes:[r.nP.NOTIFICATION_DETAILS,r.nP.NOTIFICATIONS],endpoints:{notificationGetCollection:{providesTags:(e,t,i)=>{let n=[];return null==e||e.items.forEach(e=>{n.push(...r.yc.NOTIFICATION_DETAIL(e.id))}),n.push(...r.yc.NOTIFICATIONS()),n}},notificationGetById:{providesTags:(e,t,i)=>r.yc.NOTIFICATION_DETAIL(i.id)},notificationDeleteAll:{invalidatesTags:(e,t,i)=>r.qN.NOTIFICATIONS()}}}),{useNotificationDeleteByIdMutation:l,useNotificationDeleteAllMutation:a,useNotificationGetCollectionQuery:o,useNotificationGetByIdQuery:s}=n},21914(e,t,i){"use strict";i.d(t,{BN:()=>c,FH:()=>r,bQ:()=>d,sQ:()=>u});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Notifications"]}).injectEndpoints({endpoints:e=>({notificationGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/notifications",method:"POST",body:e.body}),providesTags:["Notifications"]}),notificationDeleteAll:e.mutation({query:()=>({url:"/pimcore-studio/api/notifications",method:"DELETE"}),invalidatesTags:["Notifications"]}),notificationGetById:e.query({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`}),providesTags:["Notifications"]}),notificationReadById:e.mutation({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`,method:"POST"}),invalidatesTags:["Notifications"]}),notificationDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`,method:"DELETE"}),invalidatesTags:["Notifications"]}),notificationGetUnreadCount:e.query({query:()=>({url:"/pimcore-studio/api/notifications/unread-count"}),providesTags:["Notifications"]}),notificationGetRecipients:e.query({query:()=>({url:"/pimcore-studio/api/notifications/recipients"}),providesTags:["Notifications"]}),notificationSend:e.mutation({query:e=>({url:"/pimcore-studio/api/notifications/send",method:"POST",body:e.sendNotificationParameters}),invalidatesTags:["Notifications"]})}),overrideExisting:!1}),{useNotificationGetCollectionQuery:n,useNotificationDeleteAllMutation:l,useNotificationGetByIdQuery:a,useNotificationReadByIdMutation:o,useNotificationDeleteByIdMutation:s,useNotificationGetUnreadCountQuery:d,useNotificationGetRecipientsQuery:c,useNotificationSendMutation:u}=r},2700(e,t,i){"use strict";i.d(t,{JT:()=>o,lc:()=>a});var r=i(88605),n=i(46881);let l=(0,r.createSlice)({name:"activePerspective",initialState:null,reducers:{setActivePerspective:(e,t)=>{let{payload:i}=t;return i}}});l.name,(0,n.injectSliceWithState)(l);let{setActivePerspective:a}=l.actions,o=e=>e.activePerspective},68153(e,t,i){"use strict";i.d(t,{o:()=>n});var r,n=((r={}).AddFolder="addFolder",r.Copy="copy",r.Cut="cut",r.Delete="delete",r.Lock="lock",r.LockAndPropagate="lockAndPropagate",r.Paste="paste",r.Publish="publish",r.Refresh="refresh",r.Rename="rename",r.SearchAndMove="searchAndMove",r.Unlock="unlock",r.UnlockAndPropagate="unlockAndPropagate",r.Unpublish="unpublish",r.AddUpload="addUpload",r.AddUploadZip="addUploadZip",r.Download="download",r.DownloadZip="downloadZip",r.UploadNewVersion="uploadNewVersion",r.AddObject="addObject",r.AddVariant="addVariant",r.ChangeChildrenSortBy="changeChildrenSortBy",r.AddPage="addPage",r.AddSnippet="addSnippet",r.AddLink="addLink",r.AddEmail="addEmail",r.AddHardlink="addHardlink",r.Convert="convert",r.EditSite="editSite",r.Open="open",r.PasteCut="pasteCut",r.RemoveSite="removeSite",r.UseAsSite="useAsSite",r)},96403(e,t,i){"use strict";i.d(t,{a:()=>a});var r=i(41630),n=i(2700),l=i(35864);let a=e=>{let t=(0,n.JT)(r.M_.getState());return!(0,l.isNil)(t)&&o(t.contextPermissions,e)},o=(e,t)=>{if((0,l.isNil)(e))return!1;let i=t.split("."),r=e;for(let e of i)if("object"!=typeof r||!(e in r))return!1;else r=r[e];return!0===r}},33461(e,t,i){"use strict";i.r(t),i.d(t,{usePerspectiveCreateMutation:()=>f,usePerspectiveWidgetCreateMutation:()=>w,usePerspectiveWidgetGetTypeCollectionQuery:()=>k,api:()=>v,usePerspectiveWidgetUpdateConfigByIdMutation:()=>T,usePerspectiveWidgetDeleteMutation:()=>I,usePerspectiveGetConfigByIdQuery:()=>b,usePerspectiveWidgetGetConfigCollectionQuery:()=>C,usePerspectiveGetConfigCollectionQuery:()=>y,usePerspectiveWidgetGetConfigByIdQuery:()=>S,usePerspectiveUpdateConfigByIdMutation:()=>x,usePerspectiveDeleteMutation:()=>j});var r=i(53996);let n=i(53073).api.enhanceEndpoints({addTagTypes:["Perspectives"]}).injectEndpoints({endpoints:e=>({perspectiveCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/perspectives/configuration",method:"POST",body:e.addPerspectiveConfig}),invalidatesTags:["Perspectives"]}),perspectiveGetConfigCollection:e.query({query:()=>({url:"/pimcore-studio/api/perspectives/configurations"}),providesTags:["Perspectives"]}),perspectiveGetConfigById:e.query({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`}),providesTags:["Perspectives"]}),perspectiveUpdateConfigById:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`,method:"PUT",body:e.savePerspectiveConfig}),invalidatesTags:["Perspectives"]}),perspectiveDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`,method:"DELETE"}),invalidatesTags:["Perspectives"]}),perspectiveWidgetCreate:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration`,method:"POST",body:e.body}),invalidatesTags:["Perspectives"]}),perspectiveWidgetGetConfigCollection:e.query({query:e=>({url:"/pimcore-studio/api/perspectives/widgets/configurations",params:{skipWrapperWidgets:e.skipWrapperWidgets}}),providesTags:["Perspectives"]}),perspectiveWidgetGetConfigById:e.query({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`}),providesTags:["Perspectives"]}),perspectiveWidgetUpdateConfigById:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`,method:"PUT",body:e.body}),invalidatesTags:["Perspectives"]}),perspectiveWidgetDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`,method:"DELETE"}),invalidatesTags:["Perspectives"]}),perspectiveWidgetGetTypeCollection:e.query({query:()=>({url:"/pimcore-studio/api/perspectives/widgets/types"}),providesTags:["Perspectives"]})}),overrideExisting:!1}),{usePerspectiveCreateMutation:l,usePerspectiveGetConfigCollectionQuery:a,usePerspectiveGetConfigByIdQuery:o,usePerspectiveUpdateConfigByIdMutation:s,usePerspectiveDeleteMutation:d,usePerspectiveWidgetCreateMutation:c,usePerspectiveWidgetGetConfigCollectionQuery:u,usePerspectiveWidgetGetConfigByIdQuery:p,usePerspectiveWidgetUpdateConfigByIdMutation:m,usePerspectiveWidgetDeleteMutation:g,usePerspectiveWidgetGetTypeCollectionQuery:h}=n,v=n.enhanceEndpoints({addTagTypes:[r.nP.PERSPECTIVES,r.nP.PERSPECTIVE_DETAIL,r.nP.WIDGETS,r.nP.WIDGET_DETAIL],endpoints:{perspectiveGetConfigCollection:{providesTags:e=>r.yc.PERSPECTIVES()},perspectiveGetConfigById:{providesTags:(e,t,i)=>r.yc.PERSPECTIVE_DETAIL(i.perspectiveId)},perspectiveUpdateConfigById:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveDelete:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveCreate:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveWidgetGetConfigCollection:{providesTags:(e,t,i)=>r.yc.WIDGETS()},perspectiveWidgetGetConfigById:{providesTags:(e,t,i)=>r.yc.WIDGET_DETAIL(i.widgetId,i.widgetType)},perspectiveWidgetUpdateConfigById:{invalidatesTags:()=>r.qN.WIDGETS()},perspectiveWidgetCreate:{invalidatesTags:()=>r.qN.WIDGETS()},perspectiveWidgetDelete:{invalidatesTags:()=>r.qN.WIDGETS()}}}),{usePerspectiveCreateMutation:f,usePerspectiveGetConfigCollectionQuery:y,usePerspectiveGetConfigByIdQuery:b,usePerspectiveUpdateConfigByIdMutation:x,usePerspectiveDeleteMutation:j,usePerspectiveWidgetCreateMutation:w,usePerspectiveWidgetGetConfigCollectionQuery:C,usePerspectiveWidgetGetConfigByIdQuery:S,usePerspectiveWidgetUpdateConfigByIdMutation:T,usePerspectiveWidgetDeleteMutation:I,usePerspectiveWidgetGetTypeCollectionQuery:k}=v},14138(e,t,i){"use strict";i.d(t,{y:()=>b});var r=i(53996),n=i(41630),l=i(62930),a=i(86818),o=i(28792),s=i(87632),d=i(63364),c=i(10600),u=i(35864),p=i(55638),m=i(82763),g=i(57330);class h{async run(e){let{messageBus:t}=e;try{let e=await this.executeDeleteRequest();if((0,u.isNil)(e))return void await this.handleCompletion();let i=new m.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,p.Ay)(new p.$g(e.message))}}async executeDeleteRequest(){var e;let t=await n.M_.dispatch(g.FH.endpoints.recycleBinDeleteItems.initiate({body:{items:this.itemIds}}));return(0,u.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,p.Ay)(new p.hD(t.error)),null)}async handleCompletion(){var e;n.M_.dispatch(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN())),null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Recycle bin delete job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.elementTypes=e.elementTypes,this.title=e.title,this.onFinish=e.onFinish}}var v=i(59385);class f{async run(e){let{messageBus:t}=e;try{let e=await this.executeRestoreRequest();if((0,u.isNil)(e))return void await this.handleCompletion();let i=new m.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,p.Ay)(new p.$g(e.message))}}async executeRestoreRequest(){var e;let t=await n.M_.dispatch(g.FH.endpoints.recycleBinRestoreItems.initiate({body:{items:this.itemIds}}));return(0,u.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,p.Ay)(new p.hD(t.error)),null)}async handleCompletion(){var e;n.M_.dispatch((0,v.refreshTreeByElementType)({elementTypes:this.elementTypes})),n.M_.dispatch(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN())),null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Recycle bin restore job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.elementTypes=e.elementTypes,this.title=e.title,this.onFinish=e.onFinish}}var y=i(21429);let b=()=>{let e=(0,n.jL)(),{t}=(0,y.useTranslation)(),[i]=(0,g.$w)(),u=d.kL.get(c.K.executionEngine);return{restoreItems:async(e,i)=>{try{let r=new f({itemIds:e.map(e=>e.id),elementTypes:e.map(e=>(0,s.sv)(e.type)),title:t("recycle-bin.actions.restore.title"),onFinish:i});await u.runJob(r)}catch(e){(0,o.A)(new a.A("Failed to restore item(s) from recycle bin")),null==i||i()}},removeItems:async(e,i)=>{try{let r=new h({itemIds:e.map(e=>e.id),elementTypes:e.map(e=>(0,s.sv)(e.type)),title:t("recycle-bin.actions.delete.title"),onFinish:i});await u.runJob(r)}catch(e){(0,o.A)(new a.A("Failed to remove item(s) from recycle bin")),null==i||i()}},flush:async e=>{let t=i();try{let i=await t;void 0!==i.error&&(0,o.A)(new l.Ay(i.error)),null==e||e()}catch(e){(0,o.A)(new a.A("Failed to flush recycle bin"))}},refreshRecycleBin:()=>{e(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN()))}}}},57330(e,t,i){"use strict";i.d(t,{$w:()=>o,FH:()=>n});var r=i(53073);let n=i(1371).FH.enhanceEndpoints({addTagTypes:[r.tagNames.RECYCLE_BIN],endpoints:{recycleBinGetCollection:{providesTags:(e,t,i)=>{var n;let l=[];return null==e||null==(n=e.items)||n.forEach(e=>{l.push(...r.providingTags.RECYCLING_BIN_DETAIL(e.id))}),[...l,...r.providingTags.RECYCLING_BIN()]}},recycleBinDeleteItems:{invalidatesTags:(e,t,i)=>r.invalidatingTags.RECYCLING_BIN()},recycleBinFlush:{invalidatesTags:()=>r.invalidatingTags.RECYCLING_BIN()},recycleBinRestoreItems:{invalidatesTags:(e,t,i)=>r.invalidatingTags.RECYCLING_BIN()}}}),{useRecycleBinGetCollectionQuery:l,useRecycleBinDeleteItemsMutation:a,useRecycleBinFlushMutation:o,useRecycleBinRestoreItemsMutation:s}=n},1371(e,t,i){"use strict";i.d(t,{FH:()=>r,aP:()=>n});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Recycle Bin"]}).injectEndpoints({endpoints:e=>({recycleBinGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/recycle-bin/items",method:"POST",body:e.body}),providesTags:["Recycle Bin"]}),recycleBinDeleteItems:e.mutation({query:e=>({url:"/pimcore-studio/api/recycle-bin/delete",method:"DELETE",body:e.body}),invalidatesTags:["Recycle Bin"]}),recycleBinFlush:e.mutation({query:()=>({url:"/pimcore-studio/api/recycle-bin/flush",method:"DELETE"}),invalidatesTags:["Recycle Bin"]}),recycleBinRestoreItems:e.mutation({query:e=>({url:"/pimcore-studio/api/recycle-bin/restore",method:"POST",body:e.body}),invalidatesTags:["Recycle Bin"]})}),overrideExisting:!1}),{useRecycleBinGetCollectionQuery:n,useRecycleBinDeleteItemsMutation:l,useRecycleBinFlushMutation:a,useRecycleBinRestoreItemsMutation:o}=r},74234(e,t,i){"use strict";i.d(t,{w:()=>a});var r=i(41834),n=i(88754),l=i(40119);function a(){return{sensors:(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}}),(0,r.useSensor)(r.KeyboardSensor,{coordinateGetter:n.sortableKeyboardCoordinates})),modifiers:[l.restrictToVerticalAxis],collisionDetection:r.closestCenter,strategy:n.verticalListSortingStrategy}}},73761(e,t,i){"use strict";i.d(t,{f:()=>l});var r=i(88754),n=i(74979);function l(e,t){let{attributes:i,listeners:l,setNodeRef:a,transform:o,transition:s,isDragging:d}=(0,r.useSortable)({id:e,disabled:null==t?void 0:t.disabled});return{attributes:i,listeners:l,setNodeRef:a,style:{transform:n.Ks.Transform.toString(o),transition:s,opacity:d?.5:1,cursor:(null==t?void 0:t.disabled)===!0?"default":"grab"}}}},10840(e,t,i){"use strict";i.d(t,{g:()=>u});var r=i(68788),n=i(30698),l=i(74848),a=i(47867),o=i(66707),s=i(8412),d=i(66634);let c=[{config:[],key:"preview",group:["system"],sortable:!1,editable:!1,exportable:!1,localizable:!1,locale:null,type:"system.preview",frontendType:"asset-preview",filterable:!1},{config:[],key:"id",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.id",frontendType:"id",filterable:!0},{config:[],key:"type",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"filename",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"fullpath",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"asset-link",filterable:!0}],u=e=>{let{ConfigurationComponent:t,ContextComponent:i,useSidebarOptions:u,...p}=e;return{...p,ContextComponent:(0,r._)(i),ConfigurationComponent:()=>{let{useDataQueryHelper:e}=(0,s.t)(),{setSelectedColumns:i}=(0,o.K)(),{setAvailableColumns:r}=(0,d.m)(),{setDataLoadingState:n}=e();return(0,a.useEffect)(()=>{let e=[],t=["type","fullpath","preview"];for(let i of c)t.includes(i.key)&&e.push({key:i.key,locale:i.locale,type:i.type,config:i.config,sortable:i.sortable,editable:i.editable,localizable:i.localizable,exportable:i.exportable,frontendType:i.frontendType,originalApiDefinition:i,group:i.group});i(e),r(c),n("config-changed")},[]),(0,l.jsx)(t,{})},useSidebarOptions:(0,n.f)(u,{saveEnabled:!1})}}},20168(e,t,i){"use strict";i.d(t,{g:()=>u});var r=i(68788),n=i(30698),l=i(74848),a=i(47867),o=i(66707),s=i(8412),d=i(66634);let c=[{config:[],key:"id",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.id",frontendType:"id",filterable:!0},{config:[],key:"type",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"filename",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"description",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"fullpath",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"document-link",filterable:!0},{config:[],key:"title",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"published",group:["system"],sortable:!0,editable:!0,exportable:!0,localizable:!1,locale:null,type:"system.boolean",frontendType:"boolean",filterable:!0}],u=e=>{let{ConfigurationComponent:t,ContextComponent:i,useSidebarOptions:u,...p}=e;return{...p,ContextComponent:(0,r._)(i),ConfigurationComponent:()=>{let{useDataQueryHelper:e}=(0,s.t)(),{setSelectedColumns:i}=(0,o.K)(),{setAvailableColumns:r}=(0,d.m)(),{setDataLoadingState:n}=e();return(0,a.useEffect)(()=>{let e=[],t=["type","fullpath","title"];for(let i of c)t.includes(i.key)&&e.push({key:i.key,locale:i.locale,type:i.type,config:i.config,sortable:i.sortable,editable:i.editable,localizable:i.localizable,exportable:i.exportable,frontendType:i.frontendType,originalApiDefinition:i,group:i.group});i(e),r(c),n("config-changed")},[]),(0,l.jsx)(t,{})},useSidebarOptions:(0,n.f)(u,{saveEnabled:!1})}}},68366(e,t,i){"use strict";i.d(t,{Q:()=>c});var r=i(66707),n=i(20351),l=i(35747),a=i(63155),o=i(63364),s=i(10600),d=i(66634);let c=()=>{let{selectedColumns:e}=(0,r.K)(),{availableColumns:t}=(0,d.m)(),{selectedClassDefinition:i}=(0,l.p)(),{dataLoadingState:c,setDataLoadingState:u}=(0,n.E)(),{value:p}=(0,a.I)(),m=(0,o.Lt)(s.K["DynamicTypes/ObjectRegistry"]),g=!1;"string"==typeof p&&m.hasDynamicType(p)&&(g=m.getDynamicType(p).allowClassSelectionInSearch&&(null==i?void 0:i.id)!==void 0);let h=e.map(e=>({key:e.key,type:e.type,locale:e.locale,config:e.config}));return t.filter(e=>Array.isArray(e.group)&&e.group.includes("system")).forEach(e=>{h.some(t=>t.key===e.key)||h.push({key:e.key,type:e.type,locale:e.locale,config:[]})}),{getArgs:()=>({classId:g?null==i?void 0:i.id:void 0,body:{columns:h,filters:{includeDescendants:!0,page:1,pageSize:20}}}),hasRequiredArgs:()=>!0,dataLoadingState:c,setDataLoadingState:u}}},38965(e,t,i){"use strict";i.d(t,{FH:()=>r,KQ:()=>l,PE:()=>o,Qw:()=>d,fd:()=>s,pF:()=>a});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Search"]}).injectEndpoints({endpoints:e=>({assetGetSearchConfiguration:e.query({query:()=>({url:"/pimcore-studio/api/search/configuration/assets"}),providesTags:["Search"]}),assetGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/assets",method:"POST",body:e.body}),providesTags:["Search"]}),dataObjectGetSearchConfiguration:e.query({query:e=>({url:"/pimcore-studio/api/search/configuration/data-objects",params:{classId:e.classId}}),providesTags:["Search"]}),dataObjectGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/data-objects",method:"POST",body:e.body,params:{classId:e.classId}}),providesTags:["Search"]}),documentGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/documents",method:"POST",body:e.body}),providesTags:["Search"]}),simpleSearchPreviewGet:e.query({query:e=>({url:`/pimcore-studio/api/search/preview/${e.elementType}/${e.id}`}),providesTags:["Search"]}),simpleSearchGet:e.query({query:e=>({url:"/pimcore-studio/api/search",params:{page:e.page,pageSize:e.pageSize,searchTerm:e.searchTerm}}),providesTags:["Search"]})}),overrideExisting:!1}),{useAssetGetSearchConfigurationQuery:n,useAssetGetSearchQuery:l,useDataObjectGetSearchConfigurationQuery:a,useDataObjectGetSearchQuery:o,useDocumentGetSearchQuery:s,useSimpleSearchPreviewGetQuery:d,useSimpleSearchGetQuery:c}=r},18037(e,t,i){"use strict";i.d(t,{W:()=>a});var r=i(63824),n=i(35864),l=i(47867);let a=()=>{let{data:e,isLoading:t}=(0,r.Xz)(),i=(0,l.useMemo)(()=>{let t={};return null!=e&&e.forEach(e=>{let i=null==e?void 0:e.locale;null!=i&&""!==i&&(null==e?void 0:e.displayName)!==null&&(null==e?void 0:e.displayName)!==void 0&&""!==e.displayName&&(t[i]=e.displayName)}),t},[e]);return{lookupMap:i,isLoading:t,getDisplayName:e=>(0,n.isNil)(e)||!(0,n.isString)(e)?"Unknown":i[e]??e.toUpperCase()}}},7566(e,t,i){"use strict";i.d(t,{F:()=>o});var r=i(47867),n=i(46423),l=i(19808),a=i(35864);let o=e=>{let[t,i]=(0,r.useState)([]),[o,s]=(0,r.useState)(!0),{getDefaultKeyBindings:d}=(0,n.o)(),{isAuthenticated:c}=(0,l.X)();return(0,r.useEffect)(()=>{(async()=>{if(!(0,a.isNil)(c)&&c)try{s(!0);let t=await d(),r=new Map((e??[]).map(e=>[e.action,e])),n=t.items.map(e=>r.get(e.action)??e);i(n)}catch(t){console.error("error loading default key bindings",t),i(e??[])}finally{s(!1)}})()},[e,c]),{mergedKeyBindings:t,isLoading:o}}},15973(e,t,i){"use strict";i.d(t,{$:()=>n,b:()=>r});let r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t="abcdefghijklmnopqrstuvwxyz0123456789",i="",r=new Uint32Array(e);window.crypto.getRandomValues(r);for(let n=0;n{let t={default:[],bundles:[]};return e.forEach(e=>{null!==e.category&&0!==e.category.length?t.bundles.push(e):t.default.push(e)}),t}},73612(e,t,i){"use strict";i.d(t,{FH:()=>n,Pd:()=>a,S2:()=>l});var r=i(53996);let n=i(74385).FH.enhanceEndpoints({addTagTypes:[r.nP.ROLE],endpoints:{roleGetCollection:{providesTags:()=>r.yc.ROLE()}}}),{useRoleGetCollectionQuery:l,useRoleGetShareCollectionQuery:a}=n},74385(e,t,i){"use strict";i.d(t,{FH:()=>r});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Role Management"]}).injectEndpoints({endpoints:e=>({roleCloneById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/clone/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleFolderCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/role/folder",method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/role",method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleFolderDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/folder/${e.id}`,method:"DELETE"}),invalidatesTags:["Role Management"]}),roleGetById:e.query({query:e=>({url:`/pimcore-studio/api/role/${e.id}`}),providesTags:["Role Management"]}),roleUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/${e.id}`,method:"PUT",body:e.updateRole}),invalidatesTags:["Role Management"]}),roleDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/${e.id}`,method:"DELETE"}),invalidatesTags:["Role Management"]}),roleGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/roles"}),providesTags:["Role Management"]}),roleListWithPermission:e.query({query:e=>({url:"/pimcore-studio/api/roles/with-permission",params:{permission:e.permission}}),providesTags:["Role Management"]}),roleGetTree:e.query({query:e=>({url:"/pimcore-studio/api/roles/tree",params:{parentId:e.parentId}}),providesTags:["Role Management"]}),roleGetShareCollection:e.query({query:()=>({url:"/pimcore-studio/api/roles-share-list"}),providesTags:["Role Management"]}),roleSearch:e.query({query:e=>({url:"/pimcore-studio/api/role/search",params:{searchQuery:e.searchQuery}}),providesTags:["Role Management"]})}),overrideExisting:!1}),{useRoleCloneByIdMutation:n,useRoleFolderCreateMutation:l,useRoleCreateMutation:a,useRoleFolderDeleteByIdMutation:o,useRoleGetByIdQuery:s,useRoleUpdateByIdMutation:d,useRoleDeleteByIdMutation:c,useRoleGetCollectionQuery:u,useRoleListWithPermissionQuery:p,useRoleGetTreeQuery:m,useRoleGetShareCollectionQuery:g,useRoleSearchQuery:h}=r},52178(e,t,i){"use strict";i.d(t,{DA:()=>h,Dg:()=>l,FH:()=>n,Fl:()=>d,Fv:()=>j,QT:()=>y,SC:()=>w,Xs:()=>p,a6:()=>g,a_:()=>S,cR:()=>b,ct:()=>a,eP:()=>f,gA:()=>C,kj:()=>o,rW:()=>u,sp:()=>s,sz:()=>v,v9:()=>c,wm:()=>x,xr:()=>m});var r=i(53996);let n=i(29124).FH.enhanceEndpoints({addTagTypes:[r.nP.USERS,r.nP.USER_DETAIL,r.nP.USER_TREE],endpoints:{userUploadImage:e=>{let t=e.query;void 0!==t&&(e.query=e=>{let i=t(e),r=new FormData;return(r.append("userImage",e.body.userImage),null===i||"object"!=typeof i)?i:{...i,body:r}})},userGetCollection:{providesTags:(e,t,i)=>{let n=[];return void 0!==e&&(n=null==e?void 0:e.items.flatMap(e=>r.yc.USER_DETAIL(e.id))),[...n,...r.yc.USERS()]}},userGetById:{providesTags:(e,t,i)=>r.yc.USER_DETAIL(i.id)},userDeleteById:{invalidatesTags:(e,t,i)=>r.qN.USER_DETAIL(i.id)},userUpdateById:{invalidatesTags:(e,t,i)=>r.qN.USER_DETAIL(i.id)},userGetTree:{providesTags:(e,t,i)=>{let n=[];return void 0!==e&&(n=null==e?void 0:e.items.flatMap(e=>r.yc.USER_DETAIL(e.id))),[...n,...r.yc.USER_TREE(),...r.yc.USERS()]}}}}),{useUserCloneByIdMutation:l,useUserCreateMutation:a,useUserFolderCreateMutation:o,useUserGetCurrentInformationQuery:s,useUserGetByIdQuery:d,useUserUpdateByIdMutation:c,useUserDeleteByIdMutation:u,useUserFolderDeleteByIdMutation:p,useUserDefaultKeyBindingsQuery:m,useUserGetAvailablePermissionsQuery:g,useUserGetCollectionQuery:h,useUserResetPasswordMutation:v,usePimcoreStudioApiUserSearchQuery:f,useUserUpdatePasswordByIdMutation:y,useUserUploadImageMutation:b,useUserGetImageQuery:x,useUserGetTreeQuery:j,useUserTokenLinkGetQuery:w,useLazyUserTokenLinkGetQuery:C,useUserGetShareCollectionQuery:S}=n},11324(e,t,i){"use strict";i.d(t,{P:()=>o});var r=i(46881),n=i(20120),l=i(47867),a=i(61062);let o=()=>{let e=(0,r.useAppSelector)(n.T),t=(0,l.useContext)(a.a);return null!==e&&e.nodeId===t.nodeId}},83196(e,t,i){"use strict";i.d(t,{J:()=>d});var r=i(41630),n=i(20120),l=i(83015),a=i(60124),o=i(3416),s=i(35864);let d=()=>{let e=(0,r.jL)();function t(){let e=r.M_.getState(),t=(0,n.y6)(e);return l.Model.fromJson(t)}function i(){let e=r.M_.getState(),t=(0,n.D9)(e);return l.Model.fromJson(t)}return{openMainWidget:function(t){e((0,n.OS)(t))},updateWidget:function(t){e((0,n.WK)(t))},openBottomWidget:function(t){e((0,n.mB)(t))},openLeftWidget:function(t){e((0,n.wd)(t))},openRightWidget:function(t){e((0,n.Xx)(t))},switchToWidget:function(t){e((0,n.pg)(t))},closeWidget:function(r){let d=function(e){try{let i=t().getNodeById(e);if(!(0,s.isUndefined)(i)&&i instanceof l.TabNode)return{widgetId:e,node:i}}catch(e){console.warn("Could not retrieve inner widget data for event:",e)}return null}(r),c=function(e){try{let t=i().getNodeById(e);if(!(0,s.isUndefined)(t)&&t instanceof l.TabNode)return{widgetId:e,node:t}}catch(e){console.warn("Could not retrieve outer widget data for event:",e)}return null}(r);if(e((0,n.Jj)(r)),!(0,s.isNull)(d)){let e={identifier:{type:o.m["widget-manager:inner:widget-closed"],id:r},payload:d};a.B.publish(e)}if(!(0,s.isNull)(c)){let e={identifier:{type:o.m["widget-manager:outer:widget-closed"],id:r},payload:c};a.B.publish(e)}},isMainWidgetOpen:function(e){return void 0!==t().getNodeById(e)},hasOuterWidget:function(e){return void 0!==i().getNodeById(e)},getOpenedMainWidget:function(){var e;return null==(e=t().getActiveTabset())?void 0:e.getSelectedNode()}}}},72913(e,t,i){"use strict";i.d(t,{U:()=>l});var r=i(21429),n=i(18196);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{t:i}=(0,r.useTranslation)(),l=e.getConfig(),{titleOverride:a,iconOverride:o}=t;return{title:(0,n.uI)(a)?a:(0,n.uI)(l.translationKey)?i(l.translationKey):(0,n.uI)(l.label)?l.label:e.getName(),icon:o??l.icon??{value:"widget-default",type:"name"}}}},57193(e,t,i){"use strict";i.d(t,{I:()=>c,Q:()=>d});var r=i(31635),n=i(62446),l=i(32234),a=i(62059),o=i(35864),s=i(10600);class d{getWidgets(e){return this.widgets[e]??[]}getAllWidgets(){return{...this.widgets}}addWidget(e,t,i){var r;let n=this.widgetRegistry.getWidget(e.widgetType);if(!(0,o.isUndefined)(null==n?void 0:n.isVisible)&&!n.isVisible(e))return null;let l=e.id;for(;this.usedIds.has(l);)l=`${(0,a.u)()}_${e.id}`;this.usedIds.add(l);let s={...e,id:l},d={id:l,type:"tab",name:e.name,component:e.widgetType,enableClose:!!(null==(r=e.additionalAttributes)?void 0:r.enableClose),config:s},c={widget:s,position:t,tabNode:d};return(0,o.isUndefined)(this.widgets[t])&&(this.widgets[t]=[]),void 0!==i&&i>=0?this.widgets[t].splice(i,0,c):this.widgets[t].push(c),l}removeWidget(e){for(let{widgets:t}of this.iterateWidgets()){let i=t.findIndex(t=>t.widget.id===e);if(-1!==i)return t.splice(i,1),!0}return!1}moveWidget(e,t,i){for(let{widgets:r}of this.iterateWidgets()){let n=r.findIndex(t=>t.widget.id===e);if(-1!==n){let[e]=r.splice(n,1);return e.position=t,(0,o.isUndefined)(this.widgets[t])&&(this.widgets[t]=[]),void 0!==i&&i>=0?this.widgets[t].splice(i,0,e):this.widgets[t].push(e),!0}}return!1}updateWidgetConfig(e,t){for(let{widgets:i}of this.iterateWidgets()){let r=i.find(t=>t.widget.id===e);if(!(0,o.isNil)(r))return r.widget={...r.widget,...t},r.tabNode.config={...r.tabNode.config,...t},(0,o.isNil)(t.name)||(r.tabNode.name=t.name),!0}return!1}getWidgetPosition(e){for(let{position:t,widgets:i}of this.iterateWidgets()){let r=i.findIndex(t=>t.widget.id===e);if(-1!==r)return{position:t,index:r}}return null}setExpandedLeft(e){this.expandedLeft=e}setExpandedRight(e){this.expandedRight=e}getExpandedLeft(){return this.expandedLeft??null}getExpandedRight(){return this.expandedRight??null}iterateWidgets(){return Object.entries(this.widgets).map(e=>{let[t,i]=e;return{position:t,widgets:i}})}constructor(e,t,i,r,n,l){this.widgets=e,this.usedIds=t,this.widgetRegistry=i,this.activePerspective=r,this.expandedLeft=n,this.expandedRight=l}}class c extends l.k{createContext(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return new d(e,t,this.widgetRegistry,i,r,n)}constructor(e){super(),this.widgetRegistry=e}}c=(0,r.Cg)([(0,n.injectable)(),(0,r.Qj)(0,(0,n.inject)(s.K.widgetManager)),(0,r.Sn)("design:type",Function),(0,r.Sn)("design:paramtypes",["u"a});var r=i(20120),n=i(35864),l=i(44499);let a=new class{registerStaticWidget(e){!(0,n.isNil)(e.id)&&(0,n.isNil)(this.getStaticWidget(e.id))&&this.widgets.push(e)}getStaticWidget(e){return this.widgets.find(t=>t.id===e)}supports(e){return!(0,n.isNil)(e.id)&&!(0,n.isNil)(this.getStaticWidget(e.id))}cleanConfig(e){return{id:e.id,type:"tab",config:{}}}restore(e,t){if((0,n.isNil)(e.id))return!1;let i=this.getStaticWidget(e.id);if(!(0,n.isNil)(i)){if(!(0,n.isNil)(i.permission)&&!(0,l.J)(i.permission))return!1;let a=(0,n.merge)({},e,i);return t((0,r.WK)(a)),!0}return!1}constructor(){this.widgets=[]}}},83942(e,t,i){"use strict";i.d(t,{Y:()=>a});var r=i(31635),n=i(62446),l=i(47867);class a{registerWidget(e){let t={...e,component:(0,l.memo)(e.component),defaultGlobalContext:e.defaultGlobalContext??!0};this.widgets.push(t)}getWidget(e){return this.widgets.find(t=>t.name===e)}constructor(){this.widgets=[]}}a=(0,r.Cg)([(0,n.injectable)()],a)},86049(e,t,i){"use strict";i.d(t,{$:()=>p,Q_:()=>u});var r=i(17530),n=i(46881),l=i(73565),a=i(63364),o=i(10600),s=i(83015),d=i(35864);let c="widget_manager_inner_model",u=e=>(0,d.isNil)(e)||0===e?c:`${c}_${e}`,p=e=>(0,r.U)(e,()=>{let e=n.store.getState(),t=(0,l.xu)(e);return u(null==t?void 0:t.id)},e=>{let t=a.kL.get(o.K.widgetRestorerRegistry),i=s.Model.fromJson(e.innerModel),r=[],n=[];return i.visitNodes(e=>{if("tab"===e.getType()){let i=e.toJson();t.supports(i)?n.push({id:e.getId(),config:t.cleanConfig(i)}):r.push(e.getId())}}),r.forEach(e=>{i.doAction(s.Actions.deleteTab(e))}),n.forEach(e=>{let{id:t,config:r}=e;i.doAction(s.Actions.updateNodeAttributes(t,r))}),i.toJson()})},20120(e,t,i){"use strict";i.d(t,{D9:()=>S,y6:()=>C,T:()=>T,C_:()=>g,wd:()=>b,mB:()=>y,ue:()=>d,WK:()=>f,XB:()=>h,pg:()=>j,Jj:()=>w,OS:()=>v,Xx:()=>x,I7:()=>m,ZI:()=>u});var r=i(35864),n=i(46881),l=i(88605),a=i(83015),o=i(48333),s=i(86049);let d={outerModel:(0,o.k)(),innerModel:{global:{tabEnableRename:!1,tabSetEnableMaximize:!1,enableUseVisibility:!0},layout:{id:"main",type:"row",children:[{type:"tabset",id:"main_tabset",enableDeleteWhenEmpty:!1,weight:50,selected:0,children:[]}]}},mainWidgetContext:null},c=(0,l.createSlice)({name:"widget-manager",initialState:d,reducers:{updateOuterModel:(e,t)=>{e.outerModel={...t.payload}},updateInnerModel:(e,t)=>{e.innerModel={...t.payload}},updateMainWidgetContext:(e,t)=>{e.mainWidgetContext=t.payload},setActiveWidgetById:(e,t)=>{let i=a.Model.fromJson(e.outerModel),r=a.Model.fromJson(e.innerModel),n=i.getNodeById(t.payload),l=i,o=!0;if(void 0===n&&(n=r.getNodeById(t.payload),l=r,o=!1),void 0!==n){let e=n.getParent();void 0!==e&&(e instanceof a.BorderNode&&e.getSelectedNode()!==n||!(e instanceof a.BorderNode))&&l.doAction(a.Actions.selectTab(n.getId()))}o?e.outerModel={...l.toJson()}:e.innerModel={...l.toJson()}},openMainWidget:(e,t)=>{let i,r=a.Model.fromJson(e.innerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"main_tabset",a.DockLocation.CENTER,-1,!0)),e.innerModel={...r.toJson()}},updateWidget:(e,t)=>{let i,r=a.Model.fromJson(e.innerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i&&(r.doAction(a.Actions.updateNodeAttributes(i.getId(),t.payload)),e.innerModel={...r.toJson()})},openBottomWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"bottom_tabset",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},openLeftWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"border_left",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},openRightWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"border_right",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},closeWidget:(e,t)=>{let i=a.Model.fromJson(e.outerModel),n=a.Model.fromJson(e.innerModel),l=i.getNodeById(t.payload),o=i,s=!0;if(void 0===l&&(l=n.getNodeById(t.payload),o=n,s=!1),void 0!==l){let e=s?void 0:(e=>{let t=e.getParent();if((0,r.isUndefined)(t))return;let i=t.getChildren(),n=i.findIndex(t=>t.getId()===e.getId());if(i.length<=1)return;let l=ne.outerModel,selectInnerModel:e=>e.innerModel,selectMainWidgetContext:e=>e.mainWidgetContext}}),u=c.name,p=(0,s.$)(c.reducer);(0,n.injectSliceWithState)({...c,reducer:p});let{updateOuterModel:m,updateMainWidgetContext:g,updateInnerModel:h,openMainWidget:v,updateWidget:f,openBottomWidget:y,openLeftWidget:b,openRightWidget:x,setActiveWidgetById:j,closeWidget:w}=c.actions,{selectInnerModel:C,selectOuterModel:S,selectMainWidgetContext:T}=c.selectors},32981(e,t,i){"use strict";i.d(t,{f:()=>n});var r,n=((r={}).DOCUMENT="document",r.DATA_OBJECT="dataObject",r.ASSET="asset",r.TRANSLATION="translation",r.CLASS_EDITOR="classEditor",r)},92493(e,t,i){"use strict";i.d(t,{P:()=>l});var r=i(47867),n=i(35864);function l(e,t){let[i,l]=(0,r.useState)(e),a=(0,r.useRef)(e);return(0,r.useEffect)(()=>{(0,n.isEqual)(e,a.current)||(0,n.isEqual)(e,i)||(l(e),a.current=e)},[e,i]),{value:i,handleChange:(0,r.useCallback)(e=>{a.current=e,l(e),null==t||t(e)},[t])}}},17530(e,t,i){"use strict";i.d(t,{U:()=>a,c:()=>l});var r=i(35864),n=i(86833);let l=e=>{try{let t=(0,n._S)(e);if((0,r.isNil)(t))return;return JSON.parse(t)}catch(t){console.warn(`Could not load state for key "${e}"`,t);return}},a=function(e,t){let i,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:()=>!0,o=(0,r.debounce)(e=>{try{let a=l(e),o=(0,r.isFunction)(t)?t(e):t;if(!(0,r.isEqual)(a,i)){let e=JSON.stringify(a);(0,n.AP)(o,e),i=a}}catch(e){console.warn("Could not save state",e)}},200);return(t,i)=>{let n=e(t,i);return t!==n&&!(0,r.isUndefined)(n)&&a(n)&&o(n),n}}},9094(e,t,i){"use strict";i.d(t,{N8:()=>l,WV:()=>s,ZP:()=>o,_W:()=>d});var r=i(35864);let n=["none","mini","extra-small","small","normal","medium","large","extra-large","maxi"],l=(e,t,i)=>{let r={margin:{none:0,mini:e.marginXXS,"extra-small":e.marginXS,small:e.marginSM,normal:e.margin,medium:e.marginMD,large:e.marginLG,"extra-large":e.marginXL,maxi:e.marginXXL},padding:{none:0,mini:e.paddingXXS,"extra-small":e.paddingXS,small:e.paddingSM,normal:e.padding,medium:e.paddingMD,large:e.paddingLG,"extra-large":e.paddingXL,maxi:e.sizeXXL}};return r[i][t]??r[i].normal},a=(e,t,i)=>{if((0,r.isUndefined)(t))return{};if("string"==typeof t){let r=l(e,t,i);return{[i]:`${r}px`}}let n={};for(let[a,o]of Object.entries({x:["Left","Right"],y:["Top","Bottom"],top:["Top"],bottom:["Bottom"],left:["Left"],right:["Right"]}))if(!0===Object.prototype.hasOwnProperty.call(t,a)){let s=t[a];if(!(0,r.isUndefined)(s)){let t=l(e,s,i);for(let e of o)n[`${i}${e}`]=`${t}px`}}return n},o=(e,t)=>a(e,t,"margin"),s=(e,t)=>a(e,t,"padding"),d=(e,t,i,a)=>n.map(n=>((e,t,i,n,a,o)=>{let s=l(o,i,a),d=[];for(let l of n){let n={x:["left","right"],y:["top","bottom"],top:["top"],bottom:["bottom"],left:["left"],right:["right"]}[l];if(!(0,r.isUndefined)(n)){let r=n.map(e=>`${a}-${e}: ${s}px;`).join(" ");d.push(`
+ `}})},94316(e,t,i){"use strict";i.d(t,{KY:()=>x,CI:()=>b,Nn:()=>v,FH:()=>g,e7:()=>j,MF:()=>f,KC:()=>h,Yv:()=>y});var r=i(53996);let n=i(53073).api.enhanceEndpoints({addTagTypes:["Versions"]}).injectEndpoints({endpoints:e=>({versionAssetDownloadById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/asset/download`}),providesTags:["Versions"]}),versionImageStreamById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/image/stream`}),providesTags:["Versions"]}),versionPdfStreamById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}/pdf/stream`}),providesTags:["Versions"]}),versionGetById:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`}),providesTags:["Versions"]}),versionUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"PUT",body:e.updateVersion}),invalidatesTags:["Versions"]}),versionPublishById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"POST"}),invalidatesTags:["Versions"]}),versionDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.id}`,method:"DELETE"}),invalidatesTags:["Versions"]}),versionGetCollectionForElementByTypeAndId:e.query({query:e=>({url:`/pimcore-studio/api/versions/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize}}),providesTags:["Versions"]}),versionCleanupForElementByTypeAndId:e.mutation({query:e=>({url:`/pimcore-studio/api/versions/${e.elementType}/${e.id}`,method:"DELETE"}),invalidatesTags:["Versions"]})}),overrideExisting:!1}),{useVersionAssetDownloadByIdQuery:l,useVersionImageStreamByIdQuery:a,useVersionPdfStreamByIdQuery:o,useVersionGetByIdQuery:s,useVersionUpdateByIdMutation:d,useVersionPublishByIdMutation:c,useVersionDeleteByIdMutation:u,useVersionGetCollectionForElementByTypeAndIdQuery:p,useVersionCleanupForElementByTypeAndIdMutation:m}=n,g=n.enhanceEndpoints({addTagTypes:[r.nP.ASSET_DETAIL],endpoints:{versionGetById:{providesTags:(e,t,i)=>r.yc.VERSIONS_DETAIL(i.id)},versionGetCollectionForElementByTypeAndId:{providesTags:(e,t,i)=>{let n=[];return null==e||e.items.forEach(e=>{n.push(...r.yc.VERSIONS_DETAIL(e.id))}),[...n,...r.yc.ELEMENT_VERSIONS(i.elementType,i.id)]}},versionCleanupForElementByTypeAndId:{invalidatesTags:(e,t,i)=>r.qN.ELEMENT_VERSIONS(i.elementType,i.id)},versionUpdateById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)},versionPublishById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)},versionDeleteById:{invalidatesTags:(e,t,i)=>r.qN.VERSIONS_DETAIL(i.id)}}}),{useVersionAssetDownloadByIdQuery:h,useVersionCleanupForElementByTypeAndIdMutation:v,useVersionDeleteByIdMutation:f,useVersionGetByIdQuery:y,useVersionGetCollectionForElementByTypeAndIdQuery:b,useVersionPublishByIdMutation:x,useVersionUpdateByIdMutation:j}=g},57064(e,t,i){"use strict";i.d(t,{F:()=>l});var r=i(31635),n=i(62446);class l{getTabs(){return this.tabs}getTab(e){return this.tabs.find(t=>t.key===e)}register(e){void 0!==this.getTab(e.key)?this.tabs.splice(this.tabs.findIndex(t=>t.key===e.key),1,e):this.tabs.push(e)}constructor(){this.type="",this.tabs=[]}}l=(0,r.Cg)([(0,n.injectable)()],l)},79606(e,t,i){"use strict";i.d(t,{M6:()=>u,RX:()=>s,lA:()=>a,lK:()=>d,lu:()=>p,mG:()=>l,tX:()=>o,vK:()=>c,zq:()=>m});var r=i(16327),n=i(53996);let{useElementDeleteMutation:l,useElementGetDeleteInfoQuery:a,useElementFolderCreateMutation:o,useElementGetContextPermissionsQuery:s,useElementGetIdByPathQuery:d,useLazyElementGetIdByPathQuery:c,useElementGetSubtypeQuery:u,useElementResolveBySearchTermQuery:p,useLazyElementResolveBySearchTermQuery:m}=r.FH.enhanceEndpoints({addTagTypes:[n.nP.DATA_OBJECT_DETAIL,n.nP.ASSET_DETAIL],endpoints:{elementDelete:{invalidatesTags:(e,t,i)=>n.qN.ELEMENT_DETAIL(i.elementType,i.id)}}})},16327(e,t,i){"use strict";i.d(t,{FH:()=>r,mG:()=>n,tX:()=>a});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Elements"]}).injectEndpoints({endpoints:e=>({elementDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/delete/${e.id}`,method:"DELETE"}),invalidatesTags:["Elements"]}),elementGetDeleteInfo:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/delete-info/${e.id}`}),providesTags:["Elements"]}),elementFolderCreate:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/folder/${e.parentId}`,method:"POST",body:e.folderData}),invalidatesTags:["Elements"]}),elementGetContextPermissions:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/context-permissions/`}),providesTags:["Elements"]}),elementGetTreeLocation:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/location/${e.id}/${e.perspectiveId}`}),providesTags:["Elements"]}),elementGetIdByPath:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/path`,params:{elementPath:e.elementPath}}),providesTags:["Elements"]}),elementGetSubtype:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/subtype/${e.id}`}),providesTags:["Elements"]}),elementGetUsage:e.query({query:e=>({url:`/pimcore-studio/api/elements/usage/${e.elementType}/${e.id}`,params:{page:e.page,pageSize:e.pageSize,sortOrder:e.sortOrder,sortBy:e.sortBy}}),providesTags:["Elements"]}),elementUsageReplace:e.mutation({query:e=>({url:`/pimcore-studio/api/elements/usage/replace/${e.elementType}/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Elements"]}),elementResolveBySearchTerm:e.query({query:e=>({url:`/pimcore-studio/api/elements/${e.elementType}/resolve`,params:{searchTerm:e.searchTerm}}),providesTags:["Elements"]})}),overrideExisting:!1}),{useElementDeleteMutation:n,useElementGetDeleteInfoQuery:l,useElementFolderCreateMutation:a,useElementGetContextPermissionsQuery:o,useElementGetTreeLocationQuery:s,useElementGetIdByPathQuery:d,useElementGetSubtypeQuery:c,useElementGetUsageQuery:u,useElementUsageReplaceMutation:p,useElementResolveBySearchTermQuery:m}=r},81674(e,t,i){"use strict";i.d(t,{Cr:()=>p,Ed:()=>u,Ip:()=>d,ME:()=>g,U9:()=>m,Vn:()=>h});var r=i(35864),n=i(40595),l=i(63364),a=i(10600),o=i(87632),s=i(47351);let d=(e,t)=>{let i=c(e,t),r=new s.V(e,t,i);return l.kL.get(a.K["Element/ProcessorRegistry/IconProcessor"]).executeProcessors(r),r.getIcon()??t},c=(e,t)=>{var i,r;return(null==(i=e.customAttributes)?void 0:i.icon)!==void 0&&(null==(r=e.customAttributes)?void 0:r.icon)!==null?e.customAttributes.icon:"isSite"in e&&e.isSite?{type:"name",value:"home-root-folder"}:void 0!==e.icon&&null!==e.icon?e.icon:t},u=(e,t)=>"asset"===t?e.filename??"":"data-object"===t||"document"===t?e.key??"":"",p=(e,t,i)=>{let r=`${e}_ACTION_${t}`;return void 0!==i&&(r+=`_ID_${i}`),r.toUpperCase()},m=e=>(0,r.isPlainObject)(e)&&(0,r.has)(e,"id")&&(0,r.has)(e,"type")&&(0,r.has)(e,"fullPath"),g=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=e.data,n="published"in i?i.published:null;return{id:i.id,type:(0,o.FA)(e.type),fullPath:String(i.fullPath),isPublished:t&&(0,r.isBoolean)(n)?n:null,subtype:"data-object"===e.type?e.data.classname??"folder":e.data.type??void 0}},h=(e,t)=>`${window.location.origin}${n.pc}${e}/${t}`},80546(e,t,i){"use strict";i.d(t,{F:()=>o});var r=i(41630),n=i(73362),l=i(91434),a=i(46766);let o=(e,t)=>{var i;let o=(0,r.jL)(),s=function(){if("asset"===e)return n.api;if("data-object"===e)return l.FH;if("document"===e)return a.FH;throw Error("Unknown element type")}(),d=(i=t,s.util.selectInvalidatedBy(r.M_.getState(),i)),c=e=>{let{updateFn:t}=e;d.forEach(e=>{o(s.util.updateQueryData(e.endpointName,e.originalArgs,t))})};return{update:c,updateFieldValue:(e,t,i)=>{c({updateFn:r=>{if("items"in r&&"object"==typeof r.items){let n=r.items.findIndex(t=>t.id===e);-1!==n&&t in r.items[n]&&(r.items[n][t]=i)}}})}}}},13397(e,t,i){"use strict";i.d(t,{M:()=>p});var r=i(73362),n=i(91434),l=i(80546),a=i(46881),o=i(62843),s=i(69187),d=i(35864),c=i(55638),u=i(75023);let p=(e,t)=>{let i=(0,a.useAppDispatch)(),[p]=(0,r.useAssetPatchByIdMutation)({fixedCacheKey:t}),[m]=(0,n.M5)({fixedCacheKey:t}),[g]=(0,u.vA)({fixedCacheKey:t}),[h]=(0,o.OR)(),[v]=(0,s.rg)(),{updateFieldValue:f}=(0,l.F)("asset",["ASSET_TREE"]),{updateFieldValue:y}=(0,l.F)("data-object",["DATA_OBJECT_TREE"]),{updateFieldValue:b}=(0,l.F)("document",["DOCUMENT_TREE"]);return{elementPatch:async t=>{try{if("asset"===e){let e=await p(t);return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),f(t.body.data[0].id,"filename",t.body.data[0].key),(0,d.isUndefined)(e.error)}if("data-object"===e){let e=await m(t);return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),y(t.body.data[0].id,"key",t.body.data[0].key),(0,d.isUndefined)(e.error)}if("document"===e){1!==t.body.data.length&&(0,c.Ay)(new c.$g("Document patching only supports a single element"));let e=await g({id:t.body.data[0].id,body:{data:{parentId:t.body.data[0].parentId,key:t.body.data[0].key,locked:t.body.data[0].locked,index:t.body.data[0].index}}});return(0,d.isUndefined)(e.error)||(0,c.Ay)(new c.hD(e.error)),b(t.body.data[0].id,"key",t.body.data[0].key),(0,d.isUndefined)(e.error)}}catch{(0,c.Ay)(new c.$g("Error while patching element"))}return!1},getElementById:async t=>{if("asset"===e){let{data:e}=await i(o.FH.endpoints.assetGetById.initiate({id:t}));return void 0!==e?("error"in e&&(0,c.Ay)(new c.$g("Could not get Asset by Id")),e):{}}if("data-object"===e){let{data:e}=await i(s.FH.endpoints.dataObjectGetById.initiate({id:t}));return void 0!==e?("error"in e&&(0,c.Ay)(new c.$g("Could not get Object by Id")),e):{}}},elementClone:async t=>{try{var i,r;if("asset"===e){let e=await h(t);if(!(0,d.isUndefined)(e.error))return(0,c.Ay)(new c.hD(e.error)),{success:!1};return{success:!0,jobRunId:null==(i=e.data)?void 0:i.jobRunId}}if("data-object"===e){let e=await v(t);if(!(0,d.isUndefined)(e.error))return(0,c.Ay)(new c.hD(e.error)),{success:!1};return{success:!0,jobRunId:(null==(r=e.data)?void 0:r.jobRunId)??void 0}}}catch(e){console.error(e)}return{success:!1}}}}},7334(e,t,i){"use strict";i.d(t,{J:()=>s,L:()=>d});var r=i(47867),n=i(39857),l=i(20713),a=i(15789),o=i(55638);let s=()=>{let e=d();if(null!==e)return e;let t="No element context found";throw(0,o.Ay)(new o.$g(t)),Error(t)},d=()=>{let{id:e}=(0,r.useContext)(n.m),{id:t}=(0,r.useContext)(l.Z),{id:i}=(0,r.useContext)(a.T);return 0!==e?{id:e,elementType:"asset"}:0!==t?{id:t,elementType:"data-object"}:0!==i?{id:i,elementType:"document"}:null}},33142(e,t,i){"use strict";i.d(t,{D:()=>o});var r=i(89354),n=i(66026),l=i(55638),a=i(15156);let o=(e,t)=>{if("asset"===t){let t=(0,r.l)(e);return{...t,element:t.asset}}if("data-object"===t){let t=(0,n.A)(e);return{...t,element:t.dataObject}}if("document"===t){let t=(0,a.S)(e);return{...t,element:t.document}}throw(0,l.Ay)(new l.$g("Element type not supported")),Error("Element type not supported")}},56789(e,t,i){"use strict";i.d(t,{K:()=>s});var r=i(55638),n=i(40721),l=i(75091),a=i(87632),o=i(46096);let s=()=>{let{executeDataObjectTask:e}=(0,n.H)(),{executeDocumentTask:t}=(0,l.$)();return{openElement:async function e(e){let{element:t}=(0,o.qH)();await t.openElement(e.id,e.type)},mapToElementType:function(e,t){let i=(0,a.sv)(e);return null===i&&!0!==t?void(0,r.Ay)(new r.$g(`Unknown element type: ${e}`)):i??void 0},mapToLegacyElementType:e=>{let t=(0,a.sv)(e);return null!==t?(0,a.FA)(t):e},executeElementTask:(i,r,n,l)=>{"data-object"===i?e(r,n,l):"document"===i?t(r,n,l):console.log("not implemented for elementType: "+i)}}}},55490(e,t,i){"use strict";i.d(t,{Q:()=>o});var r=i(27918),n=i(85566),l=i(79246),a=i(83196);let o=()=>{var e;let{getOpenedMainWidget:t}=(0,a.J)(),{context:i}=(0,r.k)(),{context:o}=(0,n.L)(),{context:s}=(0,l.v)(),d=null==(e=t())?void 0:e.getComponent();return"asset-editor"===d?{context:i}:"data-object-editor"===d?{context:o}:"document-editor"===d?{context:s}:{context:void 0}}},8412(e,t,i){"use strict";i.d(t,{t:()=>l});var r=i(47867),n=i(99582);let l=()=>{let e=(0,r.useContext)(n.l);if(null==e)throw Error("useSettings must be used within a SettingsProvider");return e}},74525(e,t,i){"use strict";i.d(t,{p:()=>y});var r=i(74848);i(47867);var n=i(46533),l=i(2807),a=i(3201),o=i(53209),s=i(75591),d=i(85185),c=i(96197),u=i(9273),p=i(61067),m=i(66634),g=i(72928),h=i(17044),v=i(85775),f=i(7789);let y=(e,t)=>{let{ContextComponent:i,useDataQueryHelper:y,useSidebarOptions:b,...x}=e;return{ContextComponent:()=>(0,r.jsx)(s.fr,{config:t,children:(0,r.jsx)(n.y,{children:(0,r.jsx)(o.WI,{children:(0,r.jsx)(a.VY,{children:(0,r.jsx)(l.v,{children:(0,r.jsx)(i,{})})})})})}),useDataQueryHelper:()=>{let{getArgs:e,...t}=y(),{getDataQueryFilterArg:i}=(0,d.U)(),{getDataQueryFilterArg:r}=(0,u.Z)(),{onlyDirectChildren:n}=(0,c.e)(),{fieldFilters:l}=(0,p.F)(),{availableColumns:s}=(0,m.m)(),{getType:f}=(0,g.R)(),{currentLanguage:b}=(0,v.Sk)();return{...t,getArgs:()=>{let t,d=e(),c=i(),u=r(),p=s.map(e=>e.key);p.push(a.SG,o.vh);let m=[...(d.body.filters.columnFilters??[]).filter(e=>!p.includes(e.type))];return void 0!==c&&m.push(c),void 0!==u&&m.push(u),l.length>0&&m.push(...(t=[],l.forEach(e=>{let i=s.find(t=>t.key===e.key);if(void 0===i)return;let r=f({target:"FIELD_FILTER",dynamicTypeIds:[i.type,i.frontendType]});if(null===r)return;if(!(r instanceof h.C))if(!("dynamicTypeFieldFilterType"in r))return;else r=r.dynamicTypeFieldFilterType;let n=r;n.shouldApply(e)&&t.push(n.transformFilterToApiRequest(e))}),t)),{...d,body:{...d.body,filters:{...d.body.filters,includeDescendants:!n,columnFilters:m.map(t=>{var i,r;let n,l,{...a}=t;return{...a,locale:(i=a.key,r=a.locale,n=s.find(e=>e.key===i),l="classId"in e(),"default"===r?null:(null==n?void 0:n.localizable)===!0?r??(l?b:null):null)}})}}}}}},useSidebarOptions:(0,f.h)(b),...x}}},79963(e,t,i){"use strict";i.d(t,{M:()=>l});var r=i(47867),n=i(78921);let l=()=>{let e=(0,r.useContext)(n.E);if(void 0===e)throw Error("usePaging must be used within a PagingProvider");return e}},59991(e,t,i){"use strict";i.d(t,{S:()=>a});var r=i(74848);i(47867);var n=i(78921),l=i(79963);let a=e=>{let{useDataQueryHelper:t,ContextComponent:i,...a}=e;return{...a,ContextComponent:()=>(0,r.jsx)(n.Q,{children:(0,r.jsx)(i,{})}),useDataQueryHelper:()=>{let{getArgs:e,hasRequiredArgs:i,...r}=t(),n=(0,l.M)();return{...r,hasRequiredArgs:i,getArgs:()=>{let t=e();return{...t,body:{...t.body??{},filters:{...t.body.filters??{},...{page:(null==n?void 0:n.page)??1,pageSize:(null==n?void 0:n.pageSize)??10}}}}}}}}}},56177(e,t,i){"use strict";i.d(t,{Y:()=>c});var r=i(74848),n=i(47867),l=i(81916),a=i(53894),o=i(20351),s=i(66634),d=i(92277);let c=(e,t)=>{let{useGridOptions:i,useSidebarOptions:c,ContextComponent:u,...p}=e;return{...p,ContextComponent:()=>(0,r.jsx)(l.G,{children:(0,r.jsx)(u,{})}),useGridOptions:()=>{let{getGridProps:e,...r}=i(),{data:l}=(0,o.E)(),{selectedRows:d,setSelectedRows:c,selectedRowsData:u,setSelectedRowsData:p}=(0,a.U)(),{availableColumns:m}=(0,s.m)();return(0,n.useEffect)(()=>{let e={},t=m.filter(e=>Array.isArray(e.group)&&e.group.includes("system")).map(e=>e.key);for(let i in d){let r=parseInt(i);for(let i of l.items){let n=i.columns.find(e=>"id"===e.key);if(void 0!==n&&n.value===r)for(let n of i.columns)t.includes(n.key)&&(e[r]={...e[r],[n.key]:n.value})}}p({...u,...e})},[d]),{...r,getGridProps:()=>({...e(),enableRowSelection:"single"===t.rowSelectionMode,enableMultipleRowSelection:"multiple"===t.rowSelectionMode,selectedRows:d,onSelectedRowsChange:c})}},useSidebarOptions:"multiple"===t.rowSelectionMode?(0,d.l)(c):c}}},55059(e,t,i){"use strict";i.d(t,{Y:()=>c});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let[t,i]=(0,n.useState)([]);return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{sorting:t,setSorting:i},children:e.children}),[t,e.children])},o=()=>{let e=(0,n.useContext)(l);if(void 0===e)throw Error("useSorting must be used within a SortingProvider");return e};var s=i(66707),d=i(10014);let c=e=>{let{useGridOptions:t,ContextComponent:i,useDataQueryHelper:n,...l}=e;return{...l,ContextComponent:()=>(0,r.jsx)(a,{children:(0,r.jsx)(i,{})}),useGridOptions:()=>{let{getGridProps:e,transformGridColumn:i,...r}=t(),{sorting:n,setSorting:l}=o(),a=e=>{l(e)};return{...r,transformGridColumn:e=>({...i(e),enableSorting:e.sortable}),getGridProps:()=>({...e(),sorting:n,onSortingChange:a,enableSorting:!0,manualSorting:!0})}},useDataQueryHelper:()=>{let{getArgs:e,...t}=n(),{sorting:i}=o(),{decodeColumnIdentifier:r}=(0,s.K)(),{currentLanguage:l}=(0,d.S)();return{...t,getArgs:()=>{let t=e(),n="classId"in t,a=[];for(let e of i??[]){var o,s;let t=r(e.id);void 0!==t&&a.push({key:(null==t||null==(s=t.config)||null==(o=s.filters)?void 0:o.key)??t.key,locale:t.localizable?t.locale??(n?l:void 0):void 0,direction:e.desc?"desc":"asc"})}return{...t,body:{...t.body,filters:{...t.body.filters,...a.length>0?{sortFilter:a[0]}:{}}}}}}}}}},94614(e,t,i){"use strict";i.d(t,{m:()=>l});var r=i(47867),n=i(9356);let l=()=>{let e=(0,r.useContext)(n.W);if(void 0===e)throw Error("useGridConfig must be used within a GridConfigProvider");return e}},40910(e,t,i){"use strict";i.d(t,{u:()=>l});var r=i(47867),n=i(32436);let l=()=>{let e=(0,r.useContext)(n.g);if(void 0===e)throw Error("useSelectedGridConfigId must be used within a SelectedGridConfigIdProvider");return e}},79472(e,t,i){"use strict";i.d(t,{o:()=>n});var r=i(35864);let n=(e,t)=>!(0,r.isUndefined)(e)&&!0===e[t]},47351(e,t,i){"use strict";i.d(t,{V:()=>a,n:()=>o});var r=i(31635),n=i(62446),l=i(32234);class a{setIcon(e){this.icon=e}getIcon(){return this.icon}hasIcon(){return null!==this.icon}constructor(e,t,i=null){this.element=e,this.defaultIcon=t,this.icon=i}}class o extends l.k{}o=(0,r.Cg)([(0,n.injectable)()],o)},87632(e,t,i){"use strict";i.d(t,{FA:()=>o,Hy:()=>r,b9:()=>n,sv:()=>a,wy:()=>l});let r=e=>n.includes(e),n=["asset","document","data-object"],l=["asset","document","object"],a=e=>{switch(e){case"asset":return"asset";case"document":return"document";case"data-object":case"object":case"dataObject":return"data-object";default:return null}},o=e=>"data-object"===e?"object":e},44511(e,t,i){"use strict";i.d(t,{a:()=>l});var r=i(46096),n=i(35864);let l=(e,t)=>{if(!(0,n.isNil)(t)&&!(0,n.isNil)(e))try{(0,r.qH)().element.locateInTree(t,e)}catch(e){console.error("Failed to locate element in tree:",e)}}},11940(e,t,i){"use strict";i.d(t,{X1:()=>o,FH:()=>r});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Execution Engine"]}).injectEndpoints({endpoints:e=>({executionEngineAbortJobRunById:e.mutation({query:e=>({url:`/pimcore-studio/api/execution-engine/abort/${e.jobRunId}`,method:"POST"}),invalidatesTags:["Execution Engine"]}),executionEngineHideJobRuns:e.mutation({query:e=>({url:"/pimcore-studio/api/execution-engine/hide",method:"POST",body:e.body}),invalidatesTags:["Execution Engine"]}),executionEngineListJobs:e.query({query:e=>({url:"/pimcore-studio/api/execution-engine/running-jobs",method:"POST",body:e.body}),providesTags:["Execution Engine"]})}),overrideExisting:!1}),{useExecutionEngineAbortJobRunByIdMutation:n,useExecutionEngineHideJobRunsMutation:l,useExecutionEngineListJobsQuery:a}=r;r.enhanceEndpoints({endpoints:{executionEngineAbortJobRunById:{invalidatesTags:[]},executionEngineHideJobRuns:{invalidatesTags:[]},executionEngineListJobs:{providesTags:[]}}});let{useExecutionEngineAbortJobRunByIdMutation:o,useExecutionEngineHideJobRunsMutation:s,useExecutionEngineListJobsQuery:d}=r},26642(e,t,i){"use strict";i.d(t,{Ub:()=>c,VI:()=>d,fS:()=>o,tD:()=>s});var r=i(46881),n=i(88605);let l=(0,n.createEntityAdapter)({}),a=(0,n.createSlice)({name:"execution-engine",initialState:l.getInitialState(),reducers:{jobReceived:l.addOne,jobUpdated:l.updateOne,jobDeleted:l.removeOne}});(0,r.injectSliceWithState)(a);let{jobReceived:o,jobUpdated:s,jobDeleted:d}=a.actions,{selectAll:c,selectById:u}=l.getSelectors(e=>e["execution-engine"])},2662(e,t,i){"use strict";i.d(t,{O:()=>l});var r=i(63364),n=i(10600);let l=()=>r.kL.get(n.K.executionEngine)},30652(e,t,i){"use strict";i.d(t,{O:()=>l});var r=i(46881),n=i(26642);let l=()=>{let e=(0,r.useAppDispatch)();return{jobs:(0,r.useAppSelector)(n.Ub),updateJob:function(t,i){e((0,n.tD)({id:t,changes:{...i}}))},removeJob:function(t){e((0,n.VI)(t))},addJob:function(t){e((0,n.fS)(t))}}}},83295(e,t,i){"use strict";i.d(t,{f:()=>u});var r=i(35864),n=i(41630),l=i(59385),a=i(55638),o=i(82763),s=i(40875),d=i(67282),c=i(60142);class u{async run(e){let{messageBus:t}=e;(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!0}));try{let e=await this.executeCloneRequest();if((0,r.isNil)(e))return void await this.handleCompletion();let i=new o.j({jobRunId:e,title:e=>"running"===e.status&&2===e.currentStep?(0,c.t)("jobs.clone-job.step2.title"):this.title,stepTracker:new s.o,progressCalculator:new d.j,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,a.Ay)(new a.$g(e.message))}}async handleCompletion(){(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),n.M_.dispatch((0,l.refreshNodeChildren)({elementType:this.elementType,nodeId:this.targetId.toString()}))}async handleJobFailure(e){(0,r.isString)(this.treeId)&&(0,r.isString)(this.nodeId)&&n.M_.dispatch((0,l.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),console.error("Clone job failed:",e)}constructor(e){this.sourceId=e.sourceId,this.targetId=e.targetId,this.title=e.title,this.elementType=e.elementType,this.treeId=e.treeId,this.nodeId=e.nodeId}}},82763(e,t,i){"use strict";i.d(t,{j:()=>f});var r=i(57248),n=i(41630),l=i(26642);let a=0;var o=i(35864),s=i(63364),d=i(10600),c=i(11940),u=i(22164);let p=["finished","finished_with_errors","failed"];class m{notifyUpdate(){this.isDestroyed||(this.stopPolling(),this.schedulePolling())}destroy(){this.isDestroyed=!0,this.stopPolling()}schedulePolling(){this.pollingBackoff.schedule(()=>{this.startPolling()})}startPolling(){this.isPolling||this.isDestroyed||(this.isPolling=!0,this.lastJobSnapshot=null,this.pollJobStatus())}scheduleNextPoll(){this.pollingBackoff.schedule(()=>{this.pollJobStatus()})}hasJobChanged(e){return(0,o.isNil)(this.lastJobSnapshot)||this.lastJobSnapshot.state!==e.state||this.lastJobSnapshot.currentStep!==e.currentStep||this.lastJobSnapshot.totalSteps!==e.totalSteps||this.lastJobSnapshot.currentMessage!==e.currentMessage||this.lastJobSnapshot.modificationDate!==e.modificationDate}stopPolling(){this.pollingBackoff.clear(),this.isPolling=!1,this.lastJobSnapshot=null}createSnapshot(e){return{state:e.state,currentStep:e.currentStep??null,totalSteps:e.totalSteps??null,currentMessage:e.currentMessage,modificationDate:e.modificationDate}}async pollJobStatus(){if(this.isDestroyed)return void this.stopPolling();try{let{data:e}=await n.M_.dispatch(c.FH.endpoints.executionEngineListJobs.initiate({body:{filters:{page:1,pageSize:1,columnFilters:[{type:"id",filterValue:Number(this.jobRunId)}]}}},{forceRefetch:!0}));if((0,o.isNil)(e))this.pollingBackoff.increase(),this.scheduleNextPoll();else{let t=e.items[0];if((0,o.isNil)(t))this.stopPolling();else{let e=this.createSnapshot(t);this.hasJobChanged(e)?this.pollingBackoff.reset():"queued"!==t.state&&this.pollingBackoff.increase(),this.lastJobSnapshot=e;let i=0===t.currentStep?"queued":t.state;if(await this.callbacks.onStatusUpdate({status:i,currentStep:t.currentStep,totalSteps:t.totalSteps,currentMessage:t.currentMessage,jobRun:t}),p.includes(t.state))return void this.stopPolling();this.scheduleNextPoll()}}}catch(i){var e,t;(null==(e=(t=this.callbacks).onError)?void 0:e.call(t,i))??console.error("Error polling job run status:",i),this.scheduleNextPoll()}}constructor(e,t){this.isPolling=!1,this.isDestroyed=!1,this.lastJobSnapshot=null,this.jobRunId=e,this.callbacks=t,this.pollingBackoff=new u._({initialDelay:1e4,maxDelay:3e5,multiplier:1.25}),this.schedulePolling()}}var g=i(25548),h=i(42523),v=i(94097);class f extends r.k{shouldHandle(e){var t;let i=null==(t=e.payload)?void 0:t.jobRunId;return!(0,o.isNil)(i)&&String(i)===String(this.jobRunId)}getId(){return this.jobRunId}onRegister(){n.M_.dispatch((0,l.fS)(this.getJob()))}async handleMessage(e){try{if("update"===e.type){let t=e.payload;if((0,o.isNil)(t))return;this.polling.notifyUpdate(),await this.processUpdate(t)}}catch(e){console.error("Error in message handling: ",e)}}onUnregister(){this.throttledProgressUpdate.cancel(),this.polling.destroy()}getTitle(e){return(0,o.isFunction)(this.title)?this.title(e):this.title}async handleJobCompletion(e){(0,o.isNil)(this.onJobCompletion)||await this.onJobCompletion(e)}getJob(){return this.job=this.job??this.createJob(),this.job}createJob(){var e;let{currentStep:t,totalSteps:i}=this.stepTracker.state,r={id:a++,type:"default-message-bus",title:"",status:"queued",progress:0,currentStep:this.stepTracker.showStepLabel?t:void 0,totalSteps:this.stepTracker.showStepLabel?i:void 0,stepDescriptionKey:null==(e=this.stepDescriptions)?void 0:e[t],onRetry:this.onRetry,onCustomizeButtons:this.onCustomizeButtons,jobRunId:this.jobRunId};return r.title=this.getTitle(r),r}updateJob(e){let t=this.getJob(),i={...t,...e},r=this.getTitle(i);r!==i.title&&(i.title=r,e.title=r),this.job=i,n.M_.dispatch((0,l.tD)({id:t.id,changes:e}))}transitionToChildJob(e){var t,i,r;let n=this.jobRunId;this.jobRunId=e;let l=this.stepTracker.onChildJobTransition(),a=s.kL.get(d.K.globalMessageBus);a.unregisterHandler(n),a.registerHandler(this),this.polling=new m(this.jobRunId,{onStatusUpdate:async e=>{await this.handlePolledStatusUpdate(e)},onError:e=>{console.error("Job run polling error:",e)}}),this.lastProgressValue=-1,null==(t=(i=this.progressCalculator).onStepChange)||t.call(i),this.updateJob({status:"running",progress:0,...this.stepTracker.showStepLabel&&{currentStep:l.currentStep,totalSteps:l.totalSteps,stepDescriptionKey:null==(r=this.stepDescriptions)?void 0:r[l.currentStep]},jobRunId:e})}async handleStatusUpdate(e){var t;if("finished"===e.status&&!(0,o.isNil)(null==(t=e.messages)?void 0:t.jobRunChildId)&&String(e.messages.jobRunChildId)!==String(this.jobRunId))return this.transitionToChildJob(Number(e.messages.jobRunChildId)),!0;if(["finished","finished_with_errors","failed"].includes(String(e.status))){let t={finished:"success",finished_with_errors:"finished_with_errors",failed:"failed"}[e.status]??"failed",i={isSuccessful:"finished"===String(e.status),isFinished:["finished","finished_with_errors"].includes(String(e.status)),isFailed:"failed"===String(e.status),status:t,payload:e};await this.handleJobCompletion(i);let r=Array.isArray(e.messages)?e.messages:void 0;this.updateJob({status:t,messages:r}),s.kL.get(d.K.globalMessageBus).unregisterHandler(this.jobRunId)}else"running"===e.status&&this.updateJob({status:"running"});return!1}handleProgressUpdate(e,t){null!==e&&(eMath.abs(e-this.lastProgressValue)&&100!==e)||this.throttledProgressUpdate(e,t)}performProgressUpdate(e,t){(0,o.isNil)(null==t?void 0:t.status)&&this.updateJob({status:"running"}),null===e?this.updateJob({indeterminate:!0}):this.updateJob({indeterminate:!1,progress:e})}async handlePolledStatusUpdate(e){let t={status:e.status,currentStep:e.currentStep,totalSteps:e.totalSteps,messages:(0,o.isNil)(e.currentMessage)?void 0:[e.currentMessage]};await this.processUpdate(t)}async processUpdate(e){if(!(0,o.isNil)(null==e?void 0:e.status)&&await this.handleStatusUpdate(e))return;if(!(0,o.isNil)(null==e?void 0:e.currentStep)){let n=this.stepTracker.onBackendStep(e.currentStep);if(null!==n){var t,i,r;null==(t=(i=this.progressCalculator).onStepChange)||t.call(i),this.lastProgressValue=-1,this.stepTracker.showStepLabel&&this.updateJob({currentStep:n.currentStep,totalSteps:n.totalSteps,stepDescriptionKey:null==(r=this.stepDescriptions)?void 0:r[n.currentStep]})}}if(!(0,o.isNil)(null==e?void 0:e.totalSteps)&&this.stepTracker.showStepLabel){let t=this.stepTracker.state;(0,o.isNil)(t.totalSteps)&&"onBackendTotalSteps"in this.stepTracker&&(this.stepTracker.onBackendTotalSteps(e.totalSteps),this.updateJob({totalSteps:e.totalSteps}))}let{currentStep:n,totalSteps:l}=this.stepTracker.state,a=this.progressCalculator.calculateProgress(e,{currentStep:n,totalSteps:l,lastProgressValue:this.lastProgressValue});a!==v.o&&this.handleProgressUpdate(a,e)}constructor(e){super(),this.job=null,this.lastProgressValue=-1,this.throttledProgressUpdate=(0,o.throttle)((e,t)=>{this.performProgressUpdate(e,t),null!==e&&(this.lastProgressValue=e)},250,{leading:!0,trailing:!0}),this.jobRunId=e.jobRunId,this.title=e.title,this.stepDescriptions=e.stepDescriptions,this.stepTracker=e.stepTracker??new g.m,this.progressCalculator=e.progressCalculator??new h.a,this.onJobCompletion=e.onJobCompletion,this.onRetry=e.onRetry,this.onCustomizeButtons=e.onCustomizeButtons,this.polling=new m(this.jobRunId,{onStatusUpdate:async e=>{await this.handlePolledStatusUpdate(e)},onError:e=>{console.error("Job run polling error:",e)}})}}},94097(e,t,i){"use strict";i.d(t,{o:()=>r});let r=Symbol("progress-no-update")},42523(e,t,i){"use strict";i.d(t,{a:()=>l});var r=i(35864),n=i(94097);class l{calculateProgress(e,t){if((0,r.isNil)(null==e?void 0:e.progress))return n.o;let i=e.progress;if(!(0,r.isNil)(t.totalSteps)&&!(0,r.isNil)(null==e?void 0:e.currentStep)&&!(0,r.isNil)(null==e?void 0:e.totalSteps)&&e.totalSteps>1&&e.totalSteps!==t.totalSteps){let t=e.currentStep,r=e.totalSteps;return this.hadGradualProgress=!0,Math.max(0,Math.min(100,(t-1)/r*100+i/r))}return i<100?(this.hadGradualProgress=!0,Math.max(0,Math.min(100,i))):100===i&&this.hadGradualProgress?100:null}onStepChange(){this.hadGradualProgress=!1}constructor(){this.hadGradualProgress=!1}}},67282(e,t,i){"use strict";i.d(t,{j:()=>l});var r=i(35864),n=i(94097);class l{calculateProgress(e,t){if(!(0,r.isNil)(null==e?void 0:e.currentStep)&&!(0,r.isNil)(null==e?void 0:e.totalSteps)&&e.totalSteps>1){let t=e.currentStep,i=e.totalSteps;return((0,r.isNil)(null==e?void 0:e.progress)?100:e.progress)>=100?Math.round(t/i*100):Math.round((t-1)/i*100)}return(0,r.isNil)(null==e?void 0:e.progress)?n.o:Math.max(0,Math.min(100,e.progress))}}},40875(e,t,i){"use strict";i.d(t,{o:()=>r});class r{get state(){return this._state}onBackendStep(e){return null}onChildJobTransition(){return this._state={...this._state,currentStep:this._state.currentStep+1},this._state}constructor(e={}){this.showStepLabel=!0,this._state={currentStep:1,totalSteps:e.totalSteps}}}},25548(e,t,i){"use strict";i.d(t,{m:()=>r});class r{get state(){return this._state}onBackendStep(e){return e<=this._state.currentStep?null:(this._state={...this._state,currentStep:e},this._state)}onChildJobTransition(){return this._state={...this._state,currentStep:this._state.currentStep+1},this._state}onBackendTotalSteps(e){void 0===this._state.totalSteps&&(this._state={...this._state,totalSteps:e})}constructor(e={}){this._state={currentStep:1},this.showStepLabel=e.showStepLabel??!1}}},66410(e,t,i){"use strict";i.d(t,{v:()=>r});let r={"studio-backend-default":"studio-backend-default"}},4793(e,t,i){"use strict";i.r(t),i.d(t,{api:()=>n,useNotificationDeleteAllMutation:()=>a,useNotificationDeleteByIdMutation:()=>l,useNotificationGetByIdQuery:()=>s,useNotificationGetCollectionQuery:()=>o});var r=i(53996);let n=i(21914).FH.enhanceEndpoints({addTagTypes:[r.nP.NOTIFICATION_DETAILS,r.nP.NOTIFICATIONS],endpoints:{notificationGetCollection:{providesTags:(e,t,i)=>{let n=[];return null==e||e.items.forEach(e=>{n.push(...r.yc.NOTIFICATION_DETAIL(e.id))}),n.push(...r.yc.NOTIFICATIONS()),n}},notificationGetById:{providesTags:(e,t,i)=>r.yc.NOTIFICATION_DETAIL(i.id)},notificationDeleteAll:{invalidatesTags:(e,t,i)=>r.qN.NOTIFICATIONS()}}}),{useNotificationDeleteByIdMutation:l,useNotificationDeleteAllMutation:a,useNotificationGetCollectionQuery:o,useNotificationGetByIdQuery:s}=n},21914(e,t,i){"use strict";i.d(t,{BN:()=>c,FH:()=>r,bQ:()=>d,sQ:()=>u});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Notifications"]}).injectEndpoints({endpoints:e=>({notificationGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/notifications",method:"POST",body:e.body}),providesTags:["Notifications"]}),notificationDeleteAll:e.mutation({query:()=>({url:"/pimcore-studio/api/notifications",method:"DELETE"}),invalidatesTags:["Notifications"]}),notificationGetById:e.query({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`}),providesTags:["Notifications"]}),notificationReadById:e.mutation({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`,method:"POST"}),invalidatesTags:["Notifications"]}),notificationDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/notifications/${e.id}`,method:"DELETE"}),invalidatesTags:["Notifications"]}),notificationGetUnreadCount:e.query({query:()=>({url:"/pimcore-studio/api/notifications/unread-count"}),providesTags:["Notifications"]}),notificationGetRecipients:e.query({query:()=>({url:"/pimcore-studio/api/notifications/recipients"}),providesTags:["Notifications"]}),notificationSend:e.mutation({query:e=>({url:"/pimcore-studio/api/notifications/send",method:"POST",body:e.sendNotificationParameters}),invalidatesTags:["Notifications"]})}),overrideExisting:!1}),{useNotificationGetCollectionQuery:n,useNotificationDeleteAllMutation:l,useNotificationGetByIdQuery:a,useNotificationReadByIdMutation:o,useNotificationDeleteByIdMutation:s,useNotificationGetUnreadCountQuery:d,useNotificationGetRecipientsQuery:c,useNotificationSendMutation:u}=r},2700(e,t,i){"use strict";i.d(t,{JT:()=>o,lc:()=>a});var r=i(88605),n=i(46881);let l=(0,r.createSlice)({name:"activePerspective",initialState:null,reducers:{setActivePerspective:(e,t)=>{let{payload:i}=t;return i}}});l.name,(0,n.injectSliceWithState)(l);let{setActivePerspective:a}=l.actions,o=e=>e.activePerspective},68153(e,t,i){"use strict";i.d(t,{o:()=>n});var r,n=((r={}).AddFolder="addFolder",r.Copy="copy",r.Cut="cut",r.Delete="delete",r.Lock="lock",r.LockAndPropagate="lockAndPropagate",r.Paste="paste",r.Publish="publish",r.Refresh="refresh",r.Rename="rename",r.SearchAndMove="searchAndMove",r.Unlock="unlock",r.UnlockAndPropagate="unlockAndPropagate",r.Unpublish="unpublish",r.AddUpload="addUpload",r.AddUploadZip="addUploadZip",r.Download="download",r.DownloadZip="downloadZip",r.UploadNewVersion="uploadNewVersion",r.AddObject="addObject",r.AddVariant="addVariant",r.ChangeChildrenSortBy="changeChildrenSortBy",r.AddPage="addPage",r.AddSnippet="addSnippet",r.AddLink="addLink",r.AddEmail="addEmail",r.AddHardlink="addHardlink",r.Convert="convert",r.EditSite="editSite",r.Open="open",r.PasteCut="pasteCut",r.RemoveSite="removeSite",r.UseAsSite="useAsSite",r)},96403(e,t,i){"use strict";i.d(t,{a:()=>a});var r=i(41630),n=i(2700),l=i(35864);let a=e=>{let t=(0,n.JT)(r.M_.getState());return!(0,l.isNil)(t)&&o(t.contextPermissions,e)},o=(e,t)=>{if((0,l.isNil)(e))return!1;let i=t.split("."),r=e;for(let e of i)if("object"!=typeof r||!(e in r))return!1;else r=r[e];return!0===r}},33461(e,t,i){"use strict";i.r(t),i.d(t,{usePerspectiveCreateMutation:()=>f,usePerspectiveWidgetCreateMutation:()=>w,usePerspectiveWidgetGetTypeCollectionQuery:()=>k,api:()=>v,usePerspectiveWidgetUpdateConfigByIdMutation:()=>T,usePerspectiveWidgetDeleteMutation:()=>I,usePerspectiveGetConfigByIdQuery:()=>b,usePerspectiveWidgetGetConfigCollectionQuery:()=>C,usePerspectiveGetConfigCollectionQuery:()=>y,usePerspectiveWidgetGetConfigByIdQuery:()=>S,usePerspectiveUpdateConfigByIdMutation:()=>x,usePerspectiveDeleteMutation:()=>j});var r=i(53996);let n=i(53073).api.enhanceEndpoints({addTagTypes:["Perspectives"]}).injectEndpoints({endpoints:e=>({perspectiveCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/perspectives/configuration",method:"POST",body:e.addPerspectiveConfig}),invalidatesTags:["Perspectives"]}),perspectiveGetConfigCollection:e.query({query:()=>({url:"/pimcore-studio/api/perspectives/configurations"}),providesTags:["Perspectives"]}),perspectiveGetConfigById:e.query({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`}),providesTags:["Perspectives"]}),perspectiveUpdateConfigById:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`,method:"PUT",body:e.savePerspectiveConfig}),invalidatesTags:["Perspectives"]}),perspectiveDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/configuration/${e.perspectiveId}`,method:"DELETE"}),invalidatesTags:["Perspectives"]}),perspectiveWidgetCreate:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration`,method:"POST",body:e.body}),invalidatesTags:["Perspectives"]}),perspectiveWidgetGetConfigCollection:e.query({query:e=>({url:"/pimcore-studio/api/perspectives/widgets/configurations",params:{skipWrapperWidgets:e.skipWrapperWidgets}}),providesTags:["Perspectives"]}),perspectiveWidgetGetConfigById:e.query({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`}),providesTags:["Perspectives"]}),perspectiveWidgetUpdateConfigById:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`,method:"PUT",body:e.body}),invalidatesTags:["Perspectives"]}),perspectiveWidgetDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/perspectives/widgets/${e.widgetType}/configuration/${e.widgetId}`,method:"DELETE"}),invalidatesTags:["Perspectives"]}),perspectiveWidgetGetTypeCollection:e.query({query:()=>({url:"/pimcore-studio/api/perspectives/widgets/types"}),providesTags:["Perspectives"]})}),overrideExisting:!1}),{usePerspectiveCreateMutation:l,usePerspectiveGetConfigCollectionQuery:a,usePerspectiveGetConfigByIdQuery:o,usePerspectiveUpdateConfigByIdMutation:s,usePerspectiveDeleteMutation:d,usePerspectiveWidgetCreateMutation:c,usePerspectiveWidgetGetConfigCollectionQuery:u,usePerspectiveWidgetGetConfigByIdQuery:p,usePerspectiveWidgetUpdateConfigByIdMutation:m,usePerspectiveWidgetDeleteMutation:g,usePerspectiveWidgetGetTypeCollectionQuery:h}=n,v=n.enhanceEndpoints({addTagTypes:[r.nP.PERSPECTIVES,r.nP.PERSPECTIVE_DETAIL,r.nP.WIDGETS,r.nP.WIDGET_DETAIL],endpoints:{perspectiveGetConfigCollection:{providesTags:e=>r.yc.PERSPECTIVES()},perspectiveGetConfigById:{providesTags:(e,t,i)=>r.yc.PERSPECTIVE_DETAIL(i.perspectiveId)},perspectiveUpdateConfigById:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveDelete:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveCreate:{invalidatesTags:()=>r.qN.PERSPECTIVES()},perspectiveWidgetGetConfigCollection:{providesTags:(e,t,i)=>r.yc.WIDGETS()},perspectiveWidgetGetConfigById:{providesTags:(e,t,i)=>r.yc.WIDGET_DETAIL(i.widgetId,i.widgetType)},perspectiveWidgetUpdateConfigById:{invalidatesTags:()=>r.qN.WIDGETS()},perspectiveWidgetCreate:{invalidatesTags:()=>r.qN.WIDGETS()},perspectiveWidgetDelete:{invalidatesTags:()=>r.qN.WIDGETS()}}}),{usePerspectiveCreateMutation:f,usePerspectiveGetConfigCollectionQuery:y,usePerspectiveGetConfigByIdQuery:b,usePerspectiveUpdateConfigByIdMutation:x,usePerspectiveDeleteMutation:j,usePerspectiveWidgetCreateMutation:w,usePerspectiveWidgetGetConfigCollectionQuery:C,usePerspectiveWidgetGetConfigByIdQuery:S,usePerspectiveWidgetUpdateConfigByIdMutation:T,usePerspectiveWidgetDeleteMutation:I,usePerspectiveWidgetGetTypeCollectionQuery:k}=v},14138(e,t,i){"use strict";i.d(t,{y:()=>b});var r=i(53996),n=i(41630),l=i(62930),a=i(86818),o=i(28792),s=i(87632),d=i(63364),c=i(10600),u=i(35864),p=i(55638),m=i(82763),g=i(57330);class h{async run(e){let{messageBus:t}=e;try{let e=await this.executeDeleteRequest();if((0,u.isNil)(e))return void await this.handleCompletion();let i=new m.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,p.Ay)(new p.$g(e.message))}}async executeDeleteRequest(){var e;let t=await n.M_.dispatch(g.FH.endpoints.recycleBinDeleteItems.initiate({body:{items:this.itemIds}}));return(0,u.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,p.Ay)(new p.hD(t.error)),null)}async handleCompletion(){var e;n.M_.dispatch(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN())),null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Recycle bin delete job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.elementTypes=e.elementTypes,this.title=e.title,this.onFinish=e.onFinish}}var v=i(59385);class f{async run(e){let{messageBus:t}=e;try{let e=await this.executeRestoreRequest();if((0,u.isNil)(e))return void await this.handleCompletion();let i=new m.j({jobRunId:e,title:this.title,onJobCompletion:async e=>{try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}}});t.registerHandler(i)}catch(e){await this.handleJobFailure(e),(0,p.Ay)(new p.$g(e.message))}}async executeRestoreRequest(){var e;let t=await n.M_.dispatch(g.FH.endpoints.recycleBinRestoreItems.initiate({body:{items:this.itemIds}}));return(0,u.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,p.Ay)(new p.hD(t.error)),null)}async handleCompletion(){var e;n.M_.dispatch((0,v.refreshTreeByElementType)({elementTypes:this.elementTypes})),n.M_.dispatch(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN())),null==(e=this.onFinish)||e.call(this)}async handleJobFailure(e){console.error("Recycle bin restore job failed:",e)}constructor(e){this.itemIds=e.itemIds,this.elementTypes=e.elementTypes,this.title=e.title,this.onFinish=e.onFinish}}var y=i(21429);let b=()=>{let e=(0,n.jL)(),{t}=(0,y.useTranslation)(),[i]=(0,g.$w)(),u=d.kL.get(c.K.executionEngine);return{restoreItems:async(e,i)=>{try{let r=new f({itemIds:e.map(e=>e.id),elementTypes:e.map(e=>(0,s.sv)(e.type)),title:t("recycle-bin.actions.restore.title"),onFinish:i});await u.runJob(r)}catch(e){(0,o.A)(new a.A("Failed to restore item(s) from recycle bin")),null==i||i()}},removeItems:async(e,i)=>{try{let r=new h({itemIds:e.map(e=>e.id),elementTypes:e.map(e=>(0,s.sv)(e.type)),title:t("recycle-bin.actions.delete.title"),onFinish:i});await u.runJob(r)}catch(e){(0,o.A)(new a.A("Failed to remove item(s) from recycle bin")),null==i||i()}},flush:async e=>{let t=i();try{let i=await t;void 0!==i.error&&(0,o.A)(new l.Ay(i.error)),null==e||e()}catch(e){(0,o.A)(new a.A("Failed to flush recycle bin"))}},refreshRecycleBin:()=>{e(g.FH.util.invalidateTags(r.qN.RECYCLING_BIN()))}}}},57330(e,t,i){"use strict";i.d(t,{$w:()=>o,FH:()=>n});var r=i(53073);let n=i(1371).FH.enhanceEndpoints({addTagTypes:[r.tagNames.RECYCLE_BIN],endpoints:{recycleBinGetCollection:{providesTags:(e,t,i)=>{var n;let l=[];return null==e||null==(n=e.items)||n.forEach(e=>{l.push(...r.providingTags.RECYCLING_BIN_DETAIL(e.id))}),[...l,...r.providingTags.RECYCLING_BIN()]}},recycleBinDeleteItems:{invalidatesTags:(e,t,i)=>r.invalidatingTags.RECYCLING_BIN()},recycleBinFlush:{invalidatesTags:()=>r.invalidatingTags.RECYCLING_BIN()},recycleBinRestoreItems:{invalidatesTags:(e,t,i)=>r.invalidatingTags.RECYCLING_BIN()}}}),{useRecycleBinGetCollectionQuery:l,useRecycleBinDeleteItemsMutation:a,useRecycleBinFlushMutation:o,useRecycleBinRestoreItemsMutation:s}=n},1371(e,t,i){"use strict";i.d(t,{FH:()=>r,aP:()=>n});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Recycle Bin"]}).injectEndpoints({endpoints:e=>({recycleBinGetCollection:e.query({query:e=>({url:"/pimcore-studio/api/recycle-bin/items",method:"POST",body:e.body}),providesTags:["Recycle Bin"]}),recycleBinDeleteItems:e.mutation({query:e=>({url:"/pimcore-studio/api/recycle-bin/delete",method:"DELETE",body:e.body}),invalidatesTags:["Recycle Bin"]}),recycleBinFlush:e.mutation({query:()=>({url:"/pimcore-studio/api/recycle-bin/flush",method:"DELETE"}),invalidatesTags:["Recycle Bin"]}),recycleBinRestoreItems:e.mutation({query:e=>({url:"/pimcore-studio/api/recycle-bin/restore",method:"POST",body:e.body}),invalidatesTags:["Recycle Bin"]})}),overrideExisting:!1}),{useRecycleBinGetCollectionQuery:n,useRecycleBinDeleteItemsMutation:l,useRecycleBinFlushMutation:a,useRecycleBinRestoreItemsMutation:o}=r},74234(e,t,i){"use strict";i.d(t,{w:()=>a});var r=i(41834),n=i(88754),l=i(40119);function a(){return{sensors:(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}}),(0,r.useSensor)(r.KeyboardSensor,{coordinateGetter:n.sortableKeyboardCoordinates})),modifiers:[l.restrictToVerticalAxis],collisionDetection:r.closestCenter,strategy:n.verticalListSortingStrategy}}},73761(e,t,i){"use strict";i.d(t,{f:()=>l});var r=i(88754),n=i(74979);function l(e,t){let{attributes:i,listeners:l,setNodeRef:a,transform:o,transition:s,isDragging:d}=(0,r.useSortable)({id:e,disabled:null==t?void 0:t.disabled});return{attributes:i,listeners:l,setNodeRef:a,style:{transform:n.Ks.Transform.toString(o),transition:s,opacity:d?.5:1,cursor:(null==t?void 0:t.disabled)===!0?"default":"grab"}}}},10840(e,t,i){"use strict";i.d(t,{g:()=>u});var r=i(68788),n=i(30698),l=i(74848),a=i(47867),o=i(66707),s=i(8412),d=i(66634);let c=[{config:[],key:"preview",group:["system"],sortable:!1,editable:!1,exportable:!1,localizable:!1,locale:null,type:"system.preview",frontendType:"asset-preview",filterable:!1},{config:[],key:"id",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.id",frontendType:"id",filterable:!0},{config:[],key:"type",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"filename",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"fullpath",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"asset-link",filterable:!0}],u=e=>{let{ConfigurationComponent:t,ContextComponent:i,useSidebarOptions:u,...p}=e;return{...p,ContextComponent:(0,r._)(i),ConfigurationComponent:()=>{let{useDataQueryHelper:e}=(0,s.t)(),{setSelectedColumns:i}=(0,o.K)(),{setAvailableColumns:r}=(0,d.m)(),{setDataLoadingState:n}=e();return(0,a.useEffect)(()=>{let e=[],t=["type","fullpath","preview"];for(let i of c)t.includes(i.key)&&e.push({key:i.key,locale:i.locale,type:i.type,config:i.config,sortable:i.sortable,editable:i.editable,localizable:i.localizable,exportable:i.exportable,frontendType:i.frontendType,originalApiDefinition:i,group:i.group});i(e),r(c),n("config-changed")},[]),(0,l.jsx)(t,{})},useSidebarOptions:(0,n.f)(u,{saveEnabled:!1})}}},20168(e,t,i){"use strict";i.d(t,{g:()=>u});var r=i(68788),n=i(30698),l=i(74848),a=i(47867),o=i(66707),s=i(8412),d=i(66634);let c=[{config:[],key:"id",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.id",frontendType:"id",filterable:!0},{config:[],key:"type",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"filename",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"description",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!0},{config:[],key:"fullpath",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"document-link",filterable:!0},{config:[],key:"title",group:["system"],sortable:!0,editable:!1,exportable:!0,localizable:!1,locale:null,type:"system.string",frontendType:"input",filterable:!1},{config:[],key:"published",group:["system"],sortable:!0,editable:!0,exportable:!0,localizable:!1,locale:null,type:"system.boolean",frontendType:"boolean",filterable:!0}],u=e=>{let{ConfigurationComponent:t,ContextComponent:i,useSidebarOptions:u,...p}=e;return{...p,ContextComponent:(0,r._)(i),ConfigurationComponent:()=>{let{useDataQueryHelper:e}=(0,s.t)(),{setSelectedColumns:i}=(0,o.K)(),{setAvailableColumns:r}=(0,d.m)(),{setDataLoadingState:n}=e();return(0,a.useEffect)(()=>{let e=[],t=["type","fullpath","title"];for(let i of c)t.includes(i.key)&&e.push({key:i.key,locale:i.locale,type:i.type,config:i.config,sortable:i.sortable,editable:i.editable,localizable:i.localizable,exportable:i.exportable,frontendType:i.frontendType,originalApiDefinition:i,group:i.group});i(e),r(c),n("config-changed")},[]),(0,l.jsx)(t,{})},useSidebarOptions:(0,n.f)(u,{saveEnabled:!1})}}},68366(e,t,i){"use strict";i.d(t,{Q:()=>c});var r=i(66707),n=i(20351),l=i(35747),a=i(63155),o=i(63364),s=i(10600),d=i(66634);let c=()=>{let{selectedColumns:e}=(0,r.K)(),{availableColumns:t}=(0,d.m)(),{selectedClassDefinition:i}=(0,l.p)(),{dataLoadingState:c,setDataLoadingState:u}=(0,n.E)(),{value:p}=(0,a.I)(),m=(0,o.Lt)(s.K["DynamicTypes/ObjectRegistry"]),g=!1;"string"==typeof p&&m.hasDynamicType(p)&&(g=m.getDynamicType(p).allowClassSelectionInSearch&&(null==i?void 0:i.id)!==void 0);let h=e.map(e=>({key:e.key,type:e.type,locale:e.locale,config:e.config}));return t.filter(e=>Array.isArray(e.group)&&e.group.includes("system")).forEach(e=>{h.some(t=>t.key===e.key)||h.push({key:e.key,type:e.type,locale:e.locale,config:[]})}),{getArgs:()=>({classId:g?null==i?void 0:i.id:void 0,body:{columns:h,filters:{includeDescendants:!0,page:1,pageSize:20}}}),hasRequiredArgs:()=>!0,dataLoadingState:c,setDataLoadingState:u}}},38965(e,t,i){"use strict";i.d(t,{FH:()=>r,KQ:()=>l,PE:()=>o,Qw:()=>d,fd:()=>s,pF:()=>a});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Search"]}).injectEndpoints({endpoints:e=>({assetGetSearchConfiguration:e.query({query:()=>({url:"/pimcore-studio/api/search/configuration/assets"}),providesTags:["Search"]}),assetGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/assets",method:"POST",body:e.body}),providesTags:["Search"]}),dataObjectGetSearchConfiguration:e.query({query:e=>({url:"/pimcore-studio/api/search/configuration/data-objects",params:{classId:e.classId}}),providesTags:["Search"]}),dataObjectGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/data-objects",method:"POST",body:e.body,params:{classId:e.classId}}),providesTags:["Search"]}),documentGetSearch:e.query({query:e=>({url:"/pimcore-studio/api/search/documents",method:"POST",body:e.body}),providesTags:["Search"]}),simpleSearchPreviewGet:e.query({query:e=>({url:`/pimcore-studio/api/search/preview/${e.elementType}/${e.id}`}),providesTags:["Search"]}),simpleSearchGet:e.query({query:e=>({url:"/pimcore-studio/api/search",params:{page:e.page,pageSize:e.pageSize,searchTerm:e.searchTerm}}),providesTags:["Search"]})}),overrideExisting:!1}),{useAssetGetSearchConfigurationQuery:n,useAssetGetSearchQuery:l,useDataObjectGetSearchConfigurationQuery:a,useDataObjectGetSearchQuery:o,useDocumentGetSearchQuery:s,useSimpleSearchPreviewGetQuery:d,useSimpleSearchGetQuery:c}=r},18037(e,t,i){"use strict";i.d(t,{W:()=>a});var r=i(63824),n=i(35864),l=i(47867);let a=()=>{let{data:e,isLoading:t}=(0,r.Xz)(),i=(0,l.useMemo)(()=>{let t={};return null!=e&&e.forEach(e=>{let i=null==e?void 0:e.locale;null!=i&&""!==i&&(null==e?void 0:e.displayName)!==null&&(null==e?void 0:e.displayName)!==void 0&&""!==e.displayName&&(t[i]=e.displayName)}),t},[e]);return{lookupMap:i,isLoading:t,getDisplayName:e=>(0,n.isNil)(e)||!(0,n.isString)(e)?"Unknown":i[e]??e.toUpperCase()}}},7566(e,t,i){"use strict";i.d(t,{F:()=>o});var r=i(47867),n=i(46423),l=i(19808),a=i(35864);let o=e=>{let[t,i]=(0,r.useState)([]),[o,s]=(0,r.useState)(!0),{getDefaultKeyBindings:d}=(0,n.o)(),{isAuthenticated:c}=(0,l.X)();return(0,r.useEffect)(()=>{(async()=>{if(!(0,a.isNil)(c)&&c)try{s(!0);let t=await d(),r=new Map((e??[]).map(e=>[e.action,e])),n=t.items.map(e=>r.get(e.action)??e);i(n)}catch(t){console.error("error loading default key bindings",t),i(e??[])}finally{s(!1)}})()},[e,c]),{mergedKeyBindings:t,isLoading:o}}},15973(e,t,i){"use strict";i.d(t,{$:()=>n,b:()=>r});let r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t="abcdefghijklmnopqrstuvwxyz0123456789",i="",r=new Uint32Array(e);window.crypto.getRandomValues(r);for(let n=0;n{let t={default:[],bundles:[]};return e.forEach(e=>{null!==e.category&&0!==e.category.length?t.bundles.push(e):t.default.push(e)}),t}},73612(e,t,i){"use strict";i.d(t,{FH:()=>n,Pd:()=>a,S2:()=>l});var r=i(53996);let n=i(74385).FH.enhanceEndpoints({addTagTypes:[r.nP.ROLE],endpoints:{roleGetCollection:{providesTags:()=>r.yc.ROLE()}}}),{useRoleGetCollectionQuery:l,useRoleGetShareCollectionQuery:a}=n},74385(e,t,i){"use strict";i.d(t,{FH:()=>r});let r=i(53073).api.enhanceEndpoints({addTagTypes:["Role Management"]}).injectEndpoints({endpoints:e=>({roleCloneById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/clone/${e.id}`,method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleFolderCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/role/folder",method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleCreate:e.mutation({query:e=>({url:"/pimcore-studio/api/role",method:"POST",body:e.body}),invalidatesTags:["Role Management"]}),roleFolderDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/folder/${e.id}`,method:"DELETE"}),invalidatesTags:["Role Management"]}),roleGetById:e.query({query:e=>({url:`/pimcore-studio/api/role/${e.id}`}),providesTags:["Role Management"]}),roleUpdateById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/${e.id}`,method:"PUT",body:e.updateRole}),invalidatesTags:["Role Management"]}),roleDeleteById:e.mutation({query:e=>({url:`/pimcore-studio/api/role/${e.id}`,method:"DELETE"}),invalidatesTags:["Role Management"]}),roleGetCollection:e.query({query:()=>({url:"/pimcore-studio/api/roles"}),providesTags:["Role Management"]}),roleListWithPermission:e.query({query:e=>({url:"/pimcore-studio/api/roles/with-permission",params:{permission:e.permission}}),providesTags:["Role Management"]}),roleGetTree:e.query({query:e=>({url:"/pimcore-studio/api/roles/tree",params:{parentId:e.parentId}}),providesTags:["Role Management"]}),roleGetShareCollection:e.query({query:()=>({url:"/pimcore-studio/api/roles-share-list"}),providesTags:["Role Management"]}),roleSearch:e.query({query:e=>({url:"/pimcore-studio/api/role/search",params:{searchQuery:e.searchQuery}}),providesTags:["Role Management"]})}),overrideExisting:!1}),{useRoleCloneByIdMutation:n,useRoleFolderCreateMutation:l,useRoleCreateMutation:a,useRoleFolderDeleteByIdMutation:o,useRoleGetByIdQuery:s,useRoleUpdateByIdMutation:d,useRoleDeleteByIdMutation:c,useRoleGetCollectionQuery:u,useRoleListWithPermissionQuery:p,useRoleGetTreeQuery:m,useRoleGetShareCollectionQuery:g,useRoleSearchQuery:h}=r},52178(e,t,i){"use strict";i.d(t,{DA:()=>h,Dg:()=>l,FH:()=>n,Fl:()=>d,Fv:()=>j,QT:()=>y,SC:()=>w,Xs:()=>p,a6:()=>g,a_:()=>S,cR:()=>b,ct:()=>a,eP:()=>f,gA:()=>C,kj:()=>o,rW:()=>u,sp:()=>s,sz:()=>v,v9:()=>c,wm:()=>x,xr:()=>m});var r=i(53996);let n=i(29124).FH.enhanceEndpoints({addTagTypes:[r.nP.USERS,r.nP.USER_DETAIL,r.nP.USER_TREE],endpoints:{userUploadImage:e=>{let t=e.query;void 0!==t&&(e.query=e=>{let i=t(e),r=new FormData;return(r.append("userImage",e.body.userImage),null===i||"object"!=typeof i)?i:{...i,body:r}})},userGetCollection:{providesTags:(e,t,i)=>{let n=[];return void 0!==e&&(n=null==e?void 0:e.items.flatMap(e=>r.yc.USER_DETAIL(e.id))),[...n,...r.yc.USERS()]}},userGetById:{providesTags:(e,t,i)=>r.yc.USER_DETAIL(i.id)},userDeleteById:{invalidatesTags:(e,t,i)=>r.qN.USER_DETAIL(i.id)},userUpdateById:{invalidatesTags:(e,t,i)=>r.qN.USER_DETAIL(i.id)},userGetTree:{providesTags:(e,t,i)=>{let n=[];return void 0!==e&&(n=null==e?void 0:e.items.flatMap(e=>r.yc.USER_DETAIL(e.id))),[...n,...r.yc.USER_TREE(),...r.yc.USERS()]}}}}),{useUserCloneByIdMutation:l,useUserCreateMutation:a,useUserFolderCreateMutation:o,useUserGetCurrentInformationQuery:s,useUserGetByIdQuery:d,useUserUpdateByIdMutation:c,useUserDeleteByIdMutation:u,useUserFolderDeleteByIdMutation:p,useUserDefaultKeyBindingsQuery:m,useUserGetAvailablePermissionsQuery:g,useUserGetCollectionQuery:h,useUserResetPasswordMutation:v,usePimcoreStudioApiUserSearchQuery:f,useUserUpdatePasswordByIdMutation:y,useUserUploadImageMutation:b,useUserGetImageQuery:x,useUserGetTreeQuery:j,useUserTokenLinkGetQuery:w,useLazyUserTokenLinkGetQuery:C,useUserGetShareCollectionQuery:S}=n},11324(e,t,i){"use strict";i.d(t,{P:()=>o});var r=i(46881),n=i(20120),l=i(47867),a=i(61062);let o=()=>{let e=(0,r.useAppSelector)(n.T),t=(0,l.useContext)(a.a);return null!==e&&e.nodeId===t.nodeId}},83196(e,t,i){"use strict";i.d(t,{J:()=>d});var r=i(41630),n=i(20120),l=i(83015),a=i(60124),o=i(3416),s=i(35864);let d=()=>{let e=(0,r.jL)();function t(){let e=r.M_.getState(),t=(0,n.y6)(e);return l.Model.fromJson(t)}function i(){let e=r.M_.getState(),t=(0,n.D9)(e);return l.Model.fromJson(t)}return{openMainWidget:function(t){e((0,n.OS)(t))},updateWidget:function(t){e((0,n.WK)(t))},openBottomWidget:function(t){e((0,n.mB)(t))},openLeftWidget:function(t){e((0,n.wd)(t))},openRightWidget:function(t){e((0,n.Xx)(t))},switchToWidget:function(t){e((0,n.pg)(t))},closeWidget:function(r){let d=function(e){try{let i=t().getNodeById(e);if(!(0,s.isUndefined)(i)&&i instanceof l.TabNode)return{widgetId:e,node:i}}catch(e){console.warn("Could not retrieve inner widget data for event:",e)}return null}(r),c=function(e){try{let t=i().getNodeById(e);if(!(0,s.isUndefined)(t)&&t instanceof l.TabNode)return{widgetId:e,node:t}}catch(e){console.warn("Could not retrieve outer widget data for event:",e)}return null}(r);if(e((0,n.Jj)(r)),!(0,s.isNull)(d)){let e={identifier:{type:o.m["widget-manager:inner:widget-closed"],id:r},payload:d};a.B.publish(e)}if(!(0,s.isNull)(c)){let e={identifier:{type:o.m["widget-manager:outer:widget-closed"],id:r},payload:c};a.B.publish(e)}},isMainWidgetOpen:function(e){return void 0!==t().getNodeById(e)},hasOuterWidget:function(e){return void 0!==i().getNodeById(e)},getOpenedMainWidget:function(){var e;return null==(e=t().getActiveTabset())?void 0:e.getSelectedNode()}}}},72913(e,t,i){"use strict";i.d(t,{U:()=>l});var r=i(21429),n=i(18196);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{t:i}=(0,r.useTranslation)(),l=e.getConfig(),{titleOverride:a,iconOverride:o}=t;return{title:(0,n.uI)(a)?a:(0,n.uI)(l.translationKey)?i(l.translationKey):(0,n.uI)(l.label)?l.label:e.getName(),icon:o??l.icon??{value:"widget-default",type:"name"}}}},57193(e,t,i){"use strict";i.d(t,{I:()=>c,Q:()=>d});var r=i(31635),n=i(62446),l=i(32234),a=i(62059),o=i(35864),s=i(10600);class d{getWidgets(e){return this.widgets[e]??[]}getAllWidgets(){return{...this.widgets}}addWidget(e,t,i){var r;let n=this.widgetRegistry.getWidget(e.widgetType);if(!(0,o.isUndefined)(null==n?void 0:n.isVisible)&&!n.isVisible(e))return null;let l=e.id;for(;this.usedIds.has(l);)l=`${(0,a.u)()}_${e.id}`;this.usedIds.add(l);let s={...e,id:l},d={id:l,type:"tab",name:e.name,component:e.widgetType,enableClose:!!(null==(r=e.additionalAttributes)?void 0:r.enableClose),config:s},c={widget:s,position:t,tabNode:d};return(0,o.isUndefined)(this.widgets[t])&&(this.widgets[t]=[]),void 0!==i&&i>=0?this.widgets[t].splice(i,0,c):this.widgets[t].push(c),l}removeWidget(e){for(let{widgets:t}of this.iterateWidgets()){let i=t.findIndex(t=>t.widget.id===e);if(-1!==i)return t.splice(i,1),!0}return!1}moveWidget(e,t,i){for(let{widgets:r}of this.iterateWidgets()){let n=r.findIndex(t=>t.widget.id===e);if(-1!==n){let[e]=r.splice(n,1);return e.position=t,(0,o.isUndefined)(this.widgets[t])&&(this.widgets[t]=[]),void 0!==i&&i>=0?this.widgets[t].splice(i,0,e):this.widgets[t].push(e),!0}}return!1}updateWidgetConfig(e,t){for(let{widgets:i}of this.iterateWidgets()){let r=i.find(t=>t.widget.id===e);if(!(0,o.isNil)(r))return r.widget={...r.widget,...t},r.tabNode.config={...r.tabNode.config,...t},(0,o.isNil)(t.name)||(r.tabNode.name=t.name),!0}return!1}getWidgetPosition(e){for(let{position:t,widgets:i}of this.iterateWidgets()){let r=i.findIndex(t=>t.widget.id===e);if(-1!==r)return{position:t,index:r}}return null}setExpandedLeft(e){this.expandedLeft=e}setExpandedRight(e){this.expandedRight=e}getExpandedLeft(){return this.expandedLeft??null}getExpandedRight(){return this.expandedRight??null}iterateWidgets(){return Object.entries(this.widgets).map(e=>{let[t,i]=e;return{position:t,widgets:i}})}constructor(e,t,i,r,n,l){this.widgets=e,this.usedIds=t,this.widgetRegistry=i,this.activePerspective=r,this.expandedLeft=n,this.expandedRight=l}}class c extends l.k{createContext(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return new d(e,t,this.widgetRegistry,i,r,n)}constructor(e){super(),this.widgetRegistry=e}}c=(0,r.Cg)([(0,n.injectable)(),(0,r.Qj)(0,(0,n.inject)(s.K.widgetManager)),(0,r.Sn)("design:type",Function),(0,r.Sn)("design:paramtypes",["u"a});var r=i(20120),n=i(35864),l=i(44499);let a=new class{registerStaticWidget(e){!(0,n.isNil)(e.id)&&(0,n.isNil)(this.getStaticWidget(e.id))&&this.widgets.push(e)}getStaticWidget(e){return this.widgets.find(t=>t.id===e)}supports(e){return!(0,n.isNil)(e.id)&&!(0,n.isNil)(this.getStaticWidget(e.id))}cleanConfig(e){return{id:e.id,type:"tab",config:{}}}restore(e,t){if((0,n.isNil)(e.id))return!1;let i=this.getStaticWidget(e.id);if(!(0,n.isNil)(i)){if(!(0,n.isNil)(i.permission)&&!(0,l.J)(i.permission))return!1;let a=(0,n.merge)({},e,i);return t((0,r.WK)(a)),!0}return!1}constructor(){this.widgets=[]}}},83942(e,t,i){"use strict";i.d(t,{Y:()=>a});var r=i(31635),n=i(62446),l=i(47867);class a{registerWidget(e){let t={...e,component:(0,l.memo)(e.component),defaultGlobalContext:e.defaultGlobalContext??!0};this.widgets.push(t)}getWidget(e){return this.widgets.find(t=>t.name===e)}constructor(){this.widgets=[]}}a=(0,r.Cg)([(0,n.injectable)()],a)},86049(e,t,i){"use strict";i.d(t,{$:()=>p,Q_:()=>u});var r=i(17530),n=i(46881),l=i(73565),a=i(63364),o=i(10600),s=i(83015),d=i(35864);let c="widget_manager_inner_model",u=e=>(0,d.isNil)(e)||0===e?c:`${c}_${e}`,p=e=>(0,r.U)(e,()=>{let e=n.store.getState(),t=(0,l.xu)(e);return u(null==t?void 0:t.id)},e=>{let t=a.kL.get(o.K.widgetRestorerRegistry),i=s.Model.fromJson(e.innerModel),r=[],n=[];return i.visitNodes(e=>{if("tab"===e.getType()){let i=e.toJson();t.supports(i)?n.push({id:e.getId(),config:t.cleanConfig(i)}):r.push(e.getId())}}),r.forEach(e=>{i.doAction(s.Actions.deleteTab(e))}),n.forEach(e=>{let{id:t,config:r}=e;i.doAction(s.Actions.updateNodeAttributes(t,r))}),i.toJson()})},20120(e,t,i){"use strict";i.d(t,{D9:()=>S,y6:()=>C,T:()=>T,C_:()=>g,wd:()=>b,mB:()=>y,ue:()=>d,WK:()=>f,XB:()=>h,pg:()=>j,Jj:()=>w,OS:()=>v,Xx:()=>x,I7:()=>m,ZI:()=>u});var r=i(35864),n=i(46881),l=i(88605),a=i(83015),o=i(48333),s=i(86049);let d={outerModel:(0,o.k)(),innerModel:{global:{tabEnableRename:!1,tabSetEnableMaximize:!1,enableUseVisibility:!0},layout:{id:"main",type:"row",children:[{type:"tabset",id:"main_tabset",enableDeleteWhenEmpty:!1,weight:50,selected:0,children:[]}]}},mainWidgetContext:null},c=(0,l.createSlice)({name:"widget-manager",initialState:d,reducers:{updateOuterModel:(e,t)=>{e.outerModel={...t.payload}},updateInnerModel:(e,t)=>{e.innerModel={...t.payload}},updateMainWidgetContext:(e,t)=>{e.mainWidgetContext=t.payload},setActiveWidgetById:(e,t)=>{let i=a.Model.fromJson(e.outerModel),r=a.Model.fromJson(e.innerModel),n=i.getNodeById(t.payload),l=i,o=!0;if(void 0===n&&(n=r.getNodeById(t.payload),l=r,o=!1),void 0!==n){let e=n.getParent();void 0!==e&&(e instanceof a.BorderNode&&e.getSelectedNode()!==n||!(e instanceof a.BorderNode))&&l.doAction(a.Actions.selectTab(n.getId()))}o?e.outerModel={...l.toJson()}:e.innerModel={...l.toJson()}},openMainWidget:(e,t)=>{let i,r=a.Model.fromJson(e.innerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"main_tabset",a.DockLocation.CENTER,-1,!0)),e.innerModel={...r.toJson()}},updateWidget:(e,t)=>{let i,r=a.Model.fromJson(e.innerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i&&(r.doAction(a.Actions.updateNodeAttributes(i.getId(),t.payload)),e.innerModel={...r.toJson()})},openBottomWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"bottom_tabset",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},openLeftWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"border_left",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},openRightWidget:(e,t)=>{let i,r=a.Model.fromJson(e.outerModel);void 0!==t.payload.id&&(i=r.getNodeById(t.payload.id)),void 0!==i?r.doAction(a.Actions.selectTab(i.getId())):r.doAction(a.Actions.addNode(t.payload,"border_right",a.DockLocation.CENTER,-1,!0)),e.outerModel={...r.toJson()}},closeWidget:(e,t)=>{let i=a.Model.fromJson(e.outerModel),n=a.Model.fromJson(e.innerModel),l=i.getNodeById(t.payload),o=i,s=!0;if(void 0===l&&(l=n.getNodeById(t.payload),o=n,s=!1),void 0!==l){let e=s?void 0:(e=>{let t=e.getParent();if((0,r.isUndefined)(t))return;let i=t.getChildren(),n=i.findIndex(t=>t.getId()===e.getId());if(i.length<=1)return;let l=ne.outerModel,selectInnerModel:e=>e.innerModel,selectMainWidgetContext:e=>e.mainWidgetContext}}),u=c.name,p=(0,s.$)(c.reducer);(0,n.injectSliceWithState)({...c,reducer:p});let{updateOuterModel:m,updateMainWidgetContext:g,updateInnerModel:h,openMainWidget:v,updateWidget:f,openBottomWidget:y,openLeftWidget:b,openRightWidget:x,setActiveWidgetById:j,closeWidget:w}=c.actions,{selectInnerModel:C,selectOuterModel:S,selectMainWidgetContext:T}=c.selectors},32981(e,t,i){"use strict";i.d(t,{f:()=>n});var r,n=((r={}).DOCUMENT="document",r.DATA_OBJECT="dataObject",r.ASSET="asset",r.TRANSLATION="translation",r.CLASS_EDITOR="classEditor",r)},92493(e,t,i){"use strict";i.d(t,{P:()=>l});var r=i(47867),n=i(35864);function l(e,t){let[i,l]=(0,r.useState)(e),a=(0,r.useRef)(e);return(0,r.useEffect)(()=>{(0,n.isEqual)(e,a.current)||(0,n.isEqual)(e,i)||(l(e),a.current=e)},[e,i]),{value:i,handleChange:(0,r.useCallback)(e=>{a.current=e,l(e),null==t||t(e)},[t])}}},17530(e,t,i){"use strict";i.d(t,{U:()=>a,c:()=>l});var r=i(35864),n=i(86833);let l=e=>{try{let t=(0,n._S)(e);if((0,r.isNil)(t))return;return JSON.parse(t)}catch(t){console.warn(`Could not load state for key "${e}"`,t);return}},a=function(e,t){let i,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:()=>!0,o=(0,r.debounce)(e=>{try{let a=l(e),o=(0,r.isFunction)(t)?t(e):t;if(!(0,r.isEqual)(a,i)){let e=JSON.stringify(a);(0,n.AP)(o,e),i=a}}catch(e){console.warn("Could not save state",e)}},200);return(t,i)=>{let n=e(t,i);return t!==n&&!(0,r.isUndefined)(n)&&a(n)&&o(n),n}}},9094(e,t,i){"use strict";i.d(t,{N8:()=>l,WV:()=>s,ZP:()=>o,_W:()=>d});var r=i(35864);let n=["none","mini","extra-small","small","normal","medium","large","extra-large","maxi"],l=(e,t,i)=>{let r={margin:{none:0,mini:e.marginXXS,"extra-small":e.marginXS,small:e.marginSM,normal:e.margin,medium:e.marginMD,large:e.marginLG,"extra-large":e.marginXL,maxi:e.marginXXL},padding:{none:0,mini:e.paddingXXS,"extra-small":e.paddingXS,small:e.paddingSM,normal:e.padding,medium:e.paddingMD,large:e.paddingLG,"extra-large":e.paddingXL,maxi:e.sizeXXL}};return r[i][t]??r[i].normal},a=(e,t,i)=>{if((0,r.isUndefined)(t))return{};if("string"==typeof t){let r=l(e,t,i);return{[i]:`${r}px`}}let n={};for(let[a,o]of Object.entries({x:["Left","Right"],y:["Top","Bottom"],top:["Top"],bottom:["Bottom"],left:["Left"],right:["Right"]}))if(!0===Object.prototype.hasOwnProperty.call(t,a)){let s=t[a];if(!(0,r.isUndefined)(s)){let t=l(e,s,i);for(let e of o)n[`${i}${e}`]=`${t}px`}}return n},o=(e,t)=>a(e,t,"margin"),s=(e,t)=>a(e,t,"padding"),d=(e,t,i,a)=>n.map(n=>((e,t,i,n,a,o)=>{let s=l(o,i,a),d=[];for(let l of n){let n={x:["left","right"],y:["top","bottom"],top:["top"],bottom:["bottom"],left:["left"],right:["right"]}[l];if(!(0,r.isUndefined)(n)){let r=n.map(e=>`${a}-${e}: ${s}px;`).join(" ");d.push(`
&.${e}--${t}-${i} {
${r}
}
@@ -4683,7 +4683,7 @@
}
`}});var J=i(94614);let Z={name:"",description:"",shareGlobally:!0,setAsDefault:!1,saveFilters:!1},Y=e=>{var t,i,r;let a,d,c,[u,m]=(0,l.useState)((null==(t=e.initialValues)?void 0:t.shareGlobally)??Z.shareGlobally),[g,h]=(0,l.useState)(!1),{gridConfig:v,setGridConfig:f}=(0,J.m)(),y=null==v?void 0:v.sharedUsers,x=null==v?void 0:v.sharedRoles,{t:j}=(0,o.useTranslation)(),{styles:C}=X();(0,l.useEffect)(()=>{var t;null==(t=e.form)||t.resetFields()},[]);let S=()=>{h(!1)},T=(e,t)=>(0,n.jsx)(s.I,{className:C.icon,options:{width:t??12,height:t??12},value:e});return(0,n.jsxs)(U.lV,{layout:"vertical",onValuesChange:(t,i)=>{var r;null==(r=e.onValuesChange)||r.call(e,t,i);let n=t.shareGlobally;void 0!==n&&(m(t.shareGlobally),(0,p.isEmpty)(v)||f({...v,shareGlobal:n}))},...e,children:[(0,n.jsx)(U.lV.Item,{label:j("user-management.name"),name:"name",rules:[{required:!0,message:j("form.validation.provide-name")}],children:(0,n.jsx)(w.Input,{})}),(0,n.jsx)(U.lV.Item,{label:j("description"),name:"description",rules:[{required:!1,message:j("form.validation.provide-description")}],children:(0,n.jsx)(w.Input.TextArea,{})}),(0,n.jsx)(b.$,{size:"extra-small",children:(0,n.jsx)(U.lV.Item,{name:"setAsDefault",valuePropName:"checked",children:(0,n.jsx)(w.Checkbox,{children:j("grid.configuration.set-default-template")})})}),(0,n.jsx)(w.Flex,{align:"center",gap:"mini",children:(0,n.jsx)(U.lV.Item,{name:"shareGlobally",valuePropName:"checked",children:(0,n.jsx)(q.d,{labelLeft:(0,n.jsx)(W.E,{children:j("grid.configuration.shared")}),labelRight:!0===u?(0,n.jsx)(W.E,{className:C.label,children:j("common.globally")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(w.Flex,{gap:10,children:[(0,n.jsxs)(W.E,{className:C.label,children:[T("user")," ",j("user-management.user")," | ",T("shield")," ",j("user-management.role")]}),(0,n.jsxs)(w.Flex,{align:"center",className:C.updateButton,gap:8,onClick:()=>{h(!g)},children:[T("edit",16),(0,n.jsx)(W.E,{className:C.updateButtonText,children:j("button.add-edit")})]})]}),g&&(0,n.jsx)(K.p,{handleApplyChanges:e=>{let{sharedUsers:t,sharedRoles:i}=e;(0,p.isEmpty)(v)||(f({...v,shareGlobal:!1,sharedUsers:t,sharedRoles:i}),S())},handleClose:S,initialSharedRoles:x,initialSharedUsers:y,roleList:null==e?void 0:e.roleList,userList:null==e?void 0:e.userList})]})})})}),!1===u&&(0,n.jsx)(H.L,{itemGap:"mini",list:(a=[],d=[],c=e=>{let{label:t,iconName:i}=e;return{children:(0,n.jsx)(W.E,{ellipsis:!0,style:{maxWidth:"148px"},type:"secondary",children:t}),icon:T(i),bordered:!1}},null==(i=e.userList)||i.items.forEach(e=>{(null==v?void 0:v.sharedUsers).includes(e.id)&&a.push(c({label:null==e?void 0:e.username,iconName:"user"}))}),null==(r=e.roleList)||r.items.forEach(e=>{(null==v?void 0:v.sharedRoles).includes(e.id)&&d.push(c({label:null==e?void 0:e.name,iconName:"shield"}))}),[a,d]),tagListItemClassNames:C.tag})]})};var Q=i(276);let ee=e=>{let{formProps:t,onCancelClick:i,isLoading:r,onDeleteClick:l,isDeleting:a,saveAsNewConfiguration:s,modificationDate:d,userName:c,...u}=e,{form:p}=t,{t:m}=(0,o.useTranslation)();return(0,n.jsx)(v.s,{renderToolbar:(0,n.jsxs)(x.M,{theme:"secondary",children:[void 0!==l&&!0!==s?(0,n.jsx)(w.Popconfirm,{cancelText:m("button.cancel"),description:m("grid.configuration.delete-template-confirmation"),okText:m("delete"),onConfirm:l,title:m("grid.configuration.delete-this-template"),children:(0,n.jsx)(C.J,{"data-testid":"listing-grid-config-delete-template-button",disabled:r,icon:{value:"trash"},loading:a,children:m("grid.configuration.delete-template")})}):(0,n.jsx)("div",{}),(0,n.jsxs)(b.$,{size:"mini",children:[(0,n.jsx)(C.J,{icon:{value:"close"},onClick:i,type:"default",children:m("button.cancel")}),(0,n.jsx)(h.$,{"data-testid":"listing-grid-config-save-apply-button",disabled:a,loading:r,onClick:()=>null==p?void 0:p.submit(),type:"primary",children:m("button.save-apply")})]})]}),children:(0,n.jsx)(f.U,{padded:!0,children:(0,n.jsxs)(w.Flex,{gap:"small",vertical:!0,children:[(0,n.jsx)(y.Y,{title:m("grid.configuration.save-template-configuration")}),!0!==s&&(0,n.jsxs)(w.Row,{children:[(0,n.jsxs)(w.Col,{span:6,children:[(0,n.jsxs)(W.E,{children:[m("common.owner"),":"]})," ",(0,n.jsx)(W.E,{type:"secondary",children:c})]}),!(0,D.Po)(d)&&(0,n.jsxs)(w.Col,{span:12,children:[(0,n.jsxs)(W.E,{children:[m("common.modification-date"),": "]}),(0,n.jsx)(W.E,{type:"secondary",children:(0,Q.r6)({timestamp:d,dateStyle:"short",timeStyle:"short"})})]})]}),(0,n.jsx)(Y,{...t,...u})]})})})};var et=i(73612),ei=i(52178),er=i(66634),en=i(66707),el=i(40910),ea=i(8412),eo=i(69187),es=i(74003),ed=i(96511),ec=i(43588),eu=((r=eu||{}).Edit="edit",r.Save="save",r.Update="update",r);let ep=()=>{let{useElementId:e}=(0,ea.t)(),{availableColumns:t,getAvailableColumnsDropdown:i}=(0,er.m)(),{selectedColumns:r,setSelectedColumns:a}=(0,en.K)(),{columns:o,setColumns:s,addColumn:d,addColumns:c}=m(),{getId:u}=e(),h=(0,g.J)(),{id:v,setId:y}=(0,el.u)(),{gridConfig:b,setGridConfig:x}=(0,J.m)(),{selectedClassDefinition:j}=(0,R.p)(),{openModal:w}=(0,es._P)({onUpdate:function(e){let i=e.modalContext,r=t.find(e=>e.key===i.name&&"dataobject.classificationstore"===e.type);if(void 0===r)throw Error("Could not find base column for classification store field "+i.name);let n=[];"group-by-key"===e.type&&e.data.forEach(e=>{let t=e.definition;n.push({...r,key:`${r.key}`,frontendType:null==t?void 0:t.fieldtype,locale:r.localizable?"default":void 0,config:{keyId:e.id,groupId:e.groupId,fieldDefinition:t}})}),c(n)}}),{isLoading:C,isFetching:S,data:T}=(0,eo.t1)({classId:(null==j?void 0:j.id)??""},{skip:void 0===j}),{data:I}=(0,et.S2)(),{data:k}=(0,ei.DA)(),{isFetching:E}=(0,eo.RX)({classId:(null==j?void 0:j.id)??"",folderId:u(),configurationId:v},{skip:void 0===j}),[D,{isLoading:N}]=(0,eo.je)(),[P,{isLoading:A}]=(0,eo.v4)(),[F,{isLoading:$}]=(0,eo.lw)(),[M,O]=(0,l.useState)(eu.Edit),[_]=ec.Form.useForm(),L=(null==b?void 0:b.name)!=="Predefined"&&void 0!==b,B=(0,l.useMemo)(()=>{if(void 0!==T){var e;return(null==(e=T.items)?void 0:e.map(e=>({key:e.id,label:e.name,onClick:()=>{y(e.id)}})))??[]}return[]},[T]);(0,l.useEffect)(()=>{s(r.map(e=>({...e.originalApiDefinition,locale:null==e?void 0:e.locale})))},[r]);let z=e=>{if("dataobject.classificationstore"===e.type){if(!("fieldDefinition"in e.config))throw Error("Field definition is missing in column config");let t=e.config.fieldDefinition;w({...t,fieldName:t.name,allowedTabs:[ed.X.GroupByKey]})}else d(e)},V=(0,l.useMemo)(()=>i(z),[i,o]);function U(e){return e.map(e=>{var t;return{key:e.key,locale:e.locale??null,group:e.group,type:e.type,config:(null==(t=e.__meta)?void 0:t.advancedColumnConfig)??e.config}})}return E||$?(0,n.jsx)(f.U,{loading:!0}):(0,n.jsxs)(n.Fragment,{children:[M===eu.Edit&&(0,n.jsx)(G,{addColumnMenu:V.menu.items,columns:o,currentUserId:null==h?void 0:h.id,gridConfig:b,isLoading:C||S,isUpdating:A,onApplyClick:()=>{a(o.map(e=>({key:e.key,locale:null===e.locale&&e.localizable?void 0:e.locale,type:e.type,config:e.config,sortable:e.sortable,editable:e.editable,localizable:e.localizable,exportable:e.exportable,frontendType:e.frontendType,group:e.group,originalApiDefinition:e})))},onCancelClick:()=>{s(r.map(e=>e.originalApiDefinition))},onEditConfigurationClick:()=>{O(eu.Update)},onSaveConfigurationClick:()=>{O(eu.Save)},onUpdateConfigurationClick:function(){void 0===b?console.error("No grid configuration available"):P({configurationId:b.id,body:{folderId:u(),columns:U(o),name:b.name,description:b.description??"",setAsFavorite:b.setAsFavorite,shareGlobal:b.shareGlobal,sharedRoles:b.sharedRoles,sharedUsers:b.sharedUsers,saveFilter:!1,pageSize:0}}).catch(e=>{console.error("Failed to update grid configuration",e)})},savedGridConfigurations:B}),(M===eu.Save||M===eu.Update)&&(0,n.jsx)(ee,{formProps:{form:_,onFinish:function(e){let t=U(o);!0!==e.shareGlobally||(0,p.isEmpty)(b)||x({...b,sharedUsers:[],sharedRoles:[]}),M===eu.Update&&L&&P({configurationId:b.id,body:{folderId:u(),columns:t,name:e.name,description:e.description,setAsFavorite:e.setAsDefault,shareGlobal:e.shareGlobally,sharedRoles:b.sharedRoles,sharedUsers:b.sharedUsers,saveFilter:!1,pageSize:0}}).catch(e=>{console.error("Failed to update grid configuration",e)}).then(()=>{O(eu.Edit)}).catch(e=>{console.error("Failed to switch to edit view",e)}),M===eu.Save&&D({classId:j.id,body:{folderId:u(),columns:t,name:e.name,description:e.description,setAsFavorite:e.setAsDefault,shareGlobal:e.shareGlobally,sharedRoles:null==b?void 0:b.sharedRoles,sharedUsers:null==b?void 0:b.sharedUsers,saveFilter:!1,pageSize:0}}).catch(e=>{console.error("Failed to save grid configuration",e)}).then(e=>{(null==e?void 0:e.data)!==void 0&&(y(e.data.id),O(eu.Edit))}).catch(e=>{console.error("Failed to switch to edit view",e)})},initialValues:M===eu.Update&&L?{name:null==b?void 0:b.name,description:null==b?void 0:b.description,setAsDefault:null==b?void 0:b.setAsFavorite,shareGlobally:null==b?void 0:b.shareGlobal}:{...Z}},isDeleting:$,isLoading:N||A,modificationDate:null==b?void 0:b.modificationDate,onCancelClick:()=>{O(eu.Edit)},onDeleteClick:L?function(){L&&F({configurationId:b.id}).then(()=>{O(eu.Edit),y(void 0)}).catch(e=>{console.error("Failed to switch to edit view",e)})}:void 0,roleList:I,saveAsNewConfiguration:M===eu.Save,userList:k,userName:null==h?void 0:h.username})]})};var em=i(85670);let eg=e=>{let{settings:t}=e;return(0,n.jsx)(em.Z,{settings:t,children:(0,n.jsx)(u,{children:(0,n.jsx)(es.K7,{children:(0,n.jsx)(ep,{})})})})},eh=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{saveEnabled:!0};return()=>{let{getProps:i}=e(),{t:r}=(0,o.useTranslation)();return{getProps:()=>{let e=i();return{...e,entries:[...e.entries,{component:(0,n.jsx)(eg,{settings:t}),key:"configuration",icon:(0,n.jsx)(s.I,{value:"settings"}),tooltip:r("sidebar.grid_config")}]}}}}}},31067(e,t,i){"use strict";i.d(t,{p:()=>I});var r=i(74848),n=i(10600),l=i(57231),a=i(44456),o=i(86569),s=i(47867),d=i(35864),c=i(75419),u=i(25750),p=i(22014),m=i(64756),g=i(20351),h=i(21429),v=i(69187),f=i(22764),y=i(3554),b=i(85775);let x=e=>{var t,i,n;let{column:l}=e,{data:a}=(0,g.E)(),{item:o}=(0,y.Nb)(),{currentLanguage:s}=(0,b.Sk)(),c=a.items[0],u=(null==l||null==(t=l.__meta)?void 0:t.advancedColumnConfig)??l.config,{t:m}=(0,h.useTranslation)(),{data:x,error:j}=(0,v.vr)({body:{column:{type:l.type,key:l.key,locale:l.localizable?(l.locale??s)==="default"?null:l.locale??s:void 0,config:u},objectId:(null==o||null==(i=o.data)?void 0:i.id)??(null==c?void 0:c.id)}});return(0,r.jsxs)(r.Fragment,{children:[!(0,d.isUndefined)(j)&&(0,r.jsxs)(p.E,{type:"danger",children:[m("grid.advanced-column.error-preview-data"),": ","error"in j?null==j?void 0:j.error:(0,r.jsx)(r.Fragment,{})]}),(0,d.isUndefined)(j)?(0,r.jsx)(r.Fragment,{children:(null==x||null==(n=x.value)?void 0:n.length)>0?(0,r.jsx)(f.A,{value:null==x?void 0:x.value}):(0,r.jsx)("div",{children:m("grid.advanced-column.no-preview-data")})}):null]})};var j=i(82528);let w=e=>{var t;let{data:i}=(0,g.E)(),n=(null==i?void 0:i.items.length)>0&&(null==i||null==(t=i.items)?void 0:t[0])!==void 0,l=(0,j.d)(e.column,300),{t:a}=(0,h.useTranslation)();return(0,s.useMemo)(()=>(0,r.jsx)(m.a,{padding:{top:"small",bottom:"none",x:"small"},children:(0,r.jsxs)(u.s,{align:"center",gap:"small",children:[(0,r.jsxs)(p.E,{style:{wordBreak:"keep-all"},children:[a("grid.advanced-column.preview"),":"]}),n?(0,r.jsx)(x,{column:e.column}):(0,r.jsx)(p.E,{type:"secondary",children:a("grid.advanced-column.no-preview")})]})}),[l])};var C=i(88286),S=i(37364),T=i(85274);let I=e=>{var t;let{column:i,onChange:u,showPreview:p=!0}=e,[g]=l.lV.useForm(),{pipelineLayout:v}=(0,S.ve)(),{t:f}=(0,h.useTranslation)();return(0,s.useEffect)(()=>{var e;g.setFieldValue("value",(null==i||null==(e=i.__meta)?void 0:e.advancedColumnConfig)??{})},[i]),(0,r.jsx)(l.lV,{form:g,initialValues:null==i||null==(t=i.__meta)?void 0:t.advancedColumnConfig,layout:"vertical",onValuesChange:e=>{let t={...i,__meta:{...i.__meta??{},advancedColumnConfig:{...e.value}}};if(void 0!==u){var r;(0,d.isEqual)(null==(r=i.__meta)?void 0:r.advancedColumnConfig,e.value)||u(t)}},children:(0,r.jsx)(c.U,{initialConfig:null==i?void 0:i.config,children:(0,r.jsx)(l.lV.Item,{name:"value",children:(0,r.jsx)(a.$,{items:[{id:"title",component:(0,r.jsx)(a.$.CustomItem,{children:(0,r.jsx)(m.a,{padding:{top:"mini",bottom:"mini",x:"none"},children:(0,r.jsx)(l.lV.Item,{name:"title",children:(0,r.jsx)(o.Input,{placeholder:f("grid.advanced-column.title.placeholder")})})})})},{id:"fields",component:(0,r.jsxs)(a.$.CustomItem,{children:["default"===v&&(0,r.jsx)(C.t,{items:[{key:"advancedColumns",label:f("grid.advanced-column.advancedColumns"),forceRender:!0,children:(0,r.jsx)(a.$.DynamicGroupItem,{dynamicTypeRegistryId:n.K["DynamicTypes/Grid/SourceFieldsRegistry"],id:"advancedColumns"})},{key:"transformers",label:f("grid.advanced-column.transformers"),forceRender:!0,children:(0,r.jsx)(a.$.DynamicGroupItem,{dynamicTypeRegistryId:n.K["DynamicTypes/Grid/TransformersRegistry"],id:"transformers"})}]}),"verbose"===v&&(0,r.jsx)(T.n,{leftItem:{children:(0,r.jsx)(a.$.DynamicGroupItem,{dynamicTypeRegistryId:n.K["DynamicTypes/Grid/SourceFieldsRegistry"],id:"advancedColumns",showTitle:!0}),size:50},rightItem:{children:(0,r.jsx)(a.$.DynamicGroupItem,{dynamicTypeRegistryId:n.K["DynamicTypes/Grid/TransformersRegistry"],id:"transformers",showTitle:!0}),size:50},withDivider:!0})]})},...p?[{id:"Preview",component:(0,r.jsx)(w,{column:i})}]:[]]})})})})}},37364(e,t,i){"use strict";i.d(t,{SU:()=>a,kX:()=>l,ve:()=>o});var r=i(74848),n=i(47867);let l=(0,n.createContext)({pipelineLayout:"default"}),a=e=>{let{children:t,pipelineLayout:i}=e;return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{pipelineLayout:i},children:t}),[t,i])},o=()=>{let e=(0,n.useContext)(l);if(void 0===e)throw Error("usePipelineLayoutContext must be used within a PipelineLayoutProvider");return e}},3554(e,t,i){"use strict";i.d(t,{Nb:()=>s,hG:()=>o});var r=i(74848),n=i(47867),l=i.n(n);let a=(0,n.createContext)({item:null,setItem:()=>{}}),o=e=>{let{children:t}=e,[i,l]=(0,n.useState)(null);return(0,n.useMemo)(()=>(0,r.jsx)(a.Provider,{value:{item:i,setItem:l},children:t}),[i,t])},s=()=>{let e=l().useContext(a);if(void 0===e)throw Error("usePreviewItem must be used within a PreviewItemProvider");return e}},22764(e,t,i){"use strict";i.d(t,{A:()=>c});var r=i(74848),n=i(10600),l=i(63364),a=i(65943),o=i(14013),s=i(89507);i(47867);let d=(0,s.createColumnHelper)(),c=e=>{let{value:t}=e,i=(0,l.Lt)(n.K["DynamicTypes/AdvancedGridCellRegistry"]),s=t.map((e,t)=>{let r=i.hasDynamicType(e.type);return d.accessor(`${e.type}-${t}`,{header:e.type,meta:{editable:!1,type:r?e.type:"dataobject.adapter",config:{...r?{}:{dataObjectType:e.type,dataObjectConfig:{}}}}})}),c=[],u={};return t.forEach((e,t)=>{u[`${e.type}-${t}`]=e.value}),c.push(u),(0,r.jsx)(a.F,{children:(0,r.jsx)(o.x,{autoWidth:!0,columns:s,data:c})})}},53612(e,t,i){"use strict";i.d(t,{$:()=>n});var r=i(21429);let n=e=>()=>{let{transformGridColumn:t,...i}=e(),{t:n}=(0,r.useTranslation)();return{...i,transformGridColumn:e=>{var i,r,l,a,o;let s=t(e);return"dataobject.adapter"!==e.type&&"dataobject.objectbrick"!==e.type&&"dataobject.classificationstore"!==e.type?s:{...s,header:n((null==(r=e.config)||null==(i=r.fieldDefinition)?void 0:i.title)??e.key)+(void 0!==e.locale&&null!==e.locale?` (${e.locale})`:""),meta:{...s.meta,config:{...(null==s||null==(l=s.meta)?void 0:l.config)??{},dataObjectType:(null==(o=e.config)||null==(a=o.fieldDefinition)?void 0:a.fieldtype)??e.frontendType,dataObjectConfig:{...e.config}}}}}}}},71173(e,t,i){"use strict";i.d(t,{k:()=>m,v:()=>p});var r=i(74848),n=i(15623),l=i(47867),a=i(23004),o=i(46881),s=i(55638),d=i(39808),c=i(44499),u=i(9653);let p=(0,l.createContext)(void 0),m=e=>{let{children:t,elementId:i}=e,m=(0,c.J)(u.F.Objects),g=(0,a.HE)(void 0,{skip:!m}),h=(0,o.useAppDispatch)(),[v,f]=(0,l.useState)({isLoading:void 0!==i,data:void 0});(0,l.useEffect)(()=>{void 0!==i&&m&&h(n.FH.endpoints.classDefinitionFolderCollection.initiate({folderId:i})).unwrap().then(e=>{f({isLoading:!1,data:e})}).catch(e=>{(0,s.Ay)(new s.hD(e))})},[i,m]),(null==g?void 0:g.error)!==void 0&&(0,s.Ay)(new s.hD(g.error));let y={...g};return m?(y.isLoading=g.isLoading||v.isLoading,y.isFetching=g.isFetching||v.isLoading):(y.data={items:[],totalItems:0},y.isLoading=!1,y.isFetching=!1),void 0!==i&&void 0!==v.data&&void 0!==g.data&&(y.data={...g.data,items:v.data.items.map(e=>{var t;let i=null==(t=g.data)?void 0:t.items.find(t=>t.id===e.id);if(void 0!==i)return{...i};throw Error("Class definition not found")}),totalItems:v.data.totalItems}),(0,l.useMemo)(()=>y.isLoading?(0,r.jsx)(d.U,{loading:!0}):(0,r.jsx)(p.Provider,{value:y,children:t}),[y])}},18929(e,t,i){"use strict";i.d(t,{G:()=>a});var r=i(47867),n=i(71173),l=i(61549);let a=()=>{let e=(0,r.useContext)(n.v),t=(0,l.J)();if(void 0===e)throw Error("useClassDefinitions must be used within a ClassDefinitionsProvider");return{...e,getById:t=>{var i,r;return null==(r=e.data)||null==(i=r.items)?void 0:i.find(e=>e.id===t)},getByName:t=>{var i,r;return null==(r=e.data)||null==(i=r.items)?void 0:i.find(e=>e.name===t)},getAllClassDefinitions:()=>{var t;return(null==(t=e.data)?void 0:t.items)??[]},getClassDefinitionsForCurrentUser:()=>{var i,r;return t.isAdmin||(null==t?void 0:t.classes.length)===0?(null==(r=e.data)?void 0:r.items)??[]:(null==(i=e.data)?void 0:i.items.filter(e=>null==t?void 0:t.classes.includes(e.id)))??[]}}}},29376(e,t,i){"use strict";i.d(t,{$B:()=>j,B8:()=>I,C4:()=>O,D3:()=>A,FP:()=>v,HL:()=>w,K5:()=>P,Kk:()=>S,T2:()=>$,Up:()=>M,VN:()=>E,Vu:()=>D,_5:()=>F,di:()=>h,e8:()=>g,ei:()=>L,fb:()=>y,hw:()=>C,lY:()=>_,sR:()=>f,v2:()=>b,vD:()=>x,vb:()=>T,x:()=>k,zE:()=>N});var r=i(88605),n=i(46881),l=i(40331),a=i(76359),o=i(92634),s=i(95674),d=i(50034),c=i(23898),u=i(26280),p=i(65115),m=i(34992);let g=(0,r.createEntityAdapter)({}),h=(0,r.createSlice)({name:"document-draft",initialState:g.getInitialState({modified:!1,properties:[],schedule:[],changes:{},modifiedCells:{},settingsData:{},...o.nd}),reducers:{documentReceived:g.upsertOne,removeDocument(e,t){g.removeOne(e,t.payload)},resetDocument(e,t){void 0!==e.entities[t.payload]&&(e.entities[t.payload]=g.getInitialState({modified:!1,properties:[],changes:{}}).entities[t.payload])},updateKey(e,t){if(void 0!==e.entities[t.payload.id]){let i=e.entities[t.payload.id];(0,m.$)(i,t.payload.key,"key")}},...(0,a.P)(g),...(0,l.u)(g),...(0,s.H)(g),...(0,o.Ne)(g),...(0,c.o)(g),...(0,u.Yu)(g),...(0,d.b)(g),...(0,p.Y)(g)}});(0,n.injectSliceWithState)(h);let{documentReceived:v,removeDocument:f,resetDocument:y,updateKey:b,resetChanges:x,setModifiedCells:j,addProperty:w,removeProperty:C,setProperties:S,updateProperty:T,addSchedule:I,removeSchedule:k,setSchedules:E,updateSchedule:D,resetSchedulesChanges:N,setActiveTab:P,markDocumentEditablesAsModified:A,setDraftData:F,publishDraft:$,unpublishDraft:M,setSettingsData:O,updateSettingsData:_}=h.actions,{selectById:L}=g.getSelectors(e=>e["document-draft"])},15789(e,t,i){"use strict";i.d(t,{T:()=>l,f:()=>a});var r=i(74848),n=i(47867);let l=(0,n.createContext)({id:0}),a=e=>{let{id:t,children:i}=e;return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{id:t},children:i}),[t])}},17678(e,t,i){"use strict";i.d(t,{b:()=>g});var r=i(74848),n=i(47867),l=i.n(n),a=i(43588),o=i(63364),s=i(10600),d=i(57180),c=i(35864),u=i(11774);let p=e=>{let{editableDefinition:t}=e,i=(0,n.useRef)(null),[l,a]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{if((0,c.isNil)(i.current))return;let e=`template__${t.id}`,r=document.getElementById(e);if((0,c.isNil)(r)||"template"!==r.tagName.toLowerCase())return void a(!0);let n=r.content.cloneNode(!0);if(n.children.length>0){let e=n.firstElementChild;!(0,c.isNil)(e)&&(Array.from(e.attributes).forEach(e=>{if("id"!==e.name){var t;null==(t=i.current)||t.setAttribute(e.name,e.value)}}),""!==e.innerHTML.trim()&&(i.current.innerHTML=e.innerHTML),(0,c.isEmpty)(e.className)||(i.current.className=e.className))}a(!0)},[t.id]),(0,r.jsx)("div",{ref:i,children:l&&(0,r.jsx)(u.t,{containerRef:i,editableDefinition:t})})};var m=i(21429);let g=e=>{let{config:t,visible:i,onClose:n,editableDefinitions:u}=e,g=(0,o.Lt)(s.K["DynamicTypes/DocumentEditableRegistry"]),h=(0,o.Lt)(s.K["DynamicTypes/EditableDialogLayoutRegistry"]),{getValue:v}=(0,d.U)(),{t:f}=(0,m.useTranslation)(),y=e=>{if((0,c.isArray)(e))return(0,r.jsx)(r.Fragment,{children:e.map((e,t)=>(0,r.jsx)(l().Fragment,{children:y(e)},e.name??t))});if(!(0,c.isNil)(e.type)&&h.hasDynamicType(e.type))return h.getComponent(e.type,{configItem:e,onRenderNestedContent:y});if(!(0,c.isNil)(e.name)&&!(0,c.isNil)(e.type)){let i=g.hasDynamicType(e.type)?g.getDynamicType(e.type):void 0;if(!(0,c.isNil)(i)){let{definition:i}=(e=>{let i,r=(i=u.find(i=>i.realName===e.name&&i.inDialogBox===t.id),(0,c.isNil)(i)?null:i);if((0,c.isNil)(r))return{definition:null,value:null};{let e=v(r.name);return{definition:r,value:(null==e?void 0:e.data)??null}}})(e);if(!(0,c.isNil)(i))return(0,r.jsx)(a.Card,{title:e.label,children:(0,r.jsx)(p,{editableDefinition:i})},e.name)}}return(0,r.jsx)(r.Fragment,{})},b=e=>(0,c.isPlainObject)(e)&&"string"==typeof e.type;return(0,r.jsx)(a.WindowModal,{cancelButtonProps:{style:{display:"none"}},destroyOnClose:!0,getContainer:()=>document.body,okText:f("save"),onCancel:n,onOk:n,open:i,size:"L",title:f("area-settings"),zIndex:10001,children:!(0,c.isNil)(t.items)&&y((e=>b(e)?[e]:!(0,c.isPlainObject)(e)||b(e)?[]:(0,c.isArray)(e.items)?e.items.filter(b):Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t)).map(t=>e[t]).filter(b))(t.items))})}},48034(e,t,i){"use strict";i.d(t,{E:()=>c});var r=i(74848),n=i(47867),l=i(25765),a=i.n(l),o=i(11774),s=i(35864),d=i(42817);let c=e=>{let{editableDefinitions:t}=e,i=(0,n.useMemo)(()=>{let e={};return t.forEach(t=>{e[t.id]=(0,n.createRef)()}),e},[t]);return(0,n.useEffect)(()=>(d.g.registerDynamicEditables(t),()=>{let e=t.map(e=>e.id);d.g.unregisterDynamicEditables(e)}),[t]),(0,r.jsx)(r.Fragment,{children:t.map(e=>{let t=document.getElementById(e.id);return(0,s.isNull)(t)?null:(!(0,s.isNull)(i[e.id])&&(0,s.isNull)(i[e.id].current)&&(i[e.id].current=t),a().createPortal((0,r.jsx)(o.t,{containerRef:i[e.id],editableDefinition:e}),t))})})}},11774(e,t,i){"use strict";i.d(t,{M:()=>m,t:()=>g});var r=i(74848),n=i(47867),l=i.n(n),a=i(43588),o=i(46881),s=i(35864),d=i(23945),c=i(57180),u=i(13947),p=i(38921);let m={...d.defaultFieldWidthValues,large:9999},g=e=>{var t;let{editableDefinition:i,containerRef:g}=e,h=(0,o.useInjection)(o.serviceIds["DynamicTypes/DocumentEditableRegistry"]),v=h.hasDynamicType(i.type)?h.getDynamicType(i.type):void 0,{updateValue:f,updateValueWithReload:y,getValue:b,getInheritanceState:x,setInheritanceState:j}=(0,c.U)(),w=x(i.name),[C,S]=(0,n.useState)(b(i.name).data),[,T]=(0,n.useState)({}),I=!!(null==(t=i.config)?void 0:t.required),k=(0,n.useMemo)(()=>({...i,inherited:w,defaultFieldWidth:m,containerRef:g}),[i,w,g]),E=(0,n.useCallback)(e=>{S(e),I&&((null==v?void 0:v.isEmpty(e,i))??!0?(0,p.sZ)(i.name,document):(0,p.k8)(i.name,document)),w&&(j(i.name,!1),T({})),!(0,s.isEqual)(C,e)&&(null==v?void 0:v.reloadOnChange(k,C,e))?y(i.name,{type:i.type,data:e}):f(i.name,{type:i.type,data:e})},[I,w]),D=(0,n.useMemo)(()=>(0,s.isNil)(v)?(0,r.jsx)(r.Fragment,{}):l().cloneElement(v.getEditableDataComponent(k),{key:i.name,value:C,onChange:E}),[v,k,C,w,E]);return(0,s.isNil)(v)?(0,r.jsx)(a.Alert,{message:(0,r.jsxs)(r.Fragment,{children:['Editable type "',i.type,'" not found:',(0,r.jsx)("p",{children:JSON.stringify(i)})]}),type:"warning"}):(0,r.jsx)(u.A,{children:(0,r.jsx)(d.FieldWidthProvider,{fieldWidthValues:{large:9999},children:(0,r.jsx)(p.jg,{editableName:i.name,isRequired:I,children:D})})})}},38921(e,t,i){"use strict";i.d(t,{jg:()=>o,k8:()=>a,sZ:()=>l});var r=i(74848);i(47867);let n=(0,i(44241).createStyles)(e=>{let{css:t}=e;return{requiredFieldWrapper:t`
display: contents;
- `}}),l=(e,t)=>{let i=(t??document).getElementById(`pimcore_editable_${e}`);null==i||i.setAttribute("data-required-active","true")},a=(e,t)=>{let i=(t??document).getElementById(`pimcore_editable_${e}`);null==i||i.removeAttribute("data-required-active")},o=e=>{let{children:t,isRequired:i,editableName:l}=e,{styles:a}=n();return i?(0,r.jsx)("div",{className:`${a.requiredFieldWrapper} studio-required-field-wrapper`,"data-editable-name":l,children:t}):(0,r.jsx)(r.Fragment,{children:t})}},57180(e,t,i){"use strict";i.d(t,{U:()=>a});var r=i(47867),n=i(46096),l=i(15789);let a=()=>{let{id:e}=(0,r.useContext)(l.T),t=(0,r.useRef)(!1),i=(0,r.useCallback)(()=>{var e;let t=null==(e=window.PimcoreDocumentEditor)?void 0:e.documentEditable;if(null==t)throw Error("PimcoreDocumentEditor API not available");return t},[]),a=(0,r.useCallback)((t,r)=>{i().updateValue(t,r);try{let{document:i}=(0,n.qH)();i.triggerValueChange(e,t,r)}catch(e){console.warn("Could not notify parent window of value change:",e)}},[e]),o=(0,r.useCallback)((t,r)=>{i().updateValue(t,r);try{let{document:i}=(0,n.qH)();i.triggerValueChangeWithReload(e,t,r)}catch(e){console.warn("Could not trigger reload for value change:",e)}},[e]);return{updateValue:a,updateValueWithReload:o,triggerSaveAndReload:(0,r.useCallback)(()=>{try{let{document:t}=(0,n.qH)();t.triggerSaveAndReload(e)}catch(e){console.warn("Could not trigger save and reload:",e)}},[e]),getValues:()=>i().getValues(),getValue:e=>i().getValue(e),initializeData:e=>{i().initializeValues(e)},removeValues:e=>{i().removeValues(e)},notifyReady:(0,r.useCallback)(()=>{if(!t.current)try{let{document:i}=(0,n.qH)();i.notifyIframeReady(e),t.current=!0}catch(e){console.warn("Could not notify parent window that iframe is ready:",e)}},[e]),getInheritanceState:e=>i().getInheritanceState(e),setInheritanceState:(e,t)=>{i().setInheritanceState(e,t)},initializeInheritanceState:e=>{i().initializeInheritanceState(e)}}}},50458(e,t,i){"use strict";i.d(t,{N:()=>f});var r=i(74848);i(47867);var n=i(21429),l=i(35864),a=i(43565),o=i(16327),s=i(81898),d=i(79472),c=i(55638),u=i(17388),p=i(68153),m=i(38990),g=i(70916),h=i(59385),v=i(46881);let f=e=>{let{t}=(0,n.useTranslation)(),i=(0,a.Vl)(),[f]=(0,o.tX)(),{isTreeActionAllowed:y}=(0,u.H)(),{refreshTree:b}=(0,m.h)(e),x=(0,v.useAppDispatch)(),{treeId:j}=(0,g.z)(!0),w=(e,r,n)=>{i.input({title:t("element.new-folder"),label:t("form.label.new-item"),rule:{required:!0,message:t("element.new-folder.validation")},onOk:async t=>{null==r||r(),await C(e,t,n)}})},C=async(t,i,r)=>{let n=f({parentId:t,elementType:e,folderData:{folderName:i}});try{let e=await n;(0,l.isUndefined)(e.error)?b(t):((0,c.Ay)(new c.hD(e.error)),null==r||r())}catch(e){(0,c.Ay)(new c.$g(`'Error creating folder: ${e}`))}};return{addFolder:w,addFolderTreeContextMenuItem:i=>{let n="asset"!==e||"folder"===i.type;return{label:t("element.new-folder"),key:"addFolder",icon:(0,r.jsx)(s.I,{value:"add-folder"}),hidden:!y(p.o.AddFolder)||!n||!(0,d.o)(i.permissions,"create"),onClick:()=>{w(parseInt(i.id),()=>x((0,h.setNodeFetching)({treeId:j,nodeId:String(i.id),isFetching:!0})),()=>x((0,h.setNodeFetching)({treeId:j,nodeId:String(i.id),isFetching:!1})))}}},addFolderMutation:C}}},63993(e,t,i){"use strict";i.d(t,{_:()=>s,x:()=>d});var r=i(74848),n=i(47867),l=i(50174),a=i(21429);let o=(0,n.createContext)(void 0),s=e=>{let{children:t}=e,i=(0,n.useRef)(void 0),s=(0,n.useRef)(void 0),d=(0,n.useRef)(void 0),c=(0,l.J)(),{t:u}=(0,a.useTranslation)(),p=(0,n.useCallback)(()=>i.current,[]),m=(0,n.useCallback)(()=>s.current,[]),g=(0,n.useCallback)(()=>d.current,[]),h=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t},[]),v=(0,n.useCallback)(e=>{d.current=e},[]),f=e=>"filename"in e&&""!==e.filename?e.filename:"label"in e&&""!==e.label?e.label:String(e.id),y=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t,d.current="copy",c.success(u("element.tree.copy-success-description",{elementType:u(t),name:f(e),interpolation:{escapeValue:!1}}))},[c,u]),b=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t,d.current="cut",c.success(u("element.tree.cut-success-description",{elementType:u(t),name:f(e)}))},[c,u]),x=(0,n.useCallback)(()=>{i.current=void 0,s.current=void 0,d.current=void 0},[]),j=(0,n.useCallback)(e=>void 0===s.current||s.current===e,[]),w=(0,n.useMemo)(()=>({getStoredNode:p,getStoredElementType:m,getNodeTask:g,setStoredNode:h,setNodeTask:v,copyNode:y,cutNode:b,clearCopyPaste:x,isValidElementType:j}),[p,m,g,h,v,y,b,x,j]);return(0,r.jsx)(o.Provider,{value:w,children:t})},d=e=>{let t=(0,n.useContext)(o);if(void 0===t)throw Error("useTreeCopyPasteContext must be used within a TreeCopyPasteProvider");if(void 0===e)return t;let i=()=>{let i=t.getStoredElementType();return void 0===i||i===e};return{...t,getStoredNode:()=>i()?t.getStoredNode():void 0,getStoredElementType:()=>i()?t.getStoredElementType():void 0,getNodeTask:()=>i()?t.getNodeTask():void 0}}},42992(e,t,i){"use strict";i.d(t,{e:()=>b});var r=i(74848),n=i(81898);i(47867);var l=i(21429),a=i(13397),o=i(79472),s=i(17388),d=i(68153),c=i(59385),u=i(46881),p=i(70916),m=i(63993),g=i(67950),h=i(42669),v=i(2662),f=i(83295);class y extends f.f{async executeCloneRequest(){let e=await this.elementClone({id:this.sourceId,parentId:this.targetId,cloneParameters:this.parameters});return(null==e?void 0:e.jobRunId)??null}constructor(e){super({sourceId:e.sourceId,targetId:e.targetId,title:e.title,elementType:e.elementType,treeId:e.treeId,nodeId:e.nodeId}),this.parameters=e.parameters,this.elementClone=e.elementClone}}let b=e=>{let{getStoredNode:t,getNodeTask:i,copyNode:f,cutNode:b,clearCopyPaste:x}=(0,m.x)(e),{elementPatch:j,elementClone:w}=(0,a.M)(e),{t:C}=(0,l.useTranslation)(),{isTreeActionAllowed:S}=(0,s.H)(),T=(0,u.useAppDispatch)(),{treeId:I}=(0,p.z)(!0),k=(0,g.U5)(),{isPasteHidden:E}=(0,h.n)(e),D=(0,v.O)(),N=t=>{f(t,e)},P=t=>{b(t,e)},A=async function(i){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{recursive:!0,updateReferences:!0},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t();if(void 0===n)return;let l=new y({sourceId:"number"==typeof n.id?n.id:parseInt(n.id),targetId:i,parameters:r,title:C(`jobs.${e}-clone-job.title`),elementType:e,elementClone:w,treeId:I,nodeId:String(i)});await D.runJob(l)},F=async i=>{let r=t();if(void 0===r)return;let n="number"==typeof r.id?r.id:parseInt(r.id);try{T((0,c.markNodeDeleting)({nodeId:String(n),elementType:e,isDeleting:!0})),await j({body:{data:[{id:n,parentId:i}]}})?(T((0,c.refreshSourceNode)({nodeId:String(r.parentId),elementType:e})),T((0,c.refreshTargetNode)({nodeId:String(i),elementType:e})),x()):T((0,c.markNodeDeleting)({nodeId:String(n),elementType:e,isDeleting:!1}))}catch(e){console.error("Error cloning element",e)}};return{getStoredNode:t,getNodeTask:i,copy:N,cut:P,paste:A,pasteCut:F,move:async t=>{let{currentElement:i,targetElement:r}=t;if(i.id!==r.id)try{T((0,c.markNodeDeleting)({nodeId:String(i.id),elementType:e,isDeleting:!0})),await j({body:{data:[{id:i.id,parentId:r.id}]}})?(T((0,c.refreshSourceNode)({nodeId:String(i.parentId),elementType:e})),T((0,c.refreshTargetNode)({nodeId:String(r.id),elementType:e}))):T((0,c.markNodeDeleting)({nodeId:String(i.id),elementType:e,isDeleting:!1}))}catch(e){console.error("Error moving element",e)}},copyTreeContextMenuItem:e=>!0===e.isRoot?null:{label:C("element.tree.copy"),key:"copy",icon:(0,r.jsx)(n.I,{value:"copy"}),hidden:!S(d.o.Copy)||!(0,o.o)(e.permissions,"view"),onClick:()=>{null==k||k(),N(e)}},copyContextMenuItem:(e,t)=>({label:C("element.tree.copy"),key:"copy",icon:(0,r.jsx)(n.I,{value:"copy"}),hidden:!(0,o.o)(e.permissions,"view")||e.isLocked,onClick:()=>{null==t||t(),N(e)}}),cutTreeContextMenuItem:e=>({label:C("element.tree.cut"),key:"cut",icon:(0,r.jsx)(n.I,{value:"cut"}),hidden:!S(d.o.Cut)||!(0,o.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{null==k||k(),P(e)}}),cutContextMenuItem:(e,t)=>({label:C("element.tree.cut"),key:"cut",icon:(0,r.jsx)(n.I,{value:"cut"}),hidden:!(0,o.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{null==t||t(),P(e)}}),pasteTreeContextMenuItem:e=>({label:C("element.tree.paste"),key:"paste",icon:(0,r.jsx)(n.I,{value:"paste"}),hidden:E(e,"copy"),onClick:async()=>{await A(parseInt(e.id))}}),pasteCutContextMenuItem:e=>({label:C("element.tree.paste-cut"),key:"pasteCut",icon:(0,r.jsx)(n.I,{value:"paste"}),hidden:E(e,"cut"),onClick:async()=>{await F(parseInt(e.id))}})}}},7652(e,t,i){"use strict";i.d(t,{K:()=>u});var r=i(21429),n=i(94316),l=i(40036),a=i(43565),o=i(62930),s=i(35864),d=i(7334),c=i(23945);let u=e=>{var t;let{t:i}=(0,r.useTranslation)(),{id:u}=(0,d.J)(),{element:p}=(0,c.useElementDraft)(u,e),[m,{isLoading:g,isError:h,error:v}]=(0,n.MF)(),{refreshElement:f}=(0,l.d)(e),{confirm:y}=(0,a.Vl)();if(h)throw new o.Ay(v);let b=i((null==p||null==(t=p.draftData)?void 0:t.isAutoSave)===!0?"delete-draft-auto-save":"delete-draft");return{deleteDraft:async()=>{(0,s.isNil)(null==p?void 0:p.draftData)||y({title:b,content:i("delete-draft-confirmation"),onOk:async()=>{(0,s.isNil)(null==p?void 0:p.draftData)||await m({id:p.draftData.id}).then(()=>{f(p.id)})}})},buttonText:b,isLoading:g,isError:h}}},3671(e,t,i){"use strict";i.d(t,{z:()=>I});var r=i(74848),n=i(81898),l=i(43565),a=i(55638),o=i(62786),s=i(81674),d=i(13397),c=i(79472),u=i(2662),p=i(35864),m=i(41630),g=i(59385),h=i(82763),v=i(16327);class f{async run(e){let{messageBus:t}=e;(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!0})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!0}));try{let i=await this.executeDeleteRequest();if((0,p.isNil)(i))return void await this.handleCompletion();let r=new h.j({jobRunId:i,title:this.title,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)}});t.registerHandler(r)}catch(e){await this.handleJobFailure(e),(0,a.Ay)(new a.$g(e.message))}}async executeDeleteRequest(){var e;let t=await m.M_.dispatch(v.FH.endpoints.elementDelete.initiate({id:this.elementId,elementType:this.elementType}));return(0,p.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,a.Ay)(new a.hD(t.error)),null)}async handleCompletion(){(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!1})),(0,p.isNil)(this.parentFolderId)||m.M_.dispatch((0,g.refreshNodeChildren)({elementType:this.elementType,nodeId:this.parentFolderId.toString()}))}async handleJobFailure(e){(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!1})),console.error("Delete job failed:",e)}constructor(e){this.elementId=e.elementId,this.elementType=e.elementType,this.title=e.title,this.treeId=e.treeId,this.nodeId=e.nodeId,this.parentFolderId=e.parentFolderId}}var y=i(83196),b=i(73488),x=i(47867),j=i(21429),w=i(68153),C=i(17388),S=i(14138),T=i(70916);let I=(e,t)=>{let{t:i}=(0,j.useTranslation)(),p=(0,l.Vl)(),m=(0,u.O)(),{refreshGrid:g}=(0,o.X)(e),{getElementById:h}=(0,d.M)(e),{refreshRecycleBin:v}=(0,S.y)(),{isMainWidgetOpen:I,closeWidget:k}=(0,y.J)(),{isTreeActionAllowed:E}=(0,C.H)(),[D,N]=(0,x.useState)(!1),{treeId:P}=(0,T.z)(!0),A=(t,n,l,o)=>{p.confirm({title:i("element.delete.confirmation.title"),content:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:i("element.delete.confirmation.text")}),(0,r.jsx)("br",{}),(0,r.jsx)("b",{children:n})]}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{N(!0);try{let r=new f({elementId:t,elementType:e,title:i("element.delete.deleting-folder"),treeId:P,nodeId:String(t),parentFolderId:l});await m.runJob(r);let n=(0,b.g)(e,t);I(n)&&k(n),v(),null==o||o()}catch(e){(0,a.Ay)(new a.$g(e.message))}finally{N(!1)}}})},F=async t=>{let i=await h(t),r=i.parentId??void 0;A(i.id,(0,s.Ed)(i,e),r,()=>{g()})};return{deleteElement:A,deleteTreeContextMenuItem:(e,t)=>({label:i("element.delete"),key:"delete",icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!E(w.o.Delete)||!(0,c.o)(e.permissions,"delete")||e.isLocked,onClick:()=>{let i=parseInt(e.id),r=void 0!==e.parentId?parseInt(e.parentId):void 0;A(i,e.label,r,t)}}),deleteContextMenuItem:(t,l)=>({label:i("element.delete"),key:"delete",isLoading:D,icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!(0,c.o)(t.permissions,"delete")||t.isLocked,onClick:()=>{let i=t.id,r=t.parentId??void 0;A(i,(0,s.Ed)(t,e),r,l)}}),deleteGridContextMenuItem:e=>{let t=e.original??{};if(void 0!==t.id&&void 0!==t.isLocked&&void 0!==t.permissions)return{label:i("element.delete"),key:"delete",icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!(0,c.o)(t.permissions,"delete")||t.isLocked,onClick:async()=>{await F(t.id)}}},isLoading:D}}},71012(e,t,i){"use strict";i.d(t,{H:()=>g});var r=i(74848),n=i(41630),l=i(59385),a=i(81898),o=i(55638),s=i(16327),d=i(2700),c=i(83196),u=i(35864),p=i(47867),m=i(21429);let g=e=>{let{t}=(0,m.useTranslation)(),i=(0,n.jL)(),g=(0,d.JT)(n.M_.getState()),{switchToWidget:h}=(0,c.J)(),[v,f]=(0,p.useState)(!1),y=(t,r)=>{(0,u.isNull)(g)||i(s.FH.endpoints.elementGetTreeLocation.initiate({id:t,elementType:e,perspectiveId:g.id},{forceRefetch:!0})).then(e=>{if(!(0,u.isNil)(e.data)&&!(0,u.isNil)(e.data.treeLevelData)){let n=e.data.widgetId;h(n),i((0,l.locateInTree)({treeId:n,nodeId:String(t),treeLevelData:e.data.treeLevelData})),null==r||r()}}).catch(()=>{(0,o.Ay)(new o.$g("An error occured while locating in the tree"))})};return{locateInTree:y,locateInTreeGridContextMenuItem:(e,i)=>{let n=e.original??{};if(void 0!==n.id)return{label:t("element.locate-in-tree"),key:"locateInTree",isLoading:v,icon:(0,r.jsx)(a.I,{value:"target"}),onClick:async()=>{f(!0),y(n.id,()=>{null==i||i(),f(!1)})}}},locateInTreeContextMenuItem:(e,i)=>({label:t("element.locate-in-tree"),key:"locateInTree",isLoading:v,icon:(0,r.jsx)(a.I,{value:"target"}),onClick:async()=>{f(!0),y(Number(e.id),()=>{null==i||i(),f(!1)})}})}}},11480(e,t,i){"use strict";i.d(t,{V:()=>h,y:()=>g});var r,n=i(74848),l=i(81898);i(47867);var a=i(21429),o=i(13397),s=i(61549),d=i(17388),c=i(68153),u=i(46881),p=i(59385),m=i(35864);let g=((r={}).Self="self",r.Propagate="propagate",r.Unlock="",r.UnlockPropagate="unlockPropagate",r),h=e=>{let{t}=(0,a.useTranslation)(),{elementPatch:i}=(0,o.M)(e),r=(0,s.J)(),{isTreeActionAllowed:h}=(0,d.H)(),v=(0,u.useAppDispatch)(),f=async e=>{await j(e,g.Self)},y=async e=>{await j(e,g.Propagate)},b=async e=>{await j(e,g.Unlock)},x=async e=>{await j(e,g.UnlockPropagate)},j=async(t,r)=>{let n=i({body:{data:[{id:t,locked:r}]}});try{v((0,p.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!0})),await n&&v((0,p.setNodeLocked)({elementType:e,nodeId:String(t),isLocked:"self"===r||"propagate"===r,lockType:r})),v((0,p.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!1}))}catch(t){console.error("Error renaming "+e,t)}},w=e=>({label:t("element.lock"),key:"lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:k(e),onClick:async()=>{await f(parseInt(e.id))}}),C=e=>({label:t("element.lock-and-propagate-to-children"),key:"lockAndPropagate",icon:(0,n.jsx)(l.I,{value:"file-locked"}),hidden:E(e),onClick:async()=>{await y(parseInt(e.id))}}),S=e=>({label:t("element.unlock"),key:"unlock",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:D(e),onClick:async()=>{await b(parseInt(e.id))}}),T=e=>({label:t("element.unlock-and-propagate-to-children"),key:"unlockAndPropagate",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:N(e),onClick:async()=>{await x(parseInt(e.id))}}),I=e=>e.isLocked&&!(0,m.isNil)(e.locked),k=e=>!h(c.o.Lock)||!r.isAdmin||e.isLocked&&!(e.isLocked&&(0,m.isNil)(e.locked)),E=e=>!h(c.o.LockAndPropagate)||!r.isAdmin||I(e),D=e=>!h(c.o.Unlock)||!r.isAdmin||!I(e),N=e=>!h(c.o.UnlockAndPropagate)||!r.isAdmin||!e.isLocked,P=e=>k(e)&&E(e)&&D(e)&&N(e);return{lock:f,lockAndPropagate:y,unlock:b,unlockAndPropagate:x,lockTreeContextMenuItem:w,lockContextMenuItem:(e,i)=>({label:t("element.lock"),key:"lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:k(e),onClick:async()=>{await f(e.id),null==i||i()}}),lockAndPropagateTreeContextMenuItem:C,lockAndPropagateContextMenuItem:(e,i)=>({label:t("element.lock-and-propagate-to-children"),key:"lockAndPropagate",icon:(0,n.jsx)(l.I,{value:"file-locked"}),hidden:E(e),onClick:async()=>{await y(e.id),null==i||i()}}),unlockTreeContextMenuItem:S,unlockContextMenuItem:(e,i)=>({label:t("element.unlock"),key:"unlock",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:D(e),onClick:async()=>{await b(e.id),null==i||i()}}),unlockAndPropagateTreeContextMenuItem:T,unlockAndPropagateContextMenuItem:(e,i)=>({label:t("element.unlock-and-propagate-to-children"),key:"unlockAndPropagate",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:N(e),onClick:async()=>{await x(e.id),null==i||i()}}),lockMenuTreeContextMenuItem:e=>({label:t("element.lock"),key:"advanced-lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:P(e),children:[w(e),C(e),S(e),T(e)]}),isLockMenuHidden:P}}},34148(e,t,i){"use strict";i.d(t,{i:()=>s});var r=i(74848);i(47867);var n=i(81898),l=i(79472),a=i(21429),o=i(56789);let s=e=>{let{t}=(0,a.useTranslation)(),{openElement:i}=(0,o.K)();return{openContextMenuItem:a=>({label:t("element.open"),key:"open",icon:(0,r.jsx)(n.I,{value:"open-folder"}),hidden:!(0,l.o)(a.permissions,"view"),onClick:async()=>{await i({id:a.id,type:e})}}),openGridContextMenuItem:a=>{let o=a.original??{};if(void 0!==o.id&&void 0!==o.isLocked&&void 0!==o.permissions)return{label:t("element.open"),key:"open",icon:(0,r.jsx)(n.I,{value:"open-folder"}),hidden:!(0,l.o)(o.permissions,"view"),onClick:async()=>{await i({id:o.id,type:e})}}}}}},72744(e,t,i){"use strict";i.d(t,{Z:()=>u});var r=i(74848),n=i(81898),l=i(68153);i(47867);var a=i(21429),o=i(56789),s=i(17388),d=i(74108),c=i(23945);let u=e=>{let{t}=(0,a.useTranslation)(),{isTreeActionAllowed:i}=(0,s.H)(),{executeElementTask:u}=(0,o.K)(),p=(t,i)=>{u(e,"string"==typeof t.id?parseInt(t.id):t.id,d.D.Publish,i)};return{publishNode:p,publishTreeContextMenuItem:(e,a)=>({label:t("element.publish"),key:"publish",icon:(0,r.jsx)(n.I,{value:"eye"}),hidden:!(0,c.checkElementPermission)(e.permissions,"publish")||!i(l.o.Publish)||e.isLocked||!0===e.isPublished,onClick:()=>{p(e,a)}})}}},40036(e,t,i){"use strict";i.d(t,{d:()=>x});var r=i(46881),n=i(73362),l=i(91434),a=i(53996),o=i(21724),s=i(54100),d=i(22555),c=i(35864),u=i(92634),p=i(55638);let m=new Map;var g=i(7843);let h=new Map;var v=i(29376),f=i(46766),y=i(98247);let b=new Map,x=e=>{let t,i,x=(0,r.useAppDispatch)(),{updateDataObjectDraft:j}=(t=(0,r.useAppDispatch)(),{updateDataObjectDraft:async function(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==m.get(e)||i){m.set(e,!0);try{let{data:r,error:n}=await t(l.FH.endpoints.dataObjectGetById.initiate({id:e},{forceRefetch:i}));if((0,c.isUndefined)(n)||((0,p.Ay)(new p.hD(n)),t((0,d.Pf)(e))),!(0,c.isUndefined)(r)){let i={draftData:null,...r,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},modifiedObjectData:{},...u.nd};t((0,s.pw)(i)),t((0,d.aP)(e))}}finally{m.delete(e)}}}}),{updateAssetDraft:w}=(()=>{let e=(0,r.useAppDispatch)();async function t(t){let{data:i,isError:r,error:l}=await e(n.api.endpoints.assetGetById.initiate({id:t}));return r&&((0,p.Ay)(new p.hD(l)),e((0,g.Pf)(t))),i}async function i(t){let i={},{data:r,isSuccess:l,isError:a,error:o}=await e(n.api.endpoints.assetCustomSettingsGetById.initiate({id:t}));if(a){(0,p.Ay)(new p.hD(o)),e((0,g.Pf)(t));return}if(l&&void 0!==r){let e=r.items,t=null==e?void 0:e.dynamicCustomSettings;if(void 0!==t&&!0===Object.prototype.hasOwnProperty.call(t,"focalPointX")&&!0===Object.prototype.hasOwnProperty.call(t,"focalPointY")){let e={x:t.focalPointX,y:t.focalPointY};i={...i,focalPoint:e}}}return i}return{updateAssetDraft:async function(r){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==h.get(r)||n){h.set(r,!0);try{await Promise.all([t(r),i(r)]).then(t=>{let[i,n]=t;if(!(0,c.isUndefined)(i)&&!(0,c.isUndefined)(n)){let t={...i,id:r,modified:!1,properties:[],customMetadata:[],customSettings:[],schedules:[],textData:"",imageSettings:n,changes:{},modifiedCells:{},...u.nd};e((0,o.Y$)(t)),e((0,g.aP)(r))}})}finally{h.delete(r)}}}}})(),{updateDocumentDraft:C}=(i=(0,r.useAppDispatch)(),{updateDocumentDraft:async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==b.get(e)||t){b.set(e,!0);try{let{data:r,error:n}=await i(f.FH.endpoints.documentGetById.initiate({id:e},{forceRefetch:t}));if((0,c.isUndefined)(n)||((0,p.Ay)(new p.hD(n)),i((0,y.Pf)(e))),!(0,c.isUndefined)(r)){let t={...r,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},...u.nd};i((0,v.FP)(t)),i((0,y.aP)(e))}}finally{b.delete(e)}}}});return{refreshElement:(t,i)=>{"asset"===e?(x((0,o.Vx)(t)),x(n.api.util.invalidateTags(a.qN.ASSET_DETAIL_ID(t))),!0===i&&x(n.api.util.invalidateTags(a.qN.PREDEFINED_ASSET_METADATA())),w(t,!0)):"data-object"===e?(x((0,s.CF)(t)),x(l.FH.util.invalidateTags(a.qN.DATA_OBJECT_DETAIL_ID(t))),j(t,!0)):"document"===e&&(x((0,v.sR)(t)),x(l.FH.util.invalidateTags(a.qN.DOCUMENT_DETAIL_ID(t))),C(t,!0))}}}},62786(e,t,i){"use strict";i.d(t,{X:()=>o});var r=i(60124),n=i(7334),l=i(47867),a=i(40547);let o=e=>{let t=(0,n.L)(),i=(0,l.useContext)(a.y);return{refreshGrid:async n=>{let l=n??(null==t?void 0:t.id);if((null==i?void 0:i.dataQueryResult)!==void 0){let{refetch:e}=i.dataQueryResult;await e()}"asset"===e&&void 0!==l&&r.B.publish({identifier:{type:"asset:listing:refresh",id:l}})}}}},38990(e,t,i){"use strict";i.d(t,{h:()=>u});var r=i(74848),n=i(81898);i(47867);var l=i(21429),a=i(17388),o=i(68153),s=i(46881),d=i(59385),c=i(70916);let u=e=>{let{t}=(0,l.useTranslation)(),{isTreeActionAllowed:i}=(0,a.H)(),u=(0,s.useAppDispatch)(),{treeId:p}=(0,c.z)(!0),m=t=>{u((0,d.refreshNodeChildren)({nodeId:String(t),elementType:e}))};return{refreshTree:m,refreshTreeContextMenuItem:e=>({label:t("element.tree.refresh"),key:"refresh",icon:(0,r.jsx)(n.I,{value:"refresh"}),hidden:!i(o.o.Refresh),onClick:()=>{m(e.id),u((0,d.setNodeExpanded)({treeId:p,nodeId:String(e.id),expanded:!0}))}})}}},55014(e,t,i){"use strict";i.d(t,{M:()=>b});var r=i(74848),n=i(21429),l=i(43565),a=i(81898),o=i(47867),s=i(13397),d=i(79472),c=i(81674),u=i(62786),p=i(17388),m=i(68153),g=i(46881),h=i(59385),v=i(54100),f=i(29376),y=i(21724);let b=(e,t)=>{let{t:i}=(0,n.useTranslation)(),b=(0,l.Vl)(),{refreshGrid:x}=(0,u.X)(e),{elementPatch:j,getElementById:w}=(0,s.M)(e,t),{isTreeActionAllowed:C}=(0,p.H)(),S=(0,g.useAppDispatch)(),[T,I]=(0,o.useState)(!1),k=(e,t,r,n)=>{b.input({title:i("element.rename"),label:i("element.rename.label"),initialValue:t,rule:{required:!0,message:i("element.rename.validation")},onOk:async t=>{I(!0),await D(e,t,r,e=>{null==n||n(e),I(!1)})}})},E=async t=>{let i=await w(t),r=i.parentId??void 0;k(t,(0,c.Ed)(i,e),r,()=>{x()})},D=async(t,i,r,n)=>{let l=j({body:{data:[{id:t,key:i}]}});try{S((0,h.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!0})),await l&&S((0,h.renameNode)({elementType:e,nodeId:String(t),newLabel:i})),S((0,h.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!1})),N(t,i),null==n||n(i)}catch(t){console.error("Error renaming "+e,t)}},N=(t,i)=>{"data-object"===e?S((0,v.v2)({id:t,key:i})):"document"===e?S((0,f.v2)({id:t,key:i})):"asset"===e&&S((0,y.PB)({id:t,filename:i}))};return{rename:k,renameTreeContextMenuItem:(e,t)=>({label:i("element.rename"),key:"rename",icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!C(m.o.Rename)||!(0,d.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{let i=parseInt(e.id),r=void 0!==e.parentId?parseInt(e.parentId):void 0;k(i,e.label,r,t)}}),renameContextMenuItem:(t,n)=>({label:i("element.rename"),key:"rename",isLoading:T,icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!(0,d.o)(t.permissions,"rename")||t.isLocked,onClick:()=>{let i=t.parentId??void 0;k(t.id,(0,c.Ed)(t,e),i,n)}}),renameGridContextMenuItem:e=>{let t=e.original??{};if(void 0!==t.id&&void 0!==t.isLocked&&void 0!==t.permissions)return{label:i("element.rename"),key:"rename",icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!(0,d.o)(t.permissions,"rename")||t.isLocked,onClick:async()=>{await E(t.id)}}},renameMutation:D}}},68360(e,t,i){"use strict";i.d(t,{M:()=>p});var r=i(74848),n=i(81898),l=i(74108),a=i(68153),o=i(47867),s=i(21429),d=i(56789),c=i(79472),u=i(17388);let p=e=>{let{t}=(0,s.useTranslation)(),{isTreeActionAllowed:i}=(0,u.H)(),{executeElementTask:p}=(0,d.K)(),[m,g]=(0,o.useState)(!1),h=e=>!(0,c.o)(e.permissions,"unpublish")||"folder"===e.type||e.isLocked,v=(t,i)=>{p(e,"string"==typeof t.id?parseInt(t.id):t.id,l.D.Unpublish,i)};return{unpublishTreeContextMenuItem:(e,l)=>({label:t("element.unpublish"),key:"unpublish",isLoading:m,icon:(0,r.jsx)(n.I,{value:"eye-off"}),hidden:!1===e.isPublished||!i(a.o.Unpublish)||h(e),onClick:()=>{v(e,l)}}),unpublishContextMenuItem:(e,i)=>({label:t("element.unpublish"),key:"unpublish",isLoading:m,icon:(0,r.jsx)(n.I,{value:"eye-off"}),hidden:!e.published||h(e),onClick:()=>{g(!0),v(e,()=>{null==i||i(),g(!1)})}}),unpublishTreeNode:v}}},71836(e,t,i){"use strict";i.d(t,{j:()=>o});var r=i(47867),n=i(46096),l=i(81624),a=i(20319);let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.c)();return{openModal:(0,r.useCallback)((i,r)=>{if((0,l.GZ)()&&(0,n.BB)()){let{element:t}=(0,n.qH)();t.openCropModal({imageId:i,crop:r,options:e});return}t.openModal(i,r,e)},[t,e]),closeModal:(0,r.useCallback)(()=>{t.closeModal()},[t]),isOpen:t.isOpen}}},59603(e,t,i){"use strict";i.d(t,{p:()=>x,Z:()=>b});var r=i(74848),n=i(47867),l=i(35864),a=i(21429),o=i(19249),s=i(25750),d=i(95112),c=i(27820),u=i(30492);let p=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(void 0!==t&&void 0!==i&&t>0&&i>0){let n=t/i/r,l=e.width/e.height;if(Math.abs(l-n)>.001)if(l>n)return{...e,width:e.height*n};else return{...e,height:e.width/n}}return e},m=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return null!=e&&Object.keys(e).length>0?void 0!==e.cropPercent&&e.cropPercent?p({id:1,x:e.cropLeft??0,y:e.cropTop??0,width:e.cropWidth??0,height:e.cropHeight??0,type:"hotspot"},t,i,r):(console.error("Crop is only supported with cropPercent"),h(t,i,r)):h(t,i,r)},g=e=>({cropWidth:Math.round(e.width),cropHeight:Math.round(e.height),cropLeft:Math.round(e.x),cropTop:Math.round(e.y),cropPercent:!0}),h=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=80,n=80;if(void 0!==e&&void 0!==t&&e>0&&t>0){let l=e/t/i;l>1?n=r/l:r=n*l,r>100&&(n=(r=100)/l),n>100&&(r=(n=100)*l)}return{id:1,x:(100-r)/2,y:(100-n)/2,width:r,height:n,type:"hotspot"}};var v=i(70880),f=i(73362);let y=e=>{var t,i,l,p,h,y,b,x;let{t:j}=(0,a.useTranslation)(),{data:w}=(0,f.useAssetGetByIdQuery)({id:e.imageId}),C=(null==w?void 0:w.width)!==void 0&&(null==w?void 0:w.height)!==void 0?Number(w.width)/Number(w.height):1,[S,T]=(0,n.useState)(()=>{var t,i;return g(m(e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C))}),[I,k]=(0,n.useState)(!1);(0,n.useEffect)(()=>{var t,i;T(g(m(e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C)))},[e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C]);let E=()=>{var t,i;T(null),(null==(t=e.options)?void 0:t.onChange)!==void 0&&e.options.onChange(null),null==(i=e.onClose)||i.call(e)},D=(0,v.n)(e.imageId,{width:652,height:500,mimeType:"PNG",contain:!0});return(0,r.jsx)(u.a,{afterOpenChange:e=>{k(e)},footer:(null==(l=e.options)?void 0:l.disabled)===!0?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(s.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(d.e,{items:[(0,r.jsx)(c.J,{disabled:null===S,icon:{value:"trash"},onClick:E,children:j("crop.remove")},"remove")]}),(0,r.jsx)(d.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},maskClosable:!1,okText:j("save"),onCancel:()=>{var t;T(e.crop??null),null==(t=e.onClose)||t.call(e)},onOk:()=>{var t,i;(null==(t=e.options)?void 0:t.onChange)!==void 0&&e.options.onChange(S),null==(i=e.onClose)||i.call(e)},open:e.open,size:"L",title:j("crop"),children:void 0!==w&&(0,r.jsx)(o.d,{data:I?[m(S,null==(p=e.options)?void 0:p.ratioX,null==(h=e.options)?void 0:h.ratioY,C)]:[],disableContextMenu:!0,disabled:null==(y=e.options)?void 0:y.disabled,onUpdate:e=>{T(g(e))},ratioX:null==(b=e.options)?void 0:b.ratioX,ratioY:null==(x=e.options)?void 0:x.ratioY,src:D})})},b=(0,n.createContext)(void 0),x=e=>{let{children:t}=e,[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(null),[d,c]=(0,n.useState)(null),[u,p]=(0,n.useState)({}),m=(e,t,i)=>{s(e),c(t??null),p(i??{}),a(!0)},g=()=>{a(!1),s(null),c(null),p({})},h=(0,n.useMemo)(()=>({openModal:m,closeModal:g,isOpen:i}),[i]);return(0,r.jsxs)(b.Provider,{value:h,children:[i&&!(0,l.isNull)(o)&&(0,r.jsx)(y,{crop:d,imageId:o,onClose:g,open:i,options:u}),t]})}},20319(e,t,i){"use strict";i.d(t,{c:()=>a});var r=i(47867),n=i(59603),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.Z);if((0,l.isNil)(e))throw Error("useCropModalContext must be used within a CropModalProvider");return e}},84e3(e,t,i){"use strict";i.d(t,{t:()=>s});var r=i(47867),n=i(46096),l=i(81624),a=i(62059),o=i(28907);let s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,r.useMemo)(()=>`hotspot-markers-modal-${(0,a.u)()}`,[]),i=(0,o.A)(),s=(0,r.useCallback)((r,a,o)=>{if((0,l.GZ)()&&(0,n.BB)()){let{element:t}=(0,n.qH)();t.openHotspotMarkersModal({imageId:r,hotspots:a,crop:o,options:e});return}i.openModal(t,r,a,o,e)},[t,i,e]);return{openModal:s,closeModal:(0,r.useCallback)(()=>{(0,l.GZ)()&&(0,n.BB)()||i.closeModal(t)},[t,i]),isOpen:i.isModalOpen(t),modalId:t}}},81598(e,t,i){"use strict";i.d(t,{r:()=>O,t:()=>M});var r=i(74848),n=i(47867),l=i.n(n),a=i(21429),o=i(23558),s=i(19249),d=i(25750),c=i(99154),u=i(95112),p=i(27820),m=i(29740),g=i(70880),h=i(57231),v=i(2338),f=i(80632),y=i(27994),b=i(35864);let x=(0,n.createContext)({fields:[],setFields:()=>{}}),j=e=>{let{children:t}=e,[i,l]=(0,n.useState)([]),a=(0,n.useMemo)(()=>({fields:i,setFields:l}),[i]);return(0,r.jsx)(x.Provider,{value:a,children:t})},w=(e,t)=>{let{t:i}=(0,a.useTranslation)(),{fields:r,setFields:l}=(0,n.useContext)(x);(0,n.useEffect)(()=>{(0,b.isUndefined)(e)?(l([]),t.resetFields()):((0,b.isNil)(e.data)||l(e.data),t.setFieldsValue({hotspotName:e.name??null}))},[e]),(0,n.useEffect)(()=>{let e=r.reduce((e,t,i)=>(e[`name-${i}`]=t.name,"textfield"===t.type||"textarea"===t.type||"checkbox"===t.type?e[`value-${i}`]=t.value:e[`value-${i}`]={...t},e),{});t.setFieldsValue(e)},[r]);let o=()=>r.map((e,i)=>{let r=t.getFieldValue(`name-${i}`),n=t.getFieldValue(`value-${i}`);return"textfield"===e.type||"textarea"===e.type||"checkbox"===e.type?{...e,name:r??e.name,value:n??e.value}:{...e,...n,name:r??""}}),s=e=>{l([...o(),{type:e,name:"",value:""}])},d=e=>{l([...o(),{type:e,name:"",value:null,fullPath:"",subtype:"object",published:null}])},c=[{key:"textfield",label:i("hotspots-markers-data-modal.data-type.text-field"),onClick:()=>{s("textfield")}},{key:"textarea",label:i("hotspots-markers-data-modal.data-type.text-area"),onClick:()=>{s("textarea")}},{key:"checkbox",label:i("hotspots-markers-data-modal.data-type.checkbox"),onClick:()=>{l([...o(),{type:"checkbox",name:"",value:!1}])}},{key:"object",label:i("hotspots-markers-data-modal.data-type.object"),onClick:()=>{d("object")}},{key:"document",label:i("hotspots-markers-data-modal.data-type.document"),onClick:()=>{d("document")}},{key:"asset",label:i("hotspots-markers-data-modal.data-type.asset"),onClick:()=>{d("asset")}}];return{fields:r,setFields:l,handleRemoveField:e=>{l(o().filter((t,i)=>i!==e))},updateName:(e,t)=>{l(i=>i.map((i,r)=>r===e?{...i,name:t}:i))},getFieldsData:o,dataTypes:c}};var C=i(86052),S=i(28083),T=i(93470),I=i(74462),k=i(87632);let E=e=>{let t=(0,b.isNil)(e.value)||(0,b.isNull)(e.value.value)?null:{type:String((0,k.sv)(e.type)),id:e.value.value,fullPath:e.value.fullPath,subtype:e.value.subtype,isPublished:e.value.published};return(0,r.jsx)(I.P,{...e,onChange:t=>{var i,r;if((0,b.isNil)(t)||!0===t.textInput){null==(r=e.onChange)||r.call(e,null);return}let n={value:t.id,fullPath:t.fullPath??"",subtype:t.subtype??"",published:(null==t?void 0:t.isPublished)??null};null==(i=e.onChange)||i.call(e,n)},value:t})},D=e=>{let{hotspot:t,form:i}=e,{t:n}=(0,a.useTranslation)(),{fields:l,handleRemoveField:o,dataTypes:s}=w(t,i);return(0,r.jsx)(r.Fragment,{children:l.length>0&&l.map((e,t)=>{var i;let l;return(0,r.jsx)(C.Z,{extra:(0,r.jsx)(m.K,{icon:{value:"trash"},onClick:()=>{o(t)},title:n("remove")}),title:(i=e.type,l=s.find(e=>e.key===i),(0,b.isUndefined)(l)?"Unknown Type":l.label),children:(0,r.jsxs)(v.$,{className:"w-full",direction:"vertical",size:"small",children:[(0,r.jsx)(h.lV.Item,{label:n("hotspots-markers-data-modal.data-type.name"),name:`name-${t}`,children:(0,r.jsx)(f.p,{})}),(0,r.jsx)(h.lV.Item,{label:n("hotspots-markers-data-modal.data-type.value"),name:`value-${t}`,children:(()=>{switch(e.type){case"checkbox":return(0,r.jsx)(T.S,{disableClearButton:!0});case"textarea":return(0,r.jsx)(S.f,{});case"textfield":return(0,r.jsx)(f.p,{});case"document":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!1,dataObjectsAllowed:!0,documentsAllowed:!1,type:"document"});case"asset":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!0,dataObjectsAllowed:!1,documentsAllowed:!1,type:"asset"});case"object":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!1,dataObjectsAllowed:!0,documentsAllowed:!1,type:"object"})}})()})]})},t+e.type)})})},N=e=>{let{hotspot:t,onClose:i,onUpdate:n}=e,{t:l}=(0,a.useTranslation)(),[s]=h.lV.useForm(),{getFieldsData:u,dataTypes:m}=w(t,s),g=(0,r.jsxs)(d.s,{className:"w-100",justify:"space-between",children:[(0,r.jsx)(c.m,{menu:{items:m},children:(0,r.jsx)(p.J,{icon:{value:"new"},children:l("hotspots-markers-data-modal.new-data")},"empty")}),(0,r.jsx)(y.$,{onClick:()=>{(0,b.isUndefined)(t)||s.validateFields().then(()=>{let e=s.getFieldsValue();n({...t,data:u(),name:e.hotspotName}),i()}).catch(e=>{console.error("Validation failed:",e)})},type:"primary",children:l("hotspots-markers-data-modal.apply")},"ok")]});return(0,r.jsx)(o.m,{footer:g,okText:l("save"),onCancel:()=>{i()},open:!(0,b.isUndefined)(t),size:"M",title:l("hotspots-markers-data-modal.title"),zIndex:1e3,children:(0,r.jsx)(h.lV,{form:s,layout:"vertical",children:(0,r.jsxs)(v.$,{className:"w-full",direction:"vertical",size:"small",children:[(0,r.jsx)(h.lV.Item,{label:l("hotspots-markers-data-modal.name"),name:"hotspotName",children:(0,r.jsx)(f.p,{})}),(0,r.jsx)(D,{form:s,hotspot:t})]})})})};var P=i(79606),A=i(55638);let F=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{trackErrors:t=!0}=e,[i,{isLoading:r,error:l}]=(0,P.vK)();return(0,n.useEffect)(()=>{t&&!(0,b.isNil)(l)&&(0,A.Ay)(new A.hD(l))},[l,t]),{convertPathToId:async(e,t)=>{if(!t.startsWith("/"))return null;try{let{data:r}=await i({elementType:e,elementPath:t});if(!(0,b.isNil)(null==r?void 0:r.id))return r.id;return console.warn(`No ID found for path ${t}`),null}catch(e){return console.error(`Failed to get ID for path ${t}:`,e),null}},isLoading:r}},$=e=>{var t,i;let{t:h}=(0,a.useTranslation)(),{convertPathToId:v}=F({trackErrors:!1}),[f,y]=(0,n.useState)(e.hotspots??[]),[x,j]=(0,n.useState)(!1),[w,C]=(0,n.useState)(void 0),S=l().useMemo(()=>{if((0,b.isNil)(e.predefinedDataTemplates))return{};if((0,b.isString)(e.predefinedDataTemplates)){if(""===e.predefinedDataTemplates)return{};try{return JSON.parse(e.predefinedDataTemplates)}catch(e){return console.error("Failed to parse predefinedDataTemplates",e),{}}}return e.predefinedDataTemplates},[e.predefinedDataTemplates]);(0,n.useEffect)(()=>{y(e.hotspots??[])},[null==(t=e.hotspots)?void 0:t.length,JSON.stringify(null==(i=e.hotspots)?void 0:i.map(e=>({name:e.name,data:e.data,id:e.id})))]);let T=e=>{y(f.map(t=>t.id===e.id?e:t))},I=async e=>await Promise.all(e.map(async e=>{let t="asset"===e.type||"document"===e.type||"object"===e.type,i=e.value;if(t&&(0,b.isString)(i)&&i.startsWith("/")){let t=(0,k.sv)(e.type);if(!(0,b.isNil)(t)){let r=await v(t,i);return{...e,value:r,fullPath:i}}}return e})),E=(e,t)=>{let i=s.X[e],r=f.length+1,n={id:r,x:5,y:5,width:i.width,height:i.height,type:e,name:null==t?void 0:t.name,data:null==t?void 0:t.data};y(e=>[...e,n]),(0,b.isNil)(null==t?void 0:t.data)||I(t.data).then(e=>{y(t=>t.map(t=>t.id===r?{...t,data:e}:t))})},D=e=>{let t=S[e],i=h("marker"===e?"hotspots.new-marker":"hotspots.new-hotspot"),n="marker"===e?"new-marker":"new-hotspot",l=(0,r.jsx)(p.J,{icon:{value:n},onClick:()=>{E(e)},children:i},`new-${e}-main`);if(!(0,b.isUndefined)(t)&&t.length>0){let i=t.map((t,i)=>({key:i,label:h(t.menuName??t.name),onClick:()=>{E(e,t)}}));return(0,r.jsx)(u.e,{items:[l,(0,r.jsx)(c.m,{menu:{items:i},children:(0,r.jsx)(m.K,{icon:{value:"chevron-down"},type:"default"})},`new-${e}-dropdown`)],noSpacing:!0},`new-${e}-group`)}return l},P=(0,g.n)(e.imageId,{width:952,height:800,mimeType:"PNG",contain:!0,...e.crop});return(0,r.jsxs)(o.m,{afterOpenChange:e=>{j(e)},footer:!0===e.disabled?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(d.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(u.e,{items:[D("marker"),D("hotspot")].filter(e=>!(0,b.isNil)(e))}),(0,r.jsx)(u.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},okText:h("save"),onCancel:()=>{var t;null==(t=e.onClose)||t.call(e)},onOk:()=>{var t,i;null==(t=e.onChange)||t.call(e,f),null==(i=e.onClose)||i.call(e)},open:e.open,size:"XL",title:h(!0===e.disabled?"hotspots.show":"hotspots.edit"),children:[(0,r.jsx)(s.d,{data:x?f:[],disableDrag:!(0,b.isUndefined)(w),disabled:e.disabled,onClone:e=>{let t=f.find(t=>t.id===e);if(void 0!==t){let e={...t,id:f.length+1};y([...f,e])}},onEdit:e=>{C(f.find(t=>t.id===e.id))},onRemove:e=>{y(f.filter(t=>t.id!==e))},onUpdate:T,src:P}),(0,r.jsx)(N,{hotspot:w,onClose:()=>{C(void 0)},onUpdate:T})]})},M=(0,n.createContext)(void 0),O=e=>{let{children:t}=e,[i,l]=(0,n.useState)(new Map),a=(e,t,i,r,n)=>{l(l=>{let a=new Map(l);return a.set(e,{modalId:e,imageId:t,hotspots:i??null,crop:r??null,options:n??{}}),a})},o=e=>{l(t=>{let i=new Map(t);return i.delete(e),i})},s=e=>i.has(e),d=(0,n.useMemo)(()=>({openModal:a,closeModal:o,isModalOpen:s}),[]);return(0,r.jsxs)(M.Provider,{value:d,children:[Array.from(i.values()).map(e=>(0,r.jsx)(j,{children:(0,r.jsx)($,{crop:e.crop??void 0,disabled:e.options.disabled,hotspots:e.hotspots,imageId:e.imageId,onChange:t=>{((e,t)=>{let r=i.get(e);if(!(0,b.isNil)(r)){var n,l;null==(n=(l=r.options).onChange)||n.call(l,t),o(e)}})(e.modalId,t)},onClose:()=>{o(e.modalId)},open:!0,predefinedDataTemplates:e.options.predefinedDataTemplates})},e.modalId)),t]})}},28907(e,t,i){"use strict";i.d(t,{A:()=>a});var r=i(47867),n=i(81598),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.t);if((0,l.isNil)(e))throw Error("useHotspotMarkersModalContext must be used within a HotspotMarkersModalProvider");return e}},40703(e,t,i){"use strict";i.d(t,{k:()=>c});var r=i(74848);i(47867);var n=i(7334),l=i(68901),a=i(61549);let o=e=>{let t=(0,a.J)(),i=[];return i.push(...Array.isArray(t.contentLanguages)?t.contentLanguages:[]),void 0!==e.customKeys&&e.customKeys.length>0&&i.unshift(...e.customKeys),!0===e.isNullable&&i.unshift("-"),(0,r.jsx)(l.v,{customKeys:e.customKeys,languages:i,onSelectLanguage:t=>{"-"===t?e.onChange(null):e.onChange(t)},selectedLanguage:e.value??"-"})};var s=i(33142);let d=e=>{let t=(0,a.J)(),i=(0,n.J)(),o=(0,s.D)(i.id,i.elementType),d=[];if("permissions"in o){var c,u;let e=o.permissions,i=(null==e||null==(c=e.localizedView)?void 0:c.split(","))??[],r=(null==(u=t.contentLanguages)?void 0:u.filter(e=>i.includes(e)))??[];(1===i.length&&"default"===i[0]||0===i.length)&&(r=Array.isArray(t.contentLanguages)?t.contentLanguages:[]),d.push(...r)}else d.push(...Array.isArray(t.contentLanguages)?t.contentLanguages:[]);return void 0!==e.customKeys&&e.customKeys.length>0&&d.unshift(...e.customKeys),!0===e.isNullable&&d.unshift("-"),(0,r.jsx)(l.v,{customKeys:e.customKeys,languages:d,onSelectLanguage:t=>{"-"===t?e.onChange(null):e.onChange(t)},selectedLanguage:e.value??"-"})},c=e=>null===(0,n.L)()?(0,r.jsx)(o,{...e}):(0,r.jsx)(d,{...e})},72209(e,t,i){"use strict";i.d(t,{E:()=>c});var r=i(74848),n=i(47867),l=i(63364),a=i(1993),o=i(21429);let s=e=>{let{nullable:t=!0,registryServiceId:i,...s}=e,d=(0,l.Lt)(i),[c,u]=(0,n.useState)(s.initialValue??s.value??null),{t:p}=(0,o.useTranslation)(),m=d.getDynamicTypes();(0,n.useEffect)(()=>{void 0!==s.value&&u(s.value)},[s.value]);let g=(0,n.useMemo)(()=>m.map(e=>({label:p(e.id),value:e.id})),[m]),h=(0,n.useMemo)(()=>{let e=g.filter(e=>void 0===s.restrictOptions||s.restrictOptions.includes(e.value));return t&&e.unshift({label:s.nullableLabel??p("asset.select.type.nullable"),value:null}),e},[g,s.restrictOptions,t,s.nullableLabel,p]);return(0,r.jsx)(a.l,{"data-testid":s["data-testid"],minWidth:"normal",onChange:e=>{u(e),void 0!==s.onChange&&s.onChange(e)},options:h,value:c})};var d=i(63155);let c=()=>{let{setValue:e,...t}=(0,d.I)();return(0,r.jsx)(s,{...t,"data-testid":"type-select",onChange:t=>{e(t)}})}},64165(e,t,i){"use strict";i.d(t,{M:()=>a,u:()=>l});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let{children:t,valueState:i,...a}=e,[o,s]=(0,n.useState)(e.initialValue??null);if(void 0!==i){let[e,t]=i;o=e,s=t}return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{...a,value:o,setValue:s},children:t}),[e,t,o,s])}},53211(e,t,i){"use strict";i.d(t,{Z:()=>a});var r=i(47867),n=i(95245),l=i(35864);let a=()=>{let e=(0,r.useContext)(n._);if((0,l.isNil)(e))throw Error("useVideoModalContext must be used within a VideoModalProvider");return e}},95245(e,t,i){"use strict";i.d(t,{I:()=>s,_:()=>o});var r=i(74848),n=i(47867),l=i(35864),a=i(17074);let o=(0,n.createContext)(void 0),s=e=>{let{children:t}=e,[i,s]=(0,n.useState)(!1),[d,c]=(0,n.useState)(null),[u,p]=(0,n.useState)({}),m=(e,t)=>{c(e??null),p(t??{}),s(!0)},g=()=>{s(!1),c(null),p({})},h=(0,n.useMemo)(()=>({openModal:m,closeModal:g,isOpen:i}),[i]);return(0,r.jsxs)(o.Provider,{value:h,children:[t,i&&!(0,l.isNull)(void 0!==d)&&(0,r.jsx)(a.z,{allowedVideoTypes:u.allowedVideoTypes,disabled:u.disabled,onCancel:g,onOk:e=>{var t;null==(t=u.onChange)||t.call(u,e),g()},open:i,value:d})]})}},17074(e,t,i){"use strict";i.d(t,{z:()=>v});var r=i(74848),n=i(47867),l=i(21429),a=i(57231),o=i(28083),s=i(80632),d=i(1993),c=i(74462),u=i(23558),p=i(43565),m=i(27820),g=i(95112),h=i(25750);let v=e=>{var t,i;let{t:v}=(0,l.useTranslation)(),f=(null==(t=e.allowedVideoTypes)?void 0:t[0])??"asset",[y,b]=(0,n.useState)((null==(i=e.value)?void 0:i.type)??f),[x]=a.lV.useForm(),{confirm:j}=(0,p.Vl)();(0,n.useEffect)(()=>{S()},[e.value,e.open]);let w=e=>{x.setFieldsValue({type:e.type,data:C(e.type,e.data)?e.data:null}),"asset"===e.type&&x.setFieldsValue({title:e.title,description:e.description,poster:e.poster})},C=(e,t)=>"asset"===e?null!==t:"string"==typeof t,S=()=>{var t;b((null==(t=e.value)?void 0:t.type)??f),w(e.value??{type:f,data:null})},T=()=>{e.onOk({type:f,data:null})};return(0,r.jsx)(u.m,{afterOpenChange:e=>{e||S()},footer:!0===e.disabled?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(h.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(g.e,{items:[(0,r.jsx)(m.J,{icon:{value:"trash"},onClick:()=>j({title:v("empty"),content:v("empty.confirm"),onOk:T}),children:v("empty")},"empty")]}),(0,r.jsx)(g.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},okText:v("save"),onCancel:e.onCancel,onOk:()=>{let t=(e=>{let{type:t,data:i}=e;return"asset"===t?e:("string"==typeof i&&""!==i&&(i=((e,t)=>{if("youtube"===t){let t=Array.from([...e.matchAll(/^(?:https?:\/\/|\/\/)?(?:www\.|m\.|.+\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|shorts\/|feeds\/api\/videos\/|watch\?v=|watch\?.+&v=))(?[\w-]{11})(?![\w-])/g)],e=>e[1]);if((null==t?void 0:t.length)>0)return t[0]}else if("vimeo"===t){let t=/vimeo.com\/(\d+)($|\/)/.exec(e);if((null==t?void 0:t[1])!==null&&(null==t?void 0:t[1])!==void 0)return t[1]}else if("dailymotion"===t){let t=/dailymotion.*\/video\/([^_]+)/.exec(e);if((null==t?void 0:t[1])!==null&&(null==t?void 0:t[1])!==void 0)return t[1]}return null})(i,t)??i),{type:t,data:i})})(x.getFieldsValue());e.onOk(t)},open:e.open,size:"M",title:v("video.settings"),children:(0,r.jsxs)(a.lV,{form:x,layout:"vertical",children:[(0,r.jsx)(a.lV.Item,{label:v("video.type"),name:"type",children:(0,r.jsx)(d.l,{disabled:e.disabled,onChange:e=>{b(e),w({type:e,data:null})},options:(void 0===e.allowedVideoTypes||0===e.allowedVideoTypes.length?["asset","youtube","vimeo","dailymotion"]:e.allowedVideoTypes).map(e=>({value:e,label:v(`video.type.${e}`)}))})}),(0,r.jsx)(a.lV.Item,{label:v("asset"===y?"video.path":"video.id"),name:"data",children:"asset"===y?(0,r.jsx)(c.P,{allowedAssetTypes:["video"],assetsAllowed:!0,disabled:e.disabled,onOpenElement:e.onCancel}):(0,r.jsx)(s.p,{placeholder:v("video.url")})},"data-"+y),"asset"===y&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.lV.Item,{label:v("video.poster"),name:"poster",children:(0,r.jsx)(c.P,{allowedAssetTypes:["image"],assetsAllowed:!0,disabled:e.disabled,onOpenElement:e.onCancel})}),(0,r.jsx)(a.lV.Item,{label:v("title"),name:"title",children:(0,r.jsx)(s.p,{disabled:e.disabled})}),(0,r.jsx)(a.lV.Item,{label:v("description"),name:"description",children:(0,r.jsx)(o.f,{autoSize:{minRows:3},disabled:e.disabled})})]})]})})}},76238(e,t,i){"use strict";i.d(t,{V:()=>s});var r=i(74848);i(47867);var n=i(63364),l=i(10600),a=i(52112),o=i(89702);let s=e=>{let{batchEdit:t}=e,i=(0,n.Lt)(l.K["DynamicTypes/ObjectDataRegistry"]),{value:s,...d}=t,c=(0,a.C)(),{frontendType:u,config:p,key:m}=d;if(!i.hasDynamicType(u))return(0,r.jsxs)(r.Fragment,{children:["Type ",u," not supported"]});if(!("fieldDefinition"in p))throw Error("Field definition is missing in config");let g=i.getDynamicType(u),h=g.getObjectDataComponent({...p.fieldDefinition,defaultFieldWidth:c}),v=[m];return d.localizable&&(v=["localizedfields",m,d.locale]),(0,r.jsx)(o.W,{component:h,name:v,supportsBatchAppendModes:g.supportsBatchAppendModes})}},45086(e,t,i){"use strict";i.d(t,{I:()=>s});var r=i(74848);i(47867);var n=i(63364),l=i(10600),a=i(52112),o=i(89702);let s=e=>{let{batchEdit:t}=e,i=(0,n.Lt)(l.K["DynamicTypes/ObjectDataRegistry"]),{value:s,...d}=t,c=(0,a.C)(),{frontendType:u,config:p,key:m}=d;if(!i.hasDynamicType(u))return(0,r.jsxs)(r.Fragment,{children:["Type ",u," not supported"]});if(!("fieldDefinition"in p))throw Error("Field definition is missing in config");let g=i.getDynamicType(u),h=g.getObjectDataComponent({...p.fieldDefinition,defaultFieldWidth:c}),v=m.split("."),f=[v[v.length-1]];return f=d.localizable?[...v.pop(),"localizedfields",...f,d.locale]:v,(0,r.jsx)(o.W,{component:h,name:f,supportsBatchAppendModes:g.supportsBatchAppendModes})}},73004(e,t,i){"use strict";i.d(t,{B:()=>a});var r=i(74848);i(47867);var n=i(28083),l=i(57231);let a=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,r.jsx)(l.lV.Item,{name:i,children:(0,r.jsx)(n.f,{autoSize:{minRows:2}})})}},45704(e,t,i){"use strict";i.d(t,{s:()=>a});var r=i(74848);i(47867);var n=i(86569),l=i(57231);let a=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,r.jsx)(l.lV.Item,{name:i,children:(0,r.jsx)(n.Input,{type:"text"})})}},89702(e,t,i){"use strict";i.d(t,{W:()=>s});var r=i(74848);i(47867);var n=i(57231),l=i(8236),a=i(68528),o=i(21429);let s=e=>{let{name:t,component:i,supportsBatchAppendModes:s}=e,{t:d}=(0,o.useTranslation)();return s?(0,r.jsxs)(n.lV.Group,{name:t,children:[(0,r.jsx)(n.lV.Item,{initialValue:a.Y$.Replace,name:"action",children:(0,r.jsx)(l.$,{options:[{label:d("batch-edit.append-mode.replace"),value:a.Y$.Replace},{label:d("batch-edit.append-mode.add"),value:a.Y$.Add},{label:d("batch-edit.append-mode.remove"),value:a.Y$.Remove}]})}),(0,r.jsx)(n.lV.Item,{initialValue:null,name:"data",children:i})]}):(0,r.jsx)(n.lV.Item,{initialValue:null,name:t,children:i})}},81659(e,t,i){"use strict";i.d(t,{y:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(76238);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.V,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.adapter")}})||r},81215(e,t,i){"use strict";i.d(t,{h:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(45086);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.I,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.objectbrick")}})||r},53031(e,t,i){"use strict";i.d(t,{M:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(73004);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.B,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","textarea")}})||r},33473(e,t,i){"use strict";i.d(t,{P:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(45704);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.s,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","input")}})||r},81628(e,t,i){"use strict";i.d(t,{X:()=>_});var r=i(74848),n=i(47867),l=i(35864),a=i(48034),o=i(57180),s=i(15789),d=i(55638),c=i(40701),u=i(36249),p=i(97844),m=i(52255);let g=(0,i(44241).createStyles)(e=>{let{token:t}=e;return{areablockToolstrip:{display:"inline-block",width:"fit-content",marginTop:t.marginXS,marginBottom:t.marginXS},areaEntry:{'&[data-hidden="true"] .pimcore_area_content':{filter:"blur(1px)",opacity:.5}}}});var h=i(46096),v=i(25765),f=i.n(v),y=i(54872),b=i(29740),x=i(62461),j=i(43588),w=i(21429),C=i(55127),S=i(7814);let T=e=>{let{config:t,onAddArea:i}=e,{t:a}=(0,w.useTranslation)();return{menuItems:(0,n.useMemo)(()=>{let e=p.So.getGroupedAreaTypes(t);if(Array.isArray(e))return e.map(e=>({key:e.type,label:(0,r.jsx)(S.m,{title:(0,l.isUndefined)(e.description)?void 0:a(e.description),children:(0,r.jsx)("span",{children:a(e.name)})}),onClick:()=>{i(e.type)}}));let n=[];return Object.entries(e).forEach(e=>{let[t,o]=e,s=o.map(e=>({key:e.type,label:(0,r.jsx)(S.m,{title:(0,l.isUndefined)(e.description)?void 0:a(e.description),children:(0,r.jsx)("span",{children:a(e.name)})}),onClick:()=>{i(e.type)}}));null==n||n.push({key:t,label:a(t),children:s})}),n},[t,i,a])}};var I=i(28660);let k=e=>{let{id:t,buttonsContainer:i,element:n,limitReached:l,areaTypes:a,config:o,areablockManager:s,onAddArea:d,onRemoveArea:c,onMoveAreaUp:u,onMoveAreaDown:p,onOpenDialog:m,onToggleHidden:h,isInherited:v=!1,onOverwrite:f}=e,{styles:S}=g(),{t:k}=(0,w.useTranslation)(),{listeners:E}=(0,C.y)({id:t,element:n}),{menuItems:D}=T({config:o,onAddArea:e=>{d(n,e)}}),N=s.queryElements(),P=s.findElementIndex(n),A=P===N.length-1,F=s.isElementHidden(n),$=s.getElementType(n),M=a.find(e=>e.type===$),O=(null==M?void 0:M.name)!=null?k(M.name):void 0,_=[],L=null;l||(1===a.length?_.push((0,r.jsx)(b.K,{icon:{value:"new"},onClick:()=>{d(n,a[0].type)},size:"small"},"plus")):_.push((0,r.jsx)(j.Dropdown,{menu:{items:D},placement:"bottomLeft",trigger:["click"],children:(0,r.jsx)(b.K,{icon:{value:"new"},size:"small"})},"plus-dropdown"))),_.push((0,r.jsx)(b.K,{disabled:0===P,icon:{value:"chevron-up"},onClick:()=>{u(n)},size:"small"},"up")),_.push((0,r.jsx)(b.K,{disabled:A,icon:{value:"chevron-down"},onClick:()=>{p(n)},size:"small"},"down")),(null==M?void 0:M.hasDialogBoxConfiguration)===!0&&_.push((0,r.jsx)(b.K,{icon:{value:"settings"},onClick:()=>{null==m||m(t)},size:"small"},"dialog")),_.push((0,r.jsx)(b.K,{icon:{value:F?"eye-off":"eye"},onClick:()=>{null==h||h(n)},size:"small",title:k(F?"areablock.show":"areablock.hide")},"visibility")),L=(0,r.jsx)(b.K,{icon:{value:"trash"},onClick:()=>{c(n)},size:"small"},"minus");let R=(0,r.jsx)(y.Z,{activateOnHover:!v,additionalIcon:v?"inheritance-active":void 0,className:S.areablockToolstrip,disabled:v,dragger:!!v||{listeners:E},theme:"inverse",title:O,children:(0,r.jsxs)(x.B,{dividerSize:"small",size:"mini",theme:"secondary",children:[(0,r.jsx)(j.Space,{size:"small",children:_}),L]})},`toolbar-${n.getAttribute("key")}`);return(0,r.jsx)(I.s,{isInherited:v,onOverwrite:f,children:R})};var E=i(30817),D=i(36604);let N=e=>{let{areaTypes:t,config:i,onClick:n,isInherited:a=!1,onOverwrite:o}=e,{styles:s}=g(),{menuItems:d}=T({config:i,onAddArea:e=>{n(e)}}),c=async(e,t)=>{var i;!a&&"areablock-type"===e.type&&(0,l.isString)(null==(i=e.data)?void 0:i.areablockType)&&await n(e.data.areablockType)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(D.L,{}),(0,r.jsx)(I.s,{isInherited:a,onOverwrite:o,children:(0,r.jsx)(y.Z,{additionalIcon:a?"inheritance-active":void 0,className:s.areablockToolstrip,disabled:a,theme:"inverse",children:1===t.length?(0,r.jsx)(b.K,{icon:{value:"new"},onClick:a?void 0:()=>{n(t[0].type)},size:"small"}):(0,r.jsx)(j.Dropdown,{menu:{items:d},placement:"bottomLeft",trigger:a?[]:["click"],children:(0,r.jsx)(b.K,{icon:{value:"new"},size:"small"})})})}),!a&&(0,r.jsx)(E.i,{id:"empty-areablock-toolbar-dropzone",index:0,isValidDrop:e=>{var t;if(a||"areablock-type"!==e.type||!(0,l.isString)(null==(t=e.data)?void 0:t.areablockType))return!1;let r=e.data.areablockType;return p.So.isTypeAllowed(i,r)},onDropItem:c})]})};var P=i(44108),A=i(65504),F=i(67574),$=i(17678),M=i(86515);let O=e=>{let{element:t,areablockName:i,editableDefinitions:n=[],isOpen:l=!1,onClose:a}=e,{dialogConfig:o,editableDefinitions:s,handleCloseDialog:d,hasDialog:c}=(0,M.G)({element:t,dialogSelector:".pimcore_block_dialog",editableName:i,dynamicEditableDefinitions:n});return c&&l&&0!==s.length?(0,r.jsx)($.b,{config:o,editableDefinitions:s,onClose:()=>{null==a||a(),d()},visible:l}):null},_=e=>{let{value:t=[],onChange:i,config:v,className:y,editableName:b,containerRef:x,disabled:j=!1,isInherited:C=!1,renderTrigger:S}=e,T=(0,l.isArray)(t)?t:[],I=(0,n.useMemo)(()=>new F.I(b,x),[b,x]),E=(0,n.useMemo)(()=>p.So.getAvailableTypes(v),[v]),[D,$]=(0,n.useState)(new Set),M=(0,n.useCallback)(()=>{null==i||i(I.getAreablockValue())},[I,i]),_=(0,n.useCallback)(e=>{$(t=>new Set(t).add(e))},[]),L=(0,n.useCallback)(e=>{$(t=>{let i=new Set(t);return i.delete(e),i})},[]),R=(0,n.useCallback)(e=>{I.toggleElementHidden(e);let t=I.getAreablockValue();null==i||i(t)},[I,i]),{dynamicEditables:B,addArea:z,removeArea:V,moveAreaUp:G,moveAreaDown:U,moveArea:q}=(e=>{let{areablockManager:t,onChange:i,config:r,disabled:a=!1,renderTrigger:v}=e,{initializeData:f,getValues:y,removeValues:b}=(0,o.U)(),{id:x}=(0,n.useContext)(s.T),[j,w]=(0,n.useState)([]),C=(0,n.useRef)(t.queryElements()),{styles:S}=g(),T=(0,n.useCallback)(()=>{t.applyStylestoAreaEntries(S.areaEntry)},[t]);(0,n.useEffect)(()=>{T()},[T]);let{hideElementUntilRendered:I,revealPendingElements:k}=(0,m.j)({dynamicEditables:j,getContainer:()=>t.getContainer()}),E=(0,n.useCallback)(e=>{let t=e([...C.current]);C.current=t;let r=p.th.elementsToAreablockValue(t);null==i||i(r)},[i]),D=(0,n.useCallback)(()=>{t.ensureAllElementKeys();let e=t.getAreablockValue();null==i||i(e)},[i,t]),N=(0,n.useCallback)(async(e,i)=>{if(a)return;let n=p.So.getEffectiveLimit(r),o=p.So.isReloadMode(r)?C.current:t.queryElements();if(p.So.isLimitReached(o.length,n))return;let s=p.So.getAvailableTypes(r),m=i??((0,l.isEmpty)(s)?"default":s[0].type);if(!p.So.isTypeAllowed(r,m))return;let g=(0,l.isNil)(e)?0:t.findElementIndex(e)+1,y=t.calculateNextKey();if(p.So.isReloadMode(r))return void E(e=>{let i=document.createElement("div");t.setElementKey(i,y.toString()),t.setElementType(i,m),i.setAttribute("data-hidden","false");let r=[...e];return r.splice(g,0,i),r});try{let e,i=t.getContainer();if((0,l.isNil)(i))return;let n=t.getAreablockValue();n.splice(g,0,{key:y,type:m,hidden:!1});let{error:a,data:o}=await v({id:x,body:{name:t.getEditableName(),realName:t.getRealEditableName(),index:g,blockStateStack:(e=null==r?void 0:r.blockStateStack,(0,l.isString)(e)?JSON.parse(e):null),areaBlockConfig:r??{},areaBlockData:n}});if(!(0,l.isUndefined)(a))return void(0,d.Ay)(new d.hD(a));if(!(0,l.isNil)(null==o?void 0:o.htmlCode)){let e=document.createElement("div");e.innerHTML=o.htmlCode;let r=e.firstElementChild;if(!(0,l.isNil)(r)){I(r);let e=t.queryElements();if(0===e.length){var b;i.appendChild(r);let e=(0,u.T5)(t.getEditableName(),!0);null==(b=r.parentNode)||b.insertBefore(e,r)}else(0,l.isNil)(e[g-1])?(0,l.isNil)(e[g])||e[g].insertAdjacentElement("beforebegin",r):e[g-1].insertAdjacentElement("afterend",r);let n=(0,u.T5)(t.getEditableName());r.appendChild(n),T()}}if(!(0,l.isNil)(null==o?void 0:o.editableDefinitions)&&(0,l.isArray)(null==o?void 0:o.editableDefinitions)){let e=o.editableDefinitions,t=(0,c.b)(e);f(t),w(t=>[...t,...e]),function(e,t){try{let i=(0,p.uk)(t);if(0===Object.keys(i).length)return;let{document:r}=(0,h.qH)();r.mergeAreablockTypes(e,"areablock",i)}catch(e){console.warn("Could not merge areablock types after addArea:",e)}}(x,e)}else k();D()}catch(e){(0,d.Ay)(new d.$g("Failed to add area")),console.error("Failed to add area:",e),D()}},[a,r,E,D,t,x]),P=(0,n.useCallback)(e=>{if(a)return;if(p.So.isReloadMode(r)){let i=t.findElementIndex(e);E(e=>{let t=[...e];return t.splice(i,1),t});return}let i=(e=>{let i=t.getElementKey(e);if((0,l.isNil)(i))return[];let r=y();return p.th.filterEditableNames(Object.keys(r),t.getEditableName(),i)})(e),n=t.getElementKey(e);if(!(0,l.isNil)(n)){let e=t.getEditableName(),i=`${e}:${n}.`;w(e=>e.filter(e=>!e.name.startsWith(i)))}e.remove(),(0,l.isEmpty)(i)||b(i),D()},[a,r,E,b,D,t]),A=(e,i)=>{if(a)return;let n=t.findElementIndex(e),o=p.So.isReloadMode(r)?C.current:t.queryElements();if("up"===i&&!p.So.canMoveUp(n)||"down"===i&&!p.So.canMoveDown(n,o.length))return;if(p.So.isReloadMode(r)){let e="up"===i?n-1:n+1;E(t=>p.th.swapElements(t,n,e));return}let s="up"===i?o[n-1]:o[n+1];if(!(0,l.isNil)(s)){var d;let t="up"===i?s:s.nextSibling;null==(d=s.parentNode)||d.insertBefore(e,t),D()}};return{dynamicEditables:j,addArea:N,removeArea:P,moveAreaUp:e=>{A(e,"up")},moveAreaDown:e=>{A(e,"down")},moveArea:(0,n.useCallback)((e,i)=>{if(a)return;let n=p.So.isReloadMode(r)?C.current:t.queryElements();if(e<0||e>=n.length||i<0||i>=n.length)return;if(p.So.isReloadMode(r))return void E(t=>{let r=[...t],[n]=r.splice(e,1);return r.splice(i,0,n),r});let o=window.scrollX,s=window.scrollY,d=n[e],c=n[i];if(!(0,l.isNil)(d)&&!(0,l.isNil)(c)){var u;let t=i>e?c.nextSibling:c;null==(u=c.parentNode)||u.insertBefore(d,t),requestAnimationFrame(()=>{window.scrollTo(o,s)}),D()}},[a,r,E,D,t])}})({areablockManager:I,value:T,onChange:i,config:v,disabled:j,renderTrigger:S}),{renderAreablockToolbar:W}=(e=>{let{areablockManager:t,areaTypes:i,config:a,onAddArea:o,onRemoveArea:s,onMoveAreaUp:d,onMoveAreaDown:c,onMoveArea:u,onOpenDialog:m,onToggleHidden:g,isInherited:h=!1,onOverwrite:v}=e,{activeId:y,handleDragStart:b,handleDragOver:x,handleDragEnd:j,dropzonePortals:C,dragOverlayTitle:S,refreshDropzones:T,removeFirstDropzone:I}=(e=>{let{areablockManager:t,areaTypes:i,onMoveArea:r,onDropAreablock:a}=e,{t:o}=(0,w.useTranslation)(),s=async(e,t)=>{if(!(0,l.isNil)(a)){var i;let r=(null==(i=e.data)?void 0:i.areablockType)??e.title??"default";await a(r,t)}},d=(0,P.g)({blockManager:t,onMoveItem:r,onDropItem:s,isValidDrop:e=>{var t;if("areablock-type"!==e.type||(null==(t=e.data)?void 0:t.areablockType)==null)return!1;let r=e.data.areablockType;return i.some(e=>e.type===r)}}),c=(0,n.useMemo)(()=>{if(null===d.activeId)return;let e=t.queryElements().find(e=>t.getElementKey(e)===d.activeId);if(!(0,l.isUndefined)(e)&&!(0,l.isUndefined)(t.getElementType)&&i.length>0){let r=t.getElementType(e),n=i.find(e=>e.type===r);return(null==n?void 0:n.name)!=null?o(n.name):void 0}},[d.activeId,t,i]);return{...d,dragOverlayTitle:c}})({areablockManager:t,areaTypes:i,onMoveArea:u,onDropAreablock:async(e,i)=>{if(h)return;let r=t.queryElements();if(0===i)await E(null,e);else if(i>=r.length){let t=r[r.length-1];await E(t,e)}else{let t=r[i-1];await E(t,e)}}}),E=(0,n.useCallback)(async(e,t)=>{await o(e,t),T()},[o,T]),D=(0,n.useCallback)(e=>{let i=1===t.queryElements().length;s(e),i&&I()},[s,t,I]),F=(0,n.useCallback)(e=>{let t=(0,r.jsx)(N,{areaTypes:i,config:a,isInherited:h,onClick:async e=>{await E(null,e)},onOverwrite:v});return f().createPortal(t,e)},[i,a,E,h,v]);return{renderAreablockToolbar:(0,n.useCallback)(()=>{let e=[],n=t.queryElements(),l=p.So.isLimitReached(n.length,null==a?void 0:a.limit);if(0===n.length){let i=t.getContainer();if(null!==i){let t=F(i);e.push(t)}}else h||e.push(...C);let o=n.map(e=>t.getElementKey(e)).filter(e=>!!e);return n.forEach(n=>{let o=n.querySelector(".pimcore_area_buttons");if(null!==o){let s=t.getElementKey(n);if(null!==s){let u=(0,r.jsx)(k,{areaTypes:i,areablockManager:t,buttonsContainer:o,config:a,element:n,id:s,isInherited:h,limitReached:l,onAddArea:E,onMoveAreaDown:c,onMoveAreaUp:d,onOpenDialog:m,onOverwrite:v,onRemoveArea:D,onToggleHidden:g}),p=f().createPortal(u,o);e.push(p)}}}),(0,r.jsx)(A.C,{activeId:y,dragOverlayTitle:S,items:o,onDragEnd:j,onDragOver:x,onDragStart:b,children:(0,r.jsx)(r.Fragment,{children:e})})},[t,i,a,b,x,j,E,D,d,c,g,m,y,C,S,F,h,v])}})({areablockManager:I,areaTypes:E,config:v,onAddArea:z,onRemoveArea:V,onMoveAreaUp:G,onMoveAreaDown:U,onMoveArea:q,onOpenDialog:_,onToggleHidden:R,isInherited:C,onOverwrite:M});return(0,r.jsxs)("div",{className:y,children:[(0,r.jsx)(a.E,{editableDefinitions:B}),W(),Array.from(D).map(e=>{let t=I.findElementByKey(e);return(0,l.isNil)(t)?null:(0,r.jsx)(O,{areablockName:b,editableDefinitions:B,element:t,isOpen:!0,onClose:()=>{L(e)}},`dialog-${e}`)})]})}},184(e,t,i){"use strict";i.d(t,{A:()=>u});var r=i(74848),n=i(47867),l=i(35864),a=i(76673);let o=(0,i(44241).createStyles)(e=>{let{token:t}=e;return{contentEditable:{outline:"none",overflowY:"visible","&[data-empty=true]":{outline:`1px dashed ${t.colorBorder}`},"&:hover":{outline:`2px dashed ${t.colorBorder}`,outlineOffset:"5px"},"&:focus":{outline:"none"},"&[contenteditable=true][data-placeholder][data-empty=true]:before":{cursor:"text",content:"attr(data-placeholder)",display:"block",color:t.colorTextDisabled}}}});var s=i(53051),d=i(8651),c=i.n(d);let u=e=>{let t,{value:i,onChange:d,placeholder:u,width:p,height:m,nowrap:g,allowMultiLine:h=!1,className:v,disabled:f=!1,inherited:y=!1}=e,{styles:b}=o(),x=(0,n.useRef)(null),j=(0,n.useRef)(i??null);(0,n.useEffect)(()=>{if(!(0,l.isNull)(x.current)){let e=(0,l.isNil)(i)||""===i?"":h?i.replace(/\r\n|\n/g," "):i;x.current.innerHTML!==e&&(x.current.innerHTML=e),j.current=i}},[i,h,y]);let w=()=>{if((0,l.isNull)(x.current))return;let e=(e=>{if(""===e)return"";let t=(0,a.Kq)(e,["br"]);return(t=h?t.replace(/ /gi,"\n"):t.replace(/ /gi," ")).trim()})(x.current.innerHTML);e!==j.current&&(j.current=e,null==d||d((0,l.isString)(e)?e:""))},C=(0,l.isNil)(j.current)||""===j.current,S=(t={},h?((0,l.isNil)(p)&&(0,l.isNil)(m)||(t.display="inline-block",t.overflow="auto"),(0,l.isNil)(p)||(t.width=`${p}px`),(0,l.isNil)(m)||(t.height=`${m}px`)):(0,l.isNil)(p)||(t.display="inline-block",t.width=`${p}px`,t.overflow="auto hidden",t.whiteSpace="nowrap"),!(0,l.isNil)(g)&&g&&(t.whiteSpace="nowrap",t.overflow="auto hidden"),t);return(0,r.jsx)(s.x,{display:S.display??"block",isInherited:y,onOverwrite:()=>{null==d||d(i??"")},children:(0,r.jsx)("div",{className:c()(b.contentEditable,v),contentEditable:!f,"data-empty":C,"data-placeholder":u,onInput:f?void 0:w,onKeyDown:f?void 0:e=>{if("Enter"===e.key)if(h){if(e.preventDefault(),!(0,l.isNil)(window.getSelection)){let e=window.getSelection();if(!(0,l.isNull)(e)&&e.rangeCount>0){let t=e.getRangeAt(0),i=document.createElement("br"),r=document.createTextNode("\xa0");t.deleteContents(),t.insertNode(i),t.collapse(!1),t.insertNode(r),t.selectNodeContents(r),e.removeAllRanges(),e.addRange(t)}}setTimeout(w,0)}else e.preventDefault()},onPaste:f?void 0:e=>{var t;e.preventDefault();let i=null==(t=x.current)?void 0:t.ownerDocument.defaultView;if((0,l.isNil)(i)||(0,l.isNil)(x.current))return;let r="";(0,l.isNil)(e.clipboardData)?(0,l.isNil)(i.clipboardData)||(r=i.clipboardData.getData("Text")):r=e.clipboardData.getData("text/plain"),r=(0,a.ZD)(r),r=h?r.replace(/\r\n|\n/g," ").trim():r.replace(/\r\n|\n/g," ").trim(),(0,a.Dq)(r,i),setTimeout(w,0)},ref:x,role:"none",style:S})})}},53051(e,t,i){"use strict";i.d(t,{x:()=>u});var r=i(74848),n=i(47867),l=i(86569),a=i(81898);let o=(0,i(44241).createStyles)((e,t)=>{let{token:i,css:r}=e,{display:n,addIconSpacing:l,hideButtons:a,noPadding:o,shape:s}=t,d=!0===l?16+2*i.paddingXXS+i.paddingMD:0;return{container:r`
+ `}}),l=(e,t)=>{let i=(t??document).getElementById(`pimcore_editable_${e}`);null==i||i.setAttribute("data-required-active","true")},a=(e,t)=>{let i=(t??document).getElementById(`pimcore_editable_${e}`);null==i||i.removeAttribute("data-required-active")},o=e=>{let{children:t,isRequired:i,editableName:l}=e,{styles:a}=n();return i?(0,r.jsx)("div",{className:`${a.requiredFieldWrapper} studio-required-field-wrapper`,"data-editable-name":l,children:t}):(0,r.jsx)(r.Fragment,{children:t})}},57180(e,t,i){"use strict";i.d(t,{U:()=>a});var r=i(47867),n=i(46096),l=i(15789);let a=()=>{let{id:e}=(0,r.useContext)(l.T),t=(0,r.useRef)(!1),i=(0,r.useCallback)(()=>{var e;let t=null==(e=window.PimcoreDocumentEditor)?void 0:e.documentEditable;if(null==t)throw Error("PimcoreDocumentEditor API not available");return t},[]),a=(0,r.useCallback)((t,r)=>{i().updateValue(t,r);try{let{document:i}=(0,n.qH)();i.triggerValueChange(e,t,r)}catch(e){console.warn("Could not notify parent window of value change:",e)}},[e]),o=(0,r.useCallback)((t,r)=>{i().updateValue(t,r);try{let{document:i}=(0,n.qH)();i.triggerValueChangeWithReload(e,t,r)}catch(e){console.warn("Could not trigger reload for value change:",e)}},[e]);return{updateValue:a,updateValueWithReload:o,triggerSaveAndReload:(0,r.useCallback)(()=>{try{let{document:t}=(0,n.qH)();t.triggerSaveAndReload(e)}catch(e){console.warn("Could not trigger save and reload:",e)}},[e]),getValues:()=>i().getValues(),getValue:e=>i().getValue(e),initializeData:e=>{i().initializeValues(e)},removeValues:e=>{i().removeValues(e)},notifyReady:(0,r.useCallback)(()=>{if(!t.current)try{let{document:i}=(0,n.qH)();i.notifyIframeReady(e),t.current=!0}catch(e){console.warn("Could not notify parent window that iframe is ready:",e)}},[e]),getInheritanceState:e=>i().getInheritanceState(e),setInheritanceState:(e,t)=>{i().setInheritanceState(e,t)},initializeInheritanceState:e=>{i().initializeInheritanceState(e)}}}},50458(e,t,i){"use strict";i.d(t,{N:()=>f});var r=i(74848);i(47867);var n=i(21429),l=i(35864),a=i(43565),o=i(16327),s=i(81898),d=i(79472),c=i(55638),u=i(17388),p=i(68153),m=i(38990),g=i(70916),h=i(59385),v=i(46881);let f=e=>{let{t}=(0,n.useTranslation)(),i=(0,a.Vl)(),[f]=(0,o.tX)(),{isTreeActionAllowed:y}=(0,u.H)(),{refreshTree:b}=(0,m.h)(e),x=(0,v.useAppDispatch)(),{treeId:j}=(0,g.z)(!0),w=(e,r,n)=>{i.input({title:t("element.new-folder"),label:t("form.label.new-item"),rule:{required:!0,message:t("element.new-folder.validation")},onOk:async t=>{null==r||r(),await C(e,t,n)}})},C=async(t,i,r)=>{let n=f({parentId:t,elementType:e,folderData:{folderName:i}});try{let e=await n;(0,l.isUndefined)(e.error)?b(t):((0,c.Ay)(new c.hD(e.error)),null==r||r())}catch(e){(0,c.Ay)(new c.$g(`'Error creating folder: ${e}`))}};return{addFolder:w,addFolderTreeContextMenuItem:i=>{let n="asset"!==e||"folder"===i.type;return{label:t("element.new-folder"),key:"addFolder",icon:(0,r.jsx)(s.I,{value:"add-folder"}),hidden:!y(p.o.AddFolder)||!n||!(0,d.o)(i.permissions,"create"),onClick:()=>{w(parseInt(i.id),()=>x((0,h.setNodeFetching)({treeId:j,nodeId:String(i.id),isFetching:!0})),()=>x((0,h.setNodeFetching)({treeId:j,nodeId:String(i.id),isFetching:!1})))}}},addFolderMutation:C}}},63993(e,t,i){"use strict";i.d(t,{_:()=>s,x:()=>d});var r=i(74848),n=i(47867),l=i(50174),a=i(21429);let o=(0,n.createContext)(void 0),s=e=>{let{children:t}=e,i=(0,n.useRef)(void 0),s=(0,n.useRef)(void 0),d=(0,n.useRef)(void 0),c=(0,l.J)(),{t:u}=(0,a.useTranslation)(),p=(0,n.useCallback)(()=>i.current,[]),m=(0,n.useCallback)(()=>s.current,[]),g=(0,n.useCallback)(()=>d.current,[]),h=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t},[]),v=(0,n.useCallback)(e=>{d.current=e},[]),f=e=>"filename"in e&&""!==e.filename?e.filename:"label"in e&&""!==e.label?e.label:String(e.id),y=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t,d.current="copy",c.success(u("element.tree.copy-success-description",{elementType:u(t),name:f(e),interpolation:{escapeValue:!1}}))},[c,u]),b=(0,n.useCallback)((e,t)=>{i.current=e,s.current=t,d.current="cut",c.success(u("element.tree.cut-success-description",{elementType:u(t),name:f(e)}))},[c,u]),x=(0,n.useCallback)(()=>{i.current=void 0,s.current=void 0,d.current=void 0},[]),j=(0,n.useCallback)(e=>void 0===s.current||s.current===e,[]),w=(0,n.useMemo)(()=>({getStoredNode:p,getStoredElementType:m,getNodeTask:g,setStoredNode:h,setNodeTask:v,copyNode:y,cutNode:b,clearCopyPaste:x,isValidElementType:j}),[p,m,g,h,v,y,b,x,j]);return(0,r.jsx)(o.Provider,{value:w,children:t})},d=e=>{let t=(0,n.useContext)(o);if(void 0===t)throw Error("useTreeCopyPasteContext must be used within a TreeCopyPasteProvider");if(void 0===e)return t;let i=()=>{let i=t.getStoredElementType();return void 0===i||i===e};return{...t,getStoredNode:()=>i()?t.getStoredNode():void 0,getStoredElementType:()=>i()?t.getStoredElementType():void 0,getNodeTask:()=>i()?t.getNodeTask():void 0}}},42992(e,t,i){"use strict";i.d(t,{e:()=>b});var r=i(74848),n=i(81898);i(47867);var l=i(21429),a=i(13397),o=i(79472),s=i(17388),d=i(68153),c=i(59385),u=i(46881),p=i(70916),m=i(63993),g=i(67950),h=i(42669),v=i(2662),f=i(83295);class y extends f.f{async executeCloneRequest(){let e=await this.elementClone({id:this.sourceId,parentId:this.targetId,cloneParameters:this.parameters});return(null==e?void 0:e.jobRunId)??null}constructor(e){super({sourceId:e.sourceId,targetId:e.targetId,title:e.title,elementType:e.elementType,treeId:e.treeId,nodeId:e.nodeId}),this.parameters=e.parameters,this.elementClone=e.elementClone}}let b=e=>{let{getStoredNode:t,getNodeTask:i,copyNode:f,cutNode:b,clearCopyPaste:x}=(0,m.x)(e),{elementPatch:j,elementClone:w}=(0,a.M)(e),{t:C}=(0,l.useTranslation)(),{isTreeActionAllowed:S}=(0,s.H)(),T=(0,u.useAppDispatch)(),{treeId:I}=(0,p.z)(!0),k=(0,g.U5)(),{isPasteHidden:E}=(0,h.n)(e),D=(0,v.O)(),N=t=>{f(t,e)},P=t=>{b(t,e)},A=async function(i){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{recursive:!0,updateReferences:!0},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t();if(void 0===n)return;let l=new y({sourceId:"number"==typeof n.id?n.id:parseInt(n.id),targetId:i,parameters:r,title:C(`jobs.${e}-clone-job.title`),elementType:e,elementClone:w,treeId:I,nodeId:String(i)});await D.runJob(l)},F=async i=>{let r=t();if(void 0===r)return;let n="number"==typeof r.id?r.id:parseInt(r.id);try{T((0,c.markNodeDeleting)({nodeId:String(n),elementType:e,isDeleting:!0})),await j({body:{data:[{id:n,parentId:i}]}})?(T((0,c.refreshSourceNode)({nodeId:String(r.parentId),elementType:e})),T((0,c.refreshTargetNode)({nodeId:String(i),elementType:e})),x()):T((0,c.markNodeDeleting)({nodeId:String(n),elementType:e,isDeleting:!1}))}catch(e){console.error("Error cloning element",e)}};return{getStoredNode:t,getNodeTask:i,copy:N,cut:P,paste:A,pasteCut:F,move:async t=>{let{currentElement:i,targetElement:r}=t;if(i.id!==r.id)try{T((0,c.markNodeDeleting)({nodeId:String(i.id),elementType:e,isDeleting:!0})),await j({body:{data:[{id:i.id,parentId:r.id}]}})?(T((0,c.refreshSourceNode)({nodeId:String(i.parentId),elementType:e})),T((0,c.refreshTargetNode)({nodeId:String(r.id),elementType:e}))):T((0,c.markNodeDeleting)({nodeId:String(i.id),elementType:e,isDeleting:!1}))}catch(e){console.error("Error moving element",e)}},copyTreeContextMenuItem:e=>!0===e.isRoot?null:{label:C("element.tree.copy"),key:"copy",icon:(0,r.jsx)(n.I,{value:"copy"}),hidden:!S(d.o.Copy)||!(0,o.o)(e.permissions,"view"),onClick:()=>{null==k||k(),N(e)}},copyContextMenuItem:(e,t)=>({label:C("element.tree.copy"),key:"copy",icon:(0,r.jsx)(n.I,{value:"copy"}),hidden:!(0,o.o)(e.permissions,"view")||e.isLocked,onClick:()=>{null==t||t(),N(e)}}),cutTreeContextMenuItem:e=>({label:C("element.tree.cut"),key:"cut",icon:(0,r.jsx)(n.I,{value:"cut"}),hidden:!S(d.o.Cut)||!(0,o.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{null==k||k(),P(e)}}),cutContextMenuItem:(e,t)=>({label:C("element.tree.cut"),key:"cut",icon:(0,r.jsx)(n.I,{value:"cut"}),hidden:!(0,o.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{null==t||t(),P(e)}}),pasteTreeContextMenuItem:e=>({label:C("element.tree.paste"),key:"paste",icon:(0,r.jsx)(n.I,{value:"paste"}),hidden:E(e,"copy"),onClick:async()=>{await A(parseInt(e.id))}}),pasteCutContextMenuItem:e=>({label:C("element.tree.paste-cut"),key:"pasteCut",icon:(0,r.jsx)(n.I,{value:"paste"}),hidden:E(e,"cut"),onClick:async()=>{await F(parseInt(e.id))}})}}},7652(e,t,i){"use strict";i.d(t,{K:()=>u});var r=i(21429),n=i(94316),l=i(40036),a=i(43565),o=i(62930),s=i(35864),d=i(7334),c=i(23945);let u=e=>{var t;let{t:i}=(0,r.useTranslation)(),{id:u}=(0,d.J)(),{element:p}=(0,c.useElementDraft)(u,e),[m,{isLoading:g,isError:h,error:v}]=(0,n.MF)(),{refreshElement:f}=(0,l.d)(e),{confirm:y}=(0,a.Vl)();if(h)throw new o.Ay(v);let b=i((null==p||null==(t=p.draftData)?void 0:t.isAutoSave)===!0?"delete-draft-auto-save":"delete-draft");return{deleteDraft:async()=>{(0,s.isNil)(null==p?void 0:p.draftData)||y({title:b,content:i("delete-draft-confirmation"),onOk:async()=>{(0,s.isNil)(null==p?void 0:p.draftData)||await m({id:p.draftData.id}).then(()=>{f(p.id)})}})},buttonText:b,isLoading:g,isError:h}}},3671(e,t,i){"use strict";i.d(t,{z:()=>k});var r=i(74848),n=i(81898),l=i(43565),a=i(55638),o=i(62786),s=i(81674),d=i(13397),c=i(79472),u=i(2662),p=i(35864),m=i(41630),g=i(59385),h=i(82763),v=i(67282),f=i(16327);class y{async run(e){let{messageBus:t}=e;(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!0})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!0}));try{let i=await this.executeDeleteRequest();if((0,p.isNil)(i))return void await this.handleCompletion();let r=new h.j({jobRunId:i,title:this.title,progressCalculator:new v.j,onJobCompletion:async e=>{if(e.isFinished)try{await this.handleCompletion()}catch(e){await this.handleJobFailure(e)}else await this.handleJobFailure(Error(`Job failed with status: ${e.status}`))},onRetry:async()=>{await this.run(e)}});t.registerHandler(r)}catch(e){await this.handleJobFailure(e),(0,a.Ay)(new a.$g(e.message))}}async executeDeleteRequest(){var e;let t=await m.M_.dispatch(f.FH.endpoints.elementDelete.initiate({id:this.elementId,elementType:this.elementType}));return(0,p.isUndefined)(t.error)?(null==(e=t.data)?void 0:e.jobRunId)??null:((0,a.Ay)(new a.hD(t.error)),null)}async handleCompletion(){(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!1})),(0,p.isNil)(this.parentFolderId)||m.M_.dispatch((0,g.refreshNodeChildren)({elementType:this.elementType,nodeId:this.parentFolderId.toString()}))}async handleJobFailure(e){(0,p.isString)(this.treeId)&&(0,p.isString)(this.nodeId)&&m.M_.dispatch((0,g.setNodeFetching)({treeId:this.treeId,nodeId:this.nodeId,isFetching:!1})),m.M_.dispatch((0,g.markNodeDeleting)({nodeId:String(this.elementId),elementType:this.elementType,isDeleting:!1})),console.error("Delete job failed:",e)}constructor(e){this.elementId=e.elementId,this.elementType=e.elementType,this.title=e.title,this.treeId=e.treeId,this.nodeId=e.nodeId,this.parentFolderId=e.parentFolderId}}var b=i(83196),x=i(73488),j=i(47867),w=i(21429),C=i(68153),S=i(17388),T=i(14138),I=i(70916);let k=(e,t)=>{let{t:i}=(0,w.useTranslation)(),p=(0,l.Vl)(),m=(0,u.O)(),{refreshGrid:g}=(0,o.X)(e),{getElementById:h}=(0,d.M)(e),{refreshRecycleBin:v}=(0,T.y)(),{isMainWidgetOpen:f,closeWidget:k}=(0,b.J)(),{isTreeActionAllowed:E}=(0,S.H)(),[D,N]=(0,j.useState)(!1),{treeId:P}=(0,I.z)(!0),A=(t,n,l,o)=>{p.confirm({title:i("element.delete.confirmation.title"),content:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:i("element.delete.confirmation.text")}),(0,r.jsx)("br",{}),(0,r.jsx)("b",{children:n})]}),okText:i("element.delete.confirmation.ok"),onOk:async()=>{N(!0);try{let r=new y({elementId:t,elementType:e,title:i("element.delete.deleting-folder"),treeId:P,nodeId:String(t),parentFolderId:l});await m.runJob(r);let n=(0,x.g)(e,t);f(n)&&k(n),v(),null==o||o()}catch(e){(0,a.Ay)(new a.$g(e.message))}finally{N(!1)}}})},F=async t=>{let i=await h(t),r=i.parentId??void 0;A(i.id,(0,s.Ed)(i,e),r,()=>{g()})};return{deleteElement:A,deleteTreeContextMenuItem:(e,t)=>({label:i("element.delete"),key:"delete",icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!E(C.o.Delete)||!(0,c.o)(e.permissions,"delete")||e.isLocked,onClick:()=>{let i=parseInt(e.id),r=void 0!==e.parentId?parseInt(e.parentId):void 0;A(i,e.label,r,t)}}),deleteContextMenuItem:(t,l)=>({label:i("element.delete"),key:"delete",isLoading:D,icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!(0,c.o)(t.permissions,"delete")||t.isLocked,onClick:()=>{let i=t.id,r=t.parentId??void 0;A(i,(0,s.Ed)(t,e),r,l)}}),deleteGridContextMenuItem:e=>{let t=e.original??{};if(void 0!==t.id&&void 0!==t.isLocked&&void 0!==t.permissions)return{label:i("element.delete"),key:"delete",icon:(0,r.jsx)(n.I,{value:"trash"}),hidden:!(0,c.o)(t.permissions,"delete")||t.isLocked,onClick:async()=>{await F(t.id)}}},isLoading:D}}},71012(e,t,i){"use strict";i.d(t,{H:()=>g});var r=i(74848),n=i(41630),l=i(59385),a=i(81898),o=i(55638),s=i(16327),d=i(2700),c=i(83196),u=i(35864),p=i(47867),m=i(21429);let g=e=>{let{t}=(0,m.useTranslation)(),i=(0,n.jL)(),g=(0,d.JT)(n.M_.getState()),{switchToWidget:h}=(0,c.J)(),[v,f]=(0,p.useState)(!1),y=(t,r)=>{(0,u.isNull)(g)||i(s.FH.endpoints.elementGetTreeLocation.initiate({id:t,elementType:e,perspectiveId:g.id},{forceRefetch:!0})).then(e=>{if(!(0,u.isNil)(e.data)&&!(0,u.isNil)(e.data.treeLevelData)){let n=e.data.widgetId;h(n),i((0,l.locateInTree)({treeId:n,nodeId:String(t),treeLevelData:e.data.treeLevelData})),null==r||r()}}).catch(()=>{(0,o.Ay)(new o.$g("An error occured while locating in the tree"))})};return{locateInTree:y,locateInTreeGridContextMenuItem:(e,i)=>{let n=e.original??{};if(void 0!==n.id)return{label:t("element.locate-in-tree"),key:"locateInTree",isLoading:v,icon:(0,r.jsx)(a.I,{value:"target"}),onClick:async()=>{f(!0),y(n.id,()=>{null==i||i(),f(!1)})}}},locateInTreeContextMenuItem:(e,i)=>({label:t("element.locate-in-tree"),key:"locateInTree",isLoading:v,icon:(0,r.jsx)(a.I,{value:"target"}),onClick:async()=>{f(!0),y(Number(e.id),()=>{null==i||i(),f(!1)})}})}}},11480(e,t,i){"use strict";i.d(t,{V:()=>h,y:()=>g});var r,n=i(74848),l=i(81898);i(47867);var a=i(21429),o=i(13397),s=i(61549),d=i(17388),c=i(68153),u=i(46881),p=i(59385),m=i(35864);let g=((r={}).Self="self",r.Propagate="propagate",r.Unlock="",r.UnlockPropagate="unlockPropagate",r),h=e=>{let{t}=(0,a.useTranslation)(),{elementPatch:i}=(0,o.M)(e),r=(0,s.J)(),{isTreeActionAllowed:h}=(0,d.H)(),v=(0,u.useAppDispatch)(),f=async e=>{await j(e,g.Self)},y=async e=>{await j(e,g.Propagate)},b=async e=>{await j(e,g.Unlock)},x=async e=>{await j(e,g.UnlockPropagate)},j=async(t,r)=>{let n=i({body:{data:[{id:t,locked:r}]}});try{v((0,p.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!0})),await n&&v((0,p.setNodeLocked)({elementType:e,nodeId:String(t),isLocked:"self"===r||"propagate"===r,lockType:r})),v((0,p.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!1}))}catch(t){console.error("Error renaming "+e,t)}},w=e=>({label:t("element.lock"),key:"lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:k(e),onClick:async()=>{await f(parseInt(e.id))}}),C=e=>({label:t("element.lock-and-propagate-to-children"),key:"lockAndPropagate",icon:(0,n.jsx)(l.I,{value:"file-locked"}),hidden:E(e),onClick:async()=>{await y(parseInt(e.id))}}),S=e=>({label:t("element.unlock"),key:"unlock",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:D(e),onClick:async()=>{await b(parseInt(e.id))}}),T=e=>({label:t("element.unlock-and-propagate-to-children"),key:"unlockAndPropagate",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:N(e),onClick:async()=>{await x(parseInt(e.id))}}),I=e=>e.isLocked&&!(0,m.isNil)(e.locked),k=e=>!h(c.o.Lock)||!r.isAdmin||e.isLocked&&!(e.isLocked&&(0,m.isNil)(e.locked)),E=e=>!h(c.o.LockAndPropagate)||!r.isAdmin||I(e),D=e=>!h(c.o.Unlock)||!r.isAdmin||!I(e),N=e=>!h(c.o.UnlockAndPropagate)||!r.isAdmin||!e.isLocked,P=e=>k(e)&&E(e)&&D(e)&&N(e);return{lock:f,lockAndPropagate:y,unlock:b,unlockAndPropagate:x,lockTreeContextMenuItem:w,lockContextMenuItem:(e,i)=>({label:t("element.lock"),key:"lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:k(e),onClick:async()=>{await f(e.id),null==i||i()}}),lockAndPropagateTreeContextMenuItem:C,lockAndPropagateContextMenuItem:(e,i)=>({label:t("element.lock-and-propagate-to-children"),key:"lockAndPropagate",icon:(0,n.jsx)(l.I,{value:"file-locked"}),hidden:E(e),onClick:async()=>{await y(e.id),null==i||i()}}),unlockTreeContextMenuItem:S,unlockContextMenuItem:(e,i)=>({label:t("element.unlock"),key:"unlock",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:D(e),onClick:async()=>{await b(e.id),null==i||i()}}),unlockAndPropagateTreeContextMenuItem:T,unlockAndPropagateContextMenuItem:(e,i)=>({label:t("element.unlock-and-propagate-to-children"),key:"unlockAndPropagate",icon:(0,n.jsx)(l.I,{value:"unlocked"}),hidden:N(e),onClick:async()=>{await x(e.id),null==i||i()}}),lockMenuTreeContextMenuItem:e=>({label:t("element.lock"),key:"advanced-lock",icon:(0,n.jsx)(l.I,{value:"lock"}),hidden:P(e),children:[w(e),C(e),S(e),T(e)]}),isLockMenuHidden:P}}},34148(e,t,i){"use strict";i.d(t,{i:()=>s});var r=i(74848);i(47867);var n=i(81898),l=i(79472),a=i(21429),o=i(56789);let s=e=>{let{t}=(0,a.useTranslation)(),{openElement:i}=(0,o.K)();return{openContextMenuItem:a=>({label:t("element.open"),key:"open",icon:(0,r.jsx)(n.I,{value:"open-folder"}),hidden:!(0,l.o)(a.permissions,"view"),onClick:async()=>{await i({id:a.id,type:e})}}),openGridContextMenuItem:a=>{let o=a.original??{};if(void 0!==o.id&&void 0!==o.isLocked&&void 0!==o.permissions)return{label:t("element.open"),key:"open",icon:(0,r.jsx)(n.I,{value:"open-folder"}),hidden:!(0,l.o)(o.permissions,"view"),onClick:async()=>{await i({id:o.id,type:e})}}}}}},72744(e,t,i){"use strict";i.d(t,{Z:()=>u});var r=i(74848),n=i(81898),l=i(68153);i(47867);var a=i(21429),o=i(56789),s=i(17388),d=i(74108),c=i(23945);let u=e=>{let{t}=(0,a.useTranslation)(),{isTreeActionAllowed:i}=(0,s.H)(),{executeElementTask:u}=(0,o.K)(),p=(t,i)=>{u(e,"string"==typeof t.id?parseInt(t.id):t.id,d.D.Publish,i)};return{publishNode:p,publishTreeContextMenuItem:(e,a)=>({label:t("element.publish"),key:"publish",icon:(0,r.jsx)(n.I,{value:"eye"}),hidden:!(0,c.checkElementPermission)(e.permissions,"publish")||!i(l.o.Publish)||e.isLocked||!0===e.isPublished,onClick:()=>{p(e,a)}})}}},40036(e,t,i){"use strict";i.d(t,{d:()=>x});var r=i(46881),n=i(73362),l=i(91434),a=i(53996),o=i(21724),s=i(54100),d=i(22555),c=i(35864),u=i(92634),p=i(55638);let m=new Map;var g=i(7843);let h=new Map;var v=i(29376),f=i(46766),y=i(98247);let b=new Map,x=e=>{let t,i,x=(0,r.useAppDispatch)(),{updateDataObjectDraft:j}=(t=(0,r.useAppDispatch)(),{updateDataObjectDraft:async function(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==m.get(e)||i){m.set(e,!0);try{let{data:r,error:n}=await t(l.FH.endpoints.dataObjectGetById.initiate({id:e},{forceRefetch:i}));if((0,c.isUndefined)(n)||((0,p.Ay)(new p.hD(n)),t((0,d.Pf)(e))),!(0,c.isUndefined)(r)){let i={draftData:null,...r,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},modifiedObjectData:{},...u.nd};t((0,s.pw)(i)),t((0,d.aP)(e))}}finally{m.delete(e)}}}}),{updateAssetDraft:w}=(()=>{let e=(0,r.useAppDispatch)();async function t(t){let{data:i,isError:r,error:l}=await e(n.api.endpoints.assetGetById.initiate({id:t}));return r&&((0,p.Ay)(new p.hD(l)),e((0,g.Pf)(t))),i}async function i(t){let i={},{data:r,isSuccess:l,isError:a,error:o}=await e(n.api.endpoints.assetCustomSettingsGetById.initiate({id:t}));if(a){(0,p.Ay)(new p.hD(o)),e((0,g.Pf)(t));return}if(l&&void 0!==r){let e=r.items,t=null==e?void 0:e.dynamicCustomSettings;if(void 0!==t&&!0===Object.prototype.hasOwnProperty.call(t,"focalPointX")&&!0===Object.prototype.hasOwnProperty.call(t,"focalPointY")){let e={x:t.focalPointX,y:t.focalPointY};i={...i,focalPoint:e}}}return i}return{updateAssetDraft:async function(r){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==h.get(r)||n){h.set(r,!0);try{await Promise.all([t(r),i(r)]).then(t=>{let[i,n]=t;if(!(0,c.isUndefined)(i)&&!(0,c.isUndefined)(n)){let t={...i,id:r,modified:!1,properties:[],customMetadata:[],customSettings:[],schedules:[],textData:"",imageSettings:n,changes:{},modifiedCells:{},...u.nd};e((0,o.Y$)(t)),e((0,g.aP)(r))}})}finally{h.delete(r)}}}}})(),{updateDocumentDraft:C}=(i=(0,r.useAppDispatch)(),{updateDocumentDraft:async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!0!==b.get(e)||t){b.set(e,!0);try{let{data:r,error:n}=await i(f.FH.endpoints.documentGetById.initiate({id:e},{forceRefetch:t}));if((0,c.isUndefined)(n)||((0,p.Ay)(new p.hD(n)),i((0,y.Pf)(e))),!(0,c.isUndefined)(r)){let t={...r,id:e,modified:!1,properties:[],schedules:[],changes:{},modifiedCells:{},...u.nd};i((0,v.FP)(t)),i((0,y.aP)(e))}}finally{b.delete(e)}}}});return{refreshElement:(t,i)=>{"asset"===e?(x((0,o.Vx)(t)),x(n.api.util.invalidateTags(a.qN.ASSET_DETAIL_ID(t))),!0===i&&x(n.api.util.invalidateTags(a.qN.PREDEFINED_ASSET_METADATA())),w(t,!0)):"data-object"===e?(x((0,s.CF)(t)),x(l.FH.util.invalidateTags(a.qN.DATA_OBJECT_DETAIL_ID(t))),j(t,!0)):"document"===e&&(x((0,v.sR)(t)),x(l.FH.util.invalidateTags(a.qN.DOCUMENT_DETAIL_ID(t))),C(t,!0))}}}},62786(e,t,i){"use strict";i.d(t,{X:()=>o});var r=i(60124),n=i(7334),l=i(47867),a=i(40547);let o=e=>{let t=(0,n.L)(),i=(0,l.useContext)(a.y);return{refreshGrid:async n=>{let l=n??(null==t?void 0:t.id);if((null==i?void 0:i.dataQueryResult)!==void 0){let{refetch:e}=i.dataQueryResult;await e()}"asset"===e&&void 0!==l&&r.B.publish({identifier:{type:"asset:listing:refresh",id:l}})}}}},38990(e,t,i){"use strict";i.d(t,{h:()=>u});var r=i(74848),n=i(81898);i(47867);var l=i(21429),a=i(17388),o=i(68153),s=i(46881),d=i(59385),c=i(70916);let u=e=>{let{t}=(0,l.useTranslation)(),{isTreeActionAllowed:i}=(0,a.H)(),u=(0,s.useAppDispatch)(),{treeId:p}=(0,c.z)(!0),m=t=>{u((0,d.refreshNodeChildren)({nodeId:String(t),elementType:e}))};return{refreshTree:m,refreshTreeContextMenuItem:e=>({label:t("element.tree.refresh"),key:"refresh",icon:(0,r.jsx)(n.I,{value:"refresh"}),hidden:!i(o.o.Refresh),onClick:()=>{m(e.id),u((0,d.setNodeExpanded)({treeId:p,nodeId:String(e.id),expanded:!0}))}})}}},55014(e,t,i){"use strict";i.d(t,{M:()=>b});var r=i(74848),n=i(21429),l=i(43565),a=i(81898),o=i(47867),s=i(13397),d=i(79472),c=i(81674),u=i(62786),p=i(17388),m=i(68153),g=i(46881),h=i(59385),v=i(54100),f=i(29376),y=i(21724);let b=(e,t)=>{let{t:i}=(0,n.useTranslation)(),b=(0,l.Vl)(),{refreshGrid:x}=(0,u.X)(e),{elementPatch:j,getElementById:w}=(0,s.M)(e,t),{isTreeActionAllowed:C}=(0,p.H)(),S=(0,g.useAppDispatch)(),[T,I]=(0,o.useState)(!1),k=(e,t,r,n)=>{b.input({title:i("element.rename"),label:i("element.rename.label"),initialValue:t,rule:{required:!0,message:i("element.rename.validation")},onOk:async t=>{I(!0),await D(e,t,r,e=>{null==n||n(e),I(!1)})}})},E=async t=>{let i=await w(t),r=i.parentId??void 0;k(t,(0,c.Ed)(i,e),r,()=>{x()})},D=async(t,i,r,n)=>{let l=j({body:{data:[{id:t,key:i}]}});try{S((0,h.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!0})),await l&&S((0,h.renameNode)({elementType:e,nodeId:String(t),newLabel:i})),S((0,h.setNodeLoadingInAllTree)({nodeId:String(t),elementType:e,loading:!1})),N(t,i),null==n||n(i)}catch(t){console.error("Error renaming "+e,t)}},N=(t,i)=>{"data-object"===e?S((0,v.v2)({id:t,key:i})):"document"===e?S((0,f.v2)({id:t,key:i})):"asset"===e&&S((0,y.PB)({id:t,filename:i}))};return{rename:k,renameTreeContextMenuItem:(e,t)=>({label:i("element.rename"),key:"rename",icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!C(m.o.Rename)||!(0,d.o)(e.permissions,"rename")||e.isLocked,onClick:()=>{let i=parseInt(e.id),r=void 0!==e.parentId?parseInt(e.parentId):void 0;k(i,e.label,r,t)}}),renameContextMenuItem:(t,n)=>({label:i("element.rename"),key:"rename",isLoading:T,icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!(0,d.o)(t.permissions,"rename")||t.isLocked,onClick:()=>{let i=t.parentId??void 0;k(t.id,(0,c.Ed)(t,e),i,n)}}),renameGridContextMenuItem:e=>{let t=e.original??{};if(void 0!==t.id&&void 0!==t.isLocked&&void 0!==t.permissions)return{label:i("element.rename"),key:"rename",icon:(0,r.jsx)(a.I,{value:"rename"}),hidden:!(0,d.o)(t.permissions,"rename")||t.isLocked,onClick:async()=>{await E(t.id)}}},renameMutation:D}}},68360(e,t,i){"use strict";i.d(t,{M:()=>p});var r=i(74848),n=i(81898),l=i(74108),a=i(68153),o=i(47867),s=i(21429),d=i(56789),c=i(79472),u=i(17388);let p=e=>{let{t}=(0,s.useTranslation)(),{isTreeActionAllowed:i}=(0,u.H)(),{executeElementTask:p}=(0,d.K)(),[m,g]=(0,o.useState)(!1),h=e=>!(0,c.o)(e.permissions,"unpublish")||"folder"===e.type||e.isLocked,v=(t,i)=>{p(e,"string"==typeof t.id?parseInt(t.id):t.id,l.D.Unpublish,i)};return{unpublishTreeContextMenuItem:(e,l)=>({label:t("element.unpublish"),key:"unpublish",isLoading:m,icon:(0,r.jsx)(n.I,{value:"eye-off"}),hidden:!1===e.isPublished||!i(a.o.Unpublish)||h(e),onClick:()=>{v(e,l)}}),unpublishContextMenuItem:(e,i)=>({label:t("element.unpublish"),key:"unpublish",isLoading:m,icon:(0,r.jsx)(n.I,{value:"eye-off"}),hidden:!e.published||h(e),onClick:()=>{g(!0),v(e,()=>{null==i||i(),g(!1)})}}),unpublishTreeNode:v}}},71836(e,t,i){"use strict";i.d(t,{j:()=>o});var r=i(47867),n=i(46096),l=i(81624),a=i(20319);let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.c)();return{openModal:(0,r.useCallback)((i,r)=>{if((0,l.GZ)()&&(0,n.BB)()){let{element:t}=(0,n.qH)();t.openCropModal({imageId:i,crop:r,options:e});return}t.openModal(i,r,e)},[t,e]),closeModal:(0,r.useCallback)(()=>{t.closeModal()},[t]),isOpen:t.isOpen}}},59603(e,t,i){"use strict";i.d(t,{p:()=>x,Z:()=>b});var r=i(74848),n=i(47867),l=i(35864),a=i(21429),o=i(19249),s=i(25750),d=i(95112),c=i(27820),u=i(30492);let p=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(void 0!==t&&void 0!==i&&t>0&&i>0){let n=t/i/r,l=e.width/e.height;if(Math.abs(l-n)>.001)if(l>n)return{...e,width:e.height*n};else return{...e,height:e.width/n}}return e},m=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return null!=e&&Object.keys(e).length>0?void 0!==e.cropPercent&&e.cropPercent?p({id:1,x:e.cropLeft??0,y:e.cropTop??0,width:e.cropWidth??0,height:e.cropHeight??0,type:"hotspot"},t,i,r):(console.error("Crop is only supported with cropPercent"),h(t,i,r)):h(t,i,r)},g=e=>({cropWidth:Math.round(e.width),cropHeight:Math.round(e.height),cropLeft:Math.round(e.x),cropTop:Math.round(e.y),cropPercent:!0}),h=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=80,n=80;if(void 0!==e&&void 0!==t&&e>0&&t>0){let l=e/t/i;l>1?n=r/l:r=n*l,r>100&&(n=(r=100)/l),n>100&&(r=(n=100)*l)}return{id:1,x:(100-r)/2,y:(100-n)/2,width:r,height:n,type:"hotspot"}};var v=i(70880),f=i(73362);let y=e=>{var t,i,l,p,h,y,b,x;let{t:j}=(0,a.useTranslation)(),{data:w}=(0,f.useAssetGetByIdQuery)({id:e.imageId}),C=(null==w?void 0:w.width)!==void 0&&(null==w?void 0:w.height)!==void 0?Number(w.width)/Number(w.height):1,[S,T]=(0,n.useState)(()=>{var t,i;return g(m(e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C))}),[I,k]=(0,n.useState)(!1);(0,n.useEffect)(()=>{var t,i;T(g(m(e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C)))},[e.crop,null==(t=e.options)?void 0:t.ratioX,null==(i=e.options)?void 0:i.ratioY,C]);let E=()=>{var t,i;T(null),(null==(t=e.options)?void 0:t.onChange)!==void 0&&e.options.onChange(null),null==(i=e.onClose)||i.call(e)},D=(0,v.n)(e.imageId,{width:652,height:500,mimeType:"PNG",contain:!0});return(0,r.jsx)(u.a,{afterOpenChange:e=>{k(e)},footer:(null==(l=e.options)?void 0:l.disabled)===!0?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(s.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(d.e,{items:[(0,r.jsx)(c.J,{disabled:null===S,icon:{value:"trash"},onClick:E,children:j("crop.remove")},"remove")]}),(0,r.jsx)(d.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},maskClosable:!1,okText:j("save"),onCancel:()=>{var t;T(e.crop??null),null==(t=e.onClose)||t.call(e)},onOk:()=>{var t,i;(null==(t=e.options)?void 0:t.onChange)!==void 0&&e.options.onChange(S),null==(i=e.onClose)||i.call(e)},open:e.open,size:"L",title:j("crop"),children:void 0!==w&&(0,r.jsx)(o.d,{data:I?[m(S,null==(p=e.options)?void 0:p.ratioX,null==(h=e.options)?void 0:h.ratioY,C)]:[],disableContextMenu:!0,disabled:null==(y=e.options)?void 0:y.disabled,onUpdate:e=>{T(g(e))},ratioX:null==(b=e.options)?void 0:b.ratioX,ratioY:null==(x=e.options)?void 0:x.ratioY,src:D})})},b=(0,n.createContext)(void 0),x=e=>{let{children:t}=e,[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(null),[d,c]=(0,n.useState)(null),[u,p]=(0,n.useState)({}),m=(e,t,i)=>{s(e),c(t??null),p(i??{}),a(!0)},g=()=>{a(!1),s(null),c(null),p({})},h=(0,n.useMemo)(()=>({openModal:m,closeModal:g,isOpen:i}),[i]);return(0,r.jsxs)(b.Provider,{value:h,children:[i&&!(0,l.isNull)(o)&&(0,r.jsx)(y,{crop:d,imageId:o,onClose:g,open:i,options:u}),t]})}},20319(e,t,i){"use strict";i.d(t,{c:()=>a});var r=i(47867),n=i(59603),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.Z);if((0,l.isNil)(e))throw Error("useCropModalContext must be used within a CropModalProvider");return e}},84e3(e,t,i){"use strict";i.d(t,{t:()=>s});var r=i(47867),n=i(46096),l=i(81624),a=i(62059),o=i(28907);let s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,r.useMemo)(()=>`hotspot-markers-modal-${(0,a.u)()}`,[]),i=(0,o.A)(),s=(0,r.useCallback)((r,a,o)=>{if((0,l.GZ)()&&(0,n.BB)()){let{element:t}=(0,n.qH)();t.openHotspotMarkersModal({imageId:r,hotspots:a,crop:o,options:e});return}i.openModal(t,r,a,o,e)},[t,i,e]);return{openModal:s,closeModal:(0,r.useCallback)(()=>{(0,l.GZ)()&&(0,n.BB)()||i.closeModal(t)},[t,i]),isOpen:i.isModalOpen(t),modalId:t}}},81598(e,t,i){"use strict";i.d(t,{r:()=>O,t:()=>M});var r=i(74848),n=i(47867),l=i.n(n),a=i(21429),o=i(23558),s=i(19249),d=i(25750),c=i(99154),u=i(95112),p=i(27820),m=i(29740),g=i(70880),h=i(57231),v=i(2338),f=i(80632),y=i(27994),b=i(35864);let x=(0,n.createContext)({fields:[],setFields:()=>{}}),j=e=>{let{children:t}=e,[i,l]=(0,n.useState)([]),a=(0,n.useMemo)(()=>({fields:i,setFields:l}),[i]);return(0,r.jsx)(x.Provider,{value:a,children:t})},w=(e,t)=>{let{t:i}=(0,a.useTranslation)(),{fields:r,setFields:l}=(0,n.useContext)(x);(0,n.useEffect)(()=>{(0,b.isUndefined)(e)?(l([]),t.resetFields()):((0,b.isNil)(e.data)||l(e.data),t.setFieldsValue({hotspotName:e.name??null}))},[e]),(0,n.useEffect)(()=>{let e=r.reduce((e,t,i)=>(e[`name-${i}`]=t.name,"textfield"===t.type||"textarea"===t.type||"checkbox"===t.type?e[`value-${i}`]=t.value:e[`value-${i}`]={...t},e),{});t.setFieldsValue(e)},[r]);let o=()=>r.map((e,i)=>{let r=t.getFieldValue(`name-${i}`),n=t.getFieldValue(`value-${i}`);return"textfield"===e.type||"textarea"===e.type||"checkbox"===e.type?{...e,name:r??e.name,value:n??e.value}:{...e,...n,name:r??""}}),s=e=>{l([...o(),{type:e,name:"",value:""}])},d=e=>{l([...o(),{type:e,name:"",value:null,fullPath:"",subtype:"object",published:null}])},c=[{key:"textfield",label:i("hotspots-markers-data-modal.data-type.text-field"),onClick:()=>{s("textfield")}},{key:"textarea",label:i("hotspots-markers-data-modal.data-type.text-area"),onClick:()=>{s("textarea")}},{key:"checkbox",label:i("hotspots-markers-data-modal.data-type.checkbox"),onClick:()=>{l([...o(),{type:"checkbox",name:"",value:!1}])}},{key:"object",label:i("hotspots-markers-data-modal.data-type.object"),onClick:()=>{d("object")}},{key:"document",label:i("hotspots-markers-data-modal.data-type.document"),onClick:()=>{d("document")}},{key:"asset",label:i("hotspots-markers-data-modal.data-type.asset"),onClick:()=>{d("asset")}}];return{fields:r,setFields:l,handleRemoveField:e=>{l(o().filter((t,i)=>i!==e))},updateName:(e,t)=>{l(i=>i.map((i,r)=>r===e?{...i,name:t}:i))},getFieldsData:o,dataTypes:c}};var C=i(86052),S=i(28083),T=i(93470),I=i(74462),k=i(87632);let E=e=>{let t=(0,b.isNil)(e.value)||(0,b.isNull)(e.value.value)?null:{type:String((0,k.sv)(e.type)),id:e.value.value,fullPath:e.value.fullPath,subtype:e.value.subtype,isPublished:e.value.published};return(0,r.jsx)(I.P,{...e,onChange:t=>{var i,r;if((0,b.isNil)(t)||!0===t.textInput){null==(r=e.onChange)||r.call(e,null);return}let n={value:t.id,fullPath:t.fullPath??"",subtype:t.subtype??"",published:(null==t?void 0:t.isPublished)??null};null==(i=e.onChange)||i.call(e,n)},value:t})},D=e=>{let{hotspot:t,form:i}=e,{t:n}=(0,a.useTranslation)(),{fields:l,handleRemoveField:o,dataTypes:s}=w(t,i);return(0,r.jsx)(r.Fragment,{children:l.length>0&&l.map((e,t)=>{var i;let l;return(0,r.jsx)(C.Z,{extra:(0,r.jsx)(m.K,{icon:{value:"trash"},onClick:()=>{o(t)},title:n("remove")}),title:(i=e.type,l=s.find(e=>e.key===i),(0,b.isUndefined)(l)?"Unknown Type":l.label),children:(0,r.jsxs)(v.$,{className:"w-full",direction:"vertical",size:"small",children:[(0,r.jsx)(h.lV.Item,{label:n("hotspots-markers-data-modal.data-type.name"),name:`name-${t}`,children:(0,r.jsx)(f.p,{})}),(0,r.jsx)(h.lV.Item,{label:n("hotspots-markers-data-modal.data-type.value"),name:`value-${t}`,children:(()=>{switch(e.type){case"checkbox":return(0,r.jsx)(T.S,{disableClearButton:!0});case"textarea":return(0,r.jsx)(S.f,{});case"textfield":return(0,r.jsx)(f.p,{});case"document":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!1,dataObjectsAllowed:!0,documentsAllowed:!1,type:"document"});case"asset":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!0,dataObjectsAllowed:!1,documentsAllowed:!1,type:"asset"});case"object":return(0,r.jsx)(E,{allowPathTextInput:!0,assetsAllowed:!1,dataObjectsAllowed:!0,documentsAllowed:!1,type:"object"})}})()})]})},t+e.type)})})},N=e=>{let{hotspot:t,onClose:i,onUpdate:n}=e,{t:l}=(0,a.useTranslation)(),[s]=h.lV.useForm(),{getFieldsData:u,dataTypes:m}=w(t,s),g=(0,r.jsxs)(d.s,{className:"w-100",justify:"space-between",children:[(0,r.jsx)(c.m,{menu:{items:m},children:(0,r.jsx)(p.J,{icon:{value:"new"},children:l("hotspots-markers-data-modal.new-data")},"empty")}),(0,r.jsx)(y.$,{onClick:()=>{(0,b.isUndefined)(t)||s.validateFields().then(()=>{let e=s.getFieldsValue();n({...t,data:u(),name:e.hotspotName}),i()}).catch(e=>{console.error("Validation failed:",e)})},type:"primary",children:l("hotspots-markers-data-modal.apply")},"ok")]});return(0,r.jsx)(o.m,{footer:g,okText:l("save"),onCancel:()=>{i()},open:!(0,b.isUndefined)(t),size:"M",title:l("hotspots-markers-data-modal.title"),zIndex:1e3,children:(0,r.jsx)(h.lV,{form:s,layout:"vertical",children:(0,r.jsxs)(v.$,{className:"w-full",direction:"vertical",size:"small",children:[(0,r.jsx)(h.lV.Item,{label:l("hotspots-markers-data-modal.name"),name:"hotspotName",children:(0,r.jsx)(f.p,{})}),(0,r.jsx)(D,{form:s,hotspot:t})]})})})};var P=i(79606),A=i(55638);let F=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{trackErrors:t=!0}=e,[i,{isLoading:r,error:l}]=(0,P.vK)();return(0,n.useEffect)(()=>{t&&!(0,b.isNil)(l)&&(0,A.Ay)(new A.hD(l))},[l,t]),{convertPathToId:async(e,t)=>{if(!t.startsWith("/"))return null;try{let{data:r}=await i({elementType:e,elementPath:t});if(!(0,b.isNil)(null==r?void 0:r.id))return r.id;return console.warn(`No ID found for path ${t}`),null}catch(e){return console.error(`Failed to get ID for path ${t}:`,e),null}},isLoading:r}},$=e=>{var t,i;let{t:h}=(0,a.useTranslation)(),{convertPathToId:v}=F({trackErrors:!1}),[f,y]=(0,n.useState)(e.hotspots??[]),[x,j]=(0,n.useState)(!1),[w,C]=(0,n.useState)(void 0),S=l().useMemo(()=>{if((0,b.isNil)(e.predefinedDataTemplates))return{};if((0,b.isString)(e.predefinedDataTemplates)){if(""===e.predefinedDataTemplates)return{};try{return JSON.parse(e.predefinedDataTemplates)}catch(e){return console.error("Failed to parse predefinedDataTemplates",e),{}}}return e.predefinedDataTemplates},[e.predefinedDataTemplates]);(0,n.useEffect)(()=>{y(e.hotspots??[])},[null==(t=e.hotspots)?void 0:t.length,JSON.stringify(null==(i=e.hotspots)?void 0:i.map(e=>({name:e.name,data:e.data,id:e.id})))]);let T=e=>{y(f.map(t=>t.id===e.id?e:t))},I=async e=>await Promise.all(e.map(async e=>{let t="asset"===e.type||"document"===e.type||"object"===e.type,i=e.value;if(t&&(0,b.isString)(i)&&i.startsWith("/")){let t=(0,k.sv)(e.type);if(!(0,b.isNil)(t)){let r=await v(t,i);return{...e,value:r,fullPath:i}}}return e})),E=(e,t)=>{let i=s.X[e],r=f.length+1,n={id:r,x:5,y:5,width:i.width,height:i.height,type:e,name:null==t?void 0:t.name,data:null==t?void 0:t.data};y(e=>[...e,n]),(0,b.isNil)(null==t?void 0:t.data)||I(t.data).then(e=>{y(t=>t.map(t=>t.id===r?{...t,data:e}:t))})},D=e=>{let t=S[e],i=h("marker"===e?"hotspots.new-marker":"hotspots.new-hotspot"),n="marker"===e?"new-marker":"new-hotspot",l=(0,r.jsx)(p.J,{icon:{value:n},onClick:()=>{E(e)},children:i},`new-${e}-main`);if(!(0,b.isUndefined)(t)&&t.length>0){let i=t.map((t,i)=>({key:i,label:h(t.menuName??t.name),onClick:()=>{E(e,t)}}));return(0,r.jsx)(u.e,{items:[l,(0,r.jsx)(c.m,{menu:{items:i},children:(0,r.jsx)(m.K,{icon:{value:"chevron-down"},type:"default"})},`new-${e}-dropdown`)],noSpacing:!0},`new-${e}-group`)}return l},P=(0,g.n)(e.imageId,{width:952,height:800,mimeType:"PNG",contain:!0,...e.crop});return(0,r.jsxs)(o.m,{afterOpenChange:e=>{j(e)},footer:!0===e.disabled?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(d.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(u.e,{items:[D("marker"),D("hotspot")].filter(e=>!(0,b.isNil)(e))}),(0,r.jsx)(u.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},okText:h("save"),onCancel:()=>{var t;null==(t=e.onClose)||t.call(e)},onOk:()=>{var t,i;null==(t=e.onChange)||t.call(e,f),null==(i=e.onClose)||i.call(e)},open:e.open,size:"XL",title:h(!0===e.disabled?"hotspots.show":"hotspots.edit"),children:[(0,r.jsx)(s.d,{data:x?f:[],disableDrag:!(0,b.isUndefined)(w),disabled:e.disabled,onClone:e=>{let t=f.find(t=>t.id===e);if(void 0!==t){let e={...t,id:f.length+1};y([...f,e])}},onEdit:e=>{C(f.find(t=>t.id===e.id))},onRemove:e=>{y(f.filter(t=>t.id!==e))},onUpdate:T,src:P}),(0,r.jsx)(N,{hotspot:w,onClose:()=>{C(void 0)},onUpdate:T})]})},M=(0,n.createContext)(void 0),O=e=>{let{children:t}=e,[i,l]=(0,n.useState)(new Map),a=(e,t,i,r,n)=>{l(l=>{let a=new Map(l);return a.set(e,{modalId:e,imageId:t,hotspots:i??null,crop:r??null,options:n??{}}),a})},o=e=>{l(t=>{let i=new Map(t);return i.delete(e),i})},s=e=>i.has(e),d=(0,n.useMemo)(()=>({openModal:a,closeModal:o,isModalOpen:s}),[]);return(0,r.jsxs)(M.Provider,{value:d,children:[Array.from(i.values()).map(e=>(0,r.jsx)(j,{children:(0,r.jsx)($,{crop:e.crop??void 0,disabled:e.options.disabled,hotspots:e.hotspots,imageId:e.imageId,onChange:t=>{((e,t)=>{let r=i.get(e);if(!(0,b.isNil)(r)){var n,l;null==(n=(l=r.options).onChange)||n.call(l,t),o(e)}})(e.modalId,t)},onClose:()=>{o(e.modalId)},open:!0,predefinedDataTemplates:e.options.predefinedDataTemplates})},e.modalId)),t]})}},28907(e,t,i){"use strict";i.d(t,{A:()=>a});var r=i(47867),n=i(81598),l=i(35864);let a=()=>{let e=(0,r.useContext)(n.t);if((0,l.isNil)(e))throw Error("useHotspotMarkersModalContext must be used within a HotspotMarkersModalProvider");return e}},40703(e,t,i){"use strict";i.d(t,{k:()=>c});var r=i(74848);i(47867);var n=i(7334),l=i(68901),a=i(61549);let o=e=>{let t=(0,a.J)(),i=[];return i.push(...Array.isArray(t.contentLanguages)?t.contentLanguages:[]),void 0!==e.customKeys&&e.customKeys.length>0&&i.unshift(...e.customKeys),!0===e.isNullable&&i.unshift("-"),(0,r.jsx)(l.v,{customKeys:e.customKeys,languages:i,onSelectLanguage:t=>{"-"===t?e.onChange(null):e.onChange(t)},selectedLanguage:e.value??"-"})};var s=i(33142);let d=e=>{let t=(0,a.J)(),i=(0,n.J)(),o=(0,s.D)(i.id,i.elementType),d=[];if("permissions"in o){var c,u;let e=o.permissions,i=(null==e||null==(c=e.localizedView)?void 0:c.split(","))??[],r=(null==(u=t.contentLanguages)?void 0:u.filter(e=>i.includes(e)))??[];(1===i.length&&"default"===i[0]||0===i.length)&&(r=Array.isArray(t.contentLanguages)?t.contentLanguages:[]),d.push(...r)}else d.push(...Array.isArray(t.contentLanguages)?t.contentLanguages:[]);return void 0!==e.customKeys&&e.customKeys.length>0&&d.unshift(...e.customKeys),!0===e.isNullable&&d.unshift("-"),(0,r.jsx)(l.v,{customKeys:e.customKeys,languages:d,onSelectLanguage:t=>{"-"===t?e.onChange(null):e.onChange(t)},selectedLanguage:e.value??"-"})},c=e=>null===(0,n.L)()?(0,r.jsx)(o,{...e}):(0,r.jsx)(d,{...e})},72209(e,t,i){"use strict";i.d(t,{E:()=>c});var r=i(74848),n=i(47867),l=i(63364),a=i(1993),o=i(21429);let s=e=>{let{nullable:t=!0,registryServiceId:i,...s}=e,d=(0,l.Lt)(i),[c,u]=(0,n.useState)(s.initialValue??s.value??null),{t:p}=(0,o.useTranslation)(),m=d.getDynamicTypes();(0,n.useEffect)(()=>{void 0!==s.value&&u(s.value)},[s.value]);let g=(0,n.useMemo)(()=>m.map(e=>({label:p(e.id),value:e.id})),[m]),h=(0,n.useMemo)(()=>{let e=g.filter(e=>void 0===s.restrictOptions||s.restrictOptions.includes(e.value));return t&&e.unshift({label:s.nullableLabel??p("asset.select.type.nullable"),value:null}),e},[g,s.restrictOptions,t,s.nullableLabel,p]);return(0,r.jsx)(a.l,{"data-testid":s["data-testid"],minWidth:"normal",onChange:e=>{u(e),void 0!==s.onChange&&s.onChange(e)},options:h,value:c})};var d=i(63155);let c=()=>{let{setValue:e,...t}=(0,d.I)();return(0,r.jsx)(s,{...t,"data-testid":"type-select",onChange:t=>{e(t)}})}},64165(e,t,i){"use strict";i.d(t,{M:()=>a,u:()=>l});var r=i(74848),n=i(47867);let l=(0,n.createContext)(void 0),a=e=>{let{children:t,valueState:i,...a}=e,[o,s]=(0,n.useState)(e.initialValue??null);if(void 0!==i){let[e,t]=i;o=e,s=t}return(0,n.useMemo)(()=>(0,r.jsx)(l.Provider,{value:{...a,value:o,setValue:s},children:t}),[e,t,o,s])}},53211(e,t,i){"use strict";i.d(t,{Z:()=>a});var r=i(47867),n=i(95245),l=i(35864);let a=()=>{let e=(0,r.useContext)(n._);if((0,l.isNil)(e))throw Error("useVideoModalContext must be used within a VideoModalProvider");return e}},95245(e,t,i){"use strict";i.d(t,{I:()=>s,_:()=>o});var r=i(74848),n=i(47867),l=i(35864),a=i(17074);let o=(0,n.createContext)(void 0),s=e=>{let{children:t}=e,[i,s]=(0,n.useState)(!1),[d,c]=(0,n.useState)(null),[u,p]=(0,n.useState)({}),m=(e,t)=>{c(e??null),p(t??{}),s(!0)},g=()=>{s(!1),c(null),p({})},h=(0,n.useMemo)(()=>({openModal:m,closeModal:g,isOpen:i}),[i]);return(0,r.jsxs)(o.Provider,{value:h,children:[t,i&&!(0,l.isNull)(void 0!==d)&&(0,r.jsx)(a.z,{allowedVideoTypes:u.allowedVideoTypes,disabled:u.disabled,onCancel:g,onOk:e=>{var t;null==(t=u.onChange)||t.call(u,e),g()},open:i,value:d})]})}},17074(e,t,i){"use strict";i.d(t,{z:()=>v});var r=i(74848),n=i(47867),l=i(21429),a=i(57231),o=i(28083),s=i(80632),d=i(1993),c=i(74462),u=i(23558),p=i(43565),m=i(27820),g=i(95112),h=i(25750);let v=e=>{var t,i;let{t:v}=(0,l.useTranslation)(),f=(null==(t=e.allowedVideoTypes)?void 0:t[0])??"asset",[y,b]=(0,n.useState)((null==(i=e.value)?void 0:i.type)??f),[x]=a.lV.useForm(),{confirm:j}=(0,p.Vl)();(0,n.useEffect)(()=>{S()},[e.value,e.open]);let w=e=>{x.setFieldsValue({type:e.type,data:C(e.type,e.data)?e.data:null}),"asset"===e.type&&x.setFieldsValue({title:e.title,description:e.description,poster:e.poster})},C=(e,t)=>"asset"===e?null!==t:"string"==typeof t,S=()=>{var t;b((null==(t=e.value)?void 0:t.type)??f),w(e.value??{type:f,data:null})},T=()=>{e.onOk({type:f,data:null})};return(0,r.jsx)(u.m,{afterOpenChange:e=>{e||S()},footer:!0===e.disabled?(0,r.jsx)("span",{}):(e,t)=>{let{OkBtn:i,CancelBtn:n}=t;return(0,r.jsxs)(h.s,{className:"w-100",justify:"flex-end",style:{justifyContent:"space-between"},children:[(0,r.jsx)(g.e,{items:[(0,r.jsx)(m.J,{icon:{value:"trash"},onClick:()=>j({title:v("empty"),content:v("empty.confirm"),onOk:T}),children:v("empty")},"empty")]}),(0,r.jsx)(g.e,{items:[(0,r.jsx)(n,{},"cancel"),(0,r.jsx)(i,{},"ok")]})]})},okText:v("save"),onCancel:e.onCancel,onOk:()=>{let t=(e=>{let{type:t,data:i}=e;return"asset"===t?e:("string"==typeof i&&""!==i&&(i=((e,t)=>{if("youtube"===t){let t=Array.from([...e.matchAll(/^(?:https?:\/\/|\/\/)?(?:www\.|m\.|.+\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|shorts\/|feeds\/api\/videos\/|watch\?v=|watch\?.+&v=))(?[\w-]{11})(?![\w-])/g)],e=>e[1]);if((null==t?void 0:t.length)>0)return t[0]}else if("vimeo"===t){let t=/vimeo.com\/(\d+)($|\/)/.exec(e);if((null==t?void 0:t[1])!==null&&(null==t?void 0:t[1])!==void 0)return t[1]}else if("dailymotion"===t){let t=/dailymotion.*\/video\/([^_]+)/.exec(e);if((null==t?void 0:t[1])!==null&&(null==t?void 0:t[1])!==void 0)return t[1]}return null})(i,t)??i),{type:t,data:i})})(x.getFieldsValue());e.onOk(t)},open:e.open,size:"M",title:v("video.settings"),children:(0,r.jsxs)(a.lV,{form:x,layout:"vertical",children:[(0,r.jsx)(a.lV.Item,{label:v("video.type"),name:"type",children:(0,r.jsx)(d.l,{disabled:e.disabled,onChange:e=>{b(e),w({type:e,data:null})},options:(void 0===e.allowedVideoTypes||0===e.allowedVideoTypes.length?["asset","youtube","vimeo","dailymotion"]:e.allowedVideoTypes).map(e=>({value:e,label:v(`video.type.${e}`)}))})}),(0,r.jsx)(a.lV.Item,{label:v("asset"===y?"video.path":"video.id"),name:"data",children:"asset"===y?(0,r.jsx)(c.P,{allowedAssetTypes:["video"],assetsAllowed:!0,disabled:e.disabled,onOpenElement:e.onCancel}):(0,r.jsx)(s.p,{placeholder:v("video.url")})},"data-"+y),"asset"===y&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.lV.Item,{label:v("video.poster"),name:"poster",children:(0,r.jsx)(c.P,{allowedAssetTypes:["image"],assetsAllowed:!0,disabled:e.disabled,onOpenElement:e.onCancel})}),(0,r.jsx)(a.lV.Item,{label:v("title"),name:"title",children:(0,r.jsx)(s.p,{disabled:e.disabled})}),(0,r.jsx)(a.lV.Item,{label:v("description"),name:"description",children:(0,r.jsx)(o.f,{autoSize:{minRows:3},disabled:e.disabled})})]})]})})}},76238(e,t,i){"use strict";i.d(t,{V:()=>s});var r=i(74848);i(47867);var n=i(63364),l=i(10600),a=i(52112),o=i(89702);let s=e=>{let{batchEdit:t}=e,i=(0,n.Lt)(l.K["DynamicTypes/ObjectDataRegistry"]),{value:s,...d}=t,c=(0,a.C)(),{frontendType:u,config:p,key:m}=d;if(!i.hasDynamicType(u))return(0,r.jsxs)(r.Fragment,{children:["Type ",u," not supported"]});if(!("fieldDefinition"in p))throw Error("Field definition is missing in config");let g=i.getDynamicType(u),h=g.getObjectDataComponent({...p.fieldDefinition,defaultFieldWidth:c}),v=[m];return d.localizable&&(v=["localizedfields",m,d.locale]),(0,r.jsx)(o.W,{component:h,name:v,supportsBatchAppendModes:g.supportsBatchAppendModes})}},45086(e,t,i){"use strict";i.d(t,{I:()=>s});var r=i(74848);i(47867);var n=i(63364),l=i(10600),a=i(52112),o=i(89702);let s=e=>{let{batchEdit:t}=e,i=(0,n.Lt)(l.K["DynamicTypes/ObjectDataRegistry"]),{value:s,...d}=t,c=(0,a.C)(),{frontendType:u,config:p,key:m}=d;if(!i.hasDynamicType(u))return(0,r.jsxs)(r.Fragment,{children:["Type ",u," not supported"]});if(!("fieldDefinition"in p))throw Error("Field definition is missing in config");let g=i.getDynamicType(u),h=g.getObjectDataComponent({...p.fieldDefinition,defaultFieldWidth:c}),v=m.split("."),f=[v[v.length-1]];return f=d.localizable?[...v.pop(),"localizedfields",...f,d.locale]:v,(0,r.jsx)(o.W,{component:h,name:f,supportsBatchAppendModes:g.supportsBatchAppendModes})}},73004(e,t,i){"use strict";i.d(t,{B:()=>a});var r=i(74848);i(47867);var n=i(28083),l=i(57231);let a=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,r.jsx)(l.lV.Item,{name:i,children:(0,r.jsx)(n.f,{autoSize:{minRows:2}})})}},45704(e,t,i){"use strict";i.d(t,{s:()=>a});var r=i(74848);i(47867);var n=i(86569),l=i(57231);let a=e=>{let{batchEdit:t}=e,{key:i}=t;return(0,r.jsx)(l.lV.Item,{name:i,children:(0,r.jsx)(n.Input,{type:"text"})})}},89702(e,t,i){"use strict";i.d(t,{W:()=>s});var r=i(74848);i(47867);var n=i(57231),l=i(8236),a=i(68528),o=i(21429);let s=e=>{let{name:t,component:i,supportsBatchAppendModes:s}=e,{t:d}=(0,o.useTranslation)();return s?(0,r.jsxs)(n.lV.Group,{name:t,children:[(0,r.jsx)(n.lV.Item,{initialValue:a.Y$.Replace,name:"action",children:(0,r.jsx)(l.$,{options:[{label:d("batch-edit.append-mode.replace"),value:a.Y$.Replace},{label:d("batch-edit.append-mode.add"),value:a.Y$.Add},{label:d("batch-edit.append-mode.remove"),value:a.Y$.Remove}]})}),(0,r.jsx)(n.lV.Item,{initialValue:null,name:"data",children:i})]}):(0,r.jsx)(n.lV.Item,{initialValue:null,name:t,children:i})}},81659(e,t,i){"use strict";i.d(t,{y:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(76238);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.V,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.adapter")}})||r},81215(e,t,i){"use strict";i.d(t,{h:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(45086);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.I,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","dataobject.objectbrick")}})||r},53031(e,t,i){"use strict";i.d(t,{M:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(73004);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.B,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","textarea")}})||r},33473(e,t,i){"use strict";i.d(t,{P:()=>o});var r,n=i(74848);i(47867);var l=i(62446),a=i(45704);let o=(0,l.injectable)()(r=class{getBatchEditComponent(e){return(0,n.jsx)(a.s,{...e})}constructor(){!function(e,t,i){var r;(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(this,"id","input")}})||r},81628(e,t,i){"use strict";i.d(t,{X:()=>_});var r=i(74848),n=i(47867),l=i(35864),a=i(48034),o=i(57180),s=i(15789),d=i(55638),c=i(40701),u=i(36249),p=i(97844),m=i(52255);let g=(0,i(44241).createStyles)(e=>{let{token:t}=e;return{areablockToolstrip:{display:"inline-block",width:"fit-content",marginTop:t.marginXS,marginBottom:t.marginXS},areaEntry:{'&[data-hidden="true"] .pimcore_area_content':{filter:"blur(1px)",opacity:.5}}}});var h=i(46096),v=i(25765),f=i.n(v),y=i(54872),b=i(29740),x=i(62461),j=i(43588),w=i(21429),C=i(55127),S=i(7814);let T=e=>{let{config:t,onAddArea:i}=e,{t:a}=(0,w.useTranslation)();return{menuItems:(0,n.useMemo)(()=>{let e=p.So.getGroupedAreaTypes(t);if(Array.isArray(e))return e.map(e=>({key:e.type,label:(0,r.jsx)(S.m,{title:(0,l.isUndefined)(e.description)?void 0:a(e.description),children:(0,r.jsx)("span",{children:a(e.name)})}),onClick:()=>{i(e.type)}}));let n=[];return Object.entries(e).forEach(e=>{let[t,o]=e,s=o.map(e=>({key:e.type,label:(0,r.jsx)(S.m,{title:(0,l.isUndefined)(e.description)?void 0:a(e.description),children:(0,r.jsx)("span",{children:a(e.name)})}),onClick:()=>{i(e.type)}}));null==n||n.push({key:t,label:a(t),children:s})}),n},[t,i,a])}};var I=i(28660);let k=e=>{let{id:t,buttonsContainer:i,element:n,limitReached:l,areaTypes:a,config:o,areablockManager:s,onAddArea:d,onRemoveArea:c,onMoveAreaUp:u,onMoveAreaDown:p,onOpenDialog:m,onToggleHidden:h,isInherited:v=!1,onOverwrite:f}=e,{styles:S}=g(),{t:k}=(0,w.useTranslation)(),{listeners:E}=(0,C.y)({id:t,element:n}),{menuItems:D}=T({config:o,onAddArea:e=>{d(n,e)}}),N=s.queryElements(),P=s.findElementIndex(n),A=P===N.length-1,F=s.isElementHidden(n),$=s.getElementType(n),M=a.find(e=>e.type===$),O=(null==M?void 0:M.name)!=null?k(M.name):void 0,_=[],L=null;l||(1===a.length?_.push((0,r.jsx)(b.K,{icon:{value:"new"},onClick:()=>{d(n,a[0].type)},size:"small"},"plus")):_.push((0,r.jsx)(j.Dropdown,{menu:{items:D},placement:"bottomLeft",trigger:["click"],children:(0,r.jsx)(b.K,{icon:{value:"new"},size:"small"})},"plus-dropdown"))),_.push((0,r.jsx)(b.K,{disabled:0===P,icon:{value:"chevron-up"},onClick:()=>{u(n)},size:"small"},"up")),_.push((0,r.jsx)(b.K,{disabled:A,icon:{value:"chevron-down"},onClick:()=>{p(n)},size:"small"},"down")),(null==M?void 0:M.hasDialogBoxConfiguration)===!0&&_.push((0,r.jsx)(b.K,{icon:{value:"settings"},onClick:()=>{null==m||m(t)},size:"small"},"dialog")),_.push((0,r.jsx)(b.K,{icon:{value:F?"eye-off":"eye"},onClick:()=>{null==h||h(n)},size:"small",title:k(F?"areablock.show":"areablock.hide")},"visibility")),L=(0,r.jsx)(b.K,{icon:{value:"trash"},onClick:()=>{c(n)},size:"small"},"minus");let R=(0,r.jsx)(y.Z,{activateOnHover:!v,additionalIcon:v?"inheritance-active":void 0,className:S.areablockToolstrip,disabled:v,dragger:!!v||{listeners:E},theme:"inverse",title:O,children:(0,r.jsxs)(x.B,{dividerSize:"small",size:"mini",theme:"secondary",children:[(0,r.jsx)(j.Space,{size:"small",children:_}),L]})},`toolbar-${n.getAttribute("key")}`);return(0,r.jsx)(I.s,{isInherited:v,onOverwrite:f,children:R})};var E=i(30817),D=i(36604);let N=e=>{let{areaTypes:t,config:i,onClick:n,isInherited:a=!1,onOverwrite:o}=e,{styles:s}=g(),{menuItems:d}=T({config:i,onAddArea:e=>{n(e)}}),c=async(e,t)=>{var i;!a&&"areablock-type"===e.type&&(0,l.isString)(null==(i=e.data)?void 0:i.areablockType)&&await n(e.data.areablockType)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(D.L,{}),(0,r.jsx)(I.s,{isInherited:a,onOverwrite:o,children:(0,r.jsx)(y.Z,{additionalIcon:a?"inheritance-active":void 0,className:s.areablockToolstrip,disabled:a,theme:"inverse",children:1===t.length?(0,r.jsx)(b.K,{icon:{value:"new"},onClick:a?void 0:()=>{n(t[0].type)},size:"small"}):(0,r.jsx)(j.Dropdown,{menu:{items:d},placement:"bottomLeft",trigger:a?[]:["click"],children:(0,r.jsx)(b.K,{icon:{value:"new"},size:"small"})})})}),!a&&(0,r.jsx)(E.i,{id:"empty-areablock-toolbar-dropzone",index:0,isValidDrop:e=>{var t;if(a||"areablock-type"!==e.type||!(0,l.isString)(null==(t=e.data)?void 0:t.areablockType))return!1;let r=e.data.areablockType;return p.So.isTypeAllowed(i,r)},onDropItem:c})]})};var P=i(44108),A=i(65504),F=i(67574),$=i(17678),M=i(86515);let O=e=>{let{element:t,areablockName:i,editableDefinitions:n=[],isOpen:l=!1,onClose:a}=e,{dialogConfig:o,editableDefinitions:s,handleCloseDialog:d,hasDialog:c}=(0,M.G)({element:t,dialogSelector:".pimcore_block_dialog",editableName:i,dynamicEditableDefinitions:n});return c&&l&&0!==s.length?(0,r.jsx)($.b,{config:o,editableDefinitions:s,onClose:()=>{null==a||a(),d()},visible:l}):null},_=e=>{let{value:t=[],onChange:i,config:v,className:y,editableName:b,containerRef:x,disabled:j=!1,isInherited:C=!1,renderTrigger:S}=e,T=(0,l.isArray)(t)?t:[],I=(0,n.useMemo)(()=>new F.I(b,x),[b,x]),E=(0,n.useMemo)(()=>p.So.getAvailableTypes(v),[v]),[D,$]=(0,n.useState)(new Set),M=(0,n.useCallback)(()=>{null==i||i(I.getAreablockValue())},[I,i]),_=(0,n.useCallback)(e=>{$(t=>new Set(t).add(e))},[]),L=(0,n.useCallback)(e=>{$(t=>{let i=new Set(t);return i.delete(e),i})},[]),R=(0,n.useCallback)(e=>{I.toggleElementHidden(e);let t=I.getAreablockValue();null==i||i(t)},[I,i]),{dynamicEditables:B,addArea:z,removeArea:V,moveAreaUp:G,moveAreaDown:U,moveArea:q}=(e=>{let{areablockManager:t,onChange:i,config:r,disabled:a=!1,renderTrigger:v}=e,{initializeData:f,getValues:y,removeValues:b}=(0,o.U)(),{id:x}=(0,n.useContext)(s.T),[j,w]=(0,n.useState)([]),C=(0,n.useRef)(t.queryElements()),{styles:S}=g(),T=(0,n.useCallback)(()=>{t.applyStylestoAreaEntries(S.areaEntry)},[t]);(0,n.useEffect)(()=>{T()},[T]);let{hideElementUntilRendered:I,revealPendingElements:k}=(0,m.j)({dynamicEditables:j,getContainer:()=>t.getContainer()}),E=(0,n.useCallback)(e=>{let t=e([...C.current]);C.current=t;let r=p.th.elementsToAreablockValue(t);null==i||i(r)},[i]),D=(0,n.useCallback)(()=>{t.ensureAllElementKeys();let e=t.getAreablockValue();null==i||i(e)},[i,t]),N=(0,n.useCallback)(async(e,i)=>{if(a)return;let n=p.So.getEffectiveLimit(r),o=p.So.isReloadMode(r)?C.current:t.queryElements();if(p.So.isLimitReached(o.length,n))return;let s=p.So.getAvailableTypes(r),m=i??((0,l.isEmpty)(s)?"default":s[0].type);if(!p.So.isTypeAllowed(r,m))return;let g=(0,l.isNil)(e)?0:t.findElementIndex(e)+1,y=t.calculateNextKey();if(p.So.isReloadMode(r))return void E(e=>{let i=document.createElement("div");t.setElementKey(i,y.toString()),t.setElementType(i,m),i.setAttribute("data-hidden","false");let r=[...e];return r.splice(g,0,i),r});try{let e,i=t.getContainer();if((0,l.isNil)(i))return;let n=t.getAreablockValue();n.splice(g,0,{key:y,type:m,hidden:!1});let{error:a,data:o}=await v({id:x,body:{name:t.getEditableName(),realName:t.getRealEditableName(),index:g,blockStateStack:(e=null==r?void 0:r.blockStateStack,(0,l.isString)(e)?JSON.parse(e):null),areaBlockConfig:r??{},areaBlockData:n}});if(!(0,l.isUndefined)(a))return void(0,d.Ay)(new d.hD(a));if(!(0,l.isNil)(null==o?void 0:o.htmlCode)){let e=document.createElement("div");e.innerHTML=o.htmlCode;let r=e.firstElementChild;if(!(0,l.isNil)(r)){I(r);let e=t.queryElements();if(0===e.length){var b;i.appendChild(r);let e=(0,u.T5)(t.getEditableName(),!0);null==(b=r.parentNode)||b.insertBefore(e,r)}else(0,l.isNil)(e[g-1])?(0,l.isNil)(e[g])||e[g].insertAdjacentElement("beforebegin",r):e[g-1].insertAdjacentElement("afterend",r);let n=(0,u.T5)(t.getEditableName());r.appendChild(n),T()}}if(!(0,l.isNil)(null==o?void 0:o.editableDefinitions)&&(0,l.isArray)(null==o?void 0:o.editableDefinitions)){let e=o.editableDefinitions,t=(0,c.b)(e);f(t),w(t=>[...t,...e]),function(e,t){try{let i=(0,p.uk)(t);if(0===Object.keys(i).length)return;let{document:r}=(0,h.qH)();r.mergeAreablockTypes(e,"areablock",i)}catch(e){console.warn("Could not merge areablock types after addArea:",e)}}(x,e)}else k();D()}catch(e){(0,d.Ay)(new d.$g("Failed to add area")),console.error("Failed to add area:",e),D()}},[a,r,E,D,t,x]),P=(0,n.useCallback)(e=>{if(a)return;if(p.So.isReloadMode(r)){let i=t.findElementIndex(e);E(e=>{let t=[...e];return t.splice(i,1),t});return}let i=(e=>{let i=t.getElementKey(e);if((0,l.isNil)(i))return[];let r=y();return p.th.filterEditableNames(Object.keys(r),t.getEditableName(),i)})(e),n=t.getElementKey(e);if(!(0,l.isNil)(n)){let e=t.getEditableName(),i=`${e}:${n}.`;w(e=>e.filter(e=>!e.name.startsWith(i)))}e.remove(),(0,l.isEmpty)(i)||b(i),D()},[a,r,E,b,D,t]),A=(e,i)=>{if(a)return;let n=t.findElementIndex(e),o=p.So.isReloadMode(r)?C.current:t.queryElements();if("up"===i&&!p.So.canMoveUp(n)||"down"===i&&!p.So.canMoveDown(n,o.length))return;if(p.So.isReloadMode(r)){let e="up"===i?n-1:n+1;E(t=>p.th.swapElements(t,n,e));return}let s="up"===i?o[n-1]:o[n+1];if(!(0,l.isNil)(s)){var d;let t="up"===i?s:s.nextSibling;null==(d=s.parentNode)||d.insertBefore(e,t),D()}};return{dynamicEditables:j,addArea:N,removeArea:P,moveAreaUp:e=>{A(e,"up")},moveAreaDown:e=>{A(e,"down")},moveArea:(0,n.useCallback)((e,i)=>{if(a)return;let n=p.So.isReloadMode(r)?C.current:t.queryElements();if(e<0||e>=n.length||i<0||i>=n.length)return;if(p.So.isReloadMode(r))return void E(t=>{let r=[...t],[n]=r.splice(e,1);return r.splice(i,0,n),r});let o=window.scrollX,s=window.scrollY,d=n[e],c=n[i];if(!(0,l.isNil)(d)&&!(0,l.isNil)(c)){var u;let t=i>e?c.nextSibling:c;null==(u=c.parentNode)||u.insertBefore(d,t),requestAnimationFrame(()=>{window.scrollTo(o,s)}),D()}},[a,r,E,D,t])}})({areablockManager:I,value:T,onChange:i,config:v,disabled:j,renderTrigger:S}),{renderAreablockToolbar:W}=(e=>{let{areablockManager:t,areaTypes:i,config:a,onAddArea:o,onRemoveArea:s,onMoveAreaUp:d,onMoveAreaDown:c,onMoveArea:u,onOpenDialog:m,onToggleHidden:g,isInherited:h=!1,onOverwrite:v}=e,{activeId:y,handleDragStart:b,handleDragOver:x,handleDragEnd:j,dropzonePortals:C,dragOverlayTitle:S,refreshDropzones:T,removeFirstDropzone:I}=(e=>{let{areablockManager:t,areaTypes:i,onMoveArea:r,onDropAreablock:a}=e,{t:o}=(0,w.useTranslation)(),s=async(e,t)=>{if(!(0,l.isNil)(a)){var i;let r=(null==(i=e.data)?void 0:i.areablockType)??e.title??"default";await a(r,t)}},d=(0,P.g)({blockManager:t,onMoveItem:r,onDropItem:s,isValidDrop:e=>{var t;if("areablock-type"!==e.type||(null==(t=e.data)?void 0:t.areablockType)==null)return!1;let r=e.data.areablockType;return i.some(e=>e.type===r)}}),c=(0,n.useMemo)(()=>{if(null===d.activeId)return;let e=t.queryElements().find(e=>t.getElementKey(e)===d.activeId);if(!(0,l.isUndefined)(e)&&!(0,l.isUndefined)(t.getElementType)&&i.length>0){let r=t.getElementType(e),n=i.find(e=>e.type===r);return(null==n?void 0:n.name)!=null?o(n.name):void 0}},[d.activeId,t,i]);return{...d,dragOverlayTitle:c}})({areablockManager:t,areaTypes:i,onMoveArea:u,onDropAreablock:async(e,i)=>{if(h)return;let r=t.queryElements();if(0===i)await E(null,e);else if(i>=r.length){let t=r[r.length-1];await E(t,e)}else{let t=r[i-1];await E(t,e)}}}),E=(0,n.useCallback)(async(e,t)=>{await o(e,t),T()},[o,T]),D=(0,n.useCallback)(e=>{let i=1===t.queryElements().length;s(e),i&&I()},[s,t,I]),F=(0,n.useCallback)(e=>{let t=(0,r.jsx)(N,{areaTypes:i,config:a,isInherited:h,onClick:async e=>{await E(null,e)},onOverwrite:v});return f().createPortal(t,e)},[i,a,E,h,v]);return{renderAreablockToolbar:(0,n.useCallback)(()=>{let e=[],n=t.queryElements(),l=p.So.isLimitReached(n.length,null==a?void 0:a.limit);if(0===n.length){let i=t.getContainer();if(null!==i){let t=F(i);e.push(t)}}else h||e.push(...C);let o=n.map(e=>t.getElementKey(e)).filter(e=>!!e);return n.forEach(n=>{let o=n.querySelector(".pimcore_area_buttons");if(null!==o){let s=t.getElementKey(n);if(null!==s){let u=(0,r.jsx)(k,{areaTypes:i,areablockManager:t,buttonsContainer:o,config:a,element:n,id:s,isInherited:h,limitReached:l,onAddArea:E,onMoveAreaDown:c,onMoveAreaUp:d,onOpenDialog:m,onOverwrite:v,onRemoveArea:D,onToggleHidden:g}),p=f().createPortal(u,o);e.push(p)}}}),(0,r.jsx)(A.C,{activeId:y,dragOverlayTitle:S,items:o,onDragEnd:j,onDragOver:x,onDragStart:b,children:(0,r.jsx)(r.Fragment,{children:e})})},[t,i,a,b,x,j,E,D,d,c,g,m,y,C,S,F,h,v])}})({areablockManager:I,areaTypes:E,config:v,onAddArea:z,onRemoveArea:V,onMoveAreaUp:G,onMoveAreaDown:U,onMoveArea:q,onOpenDialog:_,onToggleHidden:R,isInherited:C,onOverwrite:M});return(0,r.jsxs)("div",{className:y,children:[(0,r.jsx)(a.E,{editableDefinitions:B}),W(),Array.from(D).map(e=>{let t=I.findElementByKey(e);return(0,l.isNil)(t)?null:(0,r.jsx)(O,{areablockName:b,editableDefinitions:B,element:t,isOpen:!0,onClose:()=>{L(e)}},`dialog-${e}`)})]})}},184(e,t,i){"use strict";i.d(t,{A:()=>u});var r=i(74848),n=i(47867),l=i(35864),a=i(76673);let o=(0,i(44241).createStyles)(e=>{let{token:t}=e;return{contentEditable:{outline:"none",overflowY:"visible","&[data-empty=true]":{outline:`1px dashed ${t.colorBorder}`},"&:hover":{outline:`2px dashed ${t.colorBorder}`,outlineOffset:"5px"},"&:focus":{outline:"none"},"&[contenteditable=true][data-placeholder][data-empty=true]:before":{cursor:"text",content:"attr(data-placeholder)",display:"block",color:t.colorTextDisabled}}}});var s=i(53051),d=i(8651),c=i.n(d);let u=e=>{let t,{value:i,onChange:d,placeholder:u,width:p,height:m,nowrap:g,allowMultiLine:h=!1,className:v,disabled:f=!1,inherited:y=!1}=e,{styles:b}=o(),x=(0,n.useRef)(null),j=(0,n.useRef)(i??null);(0,n.useEffect)(()=>{if(!(0,l.isNull)(x.current)){let e=(0,l.isNil)(i)||""===i?"":h?i.replace(/\r\n|\n/g," "):i;x.current.innerHTML!==e&&(x.current.innerHTML=e),j.current=i}},[i,h,y]);let w=()=>{if((0,l.isNull)(x.current))return;let e=(e=>{if(""===e)return"";let t=(0,a.Kq)(e,["br"]);return(t=h?t.replace(/ /gi,"\n"):t.replace(/ /gi," ")).trim()})(x.current.innerHTML);e!==j.current&&(j.current=e,null==d||d((0,l.isString)(e)?e:""))},C=(0,l.isNil)(j.current)||""===j.current,S=(t={},h?((0,l.isNil)(p)&&(0,l.isNil)(m)||(t.display="inline-block",t.overflow="auto"),(0,l.isNil)(p)||(t.width=`${p}px`),(0,l.isNil)(m)||(t.height=`${m}px`)):(0,l.isNil)(p)||(t.display="inline-block",t.width=`${p}px`,t.overflow="auto hidden",t.whiteSpace="nowrap"),!(0,l.isNil)(g)&&g&&(t.whiteSpace="nowrap",t.overflow="auto hidden"),t);return(0,r.jsx)(s.x,{display:S.display??"block",isInherited:y,onOverwrite:()=>{null==d||d(i??"")},children:(0,r.jsx)("div",{className:c()(b.contentEditable,v),contentEditable:!f,"data-empty":C,"data-placeholder":u,onInput:f?void 0:w,onKeyDown:f?void 0:e=>{if("Enter"===e.key)if(h){if(e.preventDefault(),!(0,l.isNil)(window.getSelection)){let e=window.getSelection();if(!(0,l.isNull)(e)&&e.rangeCount>0){let t=e.getRangeAt(0),i=document.createElement("br"),r=document.createTextNode("\xa0");t.deleteContents(),t.insertNode(i),t.collapse(!1),t.insertNode(r),t.selectNodeContents(r),e.removeAllRanges(),e.addRange(t)}}setTimeout(w,0)}else e.preventDefault()},onPaste:f?void 0:e=>{var t;e.preventDefault();let i=null==(t=x.current)?void 0:t.ownerDocument.defaultView;if((0,l.isNil)(i)||(0,l.isNil)(x.current))return;let r="";(0,l.isNil)(e.clipboardData)?(0,l.isNil)(i.clipboardData)||(r=i.clipboardData.getData("Text")):r=e.clipboardData.getData("text/plain"),r=(0,a.ZD)(r),r=h?r.replace(/\r\n|\n/g," ").trim():r.replace(/\r\n|\n/g," ").trim(),(0,a.Dq)(r,i),setTimeout(w,0)},ref:x,role:"none",style:S})})}},53051(e,t,i){"use strict";i.d(t,{x:()=>u});var r=i(74848),n=i(47867),l=i(86569),a=i(81898);let o=(0,i(44241).createStyles)((e,t)=>{let{token:i,css:r}=e,{display:n,addIconSpacing:l,hideButtons:a,noPadding:o,shape:s}=t,d=!0===l?16+2*i.paddingXXS+i.paddingMD:0;return{container:r`
position: relative;
display: ${n??"inline-block"};
${!0!==o?`padding: ${i.paddingXXS}px;`:""}
@@ -5189,7 +5189,7 @@
padding-left: 2px;
padding-right: 2px;
text-transform: capitalize;
- `}});var u=i(21429),p=i(35864),m=i(78352);let g=e=>{let{styles:t}=c(),{t:i}=(0,u.useTranslation)(),n=e.successButtonActions??[],g=e.failureButtonActions??[],h=e.finishedWithErrorsButtonActions??[],v=Math.min(e.progress,100),f=(0,p.isUndefined)(e.currentStep)?null:(0,p.isUndefined)(e.totalSteps)?e.currentStep>1?(0,r.jsxs)("strong",{children:[i("jobs.job.step_hint_single",{step:e.currentStep}),": "]}):null:(0,r.jsxs)("strong",{children:[i("jobs.job.step_hint",{step:e.currentStep,total:e.totalSteps}),": "]}),y=()=>(0,p.isUndefined)(e.onAbort)?null:(0,r.jsx)(m.i,{onConfirm:()=>{var t;null==(t=e.onAbort)||t.call(e)},title:i("jobs.job.abort-confirm"),zIndex:1e4,children:(0,r.jsx)(o.Button,{className:t.buttonStyle,type:"link",children:i("jobs.job.button-abort")})});return(0,r.jsx)("div",{children:(0,r.jsx)(d.AnimatePresence,{children:(0,r.jsxs)(d.motion.div,{animate:{opacity:1,height:"auto"},exit:{opacity:0,height:1},initial:{opacity:0,height:1},children:["queued"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(a.t,{type:"classic"}),(0,r.jsx)("span",{children:i("jobs.job.queued",{title:e.title})})]}),y()]}),"running"===e.status&&(0,r.jsx)(l.d,{description:(0,r.jsxs)(r.Fragment,{children:[f,i("jobs.job.in-progress",{title:e.title})]}),descriptionAction:y(),percent:v,progressStatus:i("jobs.job.progress",{progress:v})}),"success"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"check-circle"}),(0,r.jsx)("span",{children:i("jobs.job.finished",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:n.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]}),"finished_with_errors"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"warning-circle"}),(0,r.jsx)("span",{children:i("jobs.job.finished-with-errors",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:h.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]}),"failed"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"x-circle"}),(0,r.jsx)("span",{children:i("jobs.job.failed",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:g.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]})]},e.status)})})};var h=i(30652),v=i(30492);let f=e=>{let{open:t,onClose:i,messages:n}=e,{t:l}=(0,u.useTranslation)();return(0,r.jsx)(v.a,{cancelButtonProps:{style:{display:"none"}},onCancel:i,onOk:i,open:t,size:"XL",title:l("jobs.job.error-modal.title"),children:(0,r.jsx)("ul",{children:n.map((e,t)=>{let i=(0,p.isString)(e)?e:JSON.stringify(e)??"";return(0,r.jsx)("li",{children:i},t)})})})};var y=i(11940),b=i(63364),x=i(10600),j=i(55638);let w=e=>{let{removeJob:t}=(0,h.O)(),{t:i}=(0,u.useTranslation)(),[l,a]=(0,n.useState)(!1),[o]=(0,y.X1)(),s=async()=>{let{error:i}=await o({jobRunId:Number(e.jobRunId)});(0,p.isUndefined)(i)?(b.kL.get(x.K.globalMessageBus).unregisterHandler(e.jobRunId),t(e.id)):(0,j.Ay)(new j.hD(i))},d={label:i("jobs.job.button-hide"),handler:()=>{t(e.id)}},c=[d],m=[d],v=[d],w=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"start";"start"===i?e.unshift(t):e.push(t)};if((0,p.isUndefined)(e.onCustomizeButtons)||e.onCustomizeButtons({addSuccessButton:(e,t)=>{w(c,e,t)},addFinishedWithErrorsButton:(e,t)=>{w(m,e,t)},addFailureButton:(e,t)=>{w(v,e,t)}}),(0,p.isUndefined)(e.onRetry)||v.unshift({label:i("jobs.job.button-retry"),handler:()=>{var i;null==(i=e.onRetry)||i.call(e),t(e.id)}}),!(0,p.isUndefined)(e.messages)&&!(0,p.isEmpty)(e.messages)){let e={label:i("jobs.job.button-show-errors"),handler:()=>{a(!0)}};w(m,e,"start"),w(v,e,"start")}return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{failureButtonActions:v,finishedWithErrorsButtonActions:m,onAbort:s,successButtonActions:c,...e,progress:e.progress??0}),(0,r.jsx)(f,{messages:e.messages??[],onClose:()=>{a(!1)},open:l})]})}},99224(e,t,i){"use strict";i.d(t,{y:()=>u});var r=i(74848),n=i(47867),l=i(63364),a=i(10600),o=i(29247);let s=e=>{let t=(0,l.Lt)(a.K["ExecutionEngine/JobComponentRegistry"]).getComponentByType(e.type)??o.y;return(0,r.jsx)(t,{...e})};var d=i(78535),c=i(30652);let u=()=>{let{jobs:e}=(0,c.O)();return(0,r.jsx)(d.AnimatePresence,{children:e.map(e=>(0,r.jsx)(d.motion.div,{animate:{opacity:1,height:"auto"},exit:{opacity:0,height:1},initial:{opacity:0,height:1},children:(0,n.createElement)(s,{...e,key:e.id})},`${e.id}`))})}},38380(e,t,i){"use strict";i.d(t,{L:()=>B});var r=i(63364),n=i(10600),l=i(27755),a=i(74848),o=i(47867),s=i(4793),d=i(18613),c=i(74325),u=i(96940),p=i(91206),m=i(75525),g=i(21429),h=i(39808),v=i(64756),f=i(36769),y=i(43588);let b=e=>{let{notifications:t,isLoading:i,isFetching:r,deleteNotificationsForUser:n,deleteLoading:l,page:o,setPage:s,setPageSize:d,activeNotification:b}=e,{t:x}=(0,g.useTranslation)();return(0,a.jsx)(p.s,{renderToolbar:(null==t?void 0:t.totalItems)!==0?(0,a.jsxs)(u.M,{justify:"space-between",theme:"secondary",children:[(0,a.jsx)(y.IconTextButton,{icon:{value:"trash"},onClick:()=>{n()},children:x("notifications.remove-all")}),(0,a.jsx)(m.d,{current:o,onChange:(e,t)=>{s(e),d(t)},showSizeChanger:!0,showTotal:e=>x("pagination.show-total",{total:e}),total:(null==t?void 0:t.totalItems)??0})]}):void 0,renderTopBar:(0,a.jsx)(u.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,a.jsx)(c.h,{children:x("notifications.label")})}),children:(0,a.jsx)(h.U,{loading:i||r||l,none:void 0===t||0===t.totalItems,children:(0,a.jsx)(v.a,{margin:{x:"extra-small",y:"none"},children:void 0!==t&&(0,a.jsx)(f.q,{activeNotification:b,notifications:t})})})})},x=e=>{let{activeNotification:t}=e,[i,r]=(0,o.useState)(1),[n,l]=(0,o.useState)(20),c=(0,o.useMemo)(()=>({body:{filters:{page:i,pageSize:n,includeDescendants:!0,sortFilter:{key:"creationDate",direction:"DESC"}}}}),[i,n]),{data:u,isLoading:p,isFetching:m,isError:g,error:h}=(0,s.useNotificationGetCollectionQuery)(c,{refetchOnMountOrArgChange:!0}),[v,{isError:f,error:y,isLoading:x}]=(0,s.useNotificationDeleteAllMutation)();return(0,o.useEffect)(()=>{g&&(0,d.trackError)(new d.ApiError(h))},[g]),(0,o.useEffect)(()=>{f&&(0,d.trackError)(new d.ApiError(y))},[f]),(0,a.jsx)(b,{activeNotification:t,deleteLoading:x,deleteNotificationsForUser:v,isFetching:m,isLoading:p,notifications:u,page:i,setPage:r,setPageSize:l})};var j=i(83379),w=i(66410);class C extends j.T{getTopics(){return[w.v["handler-progress"]]}constructor(...e){super(...e),this.name="demo-process",this.description="Demo process for testing purposes"}}var S=i(18228),T=i(60352),I=i(24058),k=i(57248),E=i(35864),D=i(41630),N=i(73565),P=i(53996);class A extends k.k{shouldHandle(e){var t;let i=(0,N.xu)(D.M_.getState()),r=e.payload;return(null==r||null==(t=r.notification)?void 0:t.recipient)===i.id&&!(0,E.isNil)(null==r?void 0:r.notification)&&!(0,E.isNil)(null==r?void 0:r.unreadNotificationsCount)}async handleMessage(e){let t=e.payload;(0,E.isNil)(t.notification)||(this.onMessage(e),D.M_.dispatch(s.api.util.invalidateTags(P.qN.NOTIFICATIONS())),D.M_.dispatch(s.api.util.updateQueryData("notificationGetUnreadCount",void 0,()=>({unreadNotificationsCount:t.unreadNotificationsCount}))))}getId(){return"notification-popup-handler"}constructor(e){super(),this.onMessage=e}}var F=i(78535);let $=(0,i(44241).createStyles)(e=>{let{token:t,css:i}=e;return{notificationPopupIcon:i`
+ `}});var u=i(21429),p=i(35864),m=i(78352);let g=e=>{let{styles:t}=c(),{t:i}=(0,u.useTranslation)(),n=e.successButtonActions??[],g=e.failureButtonActions??[],h=e.finishedWithErrorsButtonActions??[],v=Math.min(e.progress,100),f=(0,p.isUndefined)(e.currentStep)?null:!(0,p.isUndefined)(e.totalSteps)&&e.totalSteps>1?(0,r.jsxs)("strong",{children:[i("jobs.job.step_hint",{step:e.currentStep,total:e.totalSteps}),": "]}):e.currentStep>1?(0,r.jsxs)("strong",{children:[i("jobs.job.step_hint_single",{step:e.currentStep}),": "]}):null,y=()=>(0,p.isUndefined)(e.onAbort)?null:(0,r.jsx)(m.i,{onConfirm:()=>{var t;null==(t=e.onAbort)||t.call(e)},title:i("jobs.job.abort-confirm"),zIndex:1e4,children:(0,r.jsx)(o.Button,{className:t.buttonStyle,type:"link",children:i("jobs.job.button-abort")})});return(0,r.jsx)("div",{children:(0,r.jsx)(d.AnimatePresence,{children:(0,r.jsxs)(d.motion.div,{animate:{opacity:1,height:"auto"},exit:{opacity:0,height:1},initial:{opacity:0,height:1},children:["queued"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(a.t,{type:"classic"}),(0,r.jsx)("span",{children:i("jobs.job.queued",{title:e.title})})]}),y()]}),"running"===e.status&&!0===e.indeterminate&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(a.t,{type:"classic"}),(0,r.jsxs)("span",{children:[f,(0,p.isUndefined)(e.stepDescriptionKey)?i("jobs.job.in-progress",{title:e.title}):i(e.stepDescriptionKey)]})]}),y()]}),"running"===e.status&&!0!==e.indeterminate&&(0,r.jsx)(l.d,{description:(0,r.jsxs)(r.Fragment,{children:[f,i("jobs.job.in-progress",{title:e.title})]}),descriptionAction:y(),percent:v,progressStatus:i("jobs.job.progress",{progress:v})}),"success"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"check-circle"}),(0,r.jsx)("span",{children:i("jobs.job.finished",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:n.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]}),"finished_with_errors"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"warning-circle"}),(0,r.jsx)("span",{children:i("jobs.job.finished-with-errors",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:h.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]}),"failed"===e.status&&(0,r.jsxs)(o.Flex,{align:"center",justify:"space-between",children:[(0,r.jsxs)(o.Flex,{align:"center",gap:"small",children:[(0,r.jsx)(s.I,{value:"x-circle"}),(0,r.jsx)("span",{children:i("jobs.job.failed",{title:e.title})})]}),(0,r.jsx)(o.Flex,{gap:"small",children:g.map((e,i)=>(0,r.jsx)(o.Button,{className:t.buttonStyle,onClick:e.handler,type:"link",children:e.label},i))})]})]},e.status)})})};var h=i(30652),v=i(30492);let f=e=>{let{open:t,onClose:i,messages:n}=e,{t:l}=(0,u.useTranslation)();return(0,r.jsx)(v.a,{cancelButtonProps:{style:{display:"none"}},onCancel:i,onOk:i,open:t,size:"XL",title:l("jobs.job.error-modal.title"),children:(0,r.jsx)("ul",{children:n.map((e,t)=>{let i=(0,p.isString)(e)?e:JSON.stringify(e)??"";return(0,r.jsx)("li",{children:i},t)})})})};var y=i(11940),b=i(63364),x=i(10600),j=i(55638);let w=e=>{let{removeJob:t}=(0,h.O)(),{t:i}=(0,u.useTranslation)(),[l,a]=(0,n.useState)(!1),[o]=(0,y.X1)(),s=async()=>{let{error:i}=await o({jobRunId:Number(e.jobRunId)});(0,p.isUndefined)(i)?(b.kL.get(x.K.globalMessageBus).unregisterHandler(e.jobRunId),t(e.id)):(0,j.Ay)(new j.hD(i))},d={label:i("jobs.job.button-hide"),handler:()=>{t(e.id)}},c=[d],m=[d],v=[d],w=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"start";"start"===i?e.unshift(t):e.push(t)};if(!(0,p.isUndefined)(e.onCustomizeButtons)){let t={jobRunId:e.jobRunId,addSuccessButton:(e,t)=>{w(c,e,t)},addFinishedWithErrorsButton:(e,t)=>{w(m,e,t)},addFailureButton:(e,t)=>{w(v,e,t)}};e.onCustomizeButtons(t)}if((0,p.isUndefined)(e.onRetry)||v.unshift({label:i("jobs.job.button-retry"),handler:()=>{var i;null==(i=e.onRetry)||i.call(e),t(e.id)}}),!(0,p.isUndefined)(e.messages)&&!(0,p.isEmpty)(e.messages)){let e={label:i("jobs.job.button-show-errors"),handler:()=>{a(!0)}};w(m,e,"start"),w(v,e,"start")}return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{failureButtonActions:v,finishedWithErrorsButtonActions:m,onAbort:s,successButtonActions:c,...e,progress:e.progress??0}),(0,r.jsx)(f,{messages:e.messages??[],onClose:()=>{a(!1)},open:l})]})}},99224(e,t,i){"use strict";i.d(t,{y:()=>u});var r=i(74848),n=i(47867),l=i(63364),a=i(10600),o=i(29247);let s=e=>{let t=(0,l.Lt)(a.K["ExecutionEngine/JobComponentRegistry"]).getComponentByType(e.type)??o.y;return(0,r.jsx)(t,{...e})};var d=i(78535),c=i(30652);let u=()=>{let{jobs:e}=(0,c.O)();return(0,r.jsx)(d.AnimatePresence,{children:e.map(e=>(0,r.jsx)(d.motion.div,{animate:{opacity:1,height:"auto"},exit:{opacity:0,height:1},initial:{opacity:0,height:1},children:(0,n.createElement)(s,{...e,key:e.id})},`${e.id}`))})}},38380(e,t,i){"use strict";i.d(t,{L:()=>B});var r=i(63364),n=i(10600),l=i(27755),a=i(74848),o=i(47867),s=i(4793),d=i(18613),c=i(74325),u=i(96940),p=i(91206),m=i(75525),g=i(21429),h=i(39808),v=i(64756),f=i(36769),y=i(43588);let b=e=>{let{notifications:t,isLoading:i,isFetching:r,deleteNotificationsForUser:n,deleteLoading:l,page:o,setPage:s,setPageSize:d,activeNotification:b}=e,{t:x}=(0,g.useTranslation)();return(0,a.jsx)(p.s,{renderToolbar:(null==t?void 0:t.totalItems)!==0?(0,a.jsxs)(u.M,{justify:"space-between",theme:"secondary",children:[(0,a.jsx)(y.IconTextButton,{icon:{value:"trash"},onClick:()=>{n()},children:x("notifications.remove-all")}),(0,a.jsx)(m.d,{current:o,onChange:(e,t)=>{s(e),d(t)},showSizeChanger:!0,showTotal:e=>x("pagination.show-total",{total:e}),total:(null==t?void 0:t.totalItems)??0})]}):void 0,renderTopBar:(0,a.jsx)(u.M,{justify:"space-between",margin:{x:"mini",y:"none"},theme:"secondary",children:(0,a.jsx)(c.h,{children:x("notifications.label")})}),children:(0,a.jsx)(h.U,{loading:i||r||l,none:void 0===t||0===t.totalItems,children:(0,a.jsx)(v.a,{margin:{x:"extra-small",y:"none"},children:void 0!==t&&(0,a.jsx)(f.q,{activeNotification:b,notifications:t})})})})},x=e=>{let{activeNotification:t}=e,[i,r]=(0,o.useState)(1),[n,l]=(0,o.useState)(20),c=(0,o.useMemo)(()=>({body:{filters:{page:i,pageSize:n,includeDescendants:!0,sortFilter:{key:"creationDate",direction:"DESC"}}}}),[i,n]),{data:u,isLoading:p,isFetching:m,isError:g,error:h}=(0,s.useNotificationGetCollectionQuery)(c,{refetchOnMountOrArgChange:!0}),[v,{isError:f,error:y,isLoading:x}]=(0,s.useNotificationDeleteAllMutation)();return(0,o.useEffect)(()=>{g&&(0,d.trackError)(new d.ApiError(h))},[g]),(0,o.useEffect)(()=>{f&&(0,d.trackError)(new d.ApiError(y))},[f]),(0,a.jsx)(b,{activeNotification:t,deleteLoading:x,deleteNotificationsForUser:v,isFetching:m,isLoading:p,notifications:u,page:i,setPage:r,setPageSize:l})};var j=i(83379),w=i(66410);class C extends j.T{getTopics(){return[w.v["handler-progress"]]}constructor(...e){super(...e),this.name="demo-process",this.description="Demo process for testing purposes"}}var S=i(18228),T=i(60352),I=i(24058),k=i(57248),E=i(35864),D=i(41630),N=i(73565),P=i(53996);class A extends k.k{shouldHandle(e){var t;let i=(0,N.xu)(D.M_.getState()),r=e.payload;return(null==r||null==(t=r.notification)?void 0:t.recipient)===i.id&&!(0,E.isNil)(null==r?void 0:r.notification)&&!(0,E.isNil)(null==r?void 0:r.unreadNotificationsCount)}async handleMessage(e){let t=e.payload;(0,E.isNil)(t.notification)||(this.onMessage(e),D.M_.dispatch(s.api.util.invalidateTags(P.qN.NOTIFICATIONS())),D.M_.dispatch(s.api.util.updateQueryData("notificationGetUnreadCount",void 0,()=>({unreadNotificationsCount:t.unreadNotificationsCount}))))}getId(){return"notification-popup-handler"}constructor(e){super(),this.onMessage=e}}var F=i(78535);let $=(0,i(44241).createStyles)(e=>{let{token:t,css:i}=e;return{notificationPopupIcon:i`
color: ${t.colorAccentSecondary};
`,notificationPopup:i`
.ant-collapse-item {
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_app.9a31719b.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_app.f6074673.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_default_export.1b3f6d28.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_default_export.1b3f6d28.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__application_logger.fc080c19.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__application_logger.fc080c19.js.LICENSE.txt
diff --git a/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js
new file mode 100644
index 0000000000..b8e92d80b6
--- /dev/null
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js
@@ -0,0 +1,2 @@
+/*! For license information please see __federation_expose_modules__asset.8cd128af.js.LICENSE.txt */
+"use strict";(self["chunk_pimcore_studio_ui_bundle "]=self["chunk_pimcore_studio_ui_bundle "]||[]).push([["9800"],{74718(e,t,n){n.d(t,{w:()=>i});var o=n(82763),r=n(42523),s=n(40875),a=n(25548),c=n(55638),l=n(60142),u=n(35864);class i{async run(e){let{messageBus:t}=e,n=await this.executeAction();if(!(0,u.isNull)(n)){let o=this.createHandler(n,e);t.registerHandler(o)}}async executeAction(){try{return await this.options.action()}catch(e){return console.error(e),(0,c.Ay)(new c.$g((0,l.t)("jobs.job.download-error"))),null}}createHandler(e,t){let{title:n,downloadUrl:c,hasChildJob:u}=this.options;return new o.j({jobRunId:e,title:n,stepTracker:!0===u?new s.o({totalSteps:2}):new a.m,progressCalculator:new r.a,onRetry:async()=>{await this.run(t)},onCustomizeButtons:e=>{e.addSuccessButton({label:(0,l.t)("jobs.job.button-download"),handler:()=>{let t=document.createElement("a");t.href=c.replace("{jobRunId}",e.jobRunId.toString()),t.download="",t.click()}})}})}constructor(e){this.options=e}}}}]);
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__asset.51999de9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__asset.8cd128af.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__auth.65d96793.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__auth.65d96793.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__class_definitions.009acac4.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__class_definitions.009acac4.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__data_object.8f1ebdf8.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__document.5167229e.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__document.5167229e.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__field_definitions.7f785f6f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__gdpr_data_extractor.48b05d8a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__global_message_bus.bfbd3798.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__icon_library.481bed67.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__icon_library.481bed67.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__notifications.212009d9.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__notifications.212009d9.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__perspectives.ea16786c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__perspectives.ea16786c.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__reports.f35bbd3d.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__reports.f35bbd3d.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__rule_builder.f77a657a.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__translations.e3016a50.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__translations.e3016a50.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__user.1df0f8e6.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__user.1df0f8e6.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_modules__widget_editor.4cd4867f.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/__federation_expose_utils.526f5bda.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/__federation_expose_utils.526f5bda.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/async/lib-axios.f458d745.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/async/lib-axios.f458d745.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js
similarity index 99%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js
index 1b381d0e48..339cce5097 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js
@@ -1,7 +1,7 @@
-/*! For license information please see index.44e58d4c.js.LICENSE.txt */
+/*! For license information please see index.81b415d3.js.LICENSE.txt */
(()=>{var __webpack_modules__={70115(){},6619(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(78130);t.logAndReport=function(e,t,r,n,a,i){return n(o.getShortErrorMsg(e,t,r,a))}},99810(e,t,r){let o=r(90924),n={[o.RUNTIME_001]:"Failed to get remoteEntry exports.",[o.RUNTIME_002]:'The remote entry interface does not contain "init"',[o.RUNTIME_003]:"Failed to get manifest.",[o.RUNTIME_004]:"Failed to locate remote.",[o.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[o.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[o.RUNTIME_007]:"Failed to get remote snapshot.",[o.RUNTIME_008]:"Failed to load script resources.",[o.RUNTIME_009]:"Please call createInstance first.",[o.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[o.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},a={[o.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},i={[o.BUILD_001]:"Failed to find expose module.",[o.BUILD_002]:"PublicPath is required in prod mode."},s={...n,...a,...i};t.buildDescMap=i,t.errorDescMap=s,t.runtimeDescMap=n,t.typeDescMap=a},90924(e,t){let r="RUNTIME-001",o="RUNTIME-002",n="RUNTIME-003",a="RUNTIME-004",i="RUNTIME-005",s="RUNTIME-006",l="RUNTIME-007",u="RUNTIME-008",c="RUNTIME-009",d="RUNTIME-010",f="RUNTIME-011",m="TYPE-001",p="BUILD-002";t.BUILD_001="BUILD-001",t.BUILD_002=p,t.RUNTIME_001=r,t.RUNTIME_002=o,t.RUNTIME_003=n,t.RUNTIME_004=a,t.RUNTIME_005=i,t.RUNTIME_006=s,t.RUNTIME_007=l,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=d,t.RUNTIME_011=f,t.TYPE_001=m},78130(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:
${n}`),a.join("\n")}},84363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(90924),n=r(78130),a=r(99810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},31748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},92926(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},45871(e,t,r){let o=r(48628),n=r(92926),a=r(8369),i=r(17829),s=r(28457),l=r(556);r(21132);let u=r(12003),c=r(26227),d=r(62964),f=r(82593),m=r(92299),p=r(60317);r(94317);let h=r(14260),g=r(64710),y=r(29152),E=r(17300),b=r(71777),_=r(50630),S=r(84363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,S.getShortErrorMsg)(S.RUNTIME_010,S.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new p.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new m.AsyncWaterfallHook("beforeInitContainer"),initContainer:new m.AsyncWaterfallHook("initContainer")}),this.version="2.2.3",this.moduleCache=new Map,this.loaderHook=new p.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new p.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[h.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:_.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new b.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},44391(e,t,r){let o=r(48628),n=r(9350),a=r(50630),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function m(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function p(e){i.__FEDERATION__.__INSTANCES__.push(e)}function h(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.3")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,b=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},_=e=>b(e,s.__FEDERATION__.moduleInfo),S=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},T=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,M=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),N=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=h,t.getGlobalHostPlugins=T,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=_,t.getInfoWithoutType=y,t.getPreloaded=M,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=b,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=m,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=p,t.setGlobalSnapshotInfoByModuleInfo=S,t.setPreloaded=N},3509(e,t,r){let o=r(44391),n=r(8369),a=r(6079),i=r(556);r(21132);let s=r(19599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},45922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(48628),n=r(9350),a=r(44391),i=r(63957),s=r(8369),l=r(6079),u=r(556);r(21132);let c=r(3509),d=r(12003),f=r(45871),m=r(87703),p=r(50630),h=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=h,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return p.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return p.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return m.type_exports}})},12003(e,t,r){let o=r(48628),n=r(9350),a=r(556),i=r(48393);r(21132);let s=r(50630),l=r(84363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},64710(e,t,r){let o=r(9350),n=r(44391),a=r(8369);r(21132);let i=r(19599),s=r(14260),l=r(50630);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],m=[],p=[],h=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:b}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(b)){let e=b.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==b)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&p.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],h=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(h.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==h?void 0:h.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{h.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let _=m.filter(e=>!h.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:_,entryAssets:p.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},29152(e,t,r){let o=r(48628),n=r(9350),a=r(44391),i=r(48393);r(21132);let s=r(62964),l=r(92299),u=r(60317);r(94317);let c=r(50630),d=r(84363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let m=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});m||(m={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:m})),m&&"remotesInfo"in m&&!a.getInfoWithoutType(m.remotesInfo,s.name).value&&("version"in s||"entry"in s)&&(m.remotesInfo={...null==m?void 0:m.remotesInfo,[s.name]:{matchedVersion:"version"in s?s.version:s.entry}});let{hostGlobalSnapshot:p,remoteSnapshot:h,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:p,remoteSnapshot:h,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new l.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new l.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new l.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},14260(e,t,r){let o=r(48628),n=r(9350);r(21132);let a=r(19599),i=r(50630),s=r(84363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},71777(e,t,r){let o=r(48628),n=r(44391),a=r(92926),i=r(8369),s=r(6079),l=r(556),u=r(48393);r(21132);let c=r(19599),d=r(12003),f=r(26227),m=r(62964),p=r(82593),h=r(92299),g=r(60317);r(94317);let y=r(29152),E=r(50630),b=r(84363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),m=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof m)return m;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(b.RUNTIME_004,b.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),m=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:p,expose:h}=m;o.assert(p&&h,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(p.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(p.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:m}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new p.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new p.SyncWaterfallHook("registerRemote"),beforeRequest:new h.AsyncWaterfallHook("beforeRequest"),onLoad:new m.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new m.AsyncHook("errorLoadRemote"),beforePreloadRemote:new m.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new m.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new m.AsyncHook,loadEntry:new m.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},17300(e,t,r){let o=r(48628),n=r(92926),a=r(8369),i=r(48393);r(21132);let s=r(62964),l=r(82593),u=r(92299),c=r(60317);r(94317);let d=r(84363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},m=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(m(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],m=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];m(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},87703(e,t,r){var o=r(31748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},48393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},17829(e,t,r){r(50630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle:0.0.1"}},62964(e,t,r){let o=r(26227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o0){let t=0,o=e=>!1!==e&&(t0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},26227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},82593(e,t,r){let o=r(48628),n=r(9350),a=r(26227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},21132(e,t,r){r(48628),r(9350),r(17829),r(6079),r(28457),r(556),r(48393),r(50630)},556(e,t,r){let o=r(48628),n=r(44391),a=r(92926),i=r(50630),s=r(84363),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function m(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function p(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&"url"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function h(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=h(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?m({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):p({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=h(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=h,t.getRemoteInfo=y},48628(e,t,r){let o=r(50630),n=r(6619),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},28457(e,t,r){let o=r(44391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},19599(e,t,r){let o=r(48628),n=r(6079),a=r(556),i=r(50630);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:"preload",as:"style"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:"stylesheet",type:"text/css"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:"preload",as:"script"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},60632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},59570(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,m=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,p=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,h="((?:<|>)?=?)",g=`(\\s*)${h}\\s*(${p}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,b="(?:\\^)",_=`(\\s*)${b}\\s+`,S="(<|>)?=?\\s*\\*",v=`^${b}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,T=`^${h}\\s*${f}$`,M=`^${h}\\s*(${R})$|^$`,N="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=_,t.comparator=M,t.comparatorTrim=g,t.gte0=N,t.hyphenRange=m,t.star=S,t.tilde=I,t.tildeTrim=E,t.xRange=T},63957(e,t,r){let o=r(10078),n=r(83810),a=r(60632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,m={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},m)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},83810(e,t,r){let o=r(59570),n=r(10078);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},10078(e,t,r){let o=r(59570);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;rt.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(48628),n=r(9350),a=r(44391),i=r(92926),s=r(63957),l=r(50630);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let m=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},p=e=>!!e.loaded||"function"==typeof e.lib,h=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!p(n[e].treeShaking)&&f(e,t):!p(n[e])&&f(e,t)};if(i){if(a=m(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:m(e[t][r],s),useTreesShaking:i}}let E=e=>p(e)||h(e);function b(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=m(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:m(e[t][r],s),useTreesShaking:i}}function _(e){return"loaded-first"===e?b:y}function S(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:m,useTreesShaking:p}=_(c)(e,i,t,f),h=()=>{let n=e[i][t][m];if(l.singleton){if("string"==typeof u&&!s.satisfy(m,u)){let e=`Version ${m} from ${m&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:p}}{if(!1===u||"*"===u||s.satisfy(m,u))return{shared:n,useTreesShaking:p};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:m,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:h};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!p(t[e])&&f(e,r)};return t[m(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=S,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(48628),n=r(50630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function m(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function p(e){return Array.isArray(e)?e:[e]}function h(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=p,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=h,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=m,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},93544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},13129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(93544);let o=r(19577),n=r(45922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},99782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(93544);let o=r(19577),n=r(45922),a=r(84363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},67688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},40586(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",m="ENCODE_NAME_PREFIX",p=".federation",h={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},g=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=m,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=h,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=p,t.TreeShakingStatus=g},31483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(43417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},56883(e,t,r){let o=r(40586),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},27016(e,t,r){let o=r(40586),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),m={};Object.keys(l).length||(m=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>m[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:p,name:h,type:g},types:y={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:E},globalName:b,ssrRemoteEntry:_}=e.metaData,{exposes:S}=e,v={version:c||"",buildVersion:E,globalName:b,remoteEntry:n(p,h),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||"",remoteTypesAPI:y.api||"",remotesInfo:m,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==S?void 0:S.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if("publicPath"in e.metaData?(i={...v,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},_){let e=n(_.path,_.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=_.type||"commonjs-module"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},50630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(40586),n=r(8841),a=r(88798),i=r(87765),s=r(71993),l=r(7345),u=r(95448),c=r(56883),d=r(43417),f=r(27016),m=r(43910),p=r(6302),h=r(638),g=r(76967),y=r(31483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=m.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=m.createInfrastructureLogger,t.createLink=p.createLink,t.createLogger=m.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=p.createScript,t.createScriptNode=h.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=m.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=p.isStaticResourcesEqual,t.loadScript=p.loadScript,t.loadScriptNode=h.loadScriptNode,t.logger=m.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=p.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},43910(e,t,r){let o=r(56883),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
${r.slice(0,5).join("\n")}`}catch{return}}var l=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let r=this.delegate,n=o.isDebugMode()?s():void 0,i=n?[...t,n]:t,l=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of l){let t=r[e];if("function"==typeof t)return void t.call(r,this.prefix,...i)}for(let e of l){let t=a[e];if("function"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),r=0;re).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let o=(e,t)=>r.lifecycle.fetch.emit(e,t),n=await o(e,t||{});return n&&n instanceof Response?n:("u"{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval("require"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,o)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"new Promise((r,o)=>{createScriptNode(e,(e,n)=>{if(e)o(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;r(globalThis[e]=n)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:o}=t,n=await (await r(e)).text(),a=new o.SourceTextModule(n,{importModuleDynamically:async(r,o)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let o=new URL(r,e).href;return await loadModule(o,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},76967(e,t){t.normalizeOptions=function(e,t,r){return function(o){if(!1===o)return!1;if(void 0===o)if(e)return t;else return!1;if(!0===o)return t;if(o&&"object"==typeof o)return{...t,...o};throw Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof o}`)}}},7345(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},8841(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"ContainerPlugin_exports",{enumerable:!0,get:function(){return o}})},88798(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return o}})},87765(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return o}})},95448(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},71993(e,t,r){var o=r(67688).__exportAll({});Object.defineProperty(t,"SharePlugin_exports",{enumerable:!0,get:function(){return o}})},43417(e,t,r){let o=r(40586),n=r(56883),a="[ Federation Runtime ]",i=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.SEPARATOR,a=e.split(r),i="development"===n.getProcessEnv().NODE_ENV&&t,s="*",l=e=>e.startsWith("http")||e.includes(o.MANIFEST_EXT);if(a.length>=2){let[t,...o]=a;e.startsWith(r)&&(t=a.slice(0,2).join(r),o=[i||a.slice(2).join(r)]);let n=i||o.join(r);return l(n)?{name:t,entry:n}:{name:t,version:n||s}}if(1===a.length){let[e]=a;return i&&l(i)?{name:e,entry:i}:{name:e,version:i||s}}throw`Invalid entry value: ${e}`},s=function(){for(var e=arguments.length,t=Array(e),r=0;rt?e?`${e}${o.SEPARATOR}${t}`:t:e,""):""},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let n=r?".js":"";return`${t}${e.replace(RegExp(`${o.NameTransformSymbol.AT}`,"g"),o.NameTransformMap[o.NameTransformSymbol.AT]).replace(RegExp(`${o.NameTransformSymbol.HYPHEN}`,"g"),o.NameTransformMap[o.NameTransformSymbol.HYPHEN]).replace(RegExp(`${o.NameTransformSymbol.SLASH}`,"g"),o.NameTransformMap[o.NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},u=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,"g"),"")}return n=n.replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.AT]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.AT]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.SLASH]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.SLASH]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.HYPHEN]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(e){throw e}},c=(e,t)=>{if(!e)return"";let r=e;return"."===r&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),l(r,"__federation_expose_",t)},d=(e,t)=>e?l(e,"__federation_shared_",t):"",f=(e,t)=>{if("getPublicPath"in e){let r;return r=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return"publicPath"in e?!n.isBrowserEnv()&&!n.isReactNativeEnv()&&"ssrPublicPath"in e&&"string"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},m=e=>{throw Error(`${a}: ${e}`)},p=e=>{console.warn(`${a}: ${e}`)};function h(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let g=/^([\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||m(t)},t.composeKeyWithSeparator=s,t.decodeName=u,t.encodeName=l,t.error=m,t.generateExposeFilename=c,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=y,t.parseEntry=i,t.safeToString=h,t.warn=p},37363(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;ct[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},22069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},36897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.FEDERATION_SUPPORTED_TYPES=["script"]},80916(e,t,r){let o=r(22069),n=r(55216),a=r(57617);t.consumes=function(e){n.updateConsumeOptions(e);let{chunkId:t,promises:r,installedModules:i,webpackRequire:s,chunkMapping:l,moduleToHandlerMapping:u}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{if(s.o(i,e))return r.push(i[e]);let t=t=>{i[e]=0,s.m[e]=r=>{var o;delete s.c[e];let n=t(),{shareInfo:a}=u[e];if((null==a||null==(o=a.shareConfig)?void 0:o.layer)&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=a.shareConfig.layer)}catch(e){}r.exports=n}},o=t=>{delete i[e],s.m[e]=r=>{throw delete s.c[e],t}};try{let n=s.federation.instance;if(!n)throw Error("Federation instance not found!");let{shareKey:l,getter:c,shareInfo:d,treeShakingGetter:f}=u[e],m=a.getUsedExports(s,l),p={...d};Array.isArray(p.scope)&&Array.isArray(p.scope[0])&&(p.scope=p.scope[0]),m&&(p.treeShaking={usedExports:m,useIn:[n.options.name]});let h=n.loadShare(l,{customShareInfo:p}).then(e=>!1===e?(null==f?void 0:f())||c():e);h.then?r.push(i[e]=h.then(t).catch(o)):t(h)}catch(e){o(e)}})}},48167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:r,version:o,webpackRequire:n,libraryType:a="global"}=e,{runtime:i,instance:s,bundlerRuntime:l,sharedFallback:u}=n.federation;if(!u)return r;let c=u[t];if(!c)return r;let d=o?c.find(e=>e[1]===o):c[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${o}`);return()=>i.getRemoteEntry({origin:n.federation.instance,remoteInfo:{name:d[2],entry:`${n.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:"default"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${o}`);return e.init(n.federation.instance,l).then(()=>e.get())})}},57617(e,t){t.getUsedExports=function(e,t){let r=e.federation.usedExports;if(r)return r[t]}},66927(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let o=r(37363),n=r(22069),a=r(96310),i=r(80916),s=r(36777),l=r(71735),u=r(87440),c=r(8531),d=r(48167),f=r(99782),m={runtime:f=o.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:s.initializeSharing,S:{},installInitialConsumes:l.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:n.attachShareScopeMap,bundlerRuntimeOptions:{}},p=m.instance,h=m.initOptions,g=m.bundlerRuntime,y=m.bundlerRuntimeOptions;t.attachShareScopeMap=n.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=m,t.initOptions=h,t.instance=p,Object.defineProperty(t,"runtime",{enumerable:!0,get:function(){return f}})},8531(e,t,r){let o=r(37363),n=r(99782),a=r(13129);a=o.__toESM(a),t.init=function(e){var t;let{webpackRequire:o}=e,{initOptions:i,runtime:s,sharedFallback:l,bundlerRuntime:u,libraryType:c}=o.federation;if(!i)throw Error("initOptions is required!");let d=function(){return{name:"tree-shake-plugin",beforeInit(e){let{userOptions:t,origin:i,options:s}=e,d=t.version||s.version;if(!l)return e;let f=t.shared||{},m=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(m.push([e,t]),"get"in t){var r;(r=t).treeShaking||(r.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:o,libraryType:c,version:t.version})}})});let p=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!p||!("shared"in p))return e;Object.keys(s.shared||{}).forEach(e=>{s.shared[e].forEach(t=>{m.push([e,t])})});let h=(e,t)=>{let o=p.shared.find(t=>t.sharedName===e);if(!o)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:s,secondarySharedTreeShakingEntry:l,treeShakingStatus:u}=o;a.status!==u&&(a.status=u,l&&c&&s&&(a.get=async()=>{let e=await (0,n.getRemoteEntry)({origin:i,remoteInfo:{name:s,entry:l,type:c,entryGlobalName:s,shareScope:"default"}});return await e.init(i,r.federation.bundlerRuntime),e.get()}))};return m.forEach(e=>{let[t,r]=e;h(t,r)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),s.init(i)}},87440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:r,initScope:o,shareScopeKey:n,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let s=null==a?void 0:a.shareScopeKeys,l=null==a?void 0:a.shareScopeMap;if(n&&"string"!=typeof n)n.forEach(e=>{if(!s||!l)return void i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=n||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(n))?t.federation.initOptions.shared?t.I(n,o):Promise.all(n.map(e=>t.I(e,o))).then(()=>!0):t.I(n||"default",o)}},36777(e,t,r){let o=r(22069),n=r(36897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:r,initPromises:a,initTokens:i,initScope:s}=e,l=Array.isArray(t)?t:[t];var u=[],c=function(e){s||(s=[]);let l=r.federation.instance;var u=i[e];if(u||(u=i[e]={from:l.name}),s.indexOf(u)>=0)return;s.push(u);let c=a[e];if(c)return c;var d=e=>"u">typeof console&&console.warn&&console.warn(e),f=o=>{var n=e=>d("Initialization of sharing external failed: "+e);try{var a=r(o);if(!a)return;var i=o=>o&&o.init&&o.init(r.S[e],s,{shareScopeMap:r.S||{},shareScopeKeys:t});if(a.then)return m.push(a.then(i,n));var l=i(a);if(l&&"boolean"!=typeof l&&l.then)return m.push(l.catch(n))}catch(e){n(e)}};let m=l.initializeSharing(e,{strategy:l.options.shareStrategy,initScope:s,from:"build"});o.attachShareScopeMap(r);let p=r.federation.bundlerRuntimeOptions.remotes;return(p&&Object.keys(p.idToRemoteMap).forEach(e=>{let t=p.idToRemoteMap[e],r=p.idToExternalAndNameMapping[e][2];if(t.length>1)f(r);else if(1===t.length){let e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(r)}}),m.length)?a[e]=Promise.all(m).then(()=>a[e]=!0):a[e]=!0};return l.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},71735(e,t,r){let o=r(55216),n=r(57617);function a(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:o,asyncLoad:a}=e,i=o.federation.instance;if(!i)throw Error("Federation instance not found!");let{shareKey:s,shareInfo:l}=r[t];try{let e=n.getUsedExports(o,s),t={...l};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(s,{customShareInfo:t});return i.loadShareSync(s,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}t.installInitialConsumes=function(e){o.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:r,installedModules:n,initialConsumes:i,asyncLoad:s}=e,l=[];i.forEach(e=>{let o=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:r,asyncLoad:s});l.push([e,o])});let u=(e,o)=>{r.m[e]=a=>{var i;n[e]=0,delete r.c[e];let s=o();if("function"!=typeof s)throw Error(`Shared module is not available for eager consumption: ${e}`);let l=s(),{shareInfo:u}=t[e];if((null==u||null==(i=u.shareConfig)?void 0:i.layer)&&l&&"object"==typeof l)try{l.hasOwnProperty("layer")&&void 0!==l.layer||(l.layer=u.shareConfig.layer)}catch(e){}a.exports=l}};if(s)return Promise.all(l.map(async e=>{let[t,r]=e,o=await r();u(t,()=>o)}));l.forEach(e=>{let[t,r]=e;u(t,r)})}},96310(e,t,r){r(37363);let o=r(22069),n=r(36897),a=r(55216),i=r(50630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:r,webpackRequire:s,chunkMapping:l,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{let t=s.R;t||(t=[]);let o=u[e],a=c[e]||[];if(t.indexOf(o)>=0)return;if(t.push(o),o.p)return r.push(o.p);let l=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
-while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,m,r):l();var m=(e,r,n)=>d(r.get,o[1],t,0,p,n),p=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let h=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(h,o[2],0,0,p,1):d(s,o[2],0,0,f,1)})}},55216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:m}=c;if(f&&m){for(let[e,t]of Object.entries(m))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},56491(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,m,p,h=r(66927),g=r.n(h);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={},b="pimcore_studio_ui_bundle",_="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},h=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},S=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},T=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},M={},N=[],O={},A=null==(m=r.initializeExposesData)?void 0:m.shareScope;for(let e in g())r.federation[e]=g()[e];h(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(T))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),h(r.federation,"initOptions",()=>({})),h(r.federation.initOptions,"name",()=>b),h(r.federation.initOptions,"shareStrategy",()=>_),h(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),h(r.federation,"bundlerRuntimeOptions",()=>({})),h(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),h(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),h(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),h(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),h(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:M,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:N,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(p=r.consumesLoadingData)?void 0:p.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:M,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>{var e=__webpack_require__.O(void 0,["7366"],()=>__webpack_require__(70115));return __webpack_require__.O(e)},(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1609|3367|5314|6375|9872)$/.test(e)},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+e+"."+({1668:"120c2fdd",2237:"e23d4ce3",2272:"b29c0e6c",2287:"6a200c82",243:"098f10af",2463:"da2cfb76",254:"7abe0c11",2775:"0d98465a",3209:"6722a080",3379:"f0e413e5",4083:"82e017ef",45:"e217286d",4693:"552164ec",489:"693d11de",5123:"9f567207",5561:"b76a78d2",582:"4f5fd381",5976:"be3da2cf",6272:"f2f56a80",6464:"b6d25cb6",6550:"09a63ebf",6579:"cda7f334",6619:"93b9f2c4",6815:"80ba0d22",706:"01d44a78",7463:"e177b088",749:"7c748f48",7597:"42dde6f3",7680:"2cb113f6",7789:"50873df9",8222:"acb59083",8473:"25a53f08",854:"95bad760",8658:"55f9d53e",9007:"f28d0779",9204:"8f0c9c3a",9765:"07ec2c12",9880:"64c12943"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{var e=[];__webpack_require__.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a=n)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](r[l]))?r.splice(l--,1):(s=!1,n{__webpack_require__.p="/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@ant-design/colors",version:"7.2.1",factory:()=>()=>__webpack_require__(81463),eager:1,singleton:1,requiredVersion:"^7.2.1"},{name:"@codemirror/lang-css",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168)),eager:0,requiredVersion:"^6.3.0"},{name:"@codemirror/lang-html",version:"6.4.11",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618)),eager:0,requiredVersion:"^6.4.9"},{name:"@codemirror/lang-javascript",version:"6.2.5",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442)),eager:0,requiredVersion:"^6.2.2"},{name:"@codemirror/lang-json",version:"6.0.2",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("8222")]).then(()=>()=>__webpack_require__(88477)),eager:0,requiredVersion:"^6.0.1"},{name:"@codemirror/lang-markdown",version:"6.5.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("6550"),__webpack_require__.e("1609")]).then(()=>()=>__webpack_require__(32053)),eager:0,requiredVersion:"^6.3.1"},{name:"@codemirror/lang-sql",version:"6.10.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075)),eager:0,requiredVersion:"^6.8.0"},{name:"@codemirror/lang-xml",version:"6.1.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973)),eager:0,requiredVersion:"^6.1.0"},{name:"@codemirror/lang-yaml",version:"6.1.3",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027)),eager:0,requiredVersion:"^6.1.2"},{name:"@dnd-kit/core",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("7789"),__webpack_require__.e("6464")]).then(()=>()=>__webpack_require__(98668)),eager:0,requiredVersion:"^6.1.0"},{name:"@dnd-kit/modifiers",version:"7.0.0",factory:()=>__webpack_require__.e("9204").then(()=>()=>__webpack_require__(18831)),eager:0,requiredVersion:"^7.0.0"},{name:"@dnd-kit/sortable",version:"8.0.0",factory:()=>Promise.all([__webpack_require__.e("9880"),__webpack_require__.e("6375"),__webpack_require__.e("4083")]).then(()=>()=>__webpack_require__(43627)),eager:0,requiredVersion:"^8.0.0"},{name:"@reduxjs/toolkit",version:"2.11.2",factory:()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("7597"),__webpack_require__.e("9872")]).then(()=>()=>__webpack_require__(62348)),eager:0,requiredVersion:"^2.3.0"},{name:"@tanstack/react-table",version:"8.21.3",factory:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755)),eager:0,requiredVersion:"^8.20.5"},{name:"@tanstack/react-virtual",version:"3.13.23",factory:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166)),eager:0,requiredVersion:"^3.13.12"},{name:"antd-style",version:"3.7.1",factory:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314"),__webpack_require__.e("8473")]).then(()=>()=>__webpack_require__(6286)),eager:0,requiredVersion:"3.7.x"},{name:"antd",version:"5.22.7",factory:()=>()=>__webpack_require__(64530),eager:1,singleton:1,requiredVersion:"5.22.x"},{name:"classnames",version:"2.5.1",factory:()=>()=>__webpack_require__(46942),eager:1,singleton:1,requiredVersion:"^2.5.1"},{name:"dompurify",version:"3.3.3",factory:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418)),eager:0,requiredVersion:"^3.2.1"},{name:"flexlayout-react",version:"0.7.15",factory:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310)),eager:0,requiredVersion:"^0.7.15"},{name:"framer-motion",version:"11.18.2",factory:()=>Promise.all([__webpack_require__.e("2463"),__webpack_require__.e("854")]).then(()=>()=>__webpack_require__(12306)),eager:0,requiredVersion:"^11.11.17"},{name:"i18next",version:"23.16.8",factory:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635)),eager:0,requiredVersion:"^23.16.8"},{name:"immer",version:"11.1.4",factory:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064)),eager:0,requiredVersion:"^10.1.1"},{name:"js-yaml",version:"4.1.1",factory:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382)),eager:0,requiredVersion:"^4.1.1"},{name:"leaflet-draw",version:"1.0.4",factory:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269)),eager:0,requiredVersion:"^1.0.4"},{name:"leaflet",version:"1.9.4",factory:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481)),eager:0,requiredVersion:"^1.9.4"},{name:"lodash",version:"4.17.23",factory:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543)),eager:0,requiredVersion:"^4.17.21"},{name:"react-compiler-runtime",version:"19.1.0-rc.3",factory:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728)),eager:0,requiredVersion:"^19.1.0-rc.2"},{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(40961),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"react-draggable",version:"4.5.0",factory:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794)),eager:0,requiredVersion:"^4.4.6"},{name:"react-i18next",version:"14.1.3",factory:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054)),eager:0,requiredVersion:"^14.1.3"},{name:"react-redux",version:"9.2.0",factory:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468)),eager:0,requiredVersion:"^9.1.2"},{name:"react-router-dom",version:"6.30.3",factory:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204)),eager:0,requiredVersion:"^6.28.0"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(96540),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"reflect-metadata",version:"0.2.2",factory:()=>()=>__webpack_require__(38630),eager:1,singleton:1,requiredVersion:"*"},{name:"uuid",version:"10.0.0",factory:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513)),eager:0,requiredVersion:"^10.0.0"}]},uniqueName:"pimcore_studio_ui_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{5314:["86569"],8410:["8651","25765","47867","16124"],3367:["23080","3319"],1609:["11264"],9872:["91251"],6375:["41834"]},moduleIdToConsumeDataMapping:{16124:{shareScope:"default",shareKey:"@ant-design/colors",import:"@ant-design/colors",requiredVersion:"^7.2.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(81463)},8651:{shareScope:"default",shareKey:"classnames",import:"classnames",requiredVersion:"^2.5.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(46942)},25765:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(40961)},23080:{shareScope:"default",shareKey:"@codemirror/lang-css",import:"@codemirror/lang-css",requiredVersion:"^6.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168))},3319:{shareScope:"default",shareKey:"@codemirror/lang-javascript",import:"@codemirror/lang-javascript",requiredVersion:"^6.2.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442))},11264:{shareScope:"default",shareKey:"@codemirror/lang-html",import:"@codemirror/lang-html",requiredVersion:"^6.4.9",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618))},41834:{shareScope:"default",shareKey:"@dnd-kit/core",import:"@dnd-kit/core",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7789").then(()=>()=>__webpack_require__(98668))},86569:{shareScope:"default",shareKey:"antd",import:"antd",requiredVersion:"5.22.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(64530)},47867:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(96540)},91251:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:"^10.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064))}},initialConsumes:["8651","25765","47867","16124"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={8410:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(1609|3367|5314|6375|9872)$/.test(t))e[t]=0;else{var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}},__webpack_require__.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);if(s)var u=s(__webpack_require__)}for(t&&t(r);l{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(56491)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
+while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,m,r):l();var m=(e,r,n)=>d(r.get,o[1],t,0,p,n),p=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let h=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(h,o[2],0,0,p,1):d(s,o[2],0,0,f,1)})}},55216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:m}=c;if(f&&m){for(let[e,t]of Object.entries(m))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},56491(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,m,p,h=r(66927),g=r.n(h);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={},b="pimcore_studio_ui_bundle",_="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},h=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},S=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},T=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},M={},N=[],O={},A=null==(m=r.initializeExposesData)?void 0:m.shareScope;for(let e in g())r.federation[e]=g()[e];h(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(T))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),h(r.federation,"initOptions",()=>({})),h(r.federation.initOptions,"name",()=>b),h(r.federation.initOptions,"shareStrategy",()=>_),h(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),h(r.federation,"bundlerRuntimeOptions",()=>({})),h(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),h(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),h(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),h(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),h(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:M,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:N,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(p=r.consumesLoadingData)?void 0:p.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:M,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>{var e=__webpack_require__.O(void 0,["7366"],()=>__webpack_require__(70115));return __webpack_require__.O(e)},(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1609|3367|5314|6375|9872)$/.test(e)},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+e+"."+({1668:"120c2fdd",2237:"e23d4ce3",2272:"b29c0e6c",2287:"6a200c82",243:"098f10af",2463:"da2cfb76",254:"7abe0c11",2775:"0d98465a",3209:"6722a080",3379:"f0e413e5",4083:"82e017ef",45:"e217286d",4693:"552164ec",489:"693d11de",5123:"9f567207",5561:"b76a78d2",582:"4f5fd381",5976:"be3da2cf",6272:"f2f56a80",6464:"b6d25cb6",6550:"09a63ebf",6579:"cda7f334",6619:"93b9f2c4",6815:"80ba0d22",706:"01d44a78",7463:"e177b088",749:"7c748f48",7597:"42dde6f3",7680:"2cb113f6",7789:"50873df9",8222:"acb59083",8473:"25a53f08",854:"95bad760",8658:"55f9d53e",9007:"f28d0779",9204:"8f0c9c3a",9765:"07ec2c12",9880:"64c12943"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{var e=[];__webpack_require__.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a=n)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](r[l]))?r.splice(l--,1):(s=!1,n{__webpack_require__.p="/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@ant-design/colors",version:"7.2.1",factory:()=>()=>__webpack_require__(81463),eager:1,singleton:1,requiredVersion:"^7.2.1"},{name:"@codemirror/lang-css",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168)),eager:0,requiredVersion:"^6.3.0"},{name:"@codemirror/lang-html",version:"6.4.11",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618)),eager:0,requiredVersion:"^6.4.9"},{name:"@codemirror/lang-javascript",version:"6.2.5",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442)),eager:0,requiredVersion:"^6.2.2"},{name:"@codemirror/lang-json",version:"6.0.2",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("8222")]).then(()=>()=>__webpack_require__(88477)),eager:0,requiredVersion:"^6.0.1"},{name:"@codemirror/lang-markdown",version:"6.5.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("6550"),__webpack_require__.e("1609")]).then(()=>()=>__webpack_require__(32053)),eager:0,requiredVersion:"^6.3.1"},{name:"@codemirror/lang-sql",version:"6.10.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075)),eager:0,requiredVersion:"^6.8.0"},{name:"@codemirror/lang-xml",version:"6.1.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973)),eager:0,requiredVersion:"^6.1.0"},{name:"@codemirror/lang-yaml",version:"6.1.3",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027)),eager:0,requiredVersion:"^6.1.2"},{name:"@dnd-kit/core",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("7789"),__webpack_require__.e("6464")]).then(()=>()=>__webpack_require__(98668)),eager:0,requiredVersion:"^6.1.0"},{name:"@dnd-kit/modifiers",version:"7.0.0",factory:()=>__webpack_require__.e("9204").then(()=>()=>__webpack_require__(18831)),eager:0,requiredVersion:"^7.0.0"},{name:"@dnd-kit/sortable",version:"8.0.0",factory:()=>Promise.all([__webpack_require__.e("9880"),__webpack_require__.e("6375"),__webpack_require__.e("4083")]).then(()=>()=>__webpack_require__(43627)),eager:0,requiredVersion:"^8.0.0"},{name:"@reduxjs/toolkit",version:"2.11.2",factory:()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("7597"),__webpack_require__.e("9872")]).then(()=>()=>__webpack_require__(62348)),eager:0,requiredVersion:"^2.3.0"},{name:"@tanstack/react-table",version:"8.21.3",factory:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755)),eager:0,requiredVersion:"^8.20.5"},{name:"@tanstack/react-virtual",version:"3.13.23",factory:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166)),eager:0,requiredVersion:"^3.13.12"},{name:"antd-style",version:"3.7.1",factory:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314"),__webpack_require__.e("8473")]).then(()=>()=>__webpack_require__(6286)),eager:0,requiredVersion:"3.7.x"},{name:"antd",version:"5.22.7",factory:()=>()=>__webpack_require__(64530),eager:1,singleton:1,requiredVersion:"5.22.x"},{name:"classnames",version:"2.5.1",factory:()=>()=>__webpack_require__(46942),eager:1,singleton:1,requiredVersion:"^2.5.1"},{name:"dompurify",version:"3.3.3",factory:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418)),eager:0,requiredVersion:"^3.2.1"},{name:"flexlayout-react",version:"0.7.15",factory:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310)),eager:0,requiredVersion:"^0.7.15"},{name:"framer-motion",version:"11.18.2",factory:()=>Promise.all([__webpack_require__.e("2463"),__webpack_require__.e("854")]).then(()=>()=>__webpack_require__(12306)),eager:0,requiredVersion:"^11.11.17"},{name:"i18next",version:"23.16.8",factory:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635)),eager:0,requiredVersion:"^23.16.8"},{name:"immer",version:"11.1.4",factory:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064)),eager:0,requiredVersion:"^10.1.1"},{name:"js-yaml",version:"4.1.1",factory:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382)),eager:0,requiredVersion:"^4.1.1"},{name:"leaflet-draw",version:"1.0.4",factory:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269)),eager:0,requiredVersion:"^1.0.4"},{name:"leaflet",version:"1.9.4",factory:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481)),eager:0,requiredVersion:"^1.9.4"},{name:"lodash",version:"4.17.23",factory:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543)),eager:0,requiredVersion:"^4.17.21"},{name:"react-compiler-runtime",version:"19.1.0-rc.3",factory:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728)),eager:0,requiredVersion:"^19.1.0-rc.2"},{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(40961),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"react-draggable",version:"4.5.0",factory:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794)),eager:0,requiredVersion:"^4.4.6"},{name:"react-i18next",version:"14.1.3",factory:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054)),eager:0,requiredVersion:"^14.1.3"},{name:"react-redux",version:"9.2.0",factory:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468)),eager:0,requiredVersion:"^9.1.2"},{name:"react-router-dom",version:"6.30.3",factory:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204)),eager:0,requiredVersion:"^6.28.0"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(96540),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"reflect-metadata",version:"0.2.2",factory:()=>()=>__webpack_require__(38630),eager:1,singleton:1,requiredVersion:"*"},{name:"uuid",version:"10.0.0",factory:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513)),eager:0,requiredVersion:"^10.0.0"}]},uniqueName:"pimcore_studio_ui_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{5314:["86569"],8410:["8651","25765","47867","16124"],3367:["23080","3319"],1609:["11264"],9872:["91251"],6375:["41834"]},moduleIdToConsumeDataMapping:{16124:{shareScope:"default",shareKey:"@ant-design/colors",import:"@ant-design/colors",requiredVersion:"^7.2.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(81463)},8651:{shareScope:"default",shareKey:"classnames",import:"classnames",requiredVersion:"^2.5.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(46942)},25765:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(40961)},23080:{shareScope:"default",shareKey:"@codemirror/lang-css",import:"@codemirror/lang-css",requiredVersion:"^6.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168))},3319:{shareScope:"default",shareKey:"@codemirror/lang-javascript",import:"@codemirror/lang-javascript",requiredVersion:"^6.2.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442))},11264:{shareScope:"default",shareKey:"@codemirror/lang-html",import:"@codemirror/lang-html",requiredVersion:"^6.4.9",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618))},41834:{shareScope:"default",shareKey:"@dnd-kit/core",import:"@dnd-kit/core",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7789").then(()=>()=>__webpack_require__(98668))},86569:{shareScope:"default",shareKey:"antd",import:"antd",requiredVersion:"5.22.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(64530)},47867:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(96540)},91251:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:"^10.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064))}},initialConsumes:["8651","25765","47867","16124"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={8410:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(1609|3367|5314|6375|9872)$/.test(t))e[t]=0;else{var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}},__webpack_require__.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);if(s)var u=s(__webpack_require__)}for(t&&t(r);l{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(56491)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/index.44e58d4c.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/index.81b415d3.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js
similarity index 97%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js
index 38604539d4..816e9e592b 100644
--- a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js
+++ b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js
@@ -452,4 +452,4 @@ var pimcore_studio_ui_bundle;(()=>{var __webpack_modules__={81463(e,t,n){"use st
${(0,l.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,n){let o=await this.getEntry();if(this.inited)return o;if(this.initPromise)return await this.initPromise,o;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:l,initScope:u}=c(this.remoteInfo,this.host.shareScopeMap,n),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:l,remoteEntryInitOptions:a,initScope:u,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==o?void 0:o.init)&&r.error(s.RUNTIME_002,s.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await o.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:o}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return o}async get(e,t,n,a){let i,{loadFactory:l=!0}=n||{loadFactory:!0},s=await this.init(e,a);this.lib=s,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}))||(i=await s.get(t)),r.assert(i,`${o.getFMId(this.remoteInfo)} remote don't export ${t}.`);let c=o.processModuleAlias(this.remoteInfo.name,t),u=this.wraperFactory(i,c);return l?await u():u}wraperFactory(e,t){function n(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let r=await e();return n(r,t),r}:()=>{let r=e();return n(r,t),r}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},64710(e,t,n){let r=n(9350),o=n(44391),a=n(8369);n(21132);let i=n(19599),l=n(14260),s=n(50630);function c(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function u(e,t,n,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},l=arguments.length>5?arguments[5]:void 0,{value:d}=o.getInfoWithoutType(e,r.getFMId(t)),f=l||d;if(f&&!(0,s.isManifestProvider)(f)&&(n(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let r=c(t),o=f.remotesInfo[t];u(e,{name:r.name,version:o.matchedVersion},n,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,n,l,c){let f=[],p=[],m=[],g=new Set,h=new Set,{options:v}=e,{preloadConfig:b}=t,{depsRemote:y}=b;if(u(l,n,(t,n,a)=>{var l;let c;if(a)c=b;else if(Array.isArray(y)){let e=y.find(e=>e.nameOrAlias===n.name||e.nameOrAlias===n.alias);if(!e)return;c=i.defaultPreloadArgs(e)}else{if(!0!==y)return;c=b}let u=(0,s.getResourceUrl)(t,r.getRemoteEntryInfoFromSnapshot(t).url);u&&m.push({name:n.name,moduleInfo:{name:n.name,entry:u,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:n.name,shareScope:"",version:"version"in t?t.version:void 0},url:u});let d="modules"in t?t.modules:[],g=i.normalizePreloadExposes(c.exposes);function h(e){let n=e.map(e=>(0,s.getResourceUrl)(t,e));return c.filter?n.filter(c.filter):n}if(g.length&&"modules"in t&&(d=null==t||null==(l=t.modules)?void 0:l.reduce((e,t)=>((null==g?void 0:g.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let r=d.length;for(let a=0;a0){let t=(t,n)=>{let{shared:r}=a.getRegisteredShare(e.shareScopeMap,n.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};r&&"function"==typeof r.lib&&(n.assets.js.sync.forEach(e=>{g.add(e)}),n.assets.css.sync.forEach(e=>{h.add(e)}))};c.shared.forEach(e=>{var n;let o=null==(n=v.shared)?void 0:n[e.sharedName];if(!o)return;let a=e.version?o.find(t=>t.version===e.version):o;a&&r.arrayOptions(a).forEach(n=>{t(n,e)})})}let x=p.filter(e=>!g.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!h.has(e)&&!d("link",e)),jsAssetsWithoutEntry:x,entryAssets:m.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:n,remoteInfo:o,remote:a,globalSnapshot:i,remoteSnapshot:c}=e;return s.isBrowserEnvValue?r.isRemoteInfoWithEntry(a)&&r.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:o.name,entry:a.entry,type:o.type||"global",entryGlobalName:"",shareScope:""}}]}:(l.assignRemoteInfo(o,c),f(t,n,o,i,c)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},29152(e,t,n){let r=n(48628),o=n(9350),a=n(44391),i=n(48393);n(21132);let l=n(62964),s=n(92299),c=n(60317);n(94317);let u=n(50630),d=n(84363);function f(e,t){let n=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),r=n&&"remotesInfo"in n&&n.remotesInfo&&a.getInfoWithoutType(n.remotesInfo,e.name).value;return r&&r.matchedVersion?{hostGlobalSnapshot:n,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:r.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,n,{moduleInfo:l,id:s,expose:c}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:l});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&"remotesInfo"in p&&!a.getInfoWithoutType(p.remotesInfo,l.name).value&&("version"in l||"entry"in l)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[l.name]:{matchedVersion:"version"in l?l.version:l.entry}});let{hostGlobalSnapshot:m,remoteSnapshot:g,globalSnapshot:h}=this.getGlobalRemoteInfo(l),{remoteSnapshot:v,globalSnapshot:b}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:l,hostGlobalSnapshot:m,remoteSnapshot:g,globalSnapshot:h});if(v)if((0,u.isManifestProvider)(v)){let e=u.isBrowserEnvValue?v.remoteEntry:v.ssrRemoteEntry||v.remoteEntry||"",r=await this.getManifestJson(e,l,{}),o=a.setGlobalSnapshotInfoByModuleInfo({...l,entry:e},r);t=r,n=o}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:l,remoteSnapshot:v,from:"global"});t=e,n=b}else if(o.isRemoteInfoWithEntry(l)){let e=await this.getManifestJson(l.entry,l,{}),r=a.setGlobalSnapshotInfoByModuleInfo(l,e),{remoteSnapshot:o}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:l,remoteSnapshot:e,from:"global"});t=o,n=r}else r.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:l.name,remoteVersion:l.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(b)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:s,host:this.HostInstance,options:f,moduleInfo:l,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:n}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,n){let o=async()=>{let n=this.manifestCache.get(e);if(n)return n;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),n=await t.json()}catch(o){(n=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],r.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${o}`,i.optionsToMFContext(this.HostInstance.options)))}return r.assert(n.metaData&&n.exposes&&n.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!n.metaData&&"metaData",!n.exposes&&"exposes",!n.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,n),n},a=async()=>{let n=await o(),r=(0,u.generateSnapshotFromManifest)(n,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:n,remoteSnapshot:r,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new c.PluginSystem({beforeLoadRemoteSnapshot:new l.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new s.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new s.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new s.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},14260(e,t,n){let r=n(48628),o=n(9350);n(21132);let a=n(19599),i=n(50630),l=n(84363);function s(e,t){let n=o.getRemoteEntryInfoFromSnapshot(t);n.url||r.error(l.RUNTIME_011,l.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,n.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=n.type,e.entryGlobalName=n.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function c(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:n,expose:r,origin:i,remoteInfo:l,id:c}=e;if(!o.isRemoteInfoWithEntry(t)||!o.isPureRemoteEntry(t)){let{remoteSnapshot:o,globalSnapshot:u}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:c});s(l,o);let d={remote:t,preloadConfig:{nameOrAlias:n,exposes:[r],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:l,remote:t,remoteSnapshot:o,globalSnapshot:u});return f&&a.preloadAssets(l,i,f,!1),{...e,remoteSnapshot:o}}return e}}}t.assignRemoteInfo=s,t.snapshotPlugin=c},71777(e,t,n){let r=n(48628),o=n(44391),a=n(92926),i=n(8369),l=n(6079),s=n(556),c=n(48393);n(21132);let u=n(19599),d=n(12003),f=n(26227),p=n(62964),m=n(82593),g=n(92299),h=n(60317);n(94317);let v=n(29152),b=n(50630),y=n(84363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:n,expose:r}=t,{name:o,alias:a}=n;if(this.idToRemoteMap[e]={name:n.name,expose:r},a&&e.startsWith(o)){let t=e.replace(o,a);this.idToRemoteMap[t]={name:n.name,expose:r};return}if(a&&e.startsWith(a)){let t=e.replace(a,o);this.idToRemoteMap[t]={name:n.name,expose:r}}}async loadRemote(e,t){let{host:n}=this;try{let{loadFactory:r=!0}=t||{loadFactory:!0},{module:o,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:l,remote:s,expose:c,id:u,remoteSnapshot:d}=i,f=await o.get(u,c,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:l,expose:c,exposeModule:r?f:void 0,exposeModuleFactory:r?void 0:f,remote:s,options:a,moduleInstance:o,origin:n});if(this.setIdToRemoteMap(e,i),"function"==typeof p)return p;return f}catch(a){let{from:r="runtime"}=t||{from:"runtime"},o=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:r,lifecycle:"onLoad",origin:n});if(!o)throw a;return o}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let n=u.formatPreloadArgs(t.options.remotes,e);await Promise.all(n.map(async e=>{let{remote:n}=e,r=s.getRemoteInfo(n),{globalSnapshot:o,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:n}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:n,remoteInfo:r,globalSnapshot:o,remoteSnapshot:a});i&&u.preloadAssets(r,t,i)}))}registerRemotes(e,t){let{host:n}=this;e.forEach(e=>{this.registerRemote(e,n.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:n}=this,{id:o}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:o,options:n.options,origin:n})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:o,options:n.options,origin:n,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=l.matchRemoteWithNameAndExpose(n.options.remotes,a);i||r.error(y.RUNTIME_004,y.runtimeDescMap,{hostName:n.options.name,requestId:a},void 0,c.optionsToMFContext(n.options));let{remote:u}=i,f=s.getRemoteInfo(u),p=await n.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:n.options,origin:n,remoteInfo:f}),{remote:m,expose:g}=p;r.assert(m&&g,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let h=n.moduleCache.get(m.name),v={host:n,remoteInfo:f};return h||(h=new d.Module(v),n.moduleCache.set(m.name,h)),{module:h,moduleOptions:v,remoteMatchInfo:p}}registerRemote(e,t,n){let{host:o}=this,i=()=>{if(e.alias){let n=t.find(t=>{var n;return e.alias&&(t.name.startsWith(e.alias)||(null==(n=t.alias)?void 0:n.startsWith(e.alias)))});r.assert(!n,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${n&&n.name} name or alias`)}"entry"in e&&b.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:o});let l=t.find(t=>t.name===e.name);if(l){let r=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==n?void 0:n.force)&&(this.removeRemote(l),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o}),(0,b.warn)(r.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o})}removeRemote(e){try{let{host:n}=this,{name:r}=e,a=n.options.remotes.findIndex(e=>e.name===r);-1!==a&&n.options.remotes.splice(a,1);let l=n.moduleCache.get(e.name);if(l){var t;let r=l.remoteInfo,a=r.entryGlobalName;o.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(o.CurrentGlobal,a))?void 0:t.configurable)?delete o.CurrentGlobal[a]:o.CurrentGlobal[a]=void 0);let c=s.getRemoteEntryUniqueKey(l.remoteInfo);o.globalLoading[c]&&delete o.globalLoading[c],n.snapshotHandler.manifestCache.delete(r.entry);let u=r.buildVersion?(0,b.composeKeyWithSeparator)(r.name,r.buildVersion):r.name,d=o.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>r.buildVersion?e.options.id===u:e.name===u);if(-1!==d){let e=o.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];u=e.options.id||u;let t=i.getGlobalShareScope(),n=!0,a=[];Object.keys(t).forEach(e=>{let o=t[e];o&&Object.keys(o).forEach(t=>{let i=o[t];i&&Object.keys(i).forEach(o=>{let l=i[o];l&&Object.keys(l).forEach(i=>{let s=l[i];s&&"object"==typeof s&&s.from===r.name&&(s.loaded||s.loading?(s.useIn=s.useIn.filter(e=>e!==r.name),s.useIn.length?n=!1:a.push([e,t,o,i])):a.push([e,t,o,i]))})})})}),n&&(e.shareScopeMap={},delete t[u]),a.forEach(e=>{var n,r,o;let[a,i,l,s]=e;null==(o=t[a])||null==(r=o[i])||null==(n=r[l])||delete n[s]}),o.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=v.getGlobalRemoteInfo(e,n);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&o.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],o.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete o.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}n.moduleCache.delete(e.name)}}catch(e){r.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new h.PluginSystem({beforeRegisterRemote:new m.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new m.SyncWaterfallHook("registerRemote"),beforeRequest:new g.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},17300(e,t,n){let r=n(48628),o=n(92926),a=n(8369),i=n(48393);n(21132);let l=n(62964),s=n(82593),c=n(92299),u=n(60317);n(94317);let d=n(84363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:n,allShareInfos:r}=a.formatShareConfigs(e,t);return Object.keys(n).forEach(e=>{n[e].forEach(n=>{n.scope.forEach(r=>{var o;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:n}),(null==(o=this.shareScopeMap[r])?void 0:o[e])||this.setShared({pkgName:e,lib:n.lib,get:n.get,loaded:n.loaded||!!n.lib,shared:n,from:t.name})})})}),{newShareInfos:n,allShareInfos:r}}async loadShare(e,t){let{host:n}=this,o=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==o?void 0:o.scope)&&await Promise.all(o.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:o.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:o,shared:n.options.shared,origin:n});r.assert(i,`Cannot find shared "${e}" in host "${n.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:l,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(l){let t=a.directShare(l,s);if(t.lib)return a.addUseIn(t,n.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,n.options.name),e}{let r=(async()=>{let e=await t.get();return a.addUseIn(t,n.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:l,from:n.options.name,lib:null,loading:r,treeShaking:s?t:void 0}),r}}{if(null==t?void 0:t.customShareInfo)return!1;let r=a.shouldUseTreeShaking(i.treeShaking),o=a.directShare(i,r),l=(async()=>{let t=await o.get();o.lib=t,o.loaded=!0,a.addUseIn(o,n.options.name);let{shared:r,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(r){let e=a.directShare(r,l);e.lib=t,e.loaded=!0,r.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:n.options.name,lib:null,loading:l,treeShaking:r?o:void 0}),l}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:n}=this,r=null==t?void 0:t.from,i=null==t?void 0:t.strategy,l=null==t?void 0:t.initScope,s=[];if("build"!==r){let{initTokens:t}=this;l||(l=[]);let n=t[e];if(n||(n=t[e]={from:this.host.name}),l.indexOf(n)>=0)return s;l.push(n)}let c=this.shareScopeMap,u=n.options.name;c[e]||(c[e]={});let d=c[e],f=(e,t)=>{var n;let{version:r,eager:o}=t;d[e]=d[e]||{};let i=d[e],l=i[r]&&a.directShare(i[r]),s=!!(l&&("eager"in l&&l.eager||"shareConfig"in l&&(null==(n=l.shareConfig)?void 0:n.eager)));(!l||"loaded-first"!==l.strategy&&!l.loaded&&(!o!=!s?o:u>i[r].from))&&(i[r]=t)},p=async e=>{let t,{module:r}=await n.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await r.getEntry()}catch(r){if(!(t=await n.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:"runtime",lifecycle:"beforeLoadShare",origin:n})))return}finally{(null==t?void 0:t.init)&&!r.initing&&(r.remoteEntryExports=t,await r.init(void 0,void 0,l))}};return Object.keys(n.options.shared).forEach(t=>{n.options.shared[t].forEach(n=>{n.scope.includes(e)&&f(t,n)})}),("version-first"===n.options.shareStrategy||"version-first"===i)&&n.options.remotes.forEach(t=>{t.shareScope===e&&s.push(p(t.name))}),s}loadShareSync(e,t){let{host:n}=this,o=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==o?void 0:o.scope)&&o.scope.forEach(e=>{this.initializeSharing(e,{strategy:o.strategy})});let{shared:l,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(l){if("function"==typeof l.lib)return a.addUseIn(l,n.options.name),l.loaded||(l.loaded=!0,l.from===n.options.name&&(o.loaded=!0)),l.lib;if("function"==typeof l.get){let t=l.get();if(!(t instanceof Promise))return a.addUseIn(l,n.options.name),this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:t,shared:l}),t}}if(o.lib)return o.loaded||(o.loaded=!0),o.lib;if(o.get){let a=o.get();return a instanceof Promise&&r.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(n.options)),o.lib=a,this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:o.lib,shared:o}),o.lib}r.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(n.options))}initShareScopeMap(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:r}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:r.options,origin:r,scopeName:e,hostShareScopeMap:n.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:n,from:r,lib:o,loading:a,loaded:i,get:l,treeShaking:s}=e,{version:c,scope:u="default",...d}=n,f=Array.isArray(u)?u:[u],p=e=>{let t=(e,t,n)=>{n&&!e[t]&&(e[t]=n)},n=s?e.treeShaking:e;t(n,"loaded",i),t(n,"loading",a),t(n,"get",l)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][c]||(this.shareScopeMap[e][t][c]={version:c,scope:[e],...d,lib:o});let n=this.shareScopeMap[e][t][c];p(n),r&&n.from!==r&&(n.from=r)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),n=e.id||e.name;n&&!t[n]&&(t[n]=this.shareScopeMap)}constructor(e){this.hooks=new u.PluginSystem({beforeRegisterShare:new s.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new c.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new c.AsyncWaterfallHook("beforeLoadShare"),loadShare:new l.AsyncHook,resolveShare:new s.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new s.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},87703(e,t,n){var r=n(31748).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return r}})},48393(e,t){function n(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,r,o,a,i,l;let s={};for(let[t,n]of Object.entries(e.shared)){let e=n[0];e&&(s[t]={version:e.version,singleton:null==(o=e.shareConfig)?void 0:o.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(l=e.shareConfig)?void 0:l.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(r=e.remotes)?void 0:r.map(n))??[],shared:s}}}},17829(e,t,n){n(50630),t.getBuilderId=function(){return"pimcore_studio_ui_bundle:0.0.1"}},62964(e,t,n){let r=n(26227);t.AsyncHook=class extends r.SyncHook{emit(){let e;for(var t=arguments.length,n=Array(t),r=0;r0){let t=0,r=e=>!1!==e&&(t0){let n=0,o=t=>(r.warn(t),this.onerror(t),e),a=r=>{if(i.checkReturnData(e,r)){if(e=r,n{let n=e[t];n&&this.lifecycle[t].on(n)})}}removePlugin(e){r.assert(e,"A name is required.");let t=this.registerPlugins[e];r.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},26227(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function n(){for(var r=arguments.length,o=Array(r),a=0;a0&&this.listeners.forEach(t=>{e=t(...n)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},82593(e,t,n){let r=n(48628),o=n(9350),a=n(26227);function i(e,t){if(!o.isObject(t))return!1;if(e!==t){for(let n in e)if(!(n in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(o.isObject(e)||r.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let n=t(e);if(i(e,n))e=n;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){r.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=r.error,this.type=e}},t.checkReturnData=i},21132(e,t,n){n(48628),n(9350),n(17829),n(6079),n(28457),n(556),n(48393),n(50630)},556(e,t,n){let r=n(48628),o=n(44391),a=n(92926),i=n(50630),l=n(84363),s=".then(callbacks[0]).catch(callbacks[1])";async function c(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,o)=>{try{n?e(n):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${s}`)([e,o]):import(t).then(e).catch(o)}catch(e){r.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function u(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,o)=>{try{n?e(n):Function("callbacks",`System.import("${t}")${s}`)([e,o])}catch(e){r.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,n){let{remoteEntryKey:a,entryExports:i}=o.getRemoteEntryExports(e,t);return i||r.error(l.RUNTIME_001,l.runtimeDescMap,{remoteName:e,remoteEntryUrl:n,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:n,entry:a,loaderHook:s,getEntryUrl:c}=e,{entryExports:u}=o.getRemoteEntryExports(t,n);if(u)return u;let f=c?c(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let n=s.lifecycle.createScript.emit({url:e,attrs:t});if(n&&(n instanceof HTMLScriptElement||"script"in n||"timeout"in n))return n}}).then(()=>d(t,n,a),e=>{let n=e instanceof Error?e.message:String(e);r.error(l.RUNTIME_008,l.runtimeDescMap,{remoteName:t,resourceUrl:f},n)})}async function p(e){let{remoteInfo:t,remoteEntryExports:n,loaderHook:r,getEntryUrl:o}=e,{entry:a,entryGlobalName:i,name:l,type:s}=t;switch(s){case"esm":case"module":return c({entry:a,remoteEntryExports:n});case"system":return u({entry:a,remoteEntryExports:n});default:return f({entry:a,globalName:i,name:l,loaderHook:r,getEntryUrl:o})}}async function m(e){let{remoteInfo:t,loaderHook:n}=e,{entry:a,entryGlobalName:l,name:s,type:c}=t,{entryExports:u}=o.getRemoteEntryExports(s,l);return u||(0,i.loadScriptNode)(a,{attrs:{name:s,globalName:l,type:c},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.lifecycle.createScript.emit({url:e,attrs:t});if(r&&"url"in r)return r}}}).then(()=>d(s,l,a)).catch(e=>{r.error(`Failed to load Node.js entry for remote "${s}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function g(e){let{entry:t,name:n}=e;return(0,i.composeKeyWithSeparator)(n,t)}async function h(e){let{origin:t,remoteEntryExports:n,remoteInfo:r,getEntryUrl:a,_inErrorHandling:s=!1}=e,c=g(r);if(n)return n;if(!o.globalLoading[c]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,u=t.loaderHook;o.globalLoading[c]=e.emit({loaderHook:u,remoteInfo:r,remoteEntryExports:n}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:r,remoteEntryExports:n,loaderHook:u,getEntryUrl:a}):m({remoteInfo:r,loaderHook:u}))).catch(async e=>{let a=g(r),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(l.RUNTIME_008)&&!i&&!s){let e=e=>h({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:r,remoteEntryExports:n,globalLoading:o.globalLoading,uniqueKey:a});if(i)return i}throw e})}return o.globalLoading[c]}function v(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=h,t.getRemoteEntryUniqueKey=g,t.getRemoteInfo=v},48628(e,t,n){let r=n(50630),o=n(6619),a="[ Federation Runtime ]",i=(0,r.createLogger)(a);function l(e,t,n,r,i){if(void 0!==t)return(0,o.logAndReport)(e,t,n??{},e=>{throw Error(`${a}: ${e}`)},r,i);let l=e;if(l instanceof Error)throw l.message.startsWith(a)||(l.message=`${a}: ${l.message}`),l;throw Error(`${a}: ${l}`)}function s(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,n,r,o){e||(void 0!==n?l(t,n,r,void 0,o):l(t))},t.error=l,t.logger=i,t.warn=s},6079(e,t){function n(e,t){for(let n of e){let e=t.startsWith(n.name),r=t.replace(n.name,"");if(e){if(r.startsWith("/"))return{pkgNameOrAlias:n.name,expose:r=`.${r}`,remote:n};else if(""===r)return{pkgNameOrAlias:n.name,expose:".",remote:n}}let o=n.alias&&t.startsWith(n.alias),a=n.alias&&t.replace(n.alias,"");if(n.alias&&o){if(a&&a.startsWith("/"))return{pkgNameOrAlias:n.alias,expose:a=`.${a}`,remote:n};else if(""===a)return{pkgNameOrAlias:n.alias,expose:".",remote:n}}}}t.matchRemote=function(e,t){for(let n of e)if(t===n.name||n.alias&&t===n.alias)return n},t.matchRemoteWithNameAndExpose=n},28457(e,t,n){let r=n(44391);t.registerPlugins=function(e,t){let n=r.getGlobalHostPlugins(),o=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return n.length>0&&n.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{o.forEach(n=>{n.applyPlugin(e,t)})}),e}},19599(e,t,n){let r=n(48628),o=n(6079),a=n(556),i=n(50630);function l(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function s(e,t){return t.map(t=>{let n=o.matchRemote(e,t.nameOrAlias);return r.assert(n,`Unable to preload ${t.nameOrAlias} as it is not included in ${!n&&(0,i.safeToString)({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:l(t)}})}function c(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function u(e,t,n){let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:o,jsAssetsWithoutEntry:l,entryAssets:s}=n;if(t.options.inBrowser){if(s.forEach(n=>{let{moduleInfo:r}=n,o=t.moduleCache.get(e.name);o?a.getRemoteEntry({origin:t,remoteInfo:r,remoteEntryExports:o.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:r,remoteEntryExports:void 0})}),r){let e={rel:"preload",as:"style"};o.forEach(n=>{let{link:r,needAttach:o}=(0,i.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let e={rel:"stylesheet",type:"text/css"};o.forEach(n=>{let{link:r,needAttach:o}=(0,i.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r},needDeleteLink:!1});o&&document.head.appendChild(r)})}if(r){let e={rel:"preload",as:"script"};l.forEach(n=>{let{link:r,needAttach:o}=(0,i.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let n={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};l.forEach(e=>{let{script:r,needAttach:o}=(0,i.createScript)({url:e,cb:()=>{},attrs:n,createScriptHook:(e,n)=>{let r=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:n});if(r instanceof HTMLScriptElement)return r},needDeleteScript:!0});o&&document.head.appendChild(r)})}}}t.defaultPreloadArgs=l,t.formatPreloadArgs=s,t.normalizePreloadExposes=c,t.preloadAssets=u},60632(e,t){function n(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function r(e,t){let{preRelease:r}=e,{preRelease:o}=t;if(void 0===r&&o)return 1;if(r&&void 0===o)return -1;if(void 0===r&&void 0===o)return 0;for(let e=0,t=r.length;e<=t;e++){let t=r[e],a=o[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return n(t,a)}}return 0}function o(e,t){return n(e.major,t.major)||n(e.minor,t.minor)||n(e.patch,t.patch)||r(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>o(e,t);case">=":return a(e,t)||0>o(e,t);case"<":return o(e,t)>0;case"<=":return a(e,t)||o(e,t)>0;case void 0:return!0;default:return!1}}},59570(e,t){let n="[0-9A-Za-z-]+",r=`(?:\\+(${n}(?:\\.${n})*))`,o="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",l=`(?:${a}|${i})`,s=`(?:-?(${l}(?:\\.${l})*))`,c=`(?:${o}|${i})`,u=`(?:-(${c}(?:\\.${c})*))`,d=`${o}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${u})?${r}?)?)?`,p=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,m=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${s}?${r}?`,g="((?:<|>)?=?)",h=`(\\s*)${g}\\s*(${m}|${f})`,v="(?:~>?)",b=`(\\s*)${v}\\s+`,y="(?:\\^)",x=`(\\s*)${y}\\s+`,A="(<|>)?=?\\s*\\*",$=`^${y}${f}$`,w=`v?${`(${o})\\.(${o})\\.(${o})`}${u}?${r}?`,S=`^${v}${f}$`,E=`^${g}\\s*${f}$`,k=`^${g}\\s*(${w})$|^$`,C="^\\s*>=\\s*0.0.0\\s*$";t.caret=$,t.caretTrim=x,t.comparator=k,t.comparatorTrim=h,t.gte0=C,t.hyphenRange=p,t.star=A,t.tilde=S,t.tildeTrim=b,t.xRange=E},63957(e,t,n){let r=n(10078),o=n(83810),a=n(60632);function i(e){return r.pipe(o.parseCarets,o.parseTildes,o.parseXRanges,o.parseStar)(e)}function l(e){return r.pipe(o.parseHyphen,o.parseComparatorTrim,o.parseTildeTrim,o.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let n=r.extractComparator(e);if(!n)return!1;let[,s,,c,u,d,f]=n,p={operator:s,version:r.combineVersion(c,u,d,f),major:c,minor:u,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=l(t);if(!e.trim())return!0;let n=e.split(" ").map(e=>i(e)).join(" ");if(!n.trim())return!0;let s=n.split(/\s+/).map(e=>o.parseGTE0(e)).filter(Boolean);if(0===s.length)continue;let c=!0;for(let e of s){let t=r.extractComparator(e);if(!t){c=!1;break}let[,n,,o,i,l,s]=t;if(!a.compare({operator:n,version:r.combineVersion(o,i,l,s),major:o,minor:i,patch:l,preRelease:null==s?void 0:s.split(".")},p)){c=!1;break}}if(c)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},83810(e,t,n){let r=n(59570),o=n(10078);function a(e){return e.replace(o.parseRegex(r.hyphenRange),(e,t,n,r,a,i,l,s,c,u,d,f)=>(t=o.isXVersion(n)?"":o.isXVersion(r)?`>=${n}.0.0`:o.isXVersion(a)?`>=${n}.${r}.0`:`>=${t}`,s=o.isXVersion(c)?"":o.isXVersion(u)?`<${Number(c)+1}.0.0-0`:o.isXVersion(d)?`<${c}.${Number(u)+1}.0-0`:f?`<=${c}.${u}.${d}-${f}`:`<=${s}`,`${t} ${s}`.trim()))}function i(e){return e.replace(o.parseRegex(r.comparatorTrim),"$1$2$3")}function l(e){return e.replace(o.parseRegex(r.tildeTrim),"$1~")}function s(e){return e.trim().split(/\s+/).map(e=>e.replace(o.parseRegex(r.caret),(e,t,n,r,a)=>{if(o.isXVersion(t))return"";if(o.isXVersion(n))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(o.isXVersion(r))if("0"===t)return`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`;else return`>=${t}.${n}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${n}.${r}-${a} <${Number(t)+1}.0.0-0`;else if("0"===n)return`>=${t}.${n}.${r}-${a} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`;if("0"===t)if("0"===n)return`>=${t}.${n}.${r} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`;return`>=${t}.${n}.${r} <${Number(t)+1}.0.0-0`})).join(" ")}function c(e){return e.trim().split(/\s+/).map(e=>e.replace(o.parseRegex(r.tilde),(e,t,n,r,a)=>o.isXVersion(t)?"":o.isXVersion(n)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:o.isXVersion(r)?`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`:a?`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`:`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`)).join(" ")}function u(e){return e.split(/\s+/).map(e=>e.trim().replace(o.parseRegex(r.xRange),(e,t,n,r,a,i)=>{let l=o.isXVersion(n),s=l||o.isXVersion(r),c=s||o.isXVersion(a);if("="===t&&c&&(t=""),i="",l)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&c?(s&&(r=0),a=0,">"===t?(t=">=",s?(n=Number(n)+1,r=0):r=Number(r)+1,a=0):"<="===t&&(t="<",s?n=Number(n)+1:r=Number(r)+1),"<"===t&&(i="-0"),`${t+n}.${r}.${a}${i}`):s?`>=${n}.0.0${i} <${Number(n)+1}.0.0-0`:c?`>=${n}.${r}.0${i} <${n}.${Number(r)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(o.parseRegex(r.star),"")}function f(e){return e.trim().replace(o.parseRegex(r.gte0),"")}t.parseCaretTrim=function(e){return e.replace(o.parseRegex(r.caretTrim),"$1^")},t.parseCarets=s,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=l,t.parseTildes=c,t.parseXRanges=u},10078(e,t,n){let r=n(59570);function o(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),n=0;nt.reduce((e,t)=>t(e),e)}function l(e){return e.match(o(r.comparator))}t.combineVersion=function(e,t,n,r){let o=`${e}.${t}.${n}`;return r?`${o}-${r}`:o},t.extractComparator=l,t.isXVersion=a,t.parseRegex=o,t.pipe=i},8369(e,t,n){let r=n(48628),o=n(9350),a=n(44391),i=n(92926),l=n(63957),s=n(50630);function c(e,t,n,o){var a,i;let l;return l="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{r.error(`Cannot get shared "${n}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&r.error(`Invalid shared config for "${n}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:l,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??o)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??s.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function u(e,t){let n=t.shared||{},r=t.name,a=Object.keys(n).reduce((e,a)=>{let i=o.arrayOptions(n[a]);return e[a]=e[a]||[],i.forEach(n=>{e[a].push(c(n,r,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:n,mode:r}=e;return n!==s.TreeShakingStatus.NO_USE&&(n===s.TreeShakingStatus.CALCULATED||"runtime-infer"===r&&(!t||h(e,t)))}function f(e,t){let n=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),n=e;for(let e=0;e<3-t.length;e++)n+=".0";return n}return e};return!!l.satisfy(n(e),`<=${n(t)}`)}let p=(e,t)=>{let n=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||n(e,t)||"0"===e?t:e,0)},m=e=>!!e.loaded||"function"==typeof e.lib,g=e=>!!e.loading,h=(e,t)=>{if(!e||!t)return!1;let{usedExports:n}=e;return!!n&&!!t.every(e=>n.includes(e))};function v(e,t,n,r){let o=e[t][n],a="",i=d(r),l=function(e,t){return i?!o[e].treeShaking||!!o[t].treeShaking&&!m(o[e].treeShaking)&&f(e,t):!m(o[e])&&f(e,t)};if(i){if(a=p(e[t][n],l))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][n],l),useTreesShaking:i}}let b=e=>m(e)||g(e);function y(e,t,n,r){let o=e[t][n],a="",i=d(r),l=function(e,t){if(i){if(!o[e].treeShaking)return!0;if(!o[t].treeShaking)return!1;if(b(o[t].treeShaking))if(b(o[e].treeShaking))return!!f(e,t);else return!0;if(b(o[e].treeShaking))return!1}if(b(o[t]))if(b(o[e]))return!!f(e,t);else return!0;return!b(o[e])&&f(e,t)};if(i){if(a=p(e[t][n],l))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][n],l),useTreesShaking:i}}function x(e){return"loaded-first"===e?y:v}function A(e,t,n,o){if(!e)return;let{shareConfig:s,scope:c=i.DEFAULT_SCOPE,strategy:u,treeShaking:f}=n;for(let i of Array.isArray(c)?c:[c])if(s&&e[i]&&e[i][t]){let{requiredVersion:c}=s,{version:p,useTreesShaking:m}=x(u)(e,i,t,f),g=()=>{let o=e[i][t][p];if(s.singleton){if("string"==typeof c&&!l.satisfy(p,c)){let e=`Version ${p} from ${p&&o.from} of shared singleton module ${t} does not satisfy the requirement of ${n.from} which needs ${c})`;s.strictVersion?r.error(e):r.warn(e)}return{shared:o,useTreesShaking:m}}{if(!1===c||"*"===c||l.satisfy(p,c))return{shared:o,useTreesShaking:m};let n=d(f);if(n){for(let[r,o]of Object.entries(e[i][t]))if(d(o.treeShaking,null==f?void 0:f.usedExports)&&l.satisfy(r,c))return{shared:o,useTreesShaking:n}}for(let[n,r]of Object.entries(e[i][t]))if(l.satisfy(n,c))return{shared:r,useTreesShaking:!1}}},h={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:n,resolver:g};return(o.emit(h)||h).resolver()}}function $(){return a.Global.__FEDERATION__.__SHARE__}function w(e){let{pkgName:t,extraOptions:n,shareInfos:r}=e,o=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let n=function(e,n){return!m(t[e])&&f(e,n)};return t[p(t,n)]},a=(null==n?void 0:n.resolver)??o,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),l=function(){for(var e=arguments.length,t=Array(e),n=0;n{e.useIn||(e.useIn=[]),o.addUniqueItem(e.useIn,t)},t.directShare=S,t.formatShareConfigs=u,t.getGlobalShareScope=$,t.getRegisteredShare=A,t.getTargetSharedOptions=w,t.shouldUseTreeShaking=d},9350(e,t,n){let r=n(48628),o=n(50630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function l(e){return void 0!==e.entry}function s(e){return!e.entry.includes(".json")}async function c(e,t){try{return await e()}catch(e){t||r.warn(e);return}}function u(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function p(e,t){let n=/^(https?:)?\/\//i;return e.replace(n,"").replace(/\/$/,"")===t.replace(n,"").replace(/\/$/,"")}function m(e){return Array.isArray(e)?e:[e]}function g(e){let t={url:"",type:"global",globalName:""};return o.isBrowserEnvValue||(0,o.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let h=(e,t)=>{let n;return n=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),n+=t};t.addUniqueItem=a,t.arrayOptions=m,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=g,t.isObject=u,t.isPlainObject=f,t.isPureRemoteEntry=s,t.isRemoteInfoWithEntry=l,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=h,t.safeWrapper=c},93544(e,t){var n=Object.create,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,s=(e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var s,c=a(t),u=0,d=c.length;ut[e]).bind(null,s),enumerable:!(i=o(t,s))||i.enumerable});return e};t.__toESM=(e,t,o)=>(o=null!=e?n(i(e)):{},s(!t&&e&&e.__esModule?o:r(o,"default",{value:e,enumerable:!0}),e))},13129(e,t,n){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),n(93544);let r=n(19577),o=n(45922),a={...o.helpers.global,getGlobalFederationInstance:r.getGlobalFederationInstance},i=o.helpers.share,l=o.helpers.utils;t.default={global:a,share:i,utils:l},t.global=a,t.share=i,t.utils=l},99782(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),n(93544);let r=n(19577),o=n(45922),a=n(84363);function i(e){let t=new((0,o.getGlobalFederationConstructor)()||o.ModuleFederation)(e);return(0,o.setGlobalFederationInstance)(t),t}let l=null;function s(e){let t=r.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),l||(l=t),t):l=i(e)}function c(){for(var e=arguments.length,t=Array(e),n=0;n!!n&&r.options.id===n||r.options.name===e&&!r.options.version&&!t||r.options.name===e&&!!t&&r.options.version===t)}},67688(e,t){var n=Object.defineProperty;t.__exportAll=(e,t)=>{let r={};for(var o in e)n(r,o,{get:e[o],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:"Module"}),r}},40586(e,t){let n="federation-manifest.json",r=".json",o="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},l={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},s=":",c="mf-manifest.json",u="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",p="ENCODE_NAME_PREFIX",m=".federation",g={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"},h=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=o,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=l,t.FederationModuleManifest=n,t.MANIFEST_EXT=r,t.MFModuleType=d,t.MFPrefetchCommon=g,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=c,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=s,t.StatsFileName=u,t.TEMP_DIR=m,t.TreeShakingStatus=h},31483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,n){let r=n(43417);async function o(e,t){try{return await e()}catch(e){t||r.warn(e);return}}function a(e,t){let n=/^(https?:)?\/\//i;return e.replace(n,"").replace(/\/$/,"")===t.replace(n,"").replace(/\/$/,"")}function i(e){let t,n=null,r=!0,i=2e4,l=document.getElementsByTagName("script");for(let t=0;t{n&&("async"===e||"defer"===e?n[e]=r[e]:n.getAttribute(e)||n.setAttribute(e,r[e]))})}let s=null,c="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let n=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);n.name="ScriptExecutionError",s=n}}:null;c&&window.addEventListener("error",c);let u=async(r,a)=>{clearTimeout(t),c&&window.removeEventListener("error",c);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else s?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(s)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(n&&(n.onerror=null,n.onload=null,o(()=>{let{needDeleteScript:t=!0}=e;t&&(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n)}),r&&"function"==typeof r)){let e=r(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return n.onerror=u.bind(null,n.onerror),n.onload=u.bind(null,n.onload),t=setTimeout(()=>{u(null,Error(`Remote script "${e.url}" time-outed.`))},i),{script:n,needAttach:r}}function l(e,t){let{attrs:n={},createScriptHook:r}=t;return new Promise((t,o)=>{let{script:a,needAttach:l}=i({url:e,cb:t,onErrorCallback:o,attrs:{fetchpriority:"high",...n},createScriptHook:r,needDeleteScript:!0});l&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,n=!0,r=document.getElementsByTagName("link");for(let o=0;o{t&&!t.getAttribute(e)&&t.setAttribute(e,r[e])})}let i=(n,r)=>{let a=()=>{(null==r?void 0:r.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(r)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,o(()=>{let{needDeleteLink:n=!0}=e;n&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),n)){let e=n(r);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:n}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=l,t.safeWrapper=o},56883(e,t,n){let r=n(40586),o="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return o}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function l(){try{if(a()&&window.localStorage)return!!localStorage.getItem(r.BROWSER_LOG_KEY)}catch(e){}return!1}function s(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||l()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=o,t.isDebugMode=s,t.isReactNativeEnv=i},27016(e,t,n){let r=n(40586),o=(e,t)=>{if(!e)return t;let n=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return n?n.endsWith("/")?`${n}${t}`:`${n}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(r.MANIFEST_EXT))}function l(e){if(!e)return{statsFileName:r.StatsFileName,manifestFileName:r.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",n="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,l=(e,t)=>e.replace(a,`${t}${a}`),s=n?i(n):r.ManifestFileName;return{statsFileName:o(t,n?l(s,"-stats"):r.StatsFileName),manifestFileName:o(t,s)}}t.generateSnapshotFromManifest=function(e){var t,n,r;let i,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:s={},overrides:c={},version:u}=l,d=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&u?a(u):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(c),p={};Object.keys(s).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let n,r=t.federationContainerName;return n=f.includes(r)?c[r]:"version"in t?t.version:t.entry,e[r]={matchedVersion:n},e},{}))||{}),Object.keys(s).forEach(e=>p[e]={matchedVersion:f.includes(e)?c[e]:s[e]});let{remoteEntry:{path:m,name:g,type:h},types:v={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:b},globalName:y,ssrRemoteEntry:x}=e.metaData,{exposes:A}=e,$={version:u||"",buildVersion:b,globalName:y,remoteEntry:o(m,g),remoteEntryType:h,remoteTypes:o(v.path,v.name),remoteTypesZip:v.zip||"",remoteTypesAPI:v.api||"",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==A?void 0:A.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(n=e.metaData)?void 0:n.prefetchInterface){let t=e.metaData.prefetchInterface;$={...$,prefetchInterface:t}}if(null==(r=e.metaData)?void 0:r.prefetchEntry){let{path:t,name:n,type:r}=e.metaData.prefetchEntry;$={...$,prefetchEntry:o(t,n),prefetchEntryType:r}}if("publicPath"in e.metaData?(i={...$,publicPath:d()},"string"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...$,getPublicPath:d()},x){let e=o(x.path,x.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=x.type||"commonjs-module"}return i},t.getManifestFileName=l,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=o},50630(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let r=n(40586),o=n(8841),a=n(88798),i=n(87765),l=n(71993),s=n(7345),c=n(95448),u=n(56883),d=n(43417),f=n(27016),p=n(43910),m=n(6302),g=n(638),h=n(76967),v=n(31483);t.BROWSER_LOG_KEY=r.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=r.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=r.EncodedNameTransformMap,t.FederationModuleManifest=r.FederationModuleManifest,t.MANIFEST_EXT=r.MANIFEST_EXT,t.MFModuleType=r.MFModuleType,t.MFPrefetchCommon=r.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=r.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=r.ManifestFileName,t.NameTransformMap=r.NameTransformMap,t.NameTransformSymbol=r.NameTransformSymbol,t.SEPARATOR=r.SEPARATOR,t.StatsFileName=r.StatsFileName,t.TEMP_DIR=r.TEMP_DIR,t.TreeShakingStatus=r.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return s.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return o.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=m.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=v.createModuleFederationConfig,t.createScript=m.createScript,t.createScriptNode=g.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=u.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=u.isBrowserEnv,t.isBrowserEnvValue=u.isBrowserEnvValue,t.isDebugMode=u.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=u.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=m.isStaticResourcesEqual,t.loadScript=m.loadScript,t.loadScriptNode=g.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=h.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return c.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=m.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return l.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},43910(e,t,n){let r=n(56883),o="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function l(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),n=t.filter(e=>!i.some(t=>e.includes(t)));if(!n.length)return;return`Stack trace:
${n.slice(0,5).join("\n")}`}catch{return}}var s=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let n=this.delegate,o=r.isDebugMode()?l():void 0,i=o?[...t,o]:t,s=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of s){let t=n[e];if("function"==typeof t)return void t.call(n,this.prefix,...i)}for(let e of s){let t=a[e];if("function"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),n=0;ne).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,n)=>{let r=(e,t)=>n.lifecycle.fetch.emit(e,t),o=await r(e,t||{});return o&&o instanceof Response?o:("u"{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval("require"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,n,r)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"new Promise((n,r)=>{createScriptNode(e,(e,o)=>{if(e)r(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;n(globalThis[e]=o)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:n,vm:r}=t,o=await (await n(e)).text(),a=new r.SourceTextModule(o,{importModuleDynamically:async(n,r)=>loadModule(new URL(n,e).href,t)});return esmModuleCache.set(e,a),await a.link(async n=>{let r=new URL(n,e).href;return await loadModule(r,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},76967(e,t){t.normalizeOptions=function(e,t,n){return function(r){if(!1===r)return!1;if(void 0===r)if(e)return t;else return!1;if(!0===r)return t;if(r&&"object"==typeof r)return{...t,...r};throw Error(`Unexpected type for \`${n}\`, expect boolean/undefined/object, got: ${typeof r}`)}}},7345(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return r}})},8841(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"ContainerPlugin_exports",{enumerable:!0,get:function(){return r}})},88798(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return r}})},87765(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return r}})},95448(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return r}})},71993(e,t,n){var r=n(67688).__exportAll({});Object.defineProperty(t,"SharePlugin_exports",{enumerable:!0,get:function(){return r}})},43417(e,t,n){let r=n(40586),o=n(56883),a="[ Federation Runtime ]",i=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.SEPARATOR,a=e.split(n),i="development"===o.getProcessEnv().NODE_ENV&&t,l="*",s=e=>e.startsWith("http")||e.includes(r.MANIFEST_EXT);if(a.length>=2){let[t,...r]=a;e.startsWith(n)&&(t=a.slice(0,2).join(n),r=[i||a.slice(2).join(n)]);let o=i||r.join(n);return s(o)?{name:t,entry:o}:{name:t,version:o||l}}if(1===a.length){let[e]=a;return i&&s(i)?{name:e,entry:i}:{name:e,version:i||l}}throw`Invalid entry value: ${e}`},l=function(){for(var e=arguments.length,t=Array(e),n=0;nt?e?`${e}${r.SEPARATOR}${t}`:t:e,""):""},s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let o=n?".js":"";return`${t}${e.replace(RegExp(`${r.NameTransformSymbol.AT}`,"g"),r.NameTransformMap[r.NameTransformSymbol.AT]).replace(RegExp(`${r.NameTransformSymbol.HYPHEN}`,"g"),r.NameTransformMap[r.NameTransformSymbol.HYPHEN]).replace(RegExp(`${r.NameTransformSymbol.SLASH}`,"g"),r.NameTransformMap[r.NameTransformSymbol.SLASH])}${o}`}catch(e){throw e}},c=function(e,t,n){try{let o=e;if(t){if(!o.startsWith(t))return o;o=o.replace(RegExp(t,"g"),"")}return o=o.replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.AT]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.AT]]).replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.SLASH]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.SLASH]]).replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.HYPHEN]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.HYPHEN]]),n&&(o=o.replace(".js","")),o}catch(e){throw e}},u=(e,t)=>{if(!e)return"";let n=e;return"."===n&&(n="default_export"),n.startsWith("./")&&(n=n.replace("./","")),s(n,"__federation_expose_",t)},d=(e,t)=>e?s(e,"__federation_shared_",t):"",f=(e,t)=>{if("getPublicPath"in e){let n;return n=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${n}${t}`}return"publicPath"in e?!o.isBrowserEnv()&&!o.isReactNativeEnv()&&"ssrPublicPath"in e&&"string"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},p=e=>{throw Error(`${a}: ${e}`)},m=e=>{console.warn(`${a}: ${e}`)};function g(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let h=/^([\d^=v<>~]|[*xX]$)/;function v(e){return h.test(e)}t.assert=(e,t)=>{e||p(t)},t.composeKeyWithSeparator=l,t.decodeName=c,t.encodeName=s,t.error=p,t.generateExposeFilename=u,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=v,t.parseEntry=i,t.safeToString=g,t.warn=m},37363(e,t){var n=Object.create,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,s=(e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var s,c=a(t),u=0,d=c.length;ut[e]).bind(null,s),enumerable:!(i=o(t,s))||i.enumerable});return e};t.__toESM=(e,t,o)=>(o=null!=e?n(i(e)):{},s(!t&&e&&e.__esModule?o:r(o,"default",{value:e,enumerable:!0}),e))},22069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},36897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.FEDERATION_SUPPORTED_TYPES=["script"]},80916(e,t,n){let r=n(22069),o=n(55216),a=n(57617);t.consumes=function(e){o.updateConsumeOptions(e);let{chunkId:t,promises:n,installedModules:i,webpackRequire:l,chunkMapping:s,moduleToHandlerMapping:c}=e;r.attachShareScopeMap(l),l.o(s,t)&&s[t].forEach(e=>{if(l.o(i,e))return n.push(i[e]);let t=t=>{i[e]=0,l.m[e]=n=>{var r;delete l.c[e];let o=t(),{shareInfo:a}=c[e];if((null==a||null==(r=a.shareConfig)?void 0:r.layer)&&o&&"object"==typeof o)try{o.hasOwnProperty("layer")&&void 0!==o.layer||(o.layer=a.shareConfig.layer)}catch(e){}n.exports=o}},r=t=>{delete i[e],l.m[e]=n=>{throw delete l.c[e],t}};try{let o=l.federation.instance;if(!o)throw Error("Federation instance not found!");let{shareKey:s,getter:u,shareInfo:d,treeShakingGetter:f}=c[e],p=a.getUsedExports(l,s),m={...d};Array.isArray(m.scope)&&Array.isArray(m.scope[0])&&(m.scope=m.scope[0]),p&&(m.treeShaking={usedExports:p,useIn:[o.options.name]});let g=o.loadShare(s,{customShareInfo:m}).then(e=>!1===e?(null==f?void 0:f())||u():e);g.then?n.push(i[e]=g.then(t).catch(r)):t(g)}catch(e){r(e)}})}},48167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:n,version:r,webpackRequire:o,libraryType:a="global"}=e,{runtime:i,instance:l,bundlerRuntime:s,sharedFallback:c}=o.federation;if(!c)return n;let u=c[t];if(!u)return n;let d=r?u.find(e=>e[1]===r):u[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${r}`);return()=>i.getRemoteEntry({origin:o.federation.instance,remoteInfo:{name:d[2],entry:`${o.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:"default"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${r}`);return e.init(o.federation.instance,s).then(()=>e.get())})}},57617(e,t){t.getUsedExports=function(e,t){let n=e.federation.usedExports;if(n)return n[t]}},66927(e,t,n){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let r=n(37363),o=n(22069),a=n(96310),i=n(80916),l=n(36777),s=n(71735),c=n(87440),u=n(8531),d=n(48167),f=n(99782),p={runtime:f=r.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:l.initializeSharing,S:{},installInitialConsumes:s.installInitialConsumes,initContainerEntry:c.initContainerEntry,init:u.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:o.attachShareScopeMap,bundlerRuntimeOptions:{}},m=p.instance,g=p.initOptions,h=p.bundlerRuntime,v=p.bundlerRuntimeOptions;t.attachShareScopeMap=o.attachShareScopeMap,t.bundlerRuntime=h,t.bundlerRuntimeOptions=v,t.default=p,t.initOptions=g,t.instance=m,Object.defineProperty(t,"runtime",{enumerable:!0,get:function(){return f}})},8531(e,t,n){let r=n(37363),o=n(99782),a=n(13129);a=r.__toESM(a),t.init=function(e){var t;let{webpackRequire:r}=e,{initOptions:i,runtime:l,sharedFallback:s,bundlerRuntime:c,libraryType:u}=r.federation;if(!i)throw Error("initOptions is required!");let d=function(){return{name:"tree-shake-plugin",beforeInit(e){let{userOptions:t,origin:i,options:l}=e,d=t.version||l.version;if(!s)return e;let f=t.shared||{},p=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(p.push([e,t]),"get"in t){var n;(n=t).treeShaking||(n.treeShaking={}),t.treeShaking.get=t.get,t.get=c.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:r,libraryType:u,version:t.version})}})});let m=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!m||!("shared"in m))return e;Object.keys(l.shared||{}).forEach(e=>{l.shared[e].forEach(t=>{p.push([e,t])})});let g=(e,t)=>{let r=m.shared.find(t=>t.sharedName===e);if(!r)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:l,secondarySharedTreeShakingEntry:s,treeShakingStatus:c}=r;a.status!==c&&(a.status=c,s&&u&&l&&(a.get=async()=>{let e=await (0,o.getRemoteEntry)({origin:i,remoteInfo:{name:l,entry:s,type:u,entryGlobalName:l,shareScope:"default"}});return await e.init(i,n.federation.bundlerRuntime),e.get()}))};return p.forEach(e=>{let[t,n]=e;g(t,n)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),l.init(i)}},87440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:n,initScope:r,shareScopeKey:o,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let l=null==a?void 0:a.shareScopeKeys,s=null==a?void 0:a.shareScopeMap;if(o&&"string"!=typeof o)o.forEach(e=>{if(!l||!s)return void i.initShareScopeMap(e,n,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});s[e]||(s[e]={});let t=s[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=o||"default";Array.isArray(l)?l.forEach(e=>{s[e]||(s[e]={});let t=s[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,n,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(o))?t.federation.initOptions.shared?t.I(o,r):Promise.all(o.map(e=>t.I(e,r))).then(()=>!0):t.I(o||"default",r)}},36777(e,t,n){let r=n(22069),o=n(36897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:n,initPromises:a,initTokens:i,initScope:l}=e,s=Array.isArray(t)?t:[t];var c=[],u=function(e){l||(l=[]);let s=n.federation.instance;var c=i[e];if(c||(c=i[e]={from:s.name}),l.indexOf(c)>=0)return;l.push(c);let u=a[e];if(u)return u;var d=e=>"u">typeof console&&console.warn&&console.warn(e),f=r=>{var o=e=>d("Initialization of sharing external failed: "+e);try{var a=n(r);if(!a)return;var i=r=>r&&r.init&&r.init(n.S[e],l,{shareScopeMap:n.S||{},shareScopeKeys:t});if(a.then)return p.push(a.then(i,o));var s=i(a);if(s&&"boolean"!=typeof s&&s.then)return p.push(s.catch(o))}catch(e){o(e)}};let p=s.initializeSharing(e,{strategy:s.options.shareStrategy,initScope:l,from:"build"});r.attachShareScopeMap(n);let m=n.federation.bundlerRuntimeOptions.remotes;return(m&&Object.keys(m.idToRemoteMap).forEach(e=>{let t=m.idToRemoteMap[e],n=m.idToExternalAndNameMapping[e][2];if(t.length>1)f(n);else if(1===t.length){let e=t[0];o.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(n)}}),p.length)?a[e]=Promise.all(p).then(()=>a[e]=!0):a[e]=!0};return s.forEach(e=>{c.push(u(e))}),Promise.all(c).then(()=>!0)}},71735(e,t,n){let r=n(55216),o=n(57617);function a(e){let{moduleId:t,moduleToHandlerMapping:n,webpackRequire:r,asyncLoad:a}=e,i=r.federation.instance;if(!i)throw Error("Federation instance not found!");let{shareKey:l,shareInfo:s}=n[t];try{let e=o.getUsedExports(r,l),t={...s};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(l,{customShareInfo:t});return i.loadShareSync(l,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}t.installInitialConsumes=function(e){r.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:n,installedModules:o,initialConsumes:i,asyncLoad:l}=e,s=[];i.forEach(e=>{let r=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:n,asyncLoad:l});s.push([e,r])});let c=(e,r)=>{n.m[e]=a=>{var i;o[e]=0,delete n.c[e];let l=r();if("function"!=typeof l)throw Error(`Shared module is not available for eager consumption: ${e}`);let s=l(),{shareInfo:c}=t[e];if((null==c||null==(i=c.shareConfig)?void 0:i.layer)&&s&&"object"==typeof s)try{s.hasOwnProperty("layer")&&void 0!==s.layer||(s.layer=c.shareConfig.layer)}catch(e){}a.exports=s}};if(l)return Promise.all(s.map(async e=>{let[t,n]=e,r=await n();c(t,()=>r)}));s.forEach(e=>{let[t,n]=e;c(t,n)})}},96310(e,t,n){n(37363);let r=n(22069),o=n(36897),a=n(55216),i=n(50630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:n,webpackRequire:l,chunkMapping:s,idToExternalAndNameMapping:c,idToRemoteMap:u}=e;r.attachShareScopeMap(l),l.o(s,t)&&s[t].forEach(e=>{let t=l.R;t||(t=[]);let r=c[e],a=u[e]||[];if(t.indexOf(r)>=0)return;if(t.push(r),r.p)return n.push(r.p);let s=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
-while loading "${r[1]}" from ${r[2]}`),l.m[e]=()=>{throw t},r.p=0},d=(e,t,o,a,i,l)=>{try{let c=e(t,o);if(!c||!c.then)return i(c,a,l);{let e=c.then(e=>i(e,a),s);if(!l)return e;n.push(r.p=e)}}catch(e){s(e)}},f=(e,t,n)=>e?d(l.I,r[0],0,e,p,n):s();var p=(e,n,o)=>d(n.get,r[1],t,0,m,o),m=t=>{r.p=1,l.m[e]=e=>{e.exports=t()}};let g=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+r[1].slice(1),t=l.federation.instance,n=()=>l.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(r[0])?r[0]:[r[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>n())}return n()}catch(e){s(e)}};1===a.length&&o.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(g,r[2],0,0,m,1):d(l,r[2],0,0,f,1)})}},55216(e,t){function n(e){var t,n,r,o,a;let{webpackRequire:i,idToExternalAndNameMapping:l={},idToRemoteMap:s={},chunkMapping:c={}}=e,{remotesLoadingData:u}=i,d=null==(r=i.federation)||null==(n=r.bundlerRuntimeOptions)||null==(t=n.remotes)?void 0:t.remoteInfos;if(!u||u._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=u;if(f&&p){for(let[e,t]of Object.entries(p))if(l[e]||(l[e]=[t.shareScope,t.name,t.externalModuleId]),!s[e]&&d[t.remoteName]){let n=d[t.remoteName];(o=s)[a=e]||(o[a]=[]),n.forEach(t=>{s[e].includes(t)||s[e].push(t)})}c&&Object.entries(f).forEach(e=>{let[t,n]=e;c[t]||(c[t]=[]),n.forEach(e=>{c[t].includes(e)||c[t].push(e)})}),u._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:n}=e,{consumesLoadingData:r,initializeSharingData:o}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:l}=t.federation;if(r&&!r._updated){let{moduleIdToConsumeDataMapping:o={},initialConsumes:s=[],chunkMapping:c={}}=r;if(Object.entries(o).forEach(e=>{let[r,o]=e;n[r]||(n[r]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:o.shareKey,factory:o.fallback,webpackRequire:t,libraryType:l}):o.fallback,treeShakingGetter:a?o.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:o.requiredVersion,strictVersion:o.strictVersion,singleton:o.singleton,eager:o.eager,layer:o.layer},scope:Array.isArray(o.shareScope)?o.shareScope:[o.shareScope||"default"],treeShaking:a?{get:o.fallback,mode:o.treeShakingMode}:void 0},shareKey:o.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;s.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(c).forEach(e=>{let[n,r]=e;t[n]||(t[n]=[]),r.forEach(e=>{t[n].includes(e)||t[n].push(e)})})}r._updated=1}if(o&&!o._updated){let{federation:e}=t;if(!e.instance||!o.scopeToSharingDataMapping)return;let n={};for(let[e,t]of Object.entries(o.scopeToSharingDataMapping))for(let r of t)if("object"==typeof r&&null!==r){let{name:t,version:o,factory:a,eager:i,singleton:l,requiredVersion:s,strictVersion:c}=r,u={requiredVersion:`^${o}`},d=function(e){return void 0!==e};d(l)&&(u.singleton=l),d(s)&&(u.requiredVersion=s),d(i)&&(u.eager=i),d(c)&&(u.strictVersion=c);let f={version:o,scope:[e],shareConfig:u,get:a};n[t]?n[t].push(f):n[t]=[f]}e.instance.registerShared(n),o._updated=1}},t.updateRemoteOptions=n},56491(e,t,n){"use strict";var r,o,a,i,l,s,c,u,d,f,p,m,g=n(66927),h=n.n(g);let v=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:n}=e;return t(n)}),b={},y="pimcore_studio_ui_bundle",x="version-first";if((n.initializeSharingData||n.initializeExposesData)&&n.federation){let e=(e,t,n)=>{e&&e[t]&&(e[t]=n)},t=(e,t,n)=>{var r,o,a,i,l,s;let c=n();Array.isArray(c)?(null!=(a=(r=e)[o=t])||(r[o]=[]),e[t].push(...c)):"object"==typeof c&&null!==c&&(null!=(s=(i=e)[l=t])||(i[l]={}),Object.assign(e[t],c))},g=(e,t,n)=>{var r,o,a;null!=(a=(r=e)[o=t])||(r[o]=n())},A=null!=(r=null==(s=n.remotesLoadingData)?void 0:s.chunkMapping)?r:{},$=null!=(o=null==(c=n.remotesLoadingData)?void 0:c.moduleIdToRemoteDataMapping)?o:{},w=null!=(a=null==(u=n.initializeSharingData)?void 0:u.scopeToSharingDataMapping)?a:{},S=null!=(i=null==(d=n.consumesLoadingData)?void 0:d.chunkMapping)?i:{},E=null!=(l=null==(f=n.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?l:{},k={},C=[],O={},M=null==(p=n.initializeExposesData)?void 0:p.shareScope;for(let e in h())n.federation[e]=h()[e];g(n.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,n]of Object.entries(E))e[t]={getter:n.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager},scope:[n.shareScope]},shareKey:n.shareKey};return e}),g(n.federation,"initOptions",()=>({})),g(n.federation.initOptions,"name",()=>y),g(n.federation.initOptions,"shareStrategy",()=>x),g(n.federation.initOptions,"shared",()=>{let e={};for(let[t,n]of Object.entries(w))for(let r of n)if("object"==typeof r&&null!==r){let{name:n,version:o,factory:a,eager:i,singleton:l,requiredVersion:s,strictVersion:c}=r,u={},d=function(e){return void 0!==e};d(l)&&(u.singleton=l),d(s)&&(u.requiredVersion=s),d(i)&&(u.eager=i),d(c)&&(u.strictVersion=c);let f={version:o,scope:[t],shareConfig:u,get:a};e[n]?e[n].push(f):e[n]=[f]}return e}),t(n.federation.initOptions,"remotes",()=>Object.values(b).flat().filter(e=>"script"===e.externalType)),t(n.federation.initOptions,"plugins",()=>v),g(n.federation,"bundlerRuntimeOptions",()=>({})),g(n.federation.bundlerRuntimeOptions,"remotes",()=>({})),g(n.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>A),g(n.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>b),g(n.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,n]of Object.entries($))e[t]=[n.shareScope,n.name,n.externalModuleId,n.remoteName];return e}),g(n.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>n),t(n.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,n]of Object.entries($)){let r=b[n.remoteName];r&&(e[t]=r)}return e}),e(n,"S",n.federation.bundlerRuntime.S),n.federation.attachShareScopeMap&&n.federation.attachShareScopeMap(n),e(n.f,"remotes",(e,t)=>n.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:A,idToExternalAndNameMapping:n.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:n.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:n})),e(n.f,"consumes",(e,t)=>n.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:S,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping,installedModules:k,webpackRequire:n})),e(n,"I",(e,t)=>n.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:C,initTokens:O,webpackRequire:n})),e(n,"initContainer",(e,t,r)=>n.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:M,webpackRequire:n})),e(n,"getContainer",(e,t)=>{var r=n.initializeExposesData.moduleMap;return n.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),n.R=void 0,t}),n.federation.instance=n.federation.runtime.init(n.federation.initOptions),(null==(m=n.consumesLoadingData)?void 0:m.initialConsumes)&&n.federation.bundlerRuntime.installInitialConsumes({webpackRequire:n,installedModules:k,initialConsumes:n.consumesLoadingData.initialConsumes,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping})}},39139(e,t,n){"use strict";n.d(t,{get:()=>n.getContainer,init:()=>n.initContainer})},46942(e){!function(){"use strict";var t={}.hasOwnProperty;function n(){for(var e="",t=0;t=0;--n){var r=(0,e[n])(t);if(!C(r)&&!O(r)){if(!D(r))throw TypeError();t=r}}return t}function b(e,t,n,r){for(var o=e.length-1;o>=0;--o){var a=(0,e[o])(t,n,r);if(!C(a)&&!O(a)){if(!N(a))throw TypeError();r=a}}return r}function y(e,t,n){if(x(e,t,n))return!0;var r=K(t);return!O(r)&&y(e,r,n)}function x(e,t,n){var r=Q(t,n,!1);return!C(r)&&j(r.OrdinaryHasOwnMetadata(e,t,n))}function A(e,t,n){if(x(e,t,n))return $(e,t,n);var r=K(t);if(!O(r))return A(e,r,n)}function $(e,t,n){var r=Q(t,n,!1);if(!C(r))return r.OrdinaryGetOwnMetadata(e,t,n)}function w(e,t,n,r){Q(n,r,!0).OrdinaryDefineOwnMetadata(e,t,n,r)}function S(e,t){var n=E(e,t),r=K(e);if(null===r)return n;var o=S(r,t);if(o.length<=0)return n;if(n.length<=0)return o;for(var a=new f,i=[],l=0,s=n;l=0&&e=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var n=this._find(e,!0);return this._values[n]=t,this},t.prototype.delete=function(t){var n=this._find(t,!1);if(n>=0){for(var r=this._keys.length,o=n+1;otypeof crypto?crypto.getRandomValues(t):"u">typeof msCrypto?msCrypto.getRandomValues(t):i(t,e),t}return i(Array(e),e)}function s(){var t=l(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var n="",r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);nr})},96369(e,t,n){"use strict";function r(e){if(Array.isArray(e))return e}n.d(t,{A:()=>r})},9417(e,t,n){"use strict";function r(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{A:()=>r})},10467(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var l=e[a](i),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var i=e.apply(t,n);function l(e){r(i,o,a,l,s,"next",e)}function s(e){r(i,o,a,l,s,"throw",e)}l(void 0)})}}n.d(t,{A:()=>o})},39874(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(53954),o=n(52176),a=n(56822);function i(e,t,n){return t=(0,r.A)(t),(0,a.A)(e,(0,o.A)()?Reflect.construct(t,n||[],(0,r.A)(e).constructor):t.apply(e,n))}},23029(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.d(t,{A:()=>r})},92901(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(96192);function o(e,t){for(var n=0;no});var r=n(27800);function o(e,t){var n="u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,r.A)(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){s=!0,i=e},f:function(){try{l||null==n.return||n.return()}finally{if(s)throw i}}}}},29426(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(53954),o=n(52176),a=n(56822);function i(e){var t=(0,o.A)();return function(){var n,o=(0,r.A)(e);return n=t?Reflect.construct(o,arguments,(0,r.A)(this).constructor):o.apply(this,arguments),(0,a.A)(this,n)}}},64467(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(96192);function o(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},58168(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},53954(e,t,n){"use strict";function r(e){return(r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,{A:()=>r})},85501(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(63662);function o(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,r.A)(e,t)}},52176(e,t,n){"use strict";function r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(r=function(){return!!e})()}n.d(t,{A:()=>r})},73893(e,t,n){"use strict";function r(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}n.d(t,{A:()=>r})},76562(e,t,n){"use strict";function r(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.d(t,{A:()=>r})},89379(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(64467);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;to});var r=n(98587);function o(e,t){if(null==e)return{};var n,o,a=(0,r.A)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;or})},56822(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(82284),o=n(9417);function a(e,t){if(t&&("object"==(0,r.A)(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return(0,o.A)(e)}},1079(e,t,n){"use strict";function r(e,t){this.v=e,this.k=t}function o(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(o=function(e,t,n,r){function i(t,n){o(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))})(e,t,n,r)}function a(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function l(n,r,a,i){var l=Object.create((r&&r.prototype instanceof c?r:c).prototype);return o(l,"_invoke",function(n,r,o){var a,i,l,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,i=0,l=e,f.n=n,s}};function p(n,r){for(i=n,l=r,t=0;!d&&c&&!o&&t3?(o=m===r)&&(l=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&pr||r>m)&&(a[4]=n,a[5]=r,f.n=m,i=0))}if(o||n>1)return s;throw d=!0,r}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),i=u,l=m;(t=i<2?e:l)||!d;){a||(i?i<3?(i>1&&(f.n=-1),p(i,l)):f.n=l:f.v=l);try{if(c=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(d=f.n<0)?l:n.call(r,f))!==s)break}catch(t){a=e,i=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),l}var s={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=d.prototype=c.prototype=Object.create([][r]?t(t([][r]())):(o(t={},r,function(){return this}),t));function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,i,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=d,o(f,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,i,"GeneratorFunction"),o(f),o(f,i,"Generator"),o(f,r,function(){return this}),o(f,"toString",function(){return"[object Generator]"}),(a=function(){return{w:l,m:p}})()}function i(e,t){var n;function a(n,o,i,l){try{var s=e[n](o),c=s.value;return c instanceof r?t.resolve(c.v).then(function(e){a("next",e,i,l)},function(e){a("throw",e,i,l)}):t.resolve(c).then(function(e){s.value=e,i(s)},function(e){return a("throw",e,i,l)})}catch(e){l(e)}}this.next||(o(i.prototype),o(i.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(e,r,o){function i(){return new t(function(t,n){a(e,o,t,n)})}return n=n?n.then(i,i):i()},!0)}function l(e,t,n,r,o){return new i(a().w(e,t,n,r),o||Promise)}function s(e,t,n,r,o){var a=l(e,t,n,r,o);return a.next().then(function(e){return e.done?e.value:a.next()})}function c(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}n.d(t,{A:()=>f});var u=n(82284);function d(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw TypeError((0,u.A)(e)+" is not iterable")}function f(){var e=a(),t=e.m(f),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function o(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var u={throw:1,return:2,break:3,continue:3};function p(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,u[e],t)},delegateYield:function(e,o,a){return t.resultName=o,n(r.d,d(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(f=function(){return{wrap:function(t,n,r,o){return e.w(p(t),n,r,o&&o.reverse())},isGeneratorFunction:o,mark:e.m,awrap:function(e,t){return new r(e,t)},AsyncIterator:i,async:function(e,t,n,r,a){return(o(t)?l:s)(p(e),t,n,r,a)},keys:c,values:d}})()}},63662(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,{A:()=>r})},57046(e,t,n){"use strict";n.d(t,{A:()=>l});var r=n(96369);function o(e,t){var n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,l=[],s=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return l}}var a=n(27800),i=n(76562);function l(e,t){return(0,r.A)(e)||o(e,t)||(0,a.A)(e,t)||(0,i.A)()}},87695(e,t,n){"use strict";n.d(t,{A:()=>l});var r=n(96369),o=n(73893),a=n(27800),i=n(76562);function l(e){return(0,r.A)(e)||(0,o.A)(e)||(0,a.A)(e)||(0,i.A)()}},83098(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(43145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}var a=n(73893),i=n(27800);function l(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return o(e)||(0,a.A)(e)||(0,i.A)(e)||l()}},96192(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(82284);function o(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=(0,r.A)(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function a(e){var t=o(e,"string");return"symbol"==(0,r.A)(t)?t:t+""}},82284(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}n.d(t,{A:()=>r})},27800(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(43145);function o(e,t){if(e){if("string"==typeof e)return(0,r.A)(e,t);var n=({}).toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.A)(e,t):void 0}}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(39139),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1609|2625|3367|4420|5314|6375|9872)$/.test(e)},rootOutputDir:"../../"})})(),(()=>{var e="function"==typeof Symbol,t=e?Symbol("rspack queues"):"__rspack_queues",n=__webpack_require__.aE=e?Symbol("rspack exports"):"__webpack_exports__",r=e?Symbol("rspack error"):"__rspack_error",o=e?Symbol("rspack done"):"__rspack_done",a=__webpack_require__.zS=e?Symbol("rspack defer"):"__rspack_defer",i=e=>{e&&e.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))},l=e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(!e[t]&&e[a]){var l=e[a];if(!l.some(e=>{var t=__webpack_module_cache__[e];return!t||!1===t[o]}))return e;var s=e;e={then(e){Promise.all(l.map(__webpack_require__)).then(()=>e(s))}}}if(e[t])return e;if(e.then){var c=[];c.d=0,e.then(e=>{u[n]=e,i(c)},e=>{u[r]=e,i(c)});var u={};return u[a]=!1,u[t]=e=>e(c),u}}var d={};return d[t]=()=>{},d[n]=e,d});__webpack_require__.a=(e,s,c)=>{c&&((u=[]).d=-1);var u,d,f,p,m=new Set,g=e.exports,h=new Promise((e,t)=>{p=t,f=e});h[n]=g,h[t]=e=>{u&&e(u),m.forEach(e),h.catch(()=>{})},e.exports=h,s(e=>{d=l(e);var o,i=()=>d.map(e=>{if(e[a])return e;if(e[r])throw e[r];return e[n]}),s=new Promise(e=>{(o=()=>e(i)).r=0;var n=e=>e!==u&&!m.has(e)&&(m.add(e),e&&!e.d&&(o.r++,e.push(o)));d.map(e=>e[a]||e[t](n))});return o.r?s:i()},e=>(e?p(h[r]=e):f(g),i(u),h[o]=!0)),u&&u.d<0&&(u.d=0)}})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(n,r){if(1&r&&(n=this(n)),8&r||"object"==typeof n&&n&&(4&r&&n.__esModule||16&r&&"function"==typeof n.then))return n;var o=Object.create(null);__webpack_require__.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&r&&n;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>n[e]});return a.default=()=>n,__webpack_require__.d(o,a),o}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[]))})(),(()=>{__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e)})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+(({1064:"__federation_expose_modules__auth",1090:"__federation_expose_api__settings",1143:"__federation_expose_api__role",1209:"__federation_expose_modules__perspectives",1225:"__federation_expose_modules__gdpr_data_extractor",1327:"__federation_expose_modules__reports",1367:"__federation_expose_api__reports",1525:"__federation_expose_default_export",1579:"__federation_expose_api__asset",1590:"__federation_expose_api__thumbnails",1600:"__federation_expose_modules__widget_editor",1933:"__federation_expose_api__translations",1996:"__federation_expose_utils",2049:"__federation_expose_api__documents",2108:"__federation_expose__internal___mf_bootstrap",2421:"__federation_expose_modules__user",2489:"__federation_expose_api__data_object",2932:"__federation_expose_api__perspectives",3128:"__federation_expose_api__user",354:"lib-axios",3730:"__federation_expose_api__schedule",3939:"__federation_expose_api__version",3971:"__federation_expose_modules__document",4462:"__federation_expose_modules__translations",4878:"__federation_expose_api__tags",5579:"__federation_expose_modules__notifications",5992:"__federation_expose_modules__global_message_bus",6185:"__federation_expose_api",6193:"__federation_expose_modules__field_definitions",6530:"__federation_expose_api__dependencies",6706:"__federation_expose_api__metadata",6735:"__federation_expose_modules__icon_library",70:"__federation_expose_api__workflow",7058:"__federation_expose_api__custom_metadata",7890:"__federation_expose_api__properties",7951:"__federation_expose_api__class_definition",8234:"__federation_expose_app",8311:"__federation_expose_modules__rule_builder",8430:"__federation_expose_modules__data_object",8438:"__federation_expose_api__elements",9615:"__federation_expose__internal___mf_bootstrap_document_editor_iframe",9749:"__federation_expose_modules__application_logger",9800:"__federation_expose_modules__asset",9969:"__federation_expose_modules__class_definitions"})[e]||e)+"."+({1003:"469c1fdb",101:"1b8f34f4",1010:"af98507b",1019:"2c88f074",103:"3717b318",1064:"65d96793",1065:"5cc838a2",1090:"2c556240",1102:"01cefe38",1143:"89b3367b",1153:"7cbdaf39",1180:"c2738508",1207:"ea0577c0",1209:"ea16786c",1225:"48b05d8a",1265:"d95e4129",1270:"4a7146b0",129:"24017dc3",1303:"f89c138e",1327:"f35bbd3d",1367:"50fc5ca0",141:"a305e3e9",1428:"b3183de2",1438:"67cdf5fd",145:"7d13ff5f",1472:"e37f95af",1525:"1b3f6d28",1553:"630acce1",1567:"debd0837",157:"8615578d",1579:"9dee10b3",1590:"a167200d",1600:"4cd4867f",1612:"54f63d68",1635:"18d9dd0b",1643:"b41a359d",1668:"120c2fdd",1688:"4626095c",1693:"48c272d7",1708:"de5f09b0",172:"cb77a99e",1721:"fdc19114",1742:"9207983d",175:"bd0ef661",1750:"19b70383",1762:"e6454223",1797:"bc29fd89",1814:"16619920",1834:"3ea07c1f",1851:"1528a0c7",1875:"048f7c1f",1933:"7a8790cb",198:"96c8f5d3",1996:"526f5bda",2015:"28b3f667",2016:"2efa4d68",2049:"8a5c66b8",206:"0227085b",2073:"0f14210c",2098:"4b97bea3",2103:"0449b778",2108:"7441f43a",2117:"da809f8e",2121:"8117f390",2162:"e42c8ad6",2168:"3b00277e",2179:"7408679f",2188:"72e65c95",2189:"e296ffec",2202:"bd928b8b",2204:"875d7d36",2237:"e23d4ce3",2267:"ad4d61d8",2272:"b29c0e6c",2287:"6a200c82",2290:"68fd6bdf",235:"97e84a52",2373:"11c5538c",2380:"d6bc17ef",2399:"305db162",2410:"4b5baf39",2421:"1df0f8e6",2427:"2406cc45",243:"098f10af",2463:"da2cfb76",2464:"8deaa84f",2472:"f40725db",2489:"160792b1",2492:"cc8cd85c",25:"36d6a68b",2503:"1efd0e77",254:"7abe0c11",2545:"dcb1e512",2597:"969d51fc",261:"0e13114e",2619:"543b4f03",2638:"d949ec28",2709:"809fe258",2739:"84cc2ba2",2775:"0d98465a",2793:"a25ad8de",281:"d912a74e",2841:"e1a4734b",2843:"e1d9c7bc",2845:"d2c82bf6",2893:"99328fa1",2932:"936945cf",2980:"d885aa98",3:"470a371d",3009:"be7deeee",3055:"b0f87225",3062:"323c4508",3066:"31b992e1",3068:"7b747a5f",3125:"ce787981",3128:"0c42ebe1",3144:"edcf7515",3166:"32d06e35",3197:"ebf93fd4",3209:"6722a080",3229:"97f4b7e5",3240:"f86bdd91",3330:"c830e580",334:"67e5210f",3379:"f0e413e5",3392:"42b07d09",3396:"4cc8f904",3406:"86351b7b",35:"d81ad3e5",3528:"60fd342c",354:"f458d745",3548:"133939a2",3584:"4ad9a196",365:"e655295f",3653:"7c1ffecd",3657:"cf916f7e",3686:"6b54036a",3730:"9ccfa450",3748:"7adfb9d1",3750:"921e74ed",3756:"7a4c5e02",380:"0cdf7b27",3836:"6a4b9fd9",3838:"4b01fffb",3839:"800430ba",3846:"e0ec9537",385:"d9b4f6a1",3902:"5873a27f",3935:"0990f5be",3939:"7220c1e1",3941:"9ceed713",3971:"5167229e",4028:"d910fe41",4034:"ebc0a070",4062:"57e047db",4083:"82e017ef",4084:"a80198a1",4120:"afd6653a",4154:"2617dd8b",4160:"1311e5ef",4195:"4fb2f2ba",4225:"61de23fc",4241:"f5777d74",4319:"ca014781",4329:"4e8ef4cc",4346:"867849d4",4426:"20bcaf42",446:"2523c50a",4462:"e3016a50",45:"e217286d",4530:"72904f19",4596:"13ba10c0",4603:"86da83a0",4680:"66eae797",4693:"552164ec",4698:"6d0eba4e",4702:"508d41d1",4715:"3e1202d6",4718:"b15efaaf",4771:"c5e9b1dd",4799:"a225248d",4858:"820711a5",4871:"b42a8935",4878:"f737e834",489:"693d11de",5084:"877dbf80",5114:"ebf1bfcb",5123:"9f567207",5154:"a94bb137",5168:"fdbd2cef",5177:"a255dad2",5186:"deb009c0",521:"cb98200a",5277:"97ce57aa",5331:"bbbb73f8",5412:"53c2e3aa",5431:"0eb962a2",5454:"a8bca7d3",5545:"cde240bd",5561:"b76a78d2",5579:"212009d9",5690:"782c3ae6",5696:"ab2274ca",5712:"ffe8bf9d",5731:"15301fd9",5753:"371bde44",5804:"1be86954",582:"4f5fd381",5841:"812278cf",5904:"327a2f83",5976:"be3da2cf",5990:"3c9d8c23",5992:"bfbd3798",6052:"a270b069",6135:"d371dcf8",616:"2ffecb95",6185:"fbe2c7c1",6186:"9fa7f507",619:"59f8e380",6193:"7f785f6f",6229:"ec077e40",6255:"2e48b884",6270:"f9ff3abd",6272:"f2f56a80",6313:"e76747fb",6335:"0ad9b174",6411:"ae78ff82",6424:"ca220edd",6458:"b5282ed0",6464:"b6d25cb6",6472:"df513d2d",6484:"2519155d",6530:"a9508cf9",6550:"09a63ebf",6572:"510ff641",6579:"cda7f334",658:"dc677028",660:"5242d83f",6619:"93b9f2c4",6649:"2b614ce3",6695:"087ae8ff",6706:"e9f2a028",6735:"481bed67",6743:"851be9cb",6759:"cf6c0abd",6766:"c76f91a5",6815:"80ba0d22",6819:"424ecfc4",6823:"dc627341",687:"ae382b4d",6911:"d02db343",692:"ac93e4e2",6967:"4d971194",6984:"af4507e3",70:"ad14d72f",7006:"928d8671",7041:"230cf6a4",705:"fad963d9",7053:"63c4c0a6",7058:"10d73b97",706:"01d44a78",7073:"fb6439a4",7161:"f24a612f",7171:"8731ac06",7210:"9113a386",7250:"364fbcad",7264:"fc5a523f",7334:"be0321bf",7396:"da4c50f4",741:"734ea878",7419:"b1cfaeac",7440:"04b86278",7442:"636a9ffa",7463:"e177b088",749:"7c748f48",7524:"73ba348d",7527:"e64ccbd1",7597:"42dde6f3",7679:"a6829c17",7680:"2cb113f6",7789:"50873df9",7793:"d6bce01b",7799:"a37e9eaf",7821:"b1a2dc53",7828:"812c672f",7890:"314180ef",7935:"ba8eb0b4",7939:"af086f08",7951:"6192771c",7960:"9d4a54c0",7994:"c600e1ce",803:"52d29752",8031:"b368b0bf",8050:"502aa521",8051:"9c74ecaf",8146:"e69de8bc",8195:"c8bb6771",8222:"acb59083",8231:"0a773046",8234:"9a31719b",8272:"64fe9f7a",830:"dda8066f",8311:"f77a657a",8372:"d6f25582",8403:"58bbddc4",8430:"8f1ebdf8",8437:"864e7b29",8438:"5babca9f",8467:"f7bd216d",8473:"25a53f08",8477:"0c91210d",8479:"55f72fe0",85:"3d7bb7a3",8520:"3f467428",8536:"df877041",854:"95bad760",8547:"3355910d",8557:"e526282d",8567:"2e09cb4e",8574:"8c240d77",8609:"b6039081",8635:"29404620",8645:"7a1aa6c0",8658:"55f9d53e",8707:"80dfb17f",8779:"bdcddd0a",8800:"1154e54c",8832:"e1a7ddbf",8835:"d50a0005",8850:"1ef4da0e",8910:"7686ba2c",8932:"e8090749",8971:"cb9861fc",9007:"f28d0779",9030:"03e4d789",9052:"67bd17cd",9076:"7a2b7e9a",9114:"7d0c9ca9",9204:"8f0c9c3a",9322:"81e49a3d",9336:"9a425d8d",935:"4dfccbd9",9357:"709b2aae",9403:"9f36612d",9454:"03f9cbf9",9471:"3511726f",9536:"9b33a533",9603:"dcad1930",9607:"214ebd42",9615:"ce47134e",9691:"a7a34297",9749:"fc080c19",9765:"07ec2c12",9767:"926906cb",9800:"51999de9",9801:"09cd7cd0",9880:"64c12943",9969:"009acac4"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>"static/css/async/"+(({2108:"__federation_expose__internal___mf_bootstrap",9615:"__federation_expose__internal___mf_bootstrap_document_editor_iframe"})[e]||e)+"."+({2108:"d6fddc56",6411:"6325817d",9615:"d6fddc56"})[e]+".css"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle:";__webpack_require__.l=function(n,r,o,a){if(e[n])return void e[n].push(r);if(void 0!==o)for(var i,l,s=document.getElementsByTagName("script"),c=0;c{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@ant-design/colors",version:"7.2.1",factory:()=>()=>__webpack_require__(81463),eager:1,singleton:1,requiredVersion:"^7.2.1"},{name:"@codemirror/lang-css",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168)),eager:0,requiredVersion:"^6.3.0"},{name:"@codemirror/lang-html",version:"6.4.11",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618)),eager:0,requiredVersion:"^6.4.9"},{name:"@codemirror/lang-javascript",version:"6.2.5",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442)),eager:0,requiredVersion:"^6.2.2"},{name:"@codemirror/lang-json",version:"6.0.2",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("8222")]).then(()=>()=>__webpack_require__(88477)),eager:0,requiredVersion:"^6.0.1"},{name:"@codemirror/lang-markdown",version:"6.5.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("6550"),__webpack_require__.e("1609")]).then(()=>()=>__webpack_require__(32053)),eager:0,requiredVersion:"^6.3.1"},{name:"@codemirror/lang-sql",version:"6.10.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075)),eager:0,requiredVersion:"^6.8.0"},{name:"@codemirror/lang-xml",version:"6.1.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973)),eager:0,requiredVersion:"^6.1.0"},{name:"@codemirror/lang-yaml",version:"6.1.3",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027)),eager:0,requiredVersion:"^6.1.2"},{name:"@dnd-kit/core",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("7789"),__webpack_require__.e("6464")]).then(()=>()=>__webpack_require__(98668)),eager:0,requiredVersion:"^6.1.0"},{name:"@dnd-kit/modifiers",version:"7.0.0",factory:()=>__webpack_require__.e("9204").then(()=>()=>__webpack_require__(18831)),eager:0,requiredVersion:"^7.0.0"},{name:"@dnd-kit/sortable",version:"8.0.0",factory:()=>Promise.all([__webpack_require__.e("9880"),__webpack_require__.e("6375"),__webpack_require__.e("4083")]).then(()=>()=>__webpack_require__(43627)),eager:0,requiredVersion:"^8.0.0"},{name:"@reduxjs/toolkit",version:"2.11.2",factory:()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("7597"),__webpack_require__.e("9872")]).then(()=>()=>__webpack_require__(62348)),eager:0,requiredVersion:"^2.3.0"},{name:"@tanstack/react-table",version:"8.21.3",factory:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755)),eager:0,requiredVersion:"^8.20.5"},{name:"@tanstack/react-virtual",version:"3.13.23",factory:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166)),eager:0,requiredVersion:"^3.13.12"},{name:"antd-style",version:"3.7.1",factory:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314"),__webpack_require__.e("8473")]).then(()=>()=>__webpack_require__(6286)),eager:0,requiredVersion:"3.7.x"},{name:"antd",version:"5.22.7",factory:()=>()=>__webpack_require__(64530),eager:1,singleton:1,requiredVersion:"5.22.x"},{name:"classnames",version:"2.5.1",factory:()=>()=>__webpack_require__(46942),eager:1,singleton:1,requiredVersion:"^2.5.1"},{name:"dompurify",version:"3.3.3",factory:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418)),eager:0,requiredVersion:"^3.2.1"},{name:"flexlayout-react",version:"0.7.15",factory:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310)),eager:0,requiredVersion:"^0.7.15"},{name:"framer-motion",version:"11.18.2",factory:()=>Promise.all([__webpack_require__.e("2463"),__webpack_require__.e("854")]).then(()=>()=>__webpack_require__(12306)),eager:0,requiredVersion:"^11.11.17"},{name:"i18next",version:"23.16.8",factory:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635)),eager:0,requiredVersion:"^23.16.8"},{name:"immer",version:"11.1.4",factory:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064)),eager:0,requiredVersion:"^10.1.1"},{name:"js-yaml",version:"4.1.1",factory:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382)),eager:0,requiredVersion:"^4.1.1"},{name:"leaflet-draw",version:"1.0.4",factory:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269)),eager:0,requiredVersion:"^1.0.4"},{name:"leaflet",version:"1.9.4",factory:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481)),eager:0,requiredVersion:"^1.9.4"},{name:"lodash",version:"4.17.23",factory:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543)),eager:0,requiredVersion:"^4.17.21"},{name:"react-compiler-runtime",version:"19.1.0-rc.3",factory:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728)),eager:0,requiredVersion:"^19.1.0-rc.2"},{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(40961),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"react-draggable",version:"4.5.0",factory:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794)),eager:0,requiredVersion:"^4.4.6"},{name:"react-i18next",version:"14.1.3",factory:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054)),eager:0,requiredVersion:"^14.1.3"},{name:"react-redux",version:"9.2.0",factory:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468)),eager:0,requiredVersion:"^9.1.2"},{name:"react-router-dom",version:"6.30.3",factory:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204)),eager:0,requiredVersion:"^6.28.0"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(96540),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"reflect-metadata",version:"0.2.2",factory:()=>()=>__webpack_require__(38630),eager:1,singleton:1,requiredVersion:"*"},{name:"uuid",version:"10.0.0",factory:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513)),eager:0,requiredVersion:"^10.0.0"}]},uniqueName:"pimcore_studio_ui_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{1609:["11264"],2625:["35864"],9872:["91251"],6185:["88605","62284"],6375:["41834"],3902:["81427","60142","13815","21429","44241"],5314:["86569"],8234:["30922","37821","40119","94709","53797","6492","52725","70982","5339","30831","50484","76394","78535","83015","53763","89507","96314","88754"],6240:["8651","25765","47867","16124"],3367:["23080","3319"],4420:["46680","62446"]},moduleIdToConsumeDataMapping:{16124:{shareScope:"default",shareKey:"@ant-design/colors",import:"@ant-design/colors",requiredVersion:"^7.2.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(81463)},8651:{shareScope:"default",shareKey:"classnames",import:"classnames",requiredVersion:"^2.5.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(46942)},60142:{shareScope:"default",shareKey:"i18next",import:"i18next",requiredVersion:"^23.16.8",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635))},86569:{shareScope:"default",shareKey:"antd",import:"antd",requiredVersion:"5.22.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(64530)},5339:{shareScope:"default",shareKey:"@tanstack/react-virtual",import:"@tanstack/react-virtual",requiredVersion:"^3.13.12",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166))},83015:{shareScope:"default",shareKey:"flexlayout-react",import:"flexlayout-react",requiredVersion:"^0.7.15",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310))},96314:{shareScope:"default",shareKey:"@codemirror/lang-yaml",import:"@codemirror/lang-yaml",requiredVersion:"^6.1.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027))},62284:{shareScope:"default",shareKey:"react-redux",import:"react-redux",requiredVersion:"^9.1.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468))},44241:{shareScope:"default",shareKey:"antd-style",import:"antd-style",requiredVersion:"3.7.x",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314")]).then(()=>()=>__webpack_require__(6286))},47867:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(96540)},81427:{shareScope:"default",shareKey:"dompurify",import:"dompurify",requiredVersion:"^3.2.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418))},50484:{shareScope:"default",shareKey:"react-compiler-runtime",import:"react-compiler-runtime",requiredVersion:"^19.1.0-rc.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728))},30922:{shareScope:"default",shareKey:"@codemirror/lang-xml",import:"@codemirror/lang-xml",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973))},23080:{shareScope:"default",shareKey:"@codemirror/lang-css",import:"@codemirror/lang-css",requiredVersion:"^6.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168))},41834:{shareScope:"default",shareKey:"@dnd-kit/core",import:"@dnd-kit/core",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7789").then(()=>()=>__webpack_require__(98668))},37821:{shareScope:"default",shareKey:"leaflet-draw",import:"leaflet-draw",requiredVersion:"^1.0.4",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269))},6492:{shareScope:"default",shareKey:"@uiw/react-codemirror",import:"@uiw/react-codemirror",requiredVersion:"^4.23.6",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(65846)},3319:{shareScope:"default",shareKey:"@codemirror/lang-javascript",import:"@codemirror/lang-javascript",requiredVersion:"^6.2.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442))},11264:{shareScope:"default",shareKey:"@codemirror/lang-html",import:"@codemirror/lang-html",requiredVersion:"^6.4.9",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618))},76394:{shareScope:"default",shareKey:"@codemirror/lang-json",import:"@codemirror/lang-json",requiredVersion:"^6.0.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5841")]).then(()=>()=>__webpack_require__(88477))},89507:{shareScope:"default",shareKey:"@tanstack/react-table",import:"@tanstack/react-table",requiredVersion:"^8.20.5",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755))},94709:{shareScope:"default",shareKey:"@codemirror/lang-markdown",import:"@codemirror/lang-markdown",requiredVersion:"^6.3.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6550").then(()=>()=>__webpack_require__(32053))},53763:{shareScope:"default",shareKey:"leaflet",import:"leaflet",requiredVersion:"^1.9.4",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481))},88754:{shareScope:"default",shareKey:"@dnd-kit/sortable",import:"@dnd-kit/sortable",requiredVersion:"^8.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("9880").then(()=>()=>__webpack_require__(43627))},25765:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(40961)},78535:{shareScope:"default",shareKey:"framer-motion",import:"framer-motion",requiredVersion:"^11.11.17",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("2463").then(()=>()=>__webpack_require__(12306))},62446:{shareScope:"default",shareKey:"inversify",import:"inversify",requiredVersion:"6.1.x",strictVersion:!0,singleton:!1,eager:!0,fallback:()=>()=>__webpack_require__(67502)},70982:{shareScope:"default",shareKey:"react-draggable",import:"react-draggable",requiredVersion:"^4.4.6",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794))},53797:{shareScope:"default",shareKey:"js-yaml",import:"js-yaml",requiredVersion:"^4.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382))},46680:{shareScope:"default",shareKey:"reflect-metadata",import:"reflect-metadata",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(38630)},21429:{shareScope:"default",shareKey:"react-i18next",import:"react-i18next",requiredVersion:"^14.1.3",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054))},13815:{shareScope:"default",shareKey:"uuid",import:"uuid",requiredVersion:"^10.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513))},30831:{shareScope:"default",shareKey:"@codemirror/lang-sql",import:"@codemirror/lang-sql",requiredVersion:"^6.8.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075))},35864:{shareScope:"default",shareKey:"lodash",import:"lodash",requiredVersion:"^4.17.21",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543))},88605:{shareScope:"default",shareKey:"@reduxjs/toolkit",import:"@reduxjs/toolkit",requiredVersion:"^2.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7597").then(()=>()=>__webpack_require__(62348))},40119:{shareScope:"default",shareKey:"@dnd-kit/modifiers",import:"@dnd-kit/modifiers",requiredVersion:"^7.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6823").then(()=>()=>__webpack_require__(18831))},52725:{shareScope:"default",shareKey:"react-router-dom",import:"react-router-dom",requiredVersion:"^6.28.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204))},91251:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:"^10.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064))}},initialConsumes:["8651","25765","47867","16124"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{if("u">typeof document){var e=function(e,t,n,r,o){var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",__webpack_require__.nc&&(a.nonce=__webpack_require__.nc),a.href=t;var i=function(n){if(a.onerror=a.onload=null,"load"===n.type)r();else{var i=n&&("load"===n.type?"missing":n.type),l=n&&n.target&&n.target.href||t,s=Error("Loading CSS chunk "+e+" failed.\\n("+l+")");s.code="CSS_CHUNK_LOAD_FAILED",s.type=i,s.request=l,a.parentNode&&a.parentNode.removeChild(a),o(s)}};return a.onerror=a.onload=i,n?n.parentNode.insertBefore(a,n.nextSibling):document.head.appendChild(a),a},t=function(e,t){for(var n=document.getElementsByTagName("link"),r=0;r{__webpack_require__.initializeExposesData={moduleMap:{".":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("1525")]).then(()=>()=>__webpack_require__(63516)),"./_internal_/mf-bootstrap":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("6193"),__webpack_require__.e("4596"),__webpack_require__.e("1693"),__webpack_require__.e("2843"),__webpack_require__.e("2545"),__webpack_require__.e("616"),__webpack_require__.e("4530"),__webpack_require__.e("2108")]).then(()=>()=>__webpack_require__(55831)),"./_internal_/mf-bootstrap-document-editor-iframe":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("6193"),__webpack_require__.e("4596"),__webpack_require__.e("1693"),__webpack_require__.e("2843"),__webpack_require__.e("2545"),__webpack_require__.e("616"),__webpack_require__.e("9615")]).then(()=>()=>__webpack_require__(96232)),"./components":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(43588)),"./app":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(46881)),"./api":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185")]).then(()=>()=>__webpack_require__(53073)),"./api/asset":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("175"),__webpack_require__.e("1579")]).then(()=>()=>__webpack_require__(35449)),"./api/class-definition":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2188"),__webpack_require__.e("7951")]).then(()=>()=>__webpack_require__(30045)),"./api/custom-metadata":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("7058")]).then(()=>()=>__webpack_require__(99574)),"./api/data-object":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2489")]).then(()=>()=>__webpack_require__(58077)),"./api/dependencies":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("6530")]).then(()=>()=>__webpack_require__(33594)),"./api/documents":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("2049")]).then(()=>()=>__webpack_require__(25435)),"./api/elements":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("8438")]).then(()=>()=>__webpack_require__(85766)),"./api/metadata":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("6706")]).then(()=>()=>__webpack_require__(57338)),"./api/perspectives":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2932")]).then(()=>()=>__webpack_require__(72324)),"./api/properties":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("7890")]).then(()=>()=>__webpack_require__(22710)),"./api/role":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1143")]).then(()=>()=>__webpack_require__(65791)),"./api/schedule":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3730")]).then(()=>()=>__webpack_require__(57382)),"./api/settings":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1090")]).then(()=>()=>__webpack_require__(20498)),"./api/tags":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("4878")]).then(()=>()=>__webpack_require__(47149)),"./api/thumbnails":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1590")]).then(()=>()=>__webpack_require__(43126)),"./api/translations":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1933")]).then(()=>()=>__webpack_require__(47123)),"./api/user":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3128")]).then(()=>()=>__webpack_require__(99076)),"./api/version":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3939")]).then(()=>()=>__webpack_require__(437)),"./api/workflow":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("70")]).then(()=>()=>__webpack_require__(38962)),"./api/reports":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1367")]).then(()=>()=>__webpack_require__(39314)),"./modules/app":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(18613)),"./modules/application-logger":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("2843"),__webpack_require__.e("9749")]).then(()=>()=>__webpack_require__(54997)),"./modules/asset":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("2545"),__webpack_require__.e("9800")]).then(()=>()=>__webpack_require__(36344)),"./modules/class-definitions":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2188"),__webpack_require__.e("9969")]).then(()=>()=>__webpack_require__(2647)),"./modules/data-object":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430")]).then(()=>()=>__webpack_require__(33487)),"./modules/document":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("1693"),__webpack_require__.e("3971")]).then(()=>()=>__webpack_require__(59368)),"./modules/element":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(23945)),"./modules/field-definitions":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("6193")]).then(()=>()=>__webpack_require__(38939)),"./modules/auth":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1064")]).then(()=>()=>__webpack_require__(69676)),"./modules/icon-library":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("4420"),__webpack_require__.e("6735")]).then(()=>()=>__webpack_require__(61311)),"./modules/reports":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("4596"),__webpack_require__.e("1327")]).then(()=>()=>__webpack_require__(30727)),"./modules/rule-builder":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("8311")]).then(()=>()=>__webpack_require__(75149)),"./modules/translations":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4462")]).then(()=>()=>__webpack_require__(27964)),"./modules/user":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("2421")]).then(()=>()=>__webpack_require__(95451)),"./modules/widget-editor":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1600")]).then(()=>()=>__webpack_require__(85286)),"./modules/widget-manager":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(26542)),"./modules/wysiwyg":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(90801)),"./modules/notifications":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("5579")]).then(()=>()=>__webpack_require__(21064)),"./modules/perspectives":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1209")]).then(()=>()=>__webpack_require__(40271)),"./modules/global-message-bus":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("7442"),__webpack_require__.e("5992")]).then(()=>()=>__webpack_require__(8026)),"./modules/gdpr-data-extractor":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1225")]).then(()=>()=>__webpack_require__(1953)),"./utils":()=>Promise.all([__webpack_require__.e("2625"),__webpack_require__.e("3902"),__webpack_require__.e("1996")]).then(()=>()=>__webpack_require__(25085))},shareScope:"default"},__webpack_require__.getContainer=__webpack_require__.getContainer||function(){throw Error("should have __webpack_require__.getContainer")},__webpack_require__.initContainer=__webpack_require__.initContainer||function(){throw Error("should have __webpack_require__.initContainer")}})(),(()=>{var e={6240:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(1609|2625|3367|4420|5314|6375|9872)$/.test(t))e[t]=0;else{var o=new Promise((n,o)=>r=e[t]=[n,o]);n.push(r[2]=o);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),l=function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,r[1](i)}};__webpack_require__.l(a,l,"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[a,i,l]=n,s=0;if(a.some(t=>0!==e[t])){for(r in i)__webpack_require__.o(i,r)&&(__webpack_require__.m[r]=i[r]);l&&l(__webpack_require__)}for(t&&t(n);s{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(56491)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x();pimcore_studio_ui_bundle=__webpack_exports__})();
\ No newline at end of file
+while loading "${r[1]}" from ${r[2]}`),l.m[e]=()=>{throw t},r.p=0},d=(e,t,o,a,i,l)=>{try{let c=e(t,o);if(!c||!c.then)return i(c,a,l);{let e=c.then(e=>i(e,a),s);if(!l)return e;n.push(r.p=e)}}catch(e){s(e)}},f=(e,t,n)=>e?d(l.I,r[0],0,e,p,n):s();var p=(e,n,o)=>d(n.get,r[1],t,0,m,o),m=t=>{r.p=1,l.m[e]=e=>{e.exports=t()}};let g=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+r[1].slice(1),t=l.federation.instance,n=()=>l.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(r[0])?r[0]:[r[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>n())}return n()}catch(e){s(e)}};1===a.length&&o.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(g,r[2],0,0,m,1):d(l,r[2],0,0,f,1)})}},55216(e,t){function n(e){var t,n,r,o,a;let{webpackRequire:i,idToExternalAndNameMapping:l={},idToRemoteMap:s={},chunkMapping:c={}}=e,{remotesLoadingData:u}=i,d=null==(r=i.federation)||null==(n=r.bundlerRuntimeOptions)||null==(t=n.remotes)?void 0:t.remoteInfos;if(!u||u._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=u;if(f&&p){for(let[e,t]of Object.entries(p))if(l[e]||(l[e]=[t.shareScope,t.name,t.externalModuleId]),!s[e]&&d[t.remoteName]){let n=d[t.remoteName];(o=s)[a=e]||(o[a]=[]),n.forEach(t=>{s[e].includes(t)||s[e].push(t)})}c&&Object.entries(f).forEach(e=>{let[t,n]=e;c[t]||(c[t]=[]),n.forEach(e=>{c[t].includes(e)||c[t].push(e)})}),u._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:n}=e,{consumesLoadingData:r,initializeSharingData:o}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:l}=t.federation;if(r&&!r._updated){let{moduleIdToConsumeDataMapping:o={},initialConsumes:s=[],chunkMapping:c={}}=r;if(Object.entries(o).forEach(e=>{let[r,o]=e;n[r]||(n[r]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:o.shareKey,factory:o.fallback,webpackRequire:t,libraryType:l}):o.fallback,treeShakingGetter:a?o.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:o.requiredVersion,strictVersion:o.strictVersion,singleton:o.singleton,eager:o.eager,layer:o.layer},scope:Array.isArray(o.shareScope)?o.shareScope:[o.shareScope||"default"],treeShaking:a?{get:o.fallback,mode:o.treeShakingMode}:void 0},shareKey:o.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;s.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(c).forEach(e=>{let[n,r]=e;t[n]||(t[n]=[]),r.forEach(e=>{t[n].includes(e)||t[n].push(e)})})}r._updated=1}if(o&&!o._updated){let{federation:e}=t;if(!e.instance||!o.scopeToSharingDataMapping)return;let n={};for(let[e,t]of Object.entries(o.scopeToSharingDataMapping))for(let r of t)if("object"==typeof r&&null!==r){let{name:t,version:o,factory:a,eager:i,singleton:l,requiredVersion:s,strictVersion:c}=r,u={requiredVersion:`^${o}`},d=function(e){return void 0!==e};d(l)&&(u.singleton=l),d(s)&&(u.requiredVersion=s),d(i)&&(u.eager=i),d(c)&&(u.strictVersion=c);let f={version:o,scope:[e],shareConfig:u,get:a};n[t]?n[t].push(f):n[t]=[f]}e.instance.registerShared(n),o._updated=1}},t.updateRemoteOptions=n},56491(e,t,n){"use strict";var r,o,a,i,l,s,c,u,d,f,p,m,g=n(66927),h=n.n(g);let v=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:n}=e;return t(n)}),b={},y="pimcore_studio_ui_bundle",x="version-first";if((n.initializeSharingData||n.initializeExposesData)&&n.federation){let e=(e,t,n)=>{e&&e[t]&&(e[t]=n)},t=(e,t,n)=>{var r,o,a,i,l,s;let c=n();Array.isArray(c)?(null!=(a=(r=e)[o=t])||(r[o]=[]),e[t].push(...c)):"object"==typeof c&&null!==c&&(null!=(s=(i=e)[l=t])||(i[l]={}),Object.assign(e[t],c))},g=(e,t,n)=>{var r,o,a;null!=(a=(r=e)[o=t])||(r[o]=n())},A=null!=(r=null==(s=n.remotesLoadingData)?void 0:s.chunkMapping)?r:{},$=null!=(o=null==(c=n.remotesLoadingData)?void 0:c.moduleIdToRemoteDataMapping)?o:{},w=null!=(a=null==(u=n.initializeSharingData)?void 0:u.scopeToSharingDataMapping)?a:{},S=null!=(i=null==(d=n.consumesLoadingData)?void 0:d.chunkMapping)?i:{},E=null!=(l=null==(f=n.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?l:{},k={},C=[],O={},M=null==(p=n.initializeExposesData)?void 0:p.shareScope;for(let e in h())n.federation[e]=h()[e];g(n.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,n]of Object.entries(E))e[t]={getter:n.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager},scope:[n.shareScope]},shareKey:n.shareKey};return e}),g(n.federation,"initOptions",()=>({})),g(n.federation.initOptions,"name",()=>y),g(n.federation.initOptions,"shareStrategy",()=>x),g(n.federation.initOptions,"shared",()=>{let e={};for(let[t,n]of Object.entries(w))for(let r of n)if("object"==typeof r&&null!==r){let{name:n,version:o,factory:a,eager:i,singleton:l,requiredVersion:s,strictVersion:c}=r,u={},d=function(e){return void 0!==e};d(l)&&(u.singleton=l),d(s)&&(u.requiredVersion=s),d(i)&&(u.eager=i),d(c)&&(u.strictVersion=c);let f={version:o,scope:[t],shareConfig:u,get:a};e[n]?e[n].push(f):e[n]=[f]}return e}),t(n.federation.initOptions,"remotes",()=>Object.values(b).flat().filter(e=>"script"===e.externalType)),t(n.federation.initOptions,"plugins",()=>v),g(n.federation,"bundlerRuntimeOptions",()=>({})),g(n.federation.bundlerRuntimeOptions,"remotes",()=>({})),g(n.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>A),g(n.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>b),g(n.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,n]of Object.entries($))e[t]=[n.shareScope,n.name,n.externalModuleId,n.remoteName];return e}),g(n.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>n),t(n.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,n]of Object.entries($)){let r=b[n.remoteName];r&&(e[t]=r)}return e}),e(n,"S",n.federation.bundlerRuntime.S),n.federation.attachShareScopeMap&&n.federation.attachShareScopeMap(n),e(n.f,"remotes",(e,t)=>n.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:A,idToExternalAndNameMapping:n.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:n.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:n})),e(n.f,"consumes",(e,t)=>n.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:S,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping,installedModules:k,webpackRequire:n})),e(n,"I",(e,t)=>n.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:C,initTokens:O,webpackRequire:n})),e(n,"initContainer",(e,t,r)=>n.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:M,webpackRequire:n})),e(n,"getContainer",(e,t)=>{var r=n.initializeExposesData.moduleMap;return n.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),n.R=void 0,t}),n.federation.instance=n.federation.runtime.init(n.federation.initOptions),(null==(m=n.consumesLoadingData)?void 0:m.initialConsumes)&&n.federation.bundlerRuntime.installInitialConsumes({webpackRequire:n,installedModules:k,initialConsumes:n.consumesLoadingData.initialConsumes,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping})}},39139(e,t,n){"use strict";n.d(t,{get:()=>n.getContainer,init:()=>n.initContainer})},46942(e){!function(){"use strict";var t={}.hasOwnProperty;function n(){for(var e="",t=0;t=0;--n){var r=(0,e[n])(t);if(!C(r)&&!O(r)){if(!D(r))throw TypeError();t=r}}return t}function b(e,t,n,r){for(var o=e.length-1;o>=0;--o){var a=(0,e[o])(t,n,r);if(!C(a)&&!O(a)){if(!N(a))throw TypeError();r=a}}return r}function y(e,t,n){if(x(e,t,n))return!0;var r=K(t);return!O(r)&&y(e,r,n)}function x(e,t,n){var r=Q(t,n,!1);return!C(r)&&j(r.OrdinaryHasOwnMetadata(e,t,n))}function A(e,t,n){if(x(e,t,n))return $(e,t,n);var r=K(t);if(!O(r))return A(e,r,n)}function $(e,t,n){var r=Q(t,n,!1);if(!C(r))return r.OrdinaryGetOwnMetadata(e,t,n)}function w(e,t,n,r){Q(n,r,!0).OrdinaryDefineOwnMetadata(e,t,n,r)}function S(e,t){var n=E(e,t),r=K(e);if(null===r)return n;var o=S(r,t);if(o.length<=0)return n;if(n.length<=0)return o;for(var a=new f,i=[],l=0,s=n;l=0&&e=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var n=this._find(e,!0);return this._values[n]=t,this},t.prototype.delete=function(t){var n=this._find(t,!1);if(n>=0){for(var r=this._keys.length,o=n+1;otypeof crypto?crypto.getRandomValues(t):"u">typeof msCrypto?msCrypto.getRandomValues(t):i(t,e),t}return i(Array(e),e)}function s(){var t=l(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var n="",r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);nr})},96369(e,t,n){"use strict";function r(e){if(Array.isArray(e))return e}n.d(t,{A:()=>r})},9417(e,t,n){"use strict";function r(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{A:()=>r})},10467(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var l=e[a](i),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var i=e.apply(t,n);function l(e){r(i,o,a,l,s,"next",e)}function s(e){r(i,o,a,l,s,"throw",e)}l(void 0)})}}n.d(t,{A:()=>o})},39874(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(53954),o=n(52176),a=n(56822);function i(e,t,n){return t=(0,r.A)(t),(0,a.A)(e,(0,o.A)()?Reflect.construct(t,n||[],(0,r.A)(e).constructor):t.apply(e,n))}},23029(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.d(t,{A:()=>r})},92901(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(96192);function o(e,t){for(var n=0;no});var r=n(27800);function o(e,t){var n="u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,r.A)(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){s=!0,i=e},f:function(){try{l||null==n.return||n.return()}finally{if(s)throw i}}}}},29426(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(53954),o=n(52176),a=n(56822);function i(e){var t=(0,o.A)();return function(){var n,o=(0,r.A)(e);return n=t?Reflect.construct(o,arguments,(0,r.A)(this).constructor):o.apply(this,arguments),(0,a.A)(this,n)}}},64467(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(96192);function o(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},58168(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},53954(e,t,n){"use strict";function r(e){return(r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,{A:()=>r})},85501(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(63662);function o(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,r.A)(e,t)}},52176(e,t,n){"use strict";function r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(r=function(){return!!e})()}n.d(t,{A:()=>r})},73893(e,t,n){"use strict";function r(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}n.d(t,{A:()=>r})},76562(e,t,n){"use strict";function r(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.d(t,{A:()=>r})},89379(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(64467);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;to});var r=n(98587);function o(e,t){if(null==e)return{};var n,o,a=(0,r.A)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;or})},56822(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(82284),o=n(9417);function a(e,t){if(t&&("object"==(0,r.A)(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return(0,o.A)(e)}},1079(e,t,n){"use strict";function r(e,t){this.v=e,this.k=t}function o(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(o=function(e,t,n,r){function i(t,n){o(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))})(e,t,n,r)}function a(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function l(n,r,a,i){var l=Object.create((r&&r.prototype instanceof c?r:c).prototype);return o(l,"_invoke",function(n,r,o){var a,i,l,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,i=0,l=e,f.n=n,s}};function p(n,r){for(i=n,l=r,t=0;!d&&c&&!o&&t3?(o=m===r)&&(l=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&pr||r>m)&&(a[4]=n,a[5]=r,f.n=m,i=0))}if(o||n>1)return s;throw d=!0,r}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),i=u,l=m;(t=i<2?e:l)||!d;){a||(i?i<3?(i>1&&(f.n=-1),p(i,l)):f.n=l:f.v=l);try{if(c=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(d=f.n<0)?l:n.call(r,f))!==s)break}catch(t){a=e,i=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),l}var s={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=d.prototype=c.prototype=Object.create([][r]?t(t([][r]())):(o(t={},r,function(){return this}),t));function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,i,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=d,o(f,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,i,"GeneratorFunction"),o(f),o(f,i,"Generator"),o(f,r,function(){return this}),o(f,"toString",function(){return"[object Generator]"}),(a=function(){return{w:l,m:p}})()}function i(e,t){var n;function a(n,o,i,l){try{var s=e[n](o),c=s.value;return c instanceof r?t.resolve(c.v).then(function(e){a("next",e,i,l)},function(e){a("throw",e,i,l)}):t.resolve(c).then(function(e){s.value=e,i(s)},function(e){return a("throw",e,i,l)})}catch(e){l(e)}}this.next||(o(i.prototype),o(i.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(e,r,o){function i(){return new t(function(t,n){a(e,o,t,n)})}return n=n?n.then(i,i):i()},!0)}function l(e,t,n,r,o){return new i(a().w(e,t,n,r),o||Promise)}function s(e,t,n,r,o){var a=l(e,t,n,r,o);return a.next().then(function(e){return e.done?e.value:a.next()})}function c(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}n.d(t,{A:()=>f});var u=n(82284);function d(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw TypeError((0,u.A)(e)+" is not iterable")}function f(){var e=a(),t=e.m(f),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function o(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var u={throw:1,return:2,break:3,continue:3};function p(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,u[e],t)},delegateYield:function(e,o,a){return t.resultName=o,n(r.d,d(e),a)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(f=function(){return{wrap:function(t,n,r,o){return e.w(p(t),n,r,o&&o.reverse())},isGeneratorFunction:o,mark:e.m,awrap:function(e,t){return new r(e,t)},AsyncIterator:i,async:function(e,t,n,r,a){return(o(t)?l:s)(p(e),t,n,r,a)},keys:c,values:d}})()}},63662(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,{A:()=>r})},57046(e,t,n){"use strict";n.d(t,{A:()=>l});var r=n(96369);function o(e,t){var n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,l=[],s=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return l}}var a=n(27800),i=n(76562);function l(e,t){return(0,r.A)(e)||o(e,t)||(0,a.A)(e,t)||(0,i.A)()}},87695(e,t,n){"use strict";n.d(t,{A:()=>l});var r=n(96369),o=n(73893),a=n(27800),i=n(76562);function l(e){return(0,r.A)(e)||(0,o.A)(e)||(0,a.A)(e)||(0,i.A)()}},83098(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(43145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}var a=n(73893),i=n(27800);function l(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return o(e)||(0,a.A)(e)||(0,i.A)(e)||l()}},96192(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(82284);function o(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=(0,r.A)(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function a(e){var t=o(e,"string");return"symbol"==(0,r.A)(t)?t:t+""}},82284(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}n.d(t,{A:()=>r})},27800(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(43145);function o(e,t){if(e){if("string"==typeof e)return(0,r.A)(e,t);var n=({}).toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.A)(e,t):void 0}}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(39139),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1609|2625|3367|4420|5314|6375|9872)$/.test(e)},rootOutputDir:"../../"})})(),(()=>{var e="function"==typeof Symbol,t=e?Symbol("rspack queues"):"__rspack_queues",n=__webpack_require__.aE=e?Symbol("rspack exports"):"__webpack_exports__",r=e?Symbol("rspack error"):"__rspack_error",o=e?Symbol("rspack done"):"__rspack_done",a=__webpack_require__.zS=e?Symbol("rspack defer"):"__rspack_defer",i=e=>{e&&e.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))},l=e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(!e[t]&&e[a]){var l=e[a];if(!l.some(e=>{var t=__webpack_module_cache__[e];return!t||!1===t[o]}))return e;var s=e;e={then(e){Promise.all(l.map(__webpack_require__)).then(()=>e(s))}}}if(e[t])return e;if(e.then){var c=[];c.d=0,e.then(e=>{u[n]=e,i(c)},e=>{u[r]=e,i(c)});var u={};return u[a]=!1,u[t]=e=>e(c),u}}var d={};return d[t]=()=>{},d[n]=e,d});__webpack_require__.a=(e,s,c)=>{c&&((u=[]).d=-1);var u,d,f,p,m=new Set,g=e.exports,h=new Promise((e,t)=>{p=t,f=e});h[n]=g,h[t]=e=>{u&&e(u),m.forEach(e),h.catch(()=>{})},e.exports=h,s(e=>{d=l(e);var o,i=()=>d.map(e=>{if(e[a])return e;if(e[r])throw e[r];return e[n]}),s=new Promise(e=>{(o=()=>e(i)).r=0;var n=e=>e!==u&&!m.has(e)&&(m.add(e),e&&!e.d&&(o.r++,e.push(o)));d.map(e=>e[a]||e[t](n))});return o.r?s:i()},e=>(e?p(h[r]=e):f(g),i(u),h[o]=!0)),u&&u.d<0&&(u.d=0)}})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(n,r){if(1&r&&(n=this(n)),8&r||"object"==typeof n&&n&&(4&r&&n.__esModule||16&r&&"function"==typeof n.then))return n;var o=Object.create(null);__webpack_require__.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&r&&n;("object"==typeof i||"function"==typeof i)&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>n[e]});return a.default=()=>n,__webpack_require__.d(o,a),o}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[]))})(),(()=>{__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e)})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+(({1064:"__federation_expose_modules__auth",1090:"__federation_expose_api__settings",1143:"__federation_expose_api__role",1209:"__federation_expose_modules__perspectives",1225:"__federation_expose_modules__gdpr_data_extractor",1327:"__federation_expose_modules__reports",1367:"__federation_expose_api__reports",1525:"__federation_expose_default_export",1579:"__federation_expose_api__asset",1590:"__federation_expose_api__thumbnails",1600:"__federation_expose_modules__widget_editor",1933:"__federation_expose_api__translations",1996:"__federation_expose_utils",2049:"__federation_expose_api__documents",2108:"__federation_expose__internal___mf_bootstrap",2421:"__federation_expose_modules__user",2489:"__federation_expose_api__data_object",2932:"__federation_expose_api__perspectives",3128:"__federation_expose_api__user",354:"lib-axios",3730:"__federation_expose_api__schedule",3939:"__federation_expose_api__version",3971:"__federation_expose_modules__document",4462:"__federation_expose_modules__translations",4878:"__federation_expose_api__tags",5579:"__federation_expose_modules__notifications",5992:"__federation_expose_modules__global_message_bus",6185:"__federation_expose_api",6193:"__federation_expose_modules__field_definitions",6530:"__federation_expose_api__dependencies",6706:"__federation_expose_api__metadata",6735:"__federation_expose_modules__icon_library",70:"__federation_expose_api__workflow",7058:"__federation_expose_api__custom_metadata",7890:"__federation_expose_api__properties",7951:"__federation_expose_api__class_definition",8234:"__federation_expose_app",8311:"__federation_expose_modules__rule_builder",8430:"__federation_expose_modules__data_object",8438:"__federation_expose_api__elements",9615:"__federation_expose__internal___mf_bootstrap_document_editor_iframe",9749:"__federation_expose_modules__application_logger",9800:"__federation_expose_modules__asset",9969:"__federation_expose_modules__class_definitions"})[e]||e)+"."+({1003:"469c1fdb",101:"1b8f34f4",1010:"af98507b",1019:"2c88f074",103:"3717b318",1064:"65d96793",1065:"5cc838a2",1090:"2c556240",1102:"01cefe38",1143:"89b3367b",1153:"7cbdaf39",1180:"c2738508",1207:"ea0577c0",1209:"ea16786c",1225:"48b05d8a",1265:"d95e4129",1270:"4a7146b0",129:"24017dc3",1303:"f89c138e",1327:"f35bbd3d",1367:"50fc5ca0",141:"a305e3e9",1428:"b3183de2",1438:"67cdf5fd",145:"7d13ff5f",1472:"e37f95af",1525:"1b3f6d28",1553:"630acce1",1567:"debd0837",157:"8615578d",1579:"9dee10b3",1590:"a167200d",1600:"4cd4867f",1612:"54f63d68",1635:"18d9dd0b",1643:"b41a359d",1668:"120c2fdd",1688:"4626095c",1693:"48c272d7",1708:"de5f09b0",172:"cb77a99e",1721:"fdc19114",1742:"9207983d",175:"780b640e",1750:"19b70383",1762:"e6454223",1797:"bc29fd89",1814:"16619920",1834:"3ea07c1f",1851:"1528a0c7",1875:"048f7c1f",1933:"7a8790cb",198:"96c8f5d3",1996:"526f5bda",2015:"28b3f667",2016:"2efa4d68",2049:"8a5c66b8",206:"0227085b",2073:"0f14210c",2098:"4b97bea3",2103:"0449b778",2104:"fed84d91",2108:"63eb30f6",2117:"da809f8e",2121:"8117f390",2162:"e42c8ad6",2168:"3b00277e",2179:"7408679f",2188:"72e65c95",2189:"e296ffec",2202:"bd928b8b",2204:"875d7d36",2237:"e23d4ce3",2267:"ad4d61d8",2272:"b29c0e6c",2287:"6a200c82",2290:"68fd6bdf",235:"97e84a52",2373:"11c5538c",2380:"d6bc17ef",2399:"305db162",2410:"4b5baf39",2421:"1df0f8e6",2427:"2406cc45",243:"098f10af",2463:"da2cfb76",2464:"8deaa84f",2472:"f40725db",2489:"23ff06e0",2492:"cc8cd85c",25:"36d6a68b",2503:"1efd0e77",254:"7abe0c11",2545:"dcb1e512",2597:"969d51fc",261:"0e13114e",2619:"543b4f03",2638:"d949ec28",2709:"809fe258",2739:"84cc2ba2",2775:"0d98465a",2793:"a25ad8de",281:"d912a74e",2841:"e1a4734b",2843:"e1d9c7bc",2845:"d2c82bf6",2893:"99328fa1",2932:"936945cf",2980:"d885aa98",3:"470a371d",3009:"be7deeee",3055:"b0f87225",3062:"323c4508",3066:"31b992e1",3068:"7b747a5f",3125:"ce787981",3128:"0c42ebe1",3144:"edcf7515",3166:"32d06e35",3197:"ebf93fd4",3209:"6722a080",3229:"97f4b7e5",3240:"f86bdd91",3330:"c830e580",334:"67e5210f",3379:"f0e413e5",3392:"42b07d09",3396:"4cc8f904",3406:"86351b7b",35:"d81ad3e5",3528:"60fd342c",354:"f458d745",3548:"133939a2",3584:"4ad9a196",365:"e655295f",3653:"7c1ffecd",3657:"cf916f7e",3686:"6b54036a",3730:"9ccfa450",3748:"7adfb9d1",3750:"921e74ed",3756:"7a4c5e02",380:"0cdf7b27",3836:"6a4b9fd9",3838:"4b01fffb",3839:"800430ba",3846:"e0ec9537",385:"d9b4f6a1",3902:"5873a27f",3935:"0990f5be",3939:"7220c1e1",3941:"9ceed713",3971:"5167229e",4028:"d910fe41",4034:"ebc0a070",4062:"57e047db",4083:"82e017ef",4084:"a80198a1",4120:"afd6653a",4154:"2617dd8b",4160:"1311e5ef",4195:"4fb2f2ba",4225:"61de23fc",4241:"f5777d74",4319:"ca014781",4329:"4e8ef4cc",4346:"867849d4",4426:"20bcaf42",446:"2523c50a",4462:"e3016a50",45:"e217286d",4530:"72904f19",4596:"0f590c31",4603:"86da83a0",4680:"66eae797",4693:"552164ec",4698:"6d0eba4e",4702:"508d41d1",4715:"3e1202d6",4718:"b15efaaf",4771:"c5e9b1dd",4799:"a225248d",4858:"820711a5",4871:"b42a8935",4878:"f737e834",489:"693d11de",5084:"877dbf80",5114:"ebf1bfcb",5123:"9f567207",5154:"a94bb137",5168:"fdbd2cef",5177:"a255dad2",5186:"deb009c0",521:"cb98200a",5277:"97ce57aa",5331:"bbbb73f8",5412:"53c2e3aa",5431:"0eb962a2",5454:"a8bca7d3",5545:"cde240bd",5561:"b76a78d2",5579:"212009d9",5690:"782c3ae6",5696:"ab2274ca",5712:"ffe8bf9d",5731:"15301fd9",5753:"371bde44",5804:"1be86954",582:"4f5fd381",5841:"812278cf",5904:"327a2f83",5976:"be3da2cf",5990:"3c9d8c23",5992:"bfbd3798",6052:"a270b069",6135:"d371dcf8",6185:"fbe2c7c1",6186:"9fa7f507",619:"59f8e380",6193:"7f785f6f",6229:"ec077e40",6255:"2e48b884",6270:"f9ff3abd",6272:"f2f56a80",6313:"e76747fb",6335:"0ad9b174",6411:"ae78ff82",6424:"ca220edd",6458:"b5282ed0",6464:"b6d25cb6",6472:"df513d2d",6484:"2519155d",6530:"a9508cf9",6550:"09a63ebf",6572:"510ff641",6579:"cda7f334",658:"dc677028",660:"5242d83f",6619:"93b9f2c4",6649:"2b614ce3",6695:"087ae8ff",6706:"e9f2a028",6735:"481bed67",6743:"851be9cb",6759:"cf6c0abd",6766:"c76f91a5",6815:"80ba0d22",6819:"424ecfc4",6823:"dc627341",687:"ae382b4d",6911:"d02db343",692:"ac93e4e2",6967:"4d971194",6984:"af4507e3",70:"ad14d72f",7006:"928d8671",7041:"230cf6a4",705:"fad963d9",7053:"63c4c0a6",7058:"10d73b97",706:"01d44a78",7073:"fb6439a4",7161:"f24a612f",7171:"8731ac06",7210:"9113a386",7250:"364fbcad",7264:"fc5a523f",7334:"be0321bf",7396:"da4c50f4",741:"734ea878",7419:"b1cfaeac",7440:"04b86278",7442:"636a9ffa",7463:"e177b088",749:"7c748f48",7524:"73ba348d",7527:"e64ccbd1",7597:"42dde6f3",7679:"a6829c17",7680:"2cb113f6",7789:"50873df9",7793:"d6bce01b",7799:"a37e9eaf",7821:"b1a2dc53",7828:"812c672f",7890:"314180ef",7935:"ba8eb0b4",7939:"af086f08",7951:"6192771c",7960:"9d4a54c0",7994:"c600e1ce",803:"52d29752",8031:"b368b0bf",8050:"502aa521",8051:"9c74ecaf",8146:"e69de8bc",8195:"c8bb6771",8222:"acb59083",8231:"0a773046",8234:"f6074673",8272:"64fe9f7a",830:"dda8066f",8311:"f77a657a",8372:"d6f25582",8403:"58bbddc4",8430:"8f1ebdf8",8437:"864e7b29",8438:"5babca9f",8467:"f7bd216d",8473:"25a53f08",8477:"0c91210d",8479:"55f72fe0",85:"3d7bb7a3",8520:"3f467428",8536:"df877041",854:"95bad760",8547:"3355910d",8557:"e526282d",8567:"2e09cb4e",8574:"8c240d77",8609:"b6039081",8635:"29404620",8645:"7a1aa6c0",8658:"55f9d53e",8707:"80dfb17f",8779:"bdcddd0a",8800:"1154e54c",8832:"e1a7ddbf",8835:"d50a0005",8850:"1ef4da0e",8910:"7686ba2c",8932:"e8090749",8971:"cb9861fc",9007:"f28d0779",9030:"03e4d789",9052:"67bd17cd",9076:"7a2b7e9a",9114:"7d0c9ca9",9204:"8f0c9c3a",9322:"81e49a3d",9336:"9a425d8d",935:"4dfccbd9",9357:"709b2aae",9403:"9f36612d",9454:"03f9cbf9",9471:"3511726f",9536:"9b33a533",9603:"dcad1930",9607:"214ebd42",9615:"d37cae31",9691:"a7a34297",9749:"fc080c19",9765:"07ec2c12",9767:"926906cb",9800:"8cd128af",9801:"09cd7cd0",9880:"64c12943",9969:"009acac4"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>"static/css/async/"+(({2108:"__federation_expose__internal___mf_bootstrap",9615:"__federation_expose__internal___mf_bootstrap_document_editor_iframe"})[e]||e)+"."+({2108:"37f87737",6411:"97bc9302",9615:"37f87737"})[e]+".css"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_ui_bundle:";__webpack_require__.l=function(n,r,o,a){if(e[n])return void e[n].push(r);if(void 0!==o)for(var i,l,s=document.getElementsByTagName("script"),c=0;c{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioui/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@ant-design/colors",version:"7.2.1",factory:()=>()=>__webpack_require__(81463),eager:1,singleton:1,requiredVersion:"^7.2.1"},{name:"@codemirror/lang-css",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168)),eager:0,requiredVersion:"^6.3.0"},{name:"@codemirror/lang-html",version:"6.4.11",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618)),eager:0,requiredVersion:"^6.4.9"},{name:"@codemirror/lang-javascript",version:"6.2.5",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442)),eager:0,requiredVersion:"^6.2.2"},{name:"@codemirror/lang-json",version:"6.0.2",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("8222")]).then(()=>()=>__webpack_require__(88477)),eager:0,requiredVersion:"^6.0.1"},{name:"@codemirror/lang-markdown",version:"6.5.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("6550"),__webpack_require__.e("1609")]).then(()=>()=>__webpack_require__(32053)),eager:0,requiredVersion:"^6.3.1"},{name:"@codemirror/lang-sql",version:"6.10.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075)),eager:0,requiredVersion:"^6.8.0"},{name:"@codemirror/lang-xml",version:"6.1.0",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973)),eager:0,requiredVersion:"^6.1.0"},{name:"@codemirror/lang-yaml",version:"6.1.3",factory:()=>Promise.all([__webpack_require__.e("2287"),__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027)),eager:0,requiredVersion:"^6.1.2"},{name:"@dnd-kit/core",version:"6.3.1",factory:()=>Promise.all([__webpack_require__.e("7789"),__webpack_require__.e("6464")]).then(()=>()=>__webpack_require__(98668)),eager:0,requiredVersion:"^6.1.0"},{name:"@dnd-kit/modifiers",version:"7.0.0",factory:()=>__webpack_require__.e("9204").then(()=>()=>__webpack_require__(18831)),eager:0,requiredVersion:"^7.0.0"},{name:"@dnd-kit/sortable",version:"8.0.0",factory:()=>Promise.all([__webpack_require__.e("9880"),__webpack_require__.e("6375"),__webpack_require__.e("4083")]).then(()=>()=>__webpack_require__(43627)),eager:0,requiredVersion:"^8.0.0"},{name:"@reduxjs/toolkit",version:"2.11.2",factory:()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("7597"),__webpack_require__.e("9872")]).then(()=>()=>__webpack_require__(62348)),eager:0,requiredVersion:"^2.3.0"},{name:"@tanstack/react-table",version:"8.21.3",factory:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755)),eager:0,requiredVersion:"^8.20.5"},{name:"@tanstack/react-virtual",version:"3.13.23",factory:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166)),eager:0,requiredVersion:"^3.13.12"},{name:"antd-style",version:"3.7.1",factory:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314"),__webpack_require__.e("8473")]).then(()=>()=>__webpack_require__(6286)),eager:0,requiredVersion:"3.7.x"},{name:"antd",version:"5.22.7",factory:()=>()=>__webpack_require__(64530),eager:1,singleton:1,requiredVersion:"5.22.x"},{name:"classnames",version:"2.5.1",factory:()=>()=>__webpack_require__(46942),eager:1,singleton:1,requiredVersion:"^2.5.1"},{name:"dompurify",version:"3.3.3",factory:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418)),eager:0,requiredVersion:"^3.2.1"},{name:"flexlayout-react",version:"0.7.15",factory:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310)),eager:0,requiredVersion:"^0.7.15"},{name:"framer-motion",version:"11.18.2",factory:()=>Promise.all([__webpack_require__.e("2463"),__webpack_require__.e("854")]).then(()=>()=>__webpack_require__(12306)),eager:0,requiredVersion:"^11.11.17"},{name:"i18next",version:"23.16.8",factory:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635)),eager:0,requiredVersion:"^23.16.8"},{name:"immer",version:"11.1.4",factory:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064)),eager:0,requiredVersion:"^10.1.1"},{name:"js-yaml",version:"4.1.1",factory:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382)),eager:0,requiredVersion:"^4.1.1"},{name:"leaflet-draw",version:"1.0.4",factory:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269)),eager:0,requiredVersion:"^1.0.4"},{name:"leaflet",version:"1.9.4",factory:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481)),eager:0,requiredVersion:"^1.9.4"},{name:"lodash",version:"4.17.23",factory:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543)),eager:0,requiredVersion:"^4.17.21"},{name:"react-compiler-runtime",version:"19.1.0-rc.3",factory:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728)),eager:0,requiredVersion:"^19.1.0-rc.2"},{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(40961),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"react-draggable",version:"4.5.0",factory:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794)),eager:0,requiredVersion:"^4.4.6"},{name:"react-i18next",version:"14.1.3",factory:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054)),eager:0,requiredVersion:"^14.1.3"},{name:"react-redux",version:"9.2.0",factory:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468)),eager:0,requiredVersion:"^9.1.2"},{name:"react-router-dom",version:"6.30.3",factory:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204)),eager:0,requiredVersion:"^6.28.0"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(96540),eager:1,singleton:1,requiredVersion:"18.3.x"},{name:"reflect-metadata",version:"0.2.2",factory:()=>()=>__webpack_require__(38630),eager:1,singleton:1,requiredVersion:"*"},{name:"uuid",version:"10.0.0",factory:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513)),eager:0,requiredVersion:"^10.0.0"}]},uniqueName:"pimcore_studio_ui_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{1609:["11264"],2625:["35864"],9872:["91251"],6185:["88605","62284"],6375:["41834"],3902:["81427","60142","44241","21429","13815"],5314:["86569"],8234:["30922","37821","40119","94709","53797","6492","52725","70982","5339","30831","50484","76394","78535","83015","53763","89507","96314","88754"],6240:["8651","25765","47867","16124"],3367:["23080","3319"],4420:["62446","46680"]},moduleIdToConsumeDataMapping:{16124:{shareScope:"default",shareKey:"@ant-design/colors",import:"@ant-design/colors",requiredVersion:"^7.2.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(81463)},8651:{shareScope:"default",shareKey:"classnames",import:"classnames",requiredVersion:"^2.5.1",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(46942)},60142:{shareScope:"default",shareKey:"i18next",import:"i18next",requiredVersion:"^23.16.8",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("5976").then(()=>()=>__webpack_require__(72635))},86569:{shareScope:"default",shareKey:"antd",import:"antd",requiredVersion:"5.22.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(64530)},5339:{shareScope:"default",shareKey:"@tanstack/react-virtual",import:"@tanstack/react-virtual",requiredVersion:"^3.13.12",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6619").then(()=>()=>__webpack_require__(28166))},83015:{shareScope:"default",shareKey:"flexlayout-react",import:"flexlayout-react",requiredVersion:"^0.7.15",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("243").then(()=>()=>__webpack_require__(99310))},96314:{shareScope:"default",shareKey:"@codemirror/lang-yaml",import:"@codemirror/lang-yaml",requiredVersion:"^6.1.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("2272")]).then(()=>()=>__webpack_require__(39027))},62284:{shareScope:"default",shareKey:"react-redux",import:"react-redux",requiredVersion:"^9.1.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("2237").then(()=>()=>__webpack_require__(71468))},44241:{shareScope:"default",shareKey:"antd-style",import:"antd-style",requiredVersion:"3.7.x",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("5123"),__webpack_require__.e("5314")]).then(()=>()=>__webpack_require__(6286))},47867:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(96540)},81427:{shareScope:"default",shareKey:"dompurify",import:"dompurify",requiredVersion:"^3.2.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7463").then(()=>()=>__webpack_require__(99418))},50484:{shareScope:"default",shareKey:"react-compiler-runtime",import:"react-compiler-runtime",requiredVersion:"^19.1.0-rc.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("3209").then(()=>()=>__webpack_require__(21728))},30922:{shareScope:"default",shareKey:"@codemirror/lang-xml",import:"@codemirror/lang-xml",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("582")]).then(()=>()=>__webpack_require__(95973))},23080:{shareScope:"default",shareKey:"@codemirror/lang-css",import:"@codemirror/lang-css",requiredVersion:"^6.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5561")]).then(()=>()=>__webpack_require__(75168))},41834:{shareScope:"default",shareKey:"@dnd-kit/core",import:"@dnd-kit/core",requiredVersion:"^6.1.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7789").then(()=>()=>__webpack_require__(98668))},37821:{shareScope:"default",shareKey:"leaflet-draw",import:"leaflet-draw",requiredVersion:"^1.0.4",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("254").then(()=>()=>__webpack_require__(56269))},6492:{shareScope:"default",shareKey:"@uiw/react-codemirror",import:"@uiw/react-codemirror",requiredVersion:"^4.23.6",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(65846)},3319:{shareScope:"default",shareKey:"@codemirror/lang-javascript",import:"@codemirror/lang-javascript",requiredVersion:"^6.2.2",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("45"),__webpack_require__.e("9765"),__webpack_require__.e("2775")]).then(()=>()=>__webpack_require__(14442))},11264:{shareScope:"default",shareKey:"@codemirror/lang-html",import:"@codemirror/lang-html",requiredVersion:"^6.4.9",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("9007"),__webpack_require__.e("3367")]).then(()=>()=>__webpack_require__(95618))},76394:{shareScope:"default",shareKey:"@codemirror/lang-json",import:"@codemirror/lang-json",requiredVersion:"^6.0.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("5841")]).then(()=>()=>__webpack_require__(88477))},89507:{shareScope:"default",shareKey:"@tanstack/react-table",import:"@tanstack/react-table",requiredVersion:"^8.20.5",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6272").then(()=>()=>__webpack_require__(28755))},94709:{shareScope:"default",shareKey:"@codemirror/lang-markdown",import:"@codemirror/lang-markdown",requiredVersion:"^6.3.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6550").then(()=>()=>__webpack_require__(32053))},53763:{shareScope:"default",shareKey:"leaflet",import:"leaflet",requiredVersion:"^1.9.4",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("706").then(()=>()=>__webpack_require__(53481))},88754:{shareScope:"default",shareKey:"@dnd-kit/sortable",import:"@dnd-kit/sortable",requiredVersion:"^8.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("9880").then(()=>()=>__webpack_require__(43627))},25765:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"18.3.x",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(40961)},78535:{shareScope:"default",shareKey:"framer-motion",import:"framer-motion",requiredVersion:"^11.11.17",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("2463").then(()=>()=>__webpack_require__(12306))},62446:{shareScope:"default",shareKey:"inversify",import:"inversify",requiredVersion:"6.1.x",strictVersion:!0,singleton:!1,eager:!0,fallback:()=>()=>__webpack_require__(67502)},70982:{shareScope:"default",shareKey:"react-draggable",import:"react-draggable",requiredVersion:"^4.4.6",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6815").then(()=>()=>__webpack_require__(55794))},53797:{shareScope:"default",shareKey:"js-yaml",import:"js-yaml",requiredVersion:"^4.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6579").then(()=>()=>__webpack_require__(20382))},46680:{shareScope:"default",shareKey:"reflect-metadata",import:"reflect-metadata",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(38630)},21429:{shareScope:"default",shareKey:"react-i18next",import:"react-i18next",requiredVersion:"^14.1.3",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("3379").then(()=>()=>__webpack_require__(53054))},13815:{shareScope:"default",shareKey:"uuid",import:"uuid",requiredVersion:"^10.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("8658").then(()=>()=>__webpack_require__(81513))},30831:{shareScope:"default",shareKey:"@codemirror/lang-sql",import:"@codemirror/lang-sql",requiredVersion:"^6.8.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("9765"),__webpack_require__.e("7680")]).then(()=>()=>__webpack_require__(49075))},35864:{shareScope:"default",shareKey:"lodash",import:"lodash",requiredVersion:"^4.17.21",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("1668").then(()=>()=>__webpack_require__(2543))},88605:{shareScope:"default",shareKey:"@reduxjs/toolkit",import:"@reduxjs/toolkit",requiredVersion:"^2.3.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("7597").then(()=>()=>__webpack_require__(62348))},40119:{shareScope:"default",shareKey:"@dnd-kit/modifiers",import:"@dnd-kit/modifiers",requiredVersion:"^7.0.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("6823").then(()=>()=>__webpack_require__(18831))},52725:{shareScope:"default",shareKey:"react-router-dom",import:"react-router-dom",requiredVersion:"^6.28.0",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(76204))},91251:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:"^10.1.1",strictVersion:!0,singleton:!1,eager:!1,fallback:()=>__webpack_require__.e("489").then(()=>()=>__webpack_require__(12064))}},initialConsumes:["8651","25765","47867","16124"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{if("u">typeof document){var e=function(e,t,n,r,o){var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",__webpack_require__.nc&&(a.nonce=__webpack_require__.nc),a.href=t;var i=function(n){if(a.onerror=a.onload=null,"load"===n.type)r();else{var i=n&&("load"===n.type?"missing":n.type),l=n&&n.target&&n.target.href||t,s=Error("Loading CSS chunk "+e+" failed.\\n("+l+")");s.code="CSS_CHUNK_LOAD_FAILED",s.type=i,s.request=l,a.parentNode&&a.parentNode.removeChild(a),o(s)}};return a.onerror=a.onload=i,n?n.parentNode.insertBefore(a,n.nextSibling):document.head.appendChild(a),a},t=function(e,t){for(var n=document.getElementsByTagName("link"),r=0;r{__webpack_require__.initializeExposesData={moduleMap:{".":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("1525")]).then(()=>()=>__webpack_require__(63516)),"./_internal_/mf-bootstrap":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("6193"),__webpack_require__.e("4596"),__webpack_require__.e("1693"),__webpack_require__.e("2843"),__webpack_require__.e("2545"),__webpack_require__.e("2104"),__webpack_require__.e("4530"),__webpack_require__.e("2108")]).then(()=>()=>__webpack_require__(55831)),"./_internal_/mf-bootstrap-document-editor-iframe":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("6193"),__webpack_require__.e("4596"),__webpack_require__.e("1693"),__webpack_require__.e("2843"),__webpack_require__.e("2545"),__webpack_require__.e("2104"),__webpack_require__.e("9615")]).then(()=>()=>__webpack_require__(96232)),"./components":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(43588)),"./app":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(46881)),"./api":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185")]).then(()=>()=>__webpack_require__(53073)),"./api/asset":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("175"),__webpack_require__.e("1579")]).then(()=>()=>__webpack_require__(35449)),"./api/class-definition":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2188"),__webpack_require__.e("7951")]).then(()=>()=>__webpack_require__(30045)),"./api/custom-metadata":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("7058")]).then(()=>()=>__webpack_require__(99574)),"./api/data-object":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2489")]).then(()=>()=>__webpack_require__(58077)),"./api/dependencies":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("6530")]).then(()=>()=>__webpack_require__(33594)),"./api/documents":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("2049")]).then(()=>()=>__webpack_require__(25435)),"./api/elements":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("8438")]).then(()=>()=>__webpack_require__(85766)),"./api/metadata":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("6706")]).then(()=>()=>__webpack_require__(57338)),"./api/perspectives":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2932")]).then(()=>()=>__webpack_require__(72324)),"./api/properties":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("7890")]).then(()=>()=>__webpack_require__(22710)),"./api/role":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1143")]).then(()=>()=>__webpack_require__(65791)),"./api/schedule":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3730")]).then(()=>()=>__webpack_require__(57382)),"./api/settings":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1090")]).then(()=>()=>__webpack_require__(20498)),"./api/tags":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("4878")]).then(()=>()=>__webpack_require__(47149)),"./api/thumbnails":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1590")]).then(()=>()=>__webpack_require__(43126)),"./api/translations":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1933")]).then(()=>()=>__webpack_require__(47123)),"./api/user":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3128")]).then(()=>()=>__webpack_require__(99076)),"./api/version":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("3939")]).then(()=>()=>__webpack_require__(437)),"./api/workflow":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("70")]).then(()=>()=>__webpack_require__(38962)),"./api/reports":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("1367")]).then(()=>()=>__webpack_require__(39314)),"./modules/app":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(18613)),"./modules/application-logger":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("2843"),__webpack_require__.e("9749")]).then(()=>()=>__webpack_require__(54997)),"./modules/asset":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("2545"),__webpack_require__.e("9800")]).then(()=>()=>__webpack_require__(36344)),"./modules/class-definitions":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2188"),__webpack_require__.e("9969")]).then(()=>()=>__webpack_require__(2647)),"./modules/data-object":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430")]).then(()=>()=>__webpack_require__(33487)),"./modules/document":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("9454"),__webpack_require__.e("8430"),__webpack_require__.e("1693"),__webpack_require__.e("3971")]).then(()=>()=>__webpack_require__(59368)),"./modules/element":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(23945)),"./modules/field-definitions":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("6193")]).then(()=>()=>__webpack_require__(38939)),"./modules/auth":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1064")]).then(()=>()=>__webpack_require__(69676)),"./modules/icon-library":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("4420"),__webpack_require__.e("6735")]).then(()=>()=>__webpack_require__(61311)),"./modules/reports":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("2202"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("4596"),__webpack_require__.e("1327")]).then(()=>()=>__webpack_require__(30727)),"./modules/rule-builder":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("8311")]).then(()=>()=>__webpack_require__(75149)),"./modules/translations":()=>Promise.all([__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4462")]).then(()=>()=>__webpack_require__(27964)),"./modules/user":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("2421")]).then(()=>()=>__webpack_require__(95451)),"./modules/widget-editor":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1600")]).then(()=>()=>__webpack_require__(85286)),"./modules/widget-manager":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(26542)),"./modules/wysiwyg":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234")]).then(()=>()=>__webpack_require__(90801)),"./modules/notifications":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("5579")]).then(()=>()=>__webpack_require__(21064)),"./modules/perspectives":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1209")]).then(()=>()=>__webpack_require__(40271)),"./modules/global-message-bus":()=>Promise.all([__webpack_require__.e("1721"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("7442"),__webpack_require__.e("5992")]).then(()=>()=>__webpack_require__(8026)),"./modules/gdpr-data-extractor":()=>Promise.all([__webpack_require__.e("354"),__webpack_require__.e("4693"),__webpack_require__.e("385"),__webpack_require__.e("2287"),__webpack_require__.e("45"),__webpack_require__.e("1721"),__webpack_require__.e("6411"),__webpack_require__.e("9872"),__webpack_require__.e("6185"),__webpack_require__.e("2625"),__webpack_require__.e("4420"),__webpack_require__.e("2188"),__webpack_require__.e("3367"),__webpack_require__.e("5314"),__webpack_require__.e("3902"),__webpack_require__.e("7442"),__webpack_require__.e("175"),__webpack_require__.e("6375"),__webpack_require__.e("1609"),__webpack_require__.e("8234"),__webpack_require__.e("1225")]).then(()=>()=>__webpack_require__(1953)),"./utils":()=>Promise.all([__webpack_require__.e("2625"),__webpack_require__.e("3902"),__webpack_require__.e("1996")]).then(()=>()=>__webpack_require__(25085))},shareScope:"default"},__webpack_require__.getContainer=__webpack_require__.getContainer||function(){throw Error("should have __webpack_require__.getContainer")},__webpack_require__.initContainer=__webpack_require__.initContainer||function(){throw Error("should have __webpack_require__.initContainer")}})(),(()=>{var e={6240:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(1609|2625|3367|4420|5314|6375|9872)$/.test(t))e[t]=0;else{var o=new Promise((n,o)=>r=e[t]=[n,o]);n.push(r[2]=o);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),l=function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,r[1](i)}};__webpack_require__.l(a,l,"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[a,i,l]=n,s=0;if(a.some(t=>0!==e[t])){for(r in i)__webpack_require__.o(i,r)&&(__webpack_require__.m[r]=i[r]);l&&l(__webpack_require__)}for(t&&t(n);s{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(56491)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x();pimcore_studio_ui_bundle=__webpack_exports__})();
\ No newline at end of file
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js.LICENSE.txt b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js.LICENSE.txt
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/js/remoteEntry.js.LICENSE.txt
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/js/remoteEntry.js.LICENSE.txt
diff --git a/public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/svg/spritesheet.ac8b36fa.svg b/public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/svg/spritesheet.ac8b36fa.svg
similarity index 100%
rename from public/build/6be0015d-5ecc-45bc-9e7c-4336a1ea84ad/static/svg/spritesheet.ac8b36fa.svg
rename to public/build/7689a203-8add-4cbf-af8b-fdd6a7a21545/static/svg/spritesheet.ac8b36fa.svg
diff --git a/translations/studio.de.yaml b/translations/studio.de.yaml
index da96845d65..746612ead1 100644
--- a/translations/studio.de.yaml
+++ b/translations/studio.de.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: Herunterladen
jobs.job.button-ignore-and-reload: Ignorieren und neu laden
jobs.job.step_hint: "Schritt {{step}}/{{total}}"
jobs.job.step_hint_single: "Schritt {{step}}"
+jobs.job.step.batch-edit.preparing: Stapelbearbeitung wird vorbereitet
+jobs.job.step.batch-edit.applying: Stapelbearbeitung wird angewendet
jobs.job.download-error: Download fehlgeschlagen
jobs.job.button-show-errors: Fehler anzeigen
jobs.job.error-modal.title: Auftragsfehler
jobs.job.button-abort: Auftrag abbrechen
jobs.job.abort-confirm: Möchten Sie diesen Auftrag wirklich abbrechen?
jobs.zip-job.title: "ZIP-Download von {{title}}"
-jobs.batch-edit-job.title: "Stapelbearbeitung von {{title}}"
jobs.csv-job.title: "CSV-Download von {{title}}"
jobs.xlsx-job.title: "XLSX-Download von {{title}}"
batch-edit.job-title: Stapelbearbeitung
diff --git a/translations/studio.en.yaml b/translations/studio.en.yaml
index 76228109f4..fe1fcd758c 100644
--- a/translations/studio.en.yaml
+++ b/translations/studio.en.yaml
@@ -1040,8 +1040,9 @@ jobs.job.button-show-errors: Show errors
jobs.job.error-modal.title: Job Errors
jobs.job.button-abort: Abort Job
jobs.job.abort-confirm: Do you really want to abort this job?
+jobs.job.step.batch-edit.preparing: Preparing batch edit
+jobs.job.step.batch-edit.applying: Applying batch edit
jobs.zip-job.title: "ZIP download of {{title}}"
-jobs.batch-edit-job.title: "Batch Edit of {{title}}"
jobs.csv-job.title: "CSV download of {{title}}"
jobs.xlsx-job.title: "XLSX download of {{title}}"
batch-edit.job-title: Batch Edit
diff --git a/translations/studio.es.yaml b/translations/studio.es.yaml
index 5a4f1f1335..8b91abf59c 100644
--- a/translations/studio.es.yaml
+++ b/translations/studio.es.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: descargar
jobs.job.button-ignore-and-reload: ignorar y recargar
jobs.job.step_hint: "Paso {{step}}/{{total}}"
jobs.job.step_hint_single: "Paso {{step}}"
+jobs.job.step.batch-edit.preparing: Preparando edición por lotes
+jobs.job.step.batch-edit.applying: Aplicando edición por lotes
jobs.job.download-error: Error en la descarga
jobs.job.button-show-errors: Mostrar errores
jobs.job.error-modal.title: Errores del trabajo
jobs.job.button-abort: Cancelar trabajo
jobs.job.abort-confirm: ¿Realmente desea cancelar este trabajo?
jobs.zip-job.title: "Descarga ZIP de {{title}}"
-jobs.batch-edit-job.title: "Edición por lotes de {{title}}"
jobs.csv-job.title: "Descarga CSV de {{title}}"
jobs.xlsx-job.title: "Descarga XLSX de {{title}}"
batch-edit.job-title: Edición por lotes
diff --git a/translations/studio.fr.yaml b/translations/studio.fr.yaml
index 4adb36a6bd..aed9d83e06 100644
--- a/translations/studio.fr.yaml
+++ b/translations/studio.fr.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: télécharger
jobs.job.button-ignore-and-reload: ignorer et recharger
jobs.job.step_hint: "Étape {{step}}/{{total}}"
jobs.job.step_hint_single: "Étape {{step}}"
+jobs.job.step.batch-edit.preparing: Préparation de l'édition par lot
+jobs.job.step.batch-edit.applying: Application de l'édition par lot
jobs.job.download-error: Le téléchargement a échoué
jobs.job.button-show-errors: Afficher les erreurs
jobs.job.error-modal.title: Erreurs de la tâche
jobs.job.button-abort: Abandonner la tâche
jobs.job.abort-confirm: Voulez-vous vraiment abandonner cette tâche ?
jobs.zip-job.title: "Téléchargement ZIP de {{title}}"
-jobs.batch-edit-job.title: "Édition par lot de {{title}}"
jobs.csv-job.title: "Téléchargement CSV de {{title}}"
jobs.xlsx-job.title: "Téléchargement XLSX de {{title}}"
batch-edit.job-title: Édition par lot
diff --git a/translations/studio.it.yaml b/translations/studio.it.yaml
index cb6c9cf380..e2db212cff 100644
--- a/translations/studio.it.yaml
+++ b/translations/studio.it.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: scarica
jobs.job.button-ignore-and-reload: ignora e ricarica
jobs.job.step_hint: "Passo {{step}}/{{total}}"
jobs.job.step_hint_single: "Passo {{step}}"
+jobs.job.step.batch-edit.preparing: Preparazione modifica in blocco
+jobs.job.step.batch-edit.applying: Applicazione modifica in blocco
jobs.job.download-error: Download fallito
jobs.job.button-show-errors: Mostra errori
jobs.job.error-modal.title: Errori lavoro
jobs.job.button-abort: Interrompi lavoro
jobs.job.abort-confirm: Interrompere questo lavoro?
jobs.zip-job.title: "Download ZIP di {{title}}"
-jobs.batch-edit-job.title: "Modifica in blocco di {{title}}"
jobs.csv-job.title: "Download CSV di {{title}}"
jobs.xlsx-job.title: "Download XLSX di {{title}}"
batch-edit.job-title: Modifica in blocco
diff --git a/translations/studio.no.yaml b/translations/studio.no.yaml
index 37c3bc53c8..7a2f413c6d 100644
--- a/translations/studio.no.yaml
+++ b/translations/studio.no.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: last ned
jobs.job.button-ignore-and-reload: ignorer og last på nytt
jobs.job.step_hint: "Steg {{step}}/{{total}}"
jobs.job.step_hint_single: "Steg {{step}}"
+jobs.job.step.batch-edit.preparing: Forbereder masseredigering
+jobs.job.step.batch-edit.applying: Bruker masseredigering
jobs.job.download-error: Nedlasting mislyktes
jobs.job.button-show-errors: Vis feil
jobs.job.error-modal.title: Jobbfeil
jobs.job.button-abort: Avbryt jobb
jobs.job.abort-confirm: Vil du virkelig avbryte denne jobben?
jobs.zip-job.title: "ZIP-nedlasting av {{title}}"
-jobs.batch-edit-job.title: "Masseredigering av {{title}}"
jobs.csv-job.title: "CSV-nedlasting av {{title}}"
jobs.xlsx-job.title: "XLSX-nedlasting av {{title}}"
batch-edit.job-title: Masseredigering
diff --git a/translations/studio.sv.yaml b/translations/studio.sv.yaml
index 73a322d946..4dc2dfd27b 100644
--- a/translations/studio.sv.yaml
+++ b/translations/studio.sv.yaml
@@ -1029,13 +1029,14 @@ jobs.job.button-download: ladda ner
jobs.job.button-ignore-and-reload: ignorera och ladda om
jobs.job.step_hint: "Steg {{step}}/{{total}}"
jobs.job.step_hint_single: "Steg {{step}}"
+jobs.job.step.batch-edit.preparing: Förbereder massredigering
+jobs.job.step.batch-edit.applying: Tillämpar massredigering
jobs.job.download-error: Nedladdning misslyckades
jobs.job.button-show-errors: Visa fel
jobs.job.error-modal.title: Jobbfel
jobs.job.button-abort: Avbryt jobb
jobs.job.abort-confirm: Vill du verkligen avbryta det här jobbet?
jobs.zip-job.title: "ZIP-nedladdning av {{title}}"
-jobs.batch-edit-job.title: "Massredigering av {{title}}"
jobs.csv-job.title: "CSV-nedladdning av {{title}}"
jobs.xlsx-job.title: "XLSX-nedladdning av {{title}}"
batch-edit.job-title: Massredigering