diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index e77e27281..000000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,82 +0,0 @@
-module.exports = {
- "ignorePatterns": ['*.gen.ts'],
- "env": {
- "browser": true,
- "es2021": true
- },
- "settings": {
- "react": {
- "version": "detect"
- }
- },
- "extends": [
- "standard-with-typescript",
- "plugin:react/recommended",
- "plugin:storybook/recommended",
- "plugin:jsx-a11y/recommended"
- ],
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true
- },
- },
- "overrides": [
- {
- "env": {
- "node": true
- },
- "files": [
- ".eslintrc.{js,cjs}"
- ],
- "parserOptions": {
- "sourceType": "script"
- }
- },
-
- {
- "files": ["*.spec.ts", "*.spec.tsx", "*.test.ts", "*.test.tsx"],
- "env": {
- "jest": true
- }
- }
- ],
- "parserOptions": {
- "ecmaVersion": "latest",
- "sourceType": "module"
- },
- "plugins": [
- "react"
- ],
- "rules": {
- "@typescript-eslint/no-misused-promises": "off",
- "@typescript-eslint/no-non-null-assertion": "off",
- "@typescript-eslint/unbound-method": "off",
- 'react/jsx-boolean-value': 'error',
- 'react/jsx-closing-bracket-location': 'error',
- 'react/jsx-curly-spacing': [ 'error', 'always' ],
- 'react/jsx-equals-spacing': 'error',
- 'react/jsx-first-prop-new-line': 'error',
- 'react/jsx-indent-props': [ 'error', 2 ],
- 'react/jsx-indent': [ 'error', 2 ],
- 'react/jsx-key': 'error',
- 'react/jsx-max-props-per-line': [ 'error', { 'maximum': 1 }],
- 'react/jsx-no-literals': 'off',
- 'react/jsx-no-target-blank': 'error',
- 'react/jsx-pascal-case': 'error',
- 'react/jsx-sort-props': 'error',
- 'react/jsx-tag-spacing': 'error',
- 'react/jsx-no-constructed-context-values': 'error',
- 'react/jsx-wrap-multilines': [
- 'error',
- {
- "declaration": "parens-new-line",
- "assignment": "parens-new-line",
- "return": "parens-new-line",
- "arrow": "parens-new-line",
- "condition": "parens-new-line",
- "logical": "parens-new-line",
- "prop": "ignore"
- }
- ]
- }
-}
diff --git a/.github/workflows/frontend-build.yaml b/.github/workflows/frontend-build.yaml
index 1e6651603..23cfaec17 100644
--- a/.github/workflows/frontend-build.yaml
+++ b/.github/workflows/frontend-build.yaml
@@ -32,12 +32,13 @@ jobs:
- name: Cache npm dependencies
uses: actions/cache@v4
with:
- path: node_modules
+ path: ./assets/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
+ working-directory: ./assets
run: npm ci
lint:
@@ -59,12 +60,13 @@ jobs:
- name: Cache npm dependencies
uses: actions/cache@v4
with:
- path: node_modules
+ path: ./assets/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Run code linting
+ working-directory: ./assets
run: npm run lint-fix
- uses: stefanzweifel/git-auto-commit-action@v5
@@ -90,12 +92,13 @@ jobs:
- name: Cache npm dependencies
uses: actions/cache@v4
with:
- path: node_modules
+ path: ./assets/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Run production build
+ working-directory: ./assets
run: npm run build
- uses: stefanzweifel/git-auto-commit-action@v5
@@ -119,10 +122,11 @@ jobs:
- name: Cache npm dependencies
uses: actions/cache@v4
with:
- path: node_modules
+ path: ./assets/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Run tests
+ working-directory: ./assets
run: npm run test
diff --git a/.gitignore b/.gitignore
index 28bd8b20d..d9a6568fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,7 +29,7 @@ Thumbs.db
/var
/vendor
-/node_modules
+assets/node_modules
# code style fixer
.php_cs
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
index 37a001f61..e0ad6469b 100644
--- a/.php-cs-fixer.dist.php
+++ b/.php-cs-fixer.dist.php
@@ -23,11 +23,14 @@
'header_comment' => [
'comment_type' => 'PHPDoc',
'header' => 'Pimcore' . PHP_EOL . PHP_EOL .
- 'This source file is available under following license:' . PHP_EOL .
+ 'This source file is available under two different licenses:' . PHP_EOL .
+ '- GNU General Public License version 3 (GPLv3)' . PHP_EOL .
'- Pimcore Commercial License (PCL)' . PHP_EOL .
+ 'Full copyright and license information is available in' . PHP_EOL .
+ 'LICENSE.md which is distributed with this source code.' . PHP_EOL .
PHP_EOL .
' @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)' . PHP_EOL .
- ' @license http://www.pimcore.org/license PCL'
+ ' @license http://www.pimcore.org/license GPLv3 and PCL'
],
'blank_line_before_statement' => true,
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
deleted file mode 100644
index f3b04df99..000000000
--- a/.storybook/preview.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import React from "react";
-import '../assets/js/src/bootstrap';
-import type { Preview } from "@storybook/react";
-import "../assets/css/globals.css";
-import { GlobalProvider } from "../assets/js/src/modules/app/global-provider";
-import { App } from 'antd'
-
-const preview: Preview = {
- parameters: {
- controls: {
- matchers: {
- color: /(background|color)$/i,
- date: /Date$/i,
- },
- },
- },
-
- decorators: [
- (Story) => (
-
-
-
-
-
- ),
- ],
-};
-
-export default preview;
diff --git a/LICENSE.md b/LICENSE.md
index bd095c511..f148a9f00 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,11 +1,40 @@
# License
Copyright (C) Pimcore GmbH
-This software is available under following license:
+This software is available under two different licensing options:
+* Pimcore Open Core License (POCL) + GNU General Public License version 3 (GPLv3) as Pimcore Community Edition
+ * All contents inside of `/assets/` and `/public/build` are licensed under the Pimcore Open Core License (POCL).
+ * All contents outside of `/assets/` and `/public/build` are licensed under the GNU General Public License version 3 (GPLv3).
* Pimcore Commercial License (PCL)
+## Pimcore Community Edition
+If you decide to choose the Pimcore Community Edition, you must comply with the following terms:
+
+### Pimcore Open Core License (POCL)
+
+> For all contents inside of `/assets/` and `/public/build`
+
+The `pocl.txt` file in the root of this repository contains the Pimcore Open Core License (POCL) licensing terms.
+
+### GNU General Public License version 3 (GPLv3)
+
+> For all contents outside of `/assets/` and `/public/build`
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+
## Pimcore Commercial License (PCL)
Commercial and supported versions of the program - also known as
Commercial Distributions - must be used in accordance with the terms and conditions
contained in a separate written agreement between you and Pimcore GmbH.
-For more information about the Pimcore Commercial License (PCL) please contact info@pimcore.com.
\ No newline at end of file
+For more information about the Pimcore Commercial License (PCL) please contact info@pimcore.com.
diff --git a/assets/.eslintrc.js b/assets/.eslintrc.js
new file mode 100644
index 000000000..04c706a42
--- /dev/null
+++ b/assets/.eslintrc.js
@@ -0,0 +1,108 @@
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
+module.exports = {
+ ignorePatterns: ['*.gen.ts'],
+ env: {
+ browser: true,
+ es2021: true
+ },
+ settings: {
+ react: {
+ version: 'detect'
+ }
+ },
+ extends: [
+ 'standard-with-typescript',
+ 'plugin:react/recommended',
+ 'plugin:storybook/recommended',
+ 'plugin:jsx-a11y/recommended'
+ ],
+ overrides: [
+ {
+ env: {
+ node: true
+ },
+ files: [
+ '.eslintrc.{js,cjs}'
+ ],
+ parserOptions: {
+ sourceType: 'script'
+ }
+ },
+
+ {
+ files: ['*.spec.ts', '*.spec.tsx', '*.test.ts', '*.test.tsx'],
+ env: {
+ jest: true
+ }
+ }
+ ],
+ parserOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ ecmaFeatures: {
+ jsx: true
+ }
+ },
+ plugins: [
+ 'react',
+ 'header'
+ ],
+ rules: {
+ '@typescript-eslint/no-misused-promises': 'off',
+ '@typescript-eslint/no-non-null-assertion': 'off',
+ '@typescript-eslint/unbound-method': 'off',
+ 'react/jsx-boolean-value': 'error',
+ 'react/jsx-closing-bracket-location': 'error',
+ 'react/jsx-curly-spacing': ['error', 'always'],
+ 'react/jsx-equals-spacing': 'error',
+ 'react/jsx-first-prop-new-line': 'error',
+ 'react/jsx-indent-props': ['error', 2],
+ 'react/jsx-indent': ['error', 2],
+ 'react/jsx-key': 'error',
+ 'react/jsx-max-props-per-line': ['error', { maximum: 1 }],
+ 'react/jsx-no-literals': 'off',
+ 'react/jsx-no-target-blank': 'error',
+ 'react/jsx-pascal-case': 'error',
+ 'react/jsx-sort-props': 'error',
+ 'react/jsx-tag-spacing': 'error',
+ 'react/jsx-no-constructed-context-values': 'error',
+ 'react/jsx-wrap-multilines': [
+ 'error',
+ {
+ declaration: 'parens-new-line',
+ assignment: 'parens-new-line',
+ return: 'parens-new-line',
+ arrow: 'parens-new-line',
+ condition: 'parens-new-line',
+ logical: 'parens-new-line',
+ prop: 'ignore'
+ }
+ ],
+ 'header/header': [2, 'block', [
+ '*',
+ '* Pimcore',
+ '*',
+ '* This source file is available under two different licenses:',
+ '* - Pimcore Open Core License (POCL)',
+ '* - Pimcore Commercial License (PCL)',
+ '* Full copyright and license information is available in',
+ '* LICENSE.md which is distributed with this source code.',
+ '*',
+ '* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)',
+ '* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL',
+ ''
+ ], 2]
+ }
+}
diff --git a/.storybook/main.ts b/assets/.storybook/main.ts
similarity index 68%
rename from .storybook/main.ts
rename to assets/.storybook/main.ts
index 102a78ca3..f1b3e5b12 100644
--- a/.storybook/main.ts
+++ b/assets/.storybook/main.ts
@@ -1,8 +1,21 @@
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
import type { StorybookConfig } from "@storybook/react-webpack5";
import path from "path";
const config: StorybookConfig = {
- stories: ["../assets/js/**/*.mdx", "../assets/js/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
+ stories: ["../js/**/*.mdx", "../js/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
@@ -25,7 +38,7 @@ const config: StorybookConfig = {
webpackFinal: async (config) => {
config.resolve!.alias = {
...config.resolve!.alias,
- "@Pimcore": path.resolve(__dirname, "../assets/js/src"),
+ "@Pimcore": path.resolve(__dirname, "../js/src"),
};
// disable whatever is already set to load SVGs
diff --git a/.storybook/preview-head.html b/assets/.storybook/preview-head.html
similarity index 100%
rename from .storybook/preview-head.html
rename to assets/.storybook/preview-head.html
diff --git a/assets/.storybook/preview.tsx b/assets/.storybook/preview.tsx
new file mode 100644
index 000000000..21fd04e9e
--- /dev/null
+++ b/assets/.storybook/preview.tsx
@@ -0,0 +1,42 @@
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
+import React from "react";
+import '../js/src/bootstrap';
+import type { Preview } from "@storybook/react";
+import "../css/globals.css";
+import { GlobalProvider } from "../js/src/modules/app/global-provider";
+import { App } from 'antd'
+
+const preview: Preview = {
+ parameters: {
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+
+ decorators: [
+ (Story) => (
+
+
+
+
+
+ ),
+ ],
+};
+
+export default preview;
diff --git a/assets/css/globals.css b/assets/css/globals.css
index 714b52fd7..cfc12e639 100644
--- a/assets/css/globals.css
+++ b/assets/css/globals.css
@@ -1,3 +1,16 @@
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
@font-face {
font-family: Lato;
src: url(../fonts/Lato-Regular.ttf);
diff --git a/assets/jest.config.ts b/assets/jest.config.ts
new file mode 100644
index 000000000..4bdea882c
--- /dev/null
+++ b/assets/jest.config.ts
@@ -0,0 +1,29 @@
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
+import { type JestConfigWithTsJest } from 'ts-jest'
+
+const config: JestConfigWithTsJest = {
+ preset: 'ts-jest',
+ testEnvironment: 'jsdom',
+ setupFilesAfterEnv: [
+ '@testing-library/jest-dom',
+ './js/test-utils/jest-setup.ts'
+ ],
+ moduleNameMapper: {
+ '^@Pimcore/(.*)$': '/js/src/$1',
+ '^@test-utils/(.*)$': '/js/test-utils/$1'
+ }
+}
+
+export default config
diff --git a/assets/js/build/openapi-config.ts b/assets/js/build/openapi-config.ts
index b1e7c2cf5..39b663753 100644
--- a/assets/js/build/openapi-config.ts
+++ b/assets/js/build/openapi-config.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type ConfigFile } from '@rtk-query/codegen-openapi'
const config: ConfigFile = {
diff --git a/assets/js/src/app/api/pimcore/index.ts b/assets/js/src/app/api/pimcore/index.ts
index 311469498..65306518d 100644
--- a/assets/js/src/app/api/pimcore/index.ts
+++ b/assets/js/src/app/api/pimcore/index.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
export const api = createApi({
diff --git a/assets/js/src/app/i18n/index.ts b/assets/js/src/app/i18n/index.ts
index 676ce6a54..f06013656 100644
--- a/assets/js/src/app/i18n/index.ts
+++ b/assets/js/src/app/i18n/index.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'
diff --git a/assets/js/src/app/store/index.ts b/assets/js/src/app/store/index.ts
index 992a5e118..2c92b0dee 100644
--- a/assets/js/src/app/store/index.ts
+++ b/assets/js/src/app/store/index.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Reducer, combineSlices, configureStore } from '@reduxjs/toolkit'
import { type TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
import { api as pimcoreApi } from '@Pimcore/app/api/pimcore'
diff --git a/assets/js/src/bootstrap.ts b/assets/js/src/bootstrap.ts
index 42dec3b8d..add79dac6 100644
--- a/assets/js/src/bootstrap.ts
+++ b/assets/js/src/bootstrap.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import '@Pimcore/app/i18n'
import '@Pimcore/modules/example'
import '@Pimcore/modules/asset'
diff --git a/assets/js/src/components/background/background.styles.ts b/assets/js/src/components/background/background.styles.ts
index 547ae4273..a4ff6cc25 100644
--- a/assets/js/src/components/background/background.styles.ts
+++ b/assets/js/src/components/background/background.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/background/background.tsx b/assets/js/src/components/background/background.tsx
index 91f40b905..43f40e926 100644
--- a/assets/js/src/components/background/background.tsx
+++ b/assets/js/src/components/background/background.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyle } from './background.styles'
diff --git a/assets/js/src/components/dropdown-menu/dropdown-menu.stories.tsx b/assets/js/src/components/dropdown-menu/dropdown-menu.stories.tsx
index b085adaef..b97a9b9e5 100644
--- a/assets/js/src/components/dropdown-menu/dropdown-menu.stories.tsx
+++ b/assets/js/src/components/dropdown-menu/dropdown-menu.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { DropdownMenu as DropdownMenuComponent, type DropdownMenuItemProps } from './dropdown-menu'
import { Button } from 'antd'
diff --git a/assets/js/src/components/dropdown-menu/dropdown-menu.styles.tsx b/assets/js/src/components/dropdown-menu/dropdown-menu.styles.tsx
index 2899c979f..82be8d91b 100644
--- a/assets/js/src/components/dropdown-menu/dropdown-menu.styles.tsx
+++ b/assets/js/src/components/dropdown-menu/dropdown-menu.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/dropdown-menu/dropdown-menu.tsx b/assets/js/src/components/dropdown-menu/dropdown-menu.tsx
index 8679bd8da..800f1691c 100644
--- a/assets/js/src/components/dropdown-menu/dropdown-menu.tsx
+++ b/assets/js/src/components/dropdown-menu/dropdown-menu.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Dropdown, type DropdownProps, type MenuProps } from 'antd'
import React, { type ReactElement } from 'react'
import { Icon } from '@Pimcore/components/icon/icon'
diff --git a/assets/js/src/components/editor-tabs/editor-tabs.stories.tsx b/assets/js/src/components/editor-tabs/editor-tabs.stories.tsx
index 12f5928ed..cd4d76783 100644
--- a/assets/js/src/components/editor-tabs/editor-tabs.stories.tsx
+++ b/assets/js/src/components/editor-tabs/editor-tabs.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { EditorTabs } from '@Pimcore/components/editor-tabs/editor-tabs'
import { type Meta } from '@storybook/react'
import { PictureOutlined, TagOutlined } from '@ant-design/icons'
diff --git a/assets/js/src/components/editor-tabs/editor-tabs.styles.tsx b/assets/js/src/components/editor-tabs/editor-tabs.styles.tsx
index 9b41e18e5..73474a55c 100644
--- a/assets/js/src/components/editor-tabs/editor-tabs.styles.tsx
+++ b/assets/js/src/components/editor-tabs/editor-tabs.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/editor-tabs/editor-tabs.tsx b/assets/js/src/components/editor-tabs/editor-tabs.tsx
index 4dc5480bc..20ef4d261 100644
--- a/assets/js/src/components/editor-tabs/editor-tabs.tsx
+++ b/assets/js/src/components/editor-tabs/editor-tabs.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyle } from '@Pimcore/components/editor-tabs/editor-tabs.styles'
import { Tabs, type TabsProps } from 'antd'
diff --git a/assets/js/src/components/example/__tests__/example.spec.tsx b/assets/js/src/components/example/__tests__/example.spec.tsx
index 48cf5c64a..5b9061c32 100644
--- a/assets/js/src/components/example/__tests__/example.spec.tsx
+++ b/assets/js/src/components/example/__tests__/example.spec.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import '@testing-library/jest-dom'
import { render } from '@test-utils/test-utils'
diff --git a/assets/js/src/components/example/example.stories.tsx b/assets/js/src/components/example/example.stories.tsx
index 3e507c6f9..97c0803fd 100644
--- a/assets/js/src/components/example/example.stories.tsx
+++ b/assets/js/src/components/example/example.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { Example as ExampleComponent } from './example'
diff --git a/assets/js/src/components/example/example.styles.tsx b/assets/js/src/components/example/example.styles.tsx
index 37a2393f3..01079259a 100644
--- a/assets/js/src/components/example/example.styles.tsx
+++ b/assets/js/src/components/example/example.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/example/example.tsx b/assets/js/src/components/example/example.tsx
index 82ae28535..ebbe57fcf 100644
--- a/assets/js/src/components/example/example.tsx
+++ b/assets/js/src/components/example/example.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Button, Space } from 'antd'
import React from 'react'
import { useStyle } from './example.styles'
diff --git a/assets/js/src/components/formatted-date/formatted-date.tsx b/assets/js/src/components/formatted-date/formatted-date.tsx
index 6b5c5f834..9b907ead3 100644
--- a/assets/js/src/components/formatted-date/formatted-date.tsx
+++ b/assets/js/src/components/formatted-date/formatted-date.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useTranslation } from 'react-i18next'
diff --git a/assets/js/src/components/grid/columns/views/image-view.styles.ts b/assets/js/src/components/grid/columns/views/image-view.styles.ts
index 5678c5b87..0e662e769 100644
--- a/assets/js/src/components/grid/columns/views/image-view.styles.ts
+++ b/assets/js/src/components/grid/columns/views/image-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/grid/columns/views/image-view.tsx b/assets/js/src/components/grid/columns/views/image-view.tsx
index f5e6f5659..2ef7bf0fa 100644
--- a/assets/js/src/components/grid/columns/views/image-view.tsx
+++ b/assets/js/src/components/grid/columns/views/image-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyles } from './image-view.styles'
import { PimcoreImage } from '@Pimcore/components/pimcore-image/pimcore-image'
diff --git a/assets/js/src/components/grid/grid.stories.tsx b/assets/js/src/components/grid/grid.stories.tsx
index cfe0a7e29..a7a7689fe 100644
--- a/assets/js/src/components/grid/grid.stories.tsx
+++ b/assets/js/src/components/grid/grid.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { type Meta } from '@storybook/react'
import { Grid } from './grid'
diff --git a/assets/js/src/components/grid/grid.styles.ts b/assets/js/src/components/grid/grid.styles.ts
index 19a0bde52..817ea0c5a 100644
--- a/assets/js/src/components/grid/grid.styles.ts
+++ b/assets/js/src/components/grid/grid.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/grid/grid.tsx b/assets/js/src/components/grid/grid.tsx
index b02fa24f0..c3f29edf8 100644
--- a/assets/js/src/components/grid/grid.tsx
+++ b/assets/js/src/components/grid/grid.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useCssComponentHash } from '@Pimcore/modules/ant-design/hooks/use-css-component-hash'
import { type ColumnDef, flexRender, getCoreRowModel, useReactTable, type ColumnResizeMode, type TableOptions } from '@tanstack/react-table'
import React, { useEffect, useState } from 'react'
diff --git a/assets/js/src/components/grid/resizer/resizer.styles.tsx b/assets/js/src/components/grid/resizer/resizer.styles.tsx
index 2fd780fd9..ee7c68297 100644
--- a/assets/js/src/components/grid/resizer/resizer.styles.tsx
+++ b/assets/js/src/components/grid/resizer/resizer.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/grid/resizer/resizer.tsx b/assets/js/src/components/grid/resizer/resizer.tsx
index d4966c9ad..cb7c02d28 100644
--- a/assets/js/src/components/grid/resizer/resizer.tsx
+++ b/assets/js/src/components/grid/resizer/resizer.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type KeyboardEvent } from 'react'
import { useStyles } from './resizer.styles'
import { type Header, type Table } from '@tanstack/react-table'
diff --git a/assets/js/src/components/icon/icon.stories.tsx b/assets/js/src/components/icon/icon.stories.tsx
index 26216c05b..5edb44116 100644
--- a/assets/js/src/components/icon/icon.stories.tsx
+++ b/assets/js/src/components/icon/icon.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { Icon } from './icon'
diff --git a/assets/js/src/components/icon/icon.tsx b/assets/js/src/components/icon/icon.tsx
index 7b9e35280..1e3e44aaa 100755
--- a/assets/js/src/components/icon/icon.tsx
+++ b/assets/js/src/components/icon/icon.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { Suspense } from 'react'
const icons = {
diff --git a/assets/js/src/components/image-zoom/image-zoom.stories.tsx b/assets/js/src/components/image-zoom/image-zoom.stories.tsx
index 16ae93044..24a7dab6f 100644
--- a/assets/js/src/components/image-zoom/image-zoom.stories.tsx
+++ b/assets/js/src/components/image-zoom/image-zoom.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { ImageZoom } from '@Pimcore/components/image-zoom/image-zoom'
import React, { useState } from 'react'
diff --git a/assets/js/src/components/image-zoom/image-zoom.styles.tsx b/assets/js/src/components/image-zoom/image-zoom.styles.tsx
index da9ae798c..6a81312ec 100644
--- a/assets/js/src/components/image-zoom/image-zoom.styles.tsx
+++ b/assets/js/src/components/image-zoom/image-zoom.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/image-zoom/image-zoom.tsx b/assets/js/src/components/image-zoom/image-zoom.tsx
index 3f8ea42b9..aae6bddff 100644
--- a/assets/js/src/components/image-zoom/image-zoom.tsx
+++ b/assets/js/src/components/image-zoom/image-zoom.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Button, Select, Space } from 'antd'
import React, { useEffect } from 'react'
import { Icon } from '@Pimcore/components/icon/icon'
diff --git a/assets/js/src/components/logo/logo.styles.tsx b/assets/js/src/components/logo/logo.styles.tsx
index 0a865fd91..9a468f2cf 100644
--- a/assets/js/src/components/logo/logo.styles.tsx
+++ b/assets/js/src/components/logo/logo.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStlyes = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/logo/logo.tsx b/assets/js/src/components/logo/logo.tsx
index e2966652c..dc6cd2b6f 100644
--- a/assets/js/src/components/logo/logo.tsx
+++ b/assets/js/src/components/logo/logo.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import PimcoreLogo from '@Pimcore/assets/images/pimcore.inline.svg'
import { useStlyes } from './logo.styles'
diff --git a/assets/js/src/components/message/message.stories.tsx b/assets/js/src/components/message/message.stories.tsx
index 195285a59..23f7e1fa4 100644
--- a/assets/js/src/components/message/message.stories.tsx
+++ b/assets/js/src/components/message/message.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import React from 'react'
import { Button } from 'antd'
diff --git a/assets/js/src/components/message/message.style.tsx b/assets/js/src/components/message/message.style.tsx
index 9fba2700d..60f68db2f 100644
--- a/assets/js/src/components/message/message.style.tsx
+++ b/assets/js/src/components/message/message.style.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/message/useMessage/index.tsx b/assets/js/src/components/message/useMessage/index.tsx
index a0f86febb..1ec67fc91 100644
--- a/assets/js/src/components/message/useMessage/index.tsx
+++ b/assets/js/src/components/message/useMessage/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { message } from 'antd'
import {
type ArgsProps,
diff --git a/assets/js/src/components/modal/file-list/file-list.styles.tsx b/assets/js/src/components/modal/file-list/file-list.styles.tsx
index 083d6f43c..77c2419b6 100644
--- a/assets/js/src/components/modal/file-list/file-list.styles.tsx
+++ b/assets/js/src/components/modal/file-list/file-list.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/modal/file-list/file-list.tsx b/assets/js/src/components/modal/file-list/file-list.tsx
index 8956b194c..7a642c2c5 100644
--- a/assets/js/src/components/modal/file-list/file-list.tsx
+++ b/assets/js/src/components/modal/file-list/file-list.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyle } from '@Pimcore/components/modal/file-list/file-list.styles'
diff --git a/assets/js/src/components/modal/footer/modal-footer.styles.tsx b/assets/js/src/components/modal/footer/modal-footer.styles.tsx
index d26310643..3b8be6a25 100644
--- a/assets/js/src/components/modal/footer/modal-footer.styles.tsx
+++ b/assets/js/src/components/modal/footer/modal-footer.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/modal/footer/modal-footer.tsx b/assets/js/src/components/modal/footer/modal-footer.tsx
index d4f67e08d..1c5b250d0 100644
--- a/assets/js/src/components/modal/footer/modal-footer.tsx
+++ b/assets/js/src/components/modal/footer/modal-footer.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyle } from '@Pimcore/components/modal/footer/modal-footer.styles'
diff --git a/assets/js/src/components/modal/modal.stories.tsx b/assets/js/src/components/modal/modal.stories.tsx
index 1079156fa..ba0ee0f87 100644
--- a/assets/js/src/components/modal/modal.stories.tsx
+++ b/assets/js/src/components/modal/modal.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { Button } from 'antd'
import React from 'react'
diff --git a/assets/js/src/components/modal/modal.styles.tsx b/assets/js/src/components/modal/modal.styles.tsx
index cc58d55d9..c7c0fa6fd 100644
--- a/assets/js/src/components/modal/modal.styles.tsx
+++ b/assets/js/src/components/modal/modal.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/modal/modal.tsx b/assets/js/src/components/modal/modal.tsx
index f76a98b6a..a7279aa56 100644
--- a/assets/js/src/components/modal/modal.tsx
+++ b/assets/js/src/components/modal/modal.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Modal as AntModal, type ModalProps as AntModalProps } from 'antd'
import React from 'react'
import { useStyle } from '@Pimcore/components/modal/modal.styles'
diff --git a/assets/js/src/components/modal/useModal/index.tsx b/assets/js/src/components/modal/useModal/index.tsx
index 61cc0bc47..4a8d3fedd 100644
--- a/assets/js/src/components/modal/useModal/index.tsx
+++ b/assets/js/src/components/modal/useModal/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useState } from 'react'
import { Modal, type IModalProps } from '@Pimcore/components/modal/modal'
import { Icon } from '@Pimcore/components/icon/icon'
diff --git a/assets/js/src/components/notification/content/action-list/action-list.style.tsx b/assets/js/src/components/notification/content/action-list/action-list.style.tsx
index 833bd6dc0..e16eb03aa 100644
--- a/assets/js/src/components/notification/content/action-list/action-list.style.tsx
+++ b/assets/js/src/components/notification/content/action-list/action-list.style.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/notification/content/action-list/action-list.tsx b/assets/js/src/components/notification/content/action-list/action-list.tsx
index f9ad02df1..c690d55c8 100644
--- a/assets/js/src/components/notification/content/action-list/action-list.tsx
+++ b/assets/js/src/components/notification/content/action-list/action-list.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Icon } from '@Pimcore/components/icon/icon'
import React, { type ReactNode, useState } from 'react'
import { Button } from 'antd'
diff --git a/assets/js/src/components/notification/notification.stories.tsx b/assets/js/src/components/notification/notification.stories.tsx
index 175182711..e36b4667b 100644
--- a/assets/js/src/components/notification/notification.stories.tsx
+++ b/assets/js/src/components/notification/notification.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { useNotification } from './useNotification'
import { Button } from 'antd'
diff --git a/assets/js/src/components/notification/notification.style.tsx b/assets/js/src/components/notification/notification.style.tsx
index ba52f6fcc..fb89d3d5a 100644
--- a/assets/js/src/components/notification/notification.style.tsx
+++ b/assets/js/src/components/notification/notification.style.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/notification/useNotification/index.tsx b/assets/js/src/components/notification/useNotification/index.tsx
index 842461536..fdcc55aad 100644
--- a/assets/js/src/components/notification/useNotification/index.tsx
+++ b/assets/js/src/components/notification/useNotification/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { App } from 'antd'
import { type ArgsProps, type NotificationInstance } from 'antd/es/notification/interface'
import { useStyle } from '@Pimcore/components/notification/notification.style'
diff --git a/assets/js/src/components/pimcore-image/pimcore-image.stories.tsx b/assets/js/src/components/pimcore-image/pimcore-image.stories.tsx
index 5ac241694..80c62546f 100644
--- a/assets/js/src/components/pimcore-image/pimcore-image.stories.tsx
+++ b/assets/js/src/components/pimcore-image/pimcore-image.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { PimcoreImage as PimcoreImageComponent } from './pimcore-image'
diff --git a/assets/js/src/components/pimcore-image/pimcore-image.styles.tsx b/assets/js/src/components/pimcore-image/pimcore-image.styles.tsx
index fab53b7ce..822a49314 100644
--- a/assets/js/src/components/pimcore-image/pimcore-image.styles.tsx
+++ b/assets/js/src/components/pimcore-image/pimcore-image.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/pimcore-image/pimcore-image.tsx b/assets/js/src/components/pimcore-image/pimcore-image.tsx
index a06457ef6..b61a1f584 100644
--- a/assets/js/src/components/pimcore-image/pimcore-image.tsx
+++ b/assets/js/src/components/pimcore-image/pimcore-image.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Image, type ImageProps, Spin } from 'antd'
import React, { useContext } from 'react'
import { useStyle } from '@Pimcore/components/pimcore-image/pimcore-image.styles'
diff --git a/assets/js/src/components/preview-card/preview-card.stories.tsx b/assets/js/src/components/preview-card/preview-card.stories.tsx
index 40bffd100..e4eb26bf3 100644
--- a/assets/js/src/components/preview-card/preview-card.stories.tsx
+++ b/assets/js/src/components/preview-card/preview-card.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { PreviewCard as PreviewCardComponent } from './preview-card'
import { type DropdownMenuItemProps } from '@Pimcore/components/dropdown-menu/dropdown-menu'
diff --git a/assets/js/src/components/preview-card/preview-card.styles.tsx b/assets/js/src/components/preview-card/preview-card.styles.tsx
index ed885661c..8094b778b 100644
--- a/assets/js/src/components/preview-card/preview-card.styles.tsx
+++ b/assets/js/src/components/preview-card/preview-card.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/preview-card/preview-card.tsx b/assets/js/src/components/preview-card/preview-card.tsx
index 0a53d3271..8913aa341 100644
--- a/assets/js/src/components/preview-card/preview-card.tsx
+++ b/assets/js/src/components/preview-card/preview-card.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Button, Card, Checkbox } from 'antd'
import React, { useState } from 'react'
import { useStyle } from './preview-card.styles'
diff --git a/assets/js/src/components/progressbar/progressbar.stories.tsx b/assets/js/src/components/progressbar/progressbar.stories.tsx
index d01d0e748..2b224d233 100644
--- a/assets/js/src/components/progressbar/progressbar.stories.tsx
+++ b/assets/js/src/components/progressbar/progressbar.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import React from 'react'
import { Progressbar } from '@Pimcore/components/progressbar/progressbar'
diff --git a/assets/js/src/components/progressbar/progressbar.style.tsx b/assets/js/src/components/progressbar/progressbar.style.tsx
index 378b78d3e..3209f6ed5 100644
--- a/assets/js/src/components/progressbar/progressbar.style.tsx
+++ b/assets/js/src/components/progressbar/progressbar.style.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/progressbar/progressbar.tsx b/assets/js/src/components/progressbar/progressbar.tsx
index b6012420c..e216f192c 100644
--- a/assets/js/src/components/progressbar/progressbar.tsx
+++ b/assets/js/src/components/progressbar/progressbar.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Progress, type ProgressProps } from 'antd'
import React from 'react'
import { useStyle } from '@Pimcore/components/progressbar/progressbar.style'
diff --git a/assets/js/src/components/sidebar/sidebar.stories.tsx b/assets/js/src/components/sidebar/sidebar.stories.tsx
index e43e037b7..819a1e4e6 100644
--- a/assets/js/src/components/sidebar/sidebar.stories.tsx
+++ b/assets/js/src/components/sidebar/sidebar.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { Sidebar } from '@Pimcore/components/sidebar/sidebar'
import { AssetEditorSidebarDetailsTab } from '@Pimcore/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details'
diff --git a/assets/js/src/components/sidebar/sidebar.styles.ts b/assets/js/src/components/sidebar/sidebar.styles.ts
index 0b68ad472..0f7939ece 100644
--- a/assets/js/src/components/sidebar/sidebar.styles.ts
+++ b/assets/js/src/components/sidebar/sidebar.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/sidebar/sidebar.tsx b/assets/js/src/components/sidebar/sidebar.tsx
index 6011e50e1..5cf025860 100644
--- a/assets/js/src/components/sidebar/sidebar.tsx
+++ b/assets/js/src/components/sidebar/sidebar.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useStyle } from './sidebar.styles'
import React, { useState } from 'react'
import { type ISidebarButton, type ISidebarEntry } from '@Pimcore/modules/element/sidebar/sidebar-manager'
diff --git a/assets/js/src/components/toolbar/toolbar.stories.tsx b/assets/js/src/components/toolbar/toolbar.stories.tsx
index be72c4ee9..e17b2e9d5 100644
--- a/assets/js/src/components/toolbar/toolbar.stories.tsx
+++ b/assets/js/src/components/toolbar/toolbar.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { type PinnableToolbarElement, Toolbar as ToolbarComponent } from './toolbar'
import i18n from '@Pimcore/app/i18n'
diff --git a/assets/js/src/components/toolbar/toolbar.styles.tsx b/assets/js/src/components/toolbar/toolbar.styles.tsx
index d88e5cf3f..855ec7706 100644
--- a/assets/js/src/components/toolbar/toolbar.styles.tsx
+++ b/assets/js/src/components/toolbar/toolbar.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/toolbar/toolbar.tsx b/assets/js/src/components/toolbar/toolbar.tsx
index f07e797bf..ce06e700c 100644
--- a/assets/js/src/components/toolbar/toolbar.tsx
+++ b/assets/js/src/components/toolbar/toolbar.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Button } from 'antd'
import React, { type ReactNode, useState } from 'react'
import { useStyle } from './toolbar.styles'
diff --git a/assets/js/src/components/tree/expander/tree-expander.tsx b/assets/js/src/components/tree/expander/tree-expander.tsx
index 88676a475..b952a3b99 100644
--- a/assets/js/src/components/tree/expander/tree-expander.tsx
+++ b/assets/js/src/components/tree/expander/tree-expander.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type MouseEvent, useContext } from 'react'
import { type TreeNodeProps } from '../node/tree-node'
import { TreeContext } from '../tree'
diff --git a/assets/js/src/components/tree/list/tree-list.styles.ts b/assets/js/src/components/tree/list/tree-list.styles.ts
index 14f6ac114..d4082e0d5 100644
--- a/assets/js/src/components/tree/list/tree-list.styles.ts
+++ b/assets/js/src/components/tree/list/tree-list.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/tree/list/tree-list.tsx b/assets/js/src/components/tree/list/tree-list.tsx
index c80e86efd..3e96fadbb 100644
--- a/assets/js/src/components/tree/list/tree-list.tsx
+++ b/assets/js/src/components/tree/list/tree-list.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useContext } from 'react'
import { TreeNode, type TreeNodeProps } from '../node/tree-node'
import { TreeContext } from '../tree'
diff --git a/assets/js/src/components/tree/node/content/tree-node-content.tsx b/assets/js/src/components/tree/node/content/tree-node-content.tsx
index f8109c5f5..d65acb77a 100644
--- a/assets/js/src/components/tree/node/content/tree-node-content.tsx
+++ b/assets/js/src/components/tree/node/content/tree-node-content.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { type TreeNodeProps } from '../tree-node'
import { Flex } from 'antd'
diff --git a/assets/js/src/components/tree/node/tree-node.styles.ts b/assets/js/src/components/tree/node/tree-node.styles.ts
index c7cae5dab..3f5ac29f5 100644
--- a/assets/js/src/components/tree/node/tree-node.styles.ts
+++ b/assets/js/src/components/tree/node/tree-node.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/tree/node/tree-node.tsx b/assets/js/src/components/tree/node/tree-node.tsx
index eefd30a1c..56fe75fe7 100644
--- a/assets/js/src/components/tree/node/tree-node.tsx
+++ b/assets/js/src/components/tree/node/tree-node.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Flex, theme } from 'antd'
import React, { type KeyboardEvent, useContext, useEffect } from 'react'
import { useStyles } from './tree-node.styles'
diff --git a/assets/js/src/components/tree/tree.styles.ts b/assets/js/src/components/tree/tree.styles.ts
index 94885241c..ec64140d3 100644
--- a/assets/js/src/components/tree/tree.styles.ts
+++ b/assets/js/src/components/tree/tree.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/components/tree/tree.tsx b/assets/js/src/components/tree/tree.tsx
index ebdcad8e5..1fe1e7a17 100644
--- a/assets/js/src/components/tree/tree.tsx
+++ b/assets/js/src/components/tree/tree.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ElementType, createContext, useState, type Dispatch, useMemo, useRef, type MutableRefObject, useCallback } from 'react'
import { TreeNode, type TreeNodeProps } from './node/tree-node'
import { TreeNodeContent, type TreeNodeContentProps } from './node/content/tree-node-content'
diff --git a/assets/js/src/main.ts b/assets/js/src/main.ts
index 86d2e77fd..9539aa6f9 100644
--- a/assets/js/src/main.ts
+++ b/assets/js/src/main.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import '@Pimcore/bootstrap'
import { runApp } from './modules/app/utils/app-runner'
diff --git a/assets/js/src/modules/ant-design/hooks/use-css-component-hash.ts b/assets/js/src/modules/ant-design/hooks/use-css-component-hash.ts
index 3d4ebff04..128b1ae41 100644
--- a/assets/js/src/modules/ant-design/hooks/use-css-component-hash.ts
+++ b/assets/js/src/modules/ant-design/hooks/use-css-component-hash.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import useStyle from 'antd/es/table/style'
import { ConfigContext } from 'antd/es/config-provider/context'
import { useContext } from 'react'
diff --git a/assets/js/src/modules/app/app-view.tsx b/assets/js/src/modules/app/app-view.tsx
index 1ad88843b..e2eaeb330 100644
--- a/assets/js/src/modules/app/app-view.tsx
+++ b/assets/js/src/modules/app/app-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { StrictMode } from 'react'
import { GlobalProvider } from './global-provider'
import { BaseLayoutView } from '@Pimcore/modules/app/base-layout/base-layout-view'
diff --git a/assets/js/src/modules/app/app.stories.tsx b/assets/js/src/modules/app/app.stories.tsx
index 9a7a1e05a..3cbceb634 100644
--- a/assets/js/src/modules/app/app.stories.tsx
+++ b/assets/js/src/modules/app/app.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { AppView } from './app-view'
diff --git a/assets/js/src/modules/app/base-layout/base-layout-view.styles.ts b/assets/js/src/modules/app/base-layout/base-layout-view.styles.ts
index a42f6d68b..44faec6d1 100644
--- a/assets/js/src/modules/app/base-layout/base-layout-view.styles.ts
+++ b/assets/js/src/modules/app/base-layout/base-layout-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStlyes = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/app/base-layout/base-layout-view.tsx b/assets/js/src/modules/app/base-layout/base-layout-view.tsx
index 9e40e5b99..e2fc415db 100644
--- a/assets/js/src/modules/app/base-layout/base-layout-view.tsx
+++ b/assets/js/src/modules/app/base-layout/base-layout-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { LeftSidebarView } from './left-sidebar-view'
import { WidgetManagerContainer } from '@Pimcore/modules/widget-manager/widget-manager-container'
diff --git a/assets/js/src/modules/app/base-layout/left-sidebar-view.styles.ts b/assets/js/src/modules/app/base-layout/left-sidebar-view.styles.ts
index 6baaabbf7..54e030548 100644
--- a/assets/js/src/modules/app/base-layout/left-sidebar-view.styles.ts
+++ b/assets/js/src/modules/app/base-layout/left-sidebar-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStlyes = createStyles(({
diff --git a/assets/js/src/modules/app/base-layout/left-sidebar-view.tsx b/assets/js/src/modules/app/base-layout/left-sidebar-view.tsx
index cef850bc4..a071451b0 100644
--- a/assets/js/src/modules/app/base-layout/left-sidebar-view.tsx
+++ b/assets/js/src/modules/app/base-layout/left-sidebar-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Avatar } from 'antd'
import { UserOutlined } from '@ant-design/icons'
import React from 'react'
diff --git a/assets/js/src/modules/app/base-layout/right-sidebar-view.styles.ts b/assets/js/src/modules/app/base-layout/right-sidebar-view.styles.ts
index 32f4d9d53..dd8f313db 100644
--- a/assets/js/src/modules/app/base-layout/right-sidebar-view.styles.ts
+++ b/assets/js/src/modules/app/base-layout/right-sidebar-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStlyes = createStyles(({
diff --git a/assets/js/src/modules/app/base-layout/right-sidebar-view.tsx b/assets/js/src/modules/app/base-layout/right-sidebar-view.tsx
index 619b7ef2e..a7bc7a744 100644
--- a/assets/js/src/modules/app/base-layout/right-sidebar-view.tsx
+++ b/assets/js/src/modules/app/base-layout/right-sidebar-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Logo } from '@Pimcore/components/logo/logo'
import React from 'react'
import { useStlyes } from './right-sidebar-view.styles'
diff --git a/assets/js/src/modules/app/global-context/global-context-slice.ts b/assets/js/src/modules/app/global-context/global-context-slice.ts
index a2be464cf..614911be7 100644
--- a/assets/js/src/modules/app/global-context/global-context-slice.ts
+++ b/assets/js/src/modules/app/global-context/global-context-slice.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type RootState, injectSliceWithState } from '@Pimcore/app/store'
import { type PayloadAction, createSlice } from '@reduxjs/toolkit'
diff --git a/assets/js/src/modules/app/global-provider.tsx b/assets/js/src/modules/app/global-provider.tsx
index d0713089b..ccb4307be 100644
--- a/assets/js/src/modules/app/global-provider.tsx
+++ b/assets/js/src/modules/app/global-provider.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { store } from '@Pimcore/app/store'
import { ThemeProvider } from '@Pimcore/modules/app/theme/theme-provider'
import React from 'react'
diff --git a/assets/js/src/modules/app/theme/theme-provider.tsx b/assets/js/src/modules/app/theme/theme-provider.tsx
index 4d766b7e8..b7c4d4ea6 100644
--- a/assets/js/src/modules/app/theme/theme-provider.tsx
+++ b/assets/js/src/modules/app/theme/theme-provider.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { ThemeProvider as AntdThemeProvider } from 'antd-style'
import React from 'react'
import { PimcoreDefaultTheme } from './utils/themes/default-theme'
diff --git a/assets/js/src/modules/app/theme/utils/themes/default-theme.ts b/assets/js/src/modules/app/theme/utils/themes/default-theme.ts
index a8f4b510b..e2fb73350 100644
--- a/assets/js/src/modules/app/theme/utils/themes/default-theme.ts
+++ b/assets/js/src/modules/app/theme/utils/themes/default-theme.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
interface PimcoreThemeConfig {
token: Record
components: Record
diff --git a/assets/js/src/modules/app/translations/translations-loader-container.tsx b/assets/js/src/modules/app/translations/translations-loader-container.tsx
index 941f58204..c70f60ee6 100644
--- a/assets/js/src/modules/app/translations/translations-loader-container.tsx
+++ b/assets/js/src/modules/app/translations/translations-loader-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useEffect, useState } from 'react'
import { useGetTranslationsMutation } from '@Pimcore/modules/app/translations/translations-api-slice.gen'
import { useTranslation } from 'react-i18next'
diff --git a/assets/js/src/modules/app/utils/app-runner.tsx b/assets/js/src/modules/app/utils/app-runner.tsx
index 970c4d34b..6861bc871 100644
--- a/assets/js/src/modules/app/utils/app-runner.tsx
+++ b/assets/js/src/modules/app/utils/app-runner.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { createRoot } from 'react-dom/client'
import { AppView } from '../app-view'
diff --git a/assets/js/src/modules/asset/asset-context.ts b/assets/js/src/modules/asset/asset-context.ts
index 74f1379c8..a6686082e 100644
--- a/assets/js/src/modules/asset/asset-context.ts
+++ b/assets/js/src/modules/asset/asset-context.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createContext } from 'react'
export interface IAssetContext {
diff --git a/assets/js/src/modules/asset/asset-draft-slice.tsx b/assets/js/src/modules/asset/asset-draft-slice.tsx
index 61798f7b3..c4c31d215 100644
--- a/assets/js/src/modules/asset/asset-draft-slice.tsx
+++ b/assets/js/src/modules/asset/asset-draft-slice.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'
import { type GetAssetByIdApiResponse } from './asset-api-slice.gen'
import { type RootState, injectSliceWithState } from '@Pimcore/app/store'
diff --git a/assets/js/src/modules/asset/editor/editor-container.stories.tsx b/assets/js/src/modules/asset/editor/editor-container.stories.tsx
index 42be61cfe..00326817f 100644
--- a/assets/js/src/modules/asset/editor/editor-container.stories.tsx
+++ b/assets/js/src/modules/asset/editor/editor-container.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { EditorContainer } from './editor-container'
diff --git a/assets/js/src/modules/asset/editor/editor-container.tsx b/assets/js/src/modules/asset/editor/editor-container.tsx
index a2350062c..7d57dcad3 100644
--- a/assets/js/src/modules/asset/editor/editor-container.tsx
+++ b/assets/js/src/modules/asset/editor/editor-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useEffect, useMemo } from 'react'
import { useAssetDraft } from '@Pimcore/modules/asset/hooks/use-asset-draft'
import { FolderContainer } from './folder/folder-container'
diff --git a/assets/js/src/modules/asset/editor/folder/folder-container.tsx b/assets/js/src/modules/asset/editor/folder/folder-container.tsx
index 086867294..a026739dc 100644
--- a/assets/js/src/modules/asset/editor/folder/folder-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/folder-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { TabsContainer } from './tab-manager/tabs-container'
import { TabsToolbarView } from '@Pimcore/modules/element/editor/layouts/tabs-toolbar-view'
diff --git a/assets/js/src/modules/asset/editor/folder/index.tsx b/assets/js/src/modules/asset/editor/folder/index.tsx
index 647d30a35..92a263e76 100644
--- a/assets/js/src/modules/asset/editor/folder/index.tsx
+++ b/assets/js/src/modules/asset/editor/folder/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { Icon } from '@Pimcore/components/icon/icon'
import { FolderTabManager } from './tab-manager/folder-tab-manager'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/folder-tab-manager.ts b/assets/js/src/modules/asset/editor/folder/tab-manager/folder-tab-manager.ts
index d9739f381..99733ba8a 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/folder-tab-manager.ts
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/folder-tab-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { TabManager } from '@Pimcore/modules/element/editor/tab-manager/tab-manager'
export class FolderTabManager extends TabManager {
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs-container.tsx
index 5e72f29c0..ba8a3cf9c 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { folderEditorTabManager } from '..'
import { EditorTabs as EditorTabsView } from '@Pimcore/components/editor-tabs/editor-tabs'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-columns/preview-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-columns/preview-container.tsx
index 706b6a8ab..9ef21912a 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-columns/preview-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-columns/preview-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { ImageView } from '@Pimcore/components/grid/columns/views/image-view'
import { type Asset } from '@Pimcore/modules/asset/asset-api-slice.gen'
import { useAsset } from '@Pimcore/modules/asset/hooks/use-asset'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-container.tsx
index 7332e1152..3b59f5ce9 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { FormattedDate } from '@Pimcore/components/formatted-date/formatted-date'
import { Grid } from '@Pimcore/components/grid/grid'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-container.tsx
index 016c22593..a917cd782 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { GridToolbarView } from './grid-toolbar-view'
import { Pagination } from 'antd'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.styles.ts b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.styles.ts
index 9b1c4a9aa..f56f9dc8c 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.styles.ts
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ css, token }) => {
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.tsx
index b238b8aa7..79e926f7e 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/grid-toolbar-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { useStyles } from './grid-toolbar-view.styles'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/list-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/list-container.tsx
index 898d3498b..a7319704b 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/list-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/list/list-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useGetAssetsQuery } from '@Pimcore/modules/asset/asset-api-slice.gen'
import React, { useContext, useState } from 'react'
import { GridContainer } from './grid-container'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.styles.ts b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.styles.ts
index c6b64efee..18a77faa3 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.styles.ts
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ css, token }) => {
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.tsx
index 3deac2542..3db6a025f 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { useStyles } from '@Pimcore/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view.styles'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container.tsx
index 1daf60c34..ed037f1c0 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { useTranslation } from 'react-i18next'
import { FlexContainerView } from '@Pimcore/modules/asset/editor/folder/tab-manager/tabs/preview/flex-container-view'
diff --git a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/preview-container.tsx b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/preview-container.tsx
index 7210c5fa3..fa69aa798 100644
--- a/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/preview-container.tsx
+++ b/assets/js/src/modules/asset/editor/folder/tab-manager/tabs/preview/preview-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useGetAssetsQuery } from '@Pimcore/modules/asset/asset-api-slice.gen'
import React, { useContext, useState } from 'react'
import { GridToolbarContainer } from '../list/grid-toolbar-container'
diff --git a/assets/js/src/modules/asset/editor/image/image-container.tsx b/assets/js/src/modules/asset/editor/image/image-container.tsx
index 3d98cd2ce..a262aeced 100644
--- a/assets/js/src/modules/asset/editor/image/image-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/image-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import i18n from '@Pimcore/app/i18n'
import { Toolbar } from '@Pimcore/components/toolbar/toolbar'
import { TabsContainer } from '@Pimcore/modules/asset/editor/image/tab-manager/tabs-container'
diff --git a/assets/js/src/modules/asset/editor/image/index.tsx b/assets/js/src/modules/asset/editor/image/index.tsx
index 121bdae60..0a8330b57 100644
--- a/assets/js/src/modules/asset/editor/image/index.tsx
+++ b/assets/js/src/modules/asset/editor/image/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { Icon } from '@Pimcore/components/icon/icon'
import { EditTabContainer } from '@Pimcore/modules/asset/editor/image/tab-manager/tabs/edit-container'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/image-tab-manager.ts b/assets/js/src/modules/asset/editor/image/tab-manager/image-tab-manager.ts
index 2bd58d243..08ba1d7cf 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/image-tab-manager.ts
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/image-tab-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { TabManager } from '@Pimcore/modules/element/editor/tab-manager/tab-manager'
import { type IAssetEditorTabManager } from '@Pimcore/modules/element/editor/tab-manager/interface/IAssetEditorTabManager'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs-container.tsx
index f0cbfd0ab..9be7e65a2 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { EditorTabs as EditorTabsView } from '@Pimcore/components/editor-tabs/editor-tabs'
import { useTranslation } from 'react-i18next'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/custom-metadata-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/custom-metadata-container.tsx
index 492cca788..64c729bd5 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/custom-metadata-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/custom-metadata-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const CustomMetadataTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/dependencies-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/dependencies-container.tsx
index a245bbebd..26a0b8fe7 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/dependencies-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/dependencies-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const DependenciesTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/edit-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/edit-container.tsx
index a7e5c887f..ac5ce77a4 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/edit-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/edit-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const EditTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/embedded-metadata-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/embedded-metadata-container.tsx
index 28f47ef58..61e3b7370 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/embedded-metadata-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/embedded-metadata-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const EmbeddedMetadataTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/notes-and-events-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/notes-and-events-container.tsx
index c542fd39d..7e420e31c 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/notes-and-events-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/notes-and-events-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const NotesAndEventsTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.styles.ts b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.styles.ts
index 90adf5320..dc5470f7d 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.styles.ts
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.tsx
index 60b25730c..6ae76da02 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { createContext, useContext, useMemo, useState } from 'react'
import { PreviewView } from './preview-view'
import { useGetAssetByIdQuery } from '@Pimcore/modules/asset/asset-api-slice.gen'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.styles.ts b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.styles.ts
index 49bcc57bf..0054d4a7e 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.styles.ts
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.tsx
index bc6a4cd41..1e93b331e 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/preview-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { PimcoreImage } from '@Pimcore/components/pimcore-image/pimcore-image'
import React from 'react'
import { useStyle } from './preview-view.styles'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/index.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/index.tsx
index 2aeda6a2b..0659aae65 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/index.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/index.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { AssetEditorSidebarManager } from '@Pimcore/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/sidebar-manager'
import { Icon } from '@Pimcore/components/icon/icon'
import React from 'react'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/sidebar-manager.ts b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/sidebar-manager.ts
index 3b5432970..1a1bf100f 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/sidebar-manager.ts
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/sidebar-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { SidebarManager } from '@Pimcore/modules/element/sidebar/sidebar-manager'
export class AssetEditorSidebarManager extends SidebarManager {}
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.styles.ts b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.styles.ts
index 366753ec4..8bfdd144c 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.styles.ts
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyle = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.tsx
index 1d0e40277..d97b9aa97 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/preview/sidebar/tabs/details/details.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { useStyle } from './details.styles'
import { Button, Collapse, type CollapseProps, Form, Input, Select } from 'antd'
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/schedule-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/schedule-container.tsx
index e28720104..647708cff 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/schedule-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/schedule-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const ScheduleTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/tags-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/tags-container.tsx
index 7f74e5d4f..9246ce060 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/tags-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/tags-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const TagsTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/versions-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/versions-container.tsx
index 7053b8ffe..a2a4b907d 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/versions-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/versions-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const VersionsTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/workflow-container.tsx b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/workflow-container.tsx
index 16101d540..d1bba6797 100644
--- a/assets/js/src/modules/asset/editor/image/tab-manager/tabs/workflow-container.tsx
+++ b/assets/js/src/modules/asset/editor/image/tab-manager/tabs/workflow-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
export const WorkflowTabContainer = (): React.JSX.Element => {
diff --git a/assets/js/src/modules/asset/hooks/use-asset-draft.ts b/assets/js/src/modules/asset/hooks/use-asset-draft.ts
index ce5d03235..0ebce3dab 100644
--- a/assets/js/src/modules/asset/hooks/use-asset-draft.ts
+++ b/assets/js/src/modules/asset/hooks/use-asset-draft.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useAppDispatch, useAppSelector } from '@Pimcore/app/store'
import { useGetAssetByIdQuery } from '../asset-api-slice.gen'
import { assetReceived, selectAssetById } from '../asset-draft-slice'
diff --git a/assets/js/src/modules/asset/hooks/use-asset.ts b/assets/js/src/modules/asset/hooks/use-asset.ts
index 238b5b8b1..c866f761b 100644
--- a/assets/js/src/modules/asset/hooks/use-asset.ts
+++ b/assets/js/src/modules/asset/hooks/use-asset.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useWidgetManager } from '@Pimcore/modules/widget-manager/hooks/use-widget-manager'
import { api } from '../asset-api-slice.gen'
import { store } from '@Pimcore/app/store'
diff --git a/assets/js/src/modules/asset/hooks/use-global-asset-context.ts b/assets/js/src/modules/asset/hooks/use-global-asset-context.ts
index 314f23b28..abdbea620 100644
--- a/assets/js/src/modules/asset/hooks/use-global-asset-context.ts
+++ b/assets/js/src/modules/asset/hooks/use-global-asset-context.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useAppDispatch, useAppSelector } from '@Pimcore/app/store'
import { type GlobalContext, addGlobalContext, selectContextByType, removeGlobalContext } from '@Pimcore/modules/app/global-context/global-context-slice'
diff --git a/assets/js/src/modules/asset/index.ts b/assets/js/src/modules/asset/index.ts
index 6c69ae351..572afe9f5 100644
--- a/assets/js/src/modules/asset/index.ts
+++ b/assets/js/src/modules/asset/index.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { registerWidget } from '@Pimcore/modules/widget-manager/utils/widget-registry'
import { EditorContainer } from './editor/editor-container'
import { TreeContainer } from './tree/tree-container'
diff --git a/assets/js/src/modules/asset/tree/hooks/use-node-api-hook.ts b/assets/js/src/modules/asset/tree/hooks/use-node-api-hook.ts
index dca20385c..3f76cde40 100644
--- a/assets/js/src/modules/asset/tree/hooks/use-node-api-hook.ts
+++ b/assets/js/src/modules/asset/tree/hooks/use-node-api-hook.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type TreeNodeProps } from '@Pimcore/components/tree/node/tree-node'
import { TreeContext } from '@Pimcore/components/tree/tree'
import { type GetAssetsApiResponse, useGetAssetsQuery } from '@Pimcore/modules/asset/asset-api-slice.gen'
diff --git a/assets/js/src/modules/asset/tree/pager/pager-container.tsx b/assets/js/src/modules/asset/tree/pager/pager-container.tsx
index 39b6a7a6d..1e0b5e3e6 100644
--- a/assets/js/src/modules/asset/tree/pager/pager-container.tsx
+++ b/assets/js/src/modules/asset/tree/pager/pager-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { TreeContext, type TreePagerProps } from '@Pimcore/components/tree/tree'
import { Pagination } from 'antd'
import React, { useContext, useEffect, useState } from 'react'
diff --git a/assets/js/src/modules/asset/tree/search/search-container.tsx b/assets/js/src/modules/asset/tree/search/search-container.tsx
index e11c9b576..d37ce47f6 100644
--- a/assets/js/src/modules/asset/tree/search/search-container.tsx
+++ b/assets/js/src/modules/asset/tree/search/search-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useContext, useEffect, useState } from 'react'
import { TreeContext, type TreeSearchProps } from '@Pimcore/components/tree/tree'
import { Input } from 'antd'
diff --git a/assets/js/src/modules/asset/tree/tree-container.stories.tsx b/assets/js/src/modules/asset/tree/tree-container.stories.tsx
index 2daa95b5a..c4bdd2dfb 100644
--- a/assets/js/src/modules/asset/tree/tree-container.stories.tsx
+++ b/assets/js/src/modules/asset/tree/tree-container.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { TreeContainer } from './tree-container'
diff --git a/assets/js/src/modules/asset/tree/tree-container.tsx b/assets/js/src/modules/asset/tree/tree-container.tsx
index 747497363..33c16db69 100644
--- a/assets/js/src/modules/asset/tree/tree-container.tsx
+++ b/assets/js/src/modules/asset/tree/tree-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Tree } from '@Pimcore/components/tree/tree'
import React from 'react'
import { useNodeApiHook } from './hooks/use-node-api-hook'
diff --git a/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.styles.tsx b/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.styles.tsx
index 59076649d..d0cc22670 100644
--- a/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.styles.tsx
+++ b/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.tsx b/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.tsx
index 43cee7aa0..260a81aa3 100644
--- a/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.tsx
+++ b/assets/js/src/modules/element/editor/layouts/tabs-toolbar-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { useStyles } from './tabs-toolbar-view.styles'
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/IAssetEditorTabManager.ts b/assets/js/src/modules/element/editor/tab-manager/interface/IAssetEditorTabManager.ts
index 02205d01d..bed232265 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/IAssetEditorTabManager.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/IAssetEditorTabManager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IAssetEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/types/IAssetEditorTab'
import { type IEditorTabManager } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTabManager'
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTab.ts b/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTab.ts
index 04a1f1f34..3e58854d1 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTab.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTab.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import type React from 'react'
export interface IEditorTab {
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTabManager.ts b/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTabManager.ts
index 2af874095..4e95393fd 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTabManager.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/IEditorTabManager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTab'
export interface IEditorTabManager {
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/types/IAssetEditorTab.ts b/assets/js/src/modules/element/editor/tab-manager/interface/types/IAssetEditorTab.ts
index 7360ae053..8725529cc 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/types/IAssetEditorTab.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/types/IAssetEditorTab.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTab'
export interface IAssetEditorTab extends IEditorTab {}
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/types/IDocumentEditorTab.ts b/assets/js/src/modules/element/editor/tab-manager/interface/types/IDocumentEditorTab.ts
index 7e9c78295..bd56fcc0c 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/types/IDocumentEditorTab.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/types/IDocumentEditorTab.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTab'
export interface IDocumentEditorTab extends IEditorTab {}
diff --git a/assets/js/src/modules/element/editor/tab-manager/interface/types/IObjectEditorTab.ts b/assets/js/src/modules/element/editor/tab-manager/interface/types/IObjectEditorTab.ts
index 40fbb2115..893e5896f 100644
--- a/assets/js/src/modules/element/editor/tab-manager/interface/types/IObjectEditorTab.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/interface/types/IObjectEditorTab.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTab'
export interface IObjectEditorTab extends IEditorTab {}
diff --git a/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.styles.tsx b/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.styles.tsx
index da2801cee..6dd8c0bae 100644
--- a/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.styles.tsx
+++ b/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.tsx b/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.tsx
index fafbb818e..ceef7a49f 100644
--- a/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.tsx
+++ b/assets/js/src/modules/element/editor/tab-manager/layouts/content-toolbar-sidebar-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { useStyles } from './content-toolbar-sidebar-view.styles'
diff --git a/assets/js/src/modules/element/editor/tab-manager/tab-manager.ts b/assets/js/src/modules/element/editor/tab-manager/tab-manager.ts
index 79f8bee8d..149f9e6cd 100644
--- a/assets/js/src/modules/element/editor/tab-manager/tab-manager.ts
+++ b/assets/js/src/modules/element/editor/tab-manager/tab-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IEditorTabManager } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTabManager'
import { type IEditorTab } from '@Pimcore/modules/element/editor/tab-manager/interface/IEditorTab'
diff --git a/assets/js/src/modules/element/sidebar/sidebar-manager.ts b/assets/js/src/modules/element/sidebar/sidebar-manager.ts
index 61f113e37..9f1224707 100644
--- a/assets/js/src/modules/element/sidebar/sidebar-manager.ts
+++ b/assets/js/src/modules/element/sidebar/sidebar-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import type React from 'react'
export interface ISidebarEntry {
diff --git a/assets/js/src/modules/example/containers/asset-container.tsx b/assets/js/src/modules/example/containers/asset-container.tsx
index 3aa54a1fd..d04726281 100644
--- a/assets/js/src/modules/example/containers/asset-container.tsx
+++ b/assets/js/src/modules/example/containers/asset-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Grid } from '@Pimcore/components/grid/grid'
import { useGetAssetByIdQuery } from '@Pimcore/modules/asset/asset-api-slice.gen'
import { createColumnHelper } from '@tanstack/react-table'
diff --git a/assets/js/src/modules/example/containers/example.tsx b/assets/js/src/modules/example/containers/example.tsx
index 02ad27d0f..4e75e4625 100644
--- a/assets/js/src/modules/example/containers/example.tsx
+++ b/assets/js/src/modules/example/containers/example.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { Result } from 'antd'
import { AssetContainer } from './asset-container'
diff --git a/assets/js/src/modules/example/containers/widget-manager-actions.tsx b/assets/js/src/modules/example/containers/widget-manager-actions.tsx
index 5eed07aaa..3696061e4 100644
--- a/assets/js/src/modules/example/containers/widget-manager-actions.tsx
+++ b/assets/js/src/modules/example/containers/widget-manager-actions.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { Button, Space } from 'antd'
import { useWidgetManager } from '@Pimcore/modules/widget-manager/hooks/use-widget-manager'
diff --git a/assets/js/src/modules/example/index.ts b/assets/js/src/modules/example/index.ts
index c82af8e12..d9c0c1026 100644
--- a/assets/js/src/modules/example/index.ts
+++ b/assets/js/src/modules/example/index.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { registerWidget } from '../widget-manager/utils/widget-registry'
import { Example } from './containers/example'
import { WidgetManagerActions } from './containers/widget-manager-actions'
diff --git a/assets/js/src/modules/widget-manager/hooks/use-is-active-main-widget.ts b/assets/js/src/modules/widget-manager/hooks/use-is-active-main-widget.ts
index 529cce80f..149dd9a88 100644
--- a/assets/js/src/modules/widget-manager/hooks/use-is-active-main-widget.ts
+++ b/assets/js/src/modules/widget-manager/hooks/use-is-active-main-widget.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useAppSelector } from '@Pimcore/app/store'
import { selectMainWidgetContext } from '../widget-manager-slice'
import { useContext } from 'react'
diff --git a/assets/js/src/modules/widget-manager/hooks/use-widget-manager.ts b/assets/js/src/modules/widget-manager/hooks/use-widget-manager.ts
index 4ae80cd94..2784ba839 100644
--- a/assets/js/src/modules/widget-manager/hooks/use-widget-manager.ts
+++ b/assets/js/src/modules/widget-manager/hooks/use-widget-manager.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { useAppDispatch } from '@Pimcore/app/store'
import {
openMainWidget as openMainWidgetAction,
diff --git a/assets/js/src/modules/widget-manager/title/border-title-view.tsx b/assets/js/src/modules/widget-manager/title/border-title-view.tsx
index 6b47d6b51..879b65006 100644
--- a/assets/js/src/modules/widget-manager/title/border-title-view.tsx
+++ b/assets/js/src/modules/widget-manager/title/border-title-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Icon } from '@Pimcore/components/icon/icon'
import React from 'react'
diff --git a/assets/js/src/modules/widget-manager/title/tab-title-container.tsx b/assets/js/src/modules/widget-manager/title/tab-title-container.tsx
index 5f22fe4d6..4ce47c490 100644
--- a/assets/js/src/modules/widget-manager/title/tab-title-container.tsx
+++ b/assets/js/src/modules/widget-manager/title/tab-title-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { BorderNode, type TabNode } from 'flexlayout-react'
import React, { useState } from 'react'
import { BorderTitleView } from './border-title-view'
diff --git a/assets/js/src/modules/widget-manager/title/tab-title-view.styles.ts b/assets/js/src/modules/widget-manager/title/tab-title-view.styles.ts
index 89a196871..3c2cfa9ce 100644
--- a/assets/js/src/modules/widget-manager/title/tab-title-view.styles.ts
+++ b/assets/js/src/modules/widget-manager/title/tab-title-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/widget-manager/title/tab-title-view.tsx b/assets/js/src/modules/widget-manager/title/tab-title-view.tsx
index 7fc4cf8c6..e2ee86fad 100644
--- a/assets/js/src/modules/widget-manager/title/tab-title-view.tsx
+++ b/assets/js/src/modules/widget-manager/title/tab-title-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Icon } from '@Pimcore/components/icon/icon'
import { Space } from 'antd'
import React from 'react'
diff --git a/assets/js/src/modules/widget-manager/utils/widget-manager-factory.tsx b/assets/js/src/modules/widget-manager/utils/widget-manager-factory.tsx
index 4164c704e..7157b13ce 100644
--- a/assets/js/src/modules/widget-manager/utils/widget-manager-factory.tsx
+++ b/assets/js/src/modules/widget-manager/utils/widget-manager-factory.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { type ReactNode } from 'react'
import { type TabNode } from 'flexlayout-react'
import { getWidget } from './widget-registry'
diff --git a/assets/js/src/modules/widget-manager/utils/widget-manager-inner-model.tsx b/assets/js/src/modules/widget-manager/utils/widget-manager-inner-model.tsx
index 547989097..c0c321006 100644
--- a/assets/js/src/modules/widget-manager/utils/widget-manager-inner-model.tsx
+++ b/assets/js/src/modules/widget-manager/utils/widget-manager-inner-model.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IJsonModel } from 'flexlayout-react'
export const getInitialModelJson = (): IJsonModel => {
diff --git a/assets/js/src/modules/widget-manager/utils/widget-manager-outer-model.tsx b/assets/js/src/modules/widget-manager/utils/widget-manager-outer-model.tsx
index 4c5f55919..31fc8aceb 100644
--- a/assets/js/src/modules/widget-manager/utils/widget-manager-outer-model.tsx
+++ b/assets/js/src/modules/widget-manager/utils/widget-manager-outer-model.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type IJsonModel } from 'flexlayout-react'
export const getInitialModelJson = (): IJsonModel => {
diff --git a/assets/js/src/modules/widget-manager/utils/widget-registry.ts b/assets/js/src/modules/widget-manager/utils/widget-registry.ts
index 3ba91d7b7..22597cc0f 100644
--- a/assets/js/src/modules/widget-manager/utils/widget-registry.ts
+++ b/assets/js/src/modules/widget-manager/utils/widget-registry.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type ComponentType, memo } from 'react'
export interface Widget {
diff --git a/assets/js/src/modules/widget-manager/widget-manager-container.stories.tsx b/assets/js/src/modules/widget-manager/widget-manager-container.stories.tsx
index d396b6ac8..0bd9317fe 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-container.stories.tsx
+++ b/assets/js/src/modules/widget-manager/widget-manager-container.stories.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { type Meta } from '@storybook/react'
import { WidgetManagerContainer } from './widget-manager-container'
diff --git a/assets/js/src/modules/widget-manager/widget-manager-container.tsx b/assets/js/src/modules/widget-manager/widget-manager-container.tsx
index aea2bad12..0d3138262 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-container.tsx
+++ b/assets/js/src/modules/widget-manager/widget-manager-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { useEffect } from 'react'
import { WidgetManagerView } from './widget-manager-view'
import { widgetManagerFactory } from './utils/widget-manager-factory'
diff --git a/assets/js/src/modules/widget-manager/widget-manager-inner-container.tsx b/assets/js/src/modules/widget-manager/widget-manager-inner-container.tsx
index b303d6986..3b7611412 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-inner-container.tsx
+++ b/assets/js/src/modules/widget-manager/widget-manager-inner-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { memo, useEffect } from 'react'
import { WidgetManagerView } from './widget-manager-view'
import { widgetManagerFactory } from './utils/widget-manager-factory'
diff --git a/assets/js/src/modules/widget-manager/widget-manager-slice.ts b/assets/js/src/modules/widget-manager/widget-manager-slice.ts
index 3aacc5f29..f9b243e9a 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-slice.ts
+++ b/assets/js/src/modules/widget-manager/widget-manager-slice.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { injectSliceWithState } from '@Pimcore/app/store/index'
import { type PayloadAction, createSlice } from '@reduxjs/toolkit'
import { type IJsonModel, type IJsonTabNode, Model, Actions, DockLocation, type Node } from 'flexlayout-react'
diff --git a/assets/js/src/modules/widget-manager/widget-manager-view.styles.ts b/assets/js/src/modules/widget-manager/widget-manager-view.styles.ts
index 57e3af0f6..55beca64b 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-view.styles.ts
+++ b/assets/js/src/modules/widget-manager/widget-manager-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
import { type TabsToken } from 'antd/es/tabs/style'
diff --git a/assets/js/src/modules/widget-manager/widget-manager-view.tsx b/assets/js/src/modules/widget-manager/widget-manager-view.tsx
index 3d44466dc..5802adaf8 100644
--- a/assets/js/src/modules/widget-manager/widget-manager-view.tsx
+++ b/assets/js/src/modules/widget-manager/widget-manager-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { Layout, type ILayoutProps } from 'flexlayout-react'
import { useStlyes } from './widget-manager-view.styles'
diff --git a/assets/js/src/modules/widget-manager/widget/title/title-view.styles.ts b/assets/js/src/modules/widget-manager/widget/title/title-view.styles.ts
index 132256903..999a6c0e1 100644
--- a/assets/js/src/modules/widget-manager/widget/title/title-view.styles.ts
+++ b/assets/js/src/modules/widget-manager/widget/title/title-view.styles.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/widget-manager/widget/title/title-view.tsx b/assets/js/src/modules/widget-manager/widget/title/title-view.tsx
index 4cfa762ab..f8ee87bbe 100644
--- a/assets/js/src/modules/widget-manager/widget/title/title-view.tsx
+++ b/assets/js/src/modules/widget-manager/widget/title/title-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { Icon } from '@Pimcore/components/icon/icon'
import React from 'react'
import { useStyles } from './title-view.styles'
diff --git a/assets/js/src/modules/widget-manager/widget/widget-container.tsx b/assets/js/src/modules/widget-manager/widget/widget-container.tsx
index 607e669a2..1d11326ab 100644
--- a/assets/js/src/modules/widget-manager/widget/widget-container.tsx
+++ b/assets/js/src/modules/widget-manager/widget/widget-container.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React, { createContext, type ComponentType, useState, useMemo } from 'react'
import { BorderNode, type TabNode } from 'flexlayout-react'
import { WidgetView } from '@Pimcore/modules/widget-manager/widget/widget-view'
diff --git a/assets/js/src/modules/widget-manager/widget/widget-view.styles.tsx b/assets/js/src/modules/widget-manager/widget/widget-view.styles.tsx
index dde3d5de7..d9376bf13 100644
--- a/assets/js/src/modules/widget-manager/widget/widget-view.styles.tsx
+++ b/assets/js/src/modules/widget-manager/widget/widget-view.styles.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import { createStyles } from 'antd-style'
export const useStyles = createStyles(({ token, css }) => {
diff --git a/assets/js/src/modules/widget-manager/widget/widget-view.tsx b/assets/js/src/modules/widget-manager/widget/widget-view.tsx
index 000fcea93..4e4fbb6c3 100644
--- a/assets/js/src/modules/widget-manager/widget/widget-view.tsx
+++ b/assets/js/src/modules/widget-manager/widget/widget-view.tsx
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import React from 'react'
import { TitleView } from './title/title-view'
import { useStyles } from './widget-view.styles'
diff --git a/assets/js/src/utils/helpers.ts b/assets/js/src/utils/helpers.ts
index eddd5f856..56f8d492a 100644
--- a/assets/js/src/utils/helpers.ts
+++ b/assets/js/src/utils/helpers.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
export function onKeyEnterExecuteClick (e: any): void {
if (e.key === 'Enter') {
e.preventDefault()
diff --git a/assets/js/test-utils/jest-setup.ts b/assets/js/test-utils/jest-setup.ts
index a442f95c3..d63ec2185 100644
--- a/assets/js/test-utils/jest-setup.ts
+++ b/assets/js/test-utils/jest-setup.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import 'whatwg-fetch'
Object.defineProperty(global, 'matchMedia', {
diff --git a/assets/js/test-utils/test-utils.ts b/assets/js/test-utils/test-utils.ts
index 36dd5fb21..c7a82fa51 100644
--- a/assets/js/test-utils/test-utils.ts
+++ b/assets/js/test-utils/test-utils.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
import * as testingLibrary from '@testing-library/react'
import { GlobalProvider } from '@Pimcore/modules/app/global-provider'
import { type ReactElement } from 'react'
diff --git a/assets/js/types/svg.d.ts b/assets/js/types/svg.d.ts
index 39f688eea..bf347a880 100644
--- a/assets/js/types/svg.d.ts
+++ b/assets/js/types/svg.d.ts
@@ -1,3 +1,16 @@
+/**
+* Pimcore
+*
+* This source file is available under two different licenses:
+* - Pimcore Open Core License (POCL)
+* - Pimcore Commercial License (PCL)
+* Full copyright and license information is available in
+* LICENSE.md which is distributed with this source code.
+*
+* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+* @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+*/
+
declare module '*.svg' {
import type React from 'react'
const SVG: React.FC>
diff --git a/package-lock.json b/assets/package-lock.json
similarity index 99%
rename from package-lock.json
rename to assets/package-lock.json
index 1a0d0949c..116f2451a 100644
--- a/package-lock.json
+++ b/assets/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"name": "pimcore-studio-ui-bundle",
- "license": "PEL",
+ "license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"@reduxjs/toolkit": "^2.2.1",
"@tanstack/react-table": "^8.12.0",
@@ -45,6 +45,7 @@
"@typescript-eslint/eslint-plugin": "^6.19.1",
"eslint": "^8.56.0",
"eslint-config-standard-with-typescript": "^43.0.1",
+ "eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-n": "^16.6.2",
@@ -13071,6 +13072,15 @@
"eslint": ">=8"
}
},
+ "node_modules/eslint-plugin-header": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz",
+ "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==",
+ "dev": true,
+ "peerDependencies": {
+ "eslint": ">=7.7.0"
+ }
+ },
"node_modules/eslint-plugin-import": {
"version": "2.29.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
diff --git a/package.json b/assets/package.json
similarity index 92%
rename from package.json
rename to assets/package.json
index 7be66dea8..6acfe3c0d 100644
--- a/package.json
+++ b/assets/package.json
@@ -5,14 +5,14 @@
"dev": "encore dev",
"watch": "encore dev --watch",
"build": "encore production --progress",
- "lint": "eslint --ext .js,.jsx,.ts,.tsx ./assets/js",
- "lint-fix": "eslint --ext .js,.jsx,.ts,.tsx ./assets/js --fix",
+ "lint": "eslint --ext .js,.jsx,.ts,.tsx ./js",
+ "lint-fix": "eslint --ext .js,.jsx,.ts,.tsx ./js --fix",
"test": "jest --passWithNoTests",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"build-api-client": "npx @rtk-query/codegen-openapi ./assets/js/build/openapi-config.ts"
},
- "license": "PEL",
+ "license": "SEE LICENSE IN LICENSE.md",
"private": true,
"devDependencies": {
"@babel/preset-react": "^7.23.3",
@@ -39,6 +39,7 @@
"@typescript-eslint/eslint-plugin": "^6.19.1",
"eslint": "^8.56.0",
"eslint-config-standard-with-typescript": "^43.0.1",
+ "eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-n": "^16.6.2",
diff --git a/assets/public/build/manifest.json b/assets/public/build/manifest.json
new file mode 100644
index 000000000..d66ff117b
--- /dev/null
+++ b/assets/public/build/manifest.json
@@ -0,0 +1,3 @@
+{
+ "bundles/pimcorestudioui/build/main.js": "/bundles/pimcorestudioui/build/main.31d6cfe0.js"
+}
\ No newline at end of file
diff --git a/tsconfig.json b/assets/tsconfig.json
similarity index 86%
rename from tsconfig.json
rename to assets/tsconfig.json
index 6aed35f56..6ee2139b4 100644
--- a/tsconfig.json
+++ b/assets/tsconfig.json
@@ -2,7 +2,7 @@
"compilerOptions": {
"module": "ES2020",
"moduleResolution": "node",
- "baseUrl": "./assets/js/",
+ "baseUrl": "./js/",
"paths": {
"@Pimcore/*": ["./src/*"],
"@test-utils/*": ["./test-utils/*"]
@@ -15,6 +15,6 @@
},
"include": [
- "./assets/js/**/*"
+ "./js/**/*"
],
}
diff --git a/webpack.config.js b/assets/webpack.config.js
similarity index 51%
rename from webpack.config.js
rename to assets/webpack.config.js
index 8b507ee6e..c86acfbc1 100644
--- a/webpack.config.js
+++ b/assets/webpack.config.js
@@ -1,30 +1,45 @@
-const Encore = require('@symfony/webpack-encore');
-const path = require('path');
-const ReactRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
-const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
+/**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+
+/* eslint-disable @typescript-eslint/no-var-requires */
+const Encore = require('@symfony/webpack-encore')
+const path = require('path')
+const webpack = require('webpack')
+const ReactRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin')
+const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
// Manually configure the runtime environment if not already configured yet by the "encore" command.
// It's useful when you use tools that rely on webpack.config.js file.
if (!Encore.isRuntimeEnvironmentConfigured()) {
- Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
+ Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev')
}
Encore
// directory where compiled assets will be stored
- .setOutputPath(path.resolve(__dirname, 'public', 'build'))
+ .setOutputPath(path.resolve(__dirname, '..', 'public', 'build'))
// public path used by the web server to access the output path
.setPublicPath('/bundles/pimcorestudioui/build')
-
+
/*
* ENTRY CONFIG
*
* Each entry will result in one JavaScript file (e.g. app.js)
* and one CSS file (e.g. app.css) if your JavaScript imports CSS.
*/
- .addEntry('main', path.resolve(__dirname, 'assets', 'js', 'src', 'main.ts'))
+ .addEntry('main', path.resolve(__dirname, 'js', 'src', 'main.ts'))
- // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
- // .enableStimulusBridge('./assets/controllers.json')
+// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
+// .enableStimulusBridge('./assets/controllers.json')
// When enabled, Webpack "splits" your files into smaller pieces for greater optimization.
.splitEntryChunks()
@@ -46,18 +61,18 @@ Encore
// enables hashed filenames (e.g. app.abc123.css)
.enableVersioning(Encore.isProduction())
- // .configureBabel((config) => {
- // config.plugins.push('@babel/plugin-transform-class-properties');
- // })
+// .configureBabel((config) => {
+// config.plugins.push('@babel/plugin-transform-class-properties');
+// })
- // enables @babel/preset-env polyfills
- // .configureBabelPresetEnv((config) => {
- // config.useBuiltIns = 'usage';
- // config.corejs = 3;
- // })
+// enables @babel/preset-env polyfills
+// .configureBabelPresetEnv((config) => {
+// config.useBuiltIns = 'usage';
+// config.corejs = 3;
+// })
- // enables Sass/SCSS support
- //.enableSassLoader()
+// enables Sass/SCSS support
+// .enableSassLoader()
// uncomment if you use TypeScript
.enableTypeScriptLoader()
@@ -66,28 +81,28 @@ Encore
.enableReactPreset()
.addRule({
- test: /\inline\.svg$/i,
- use: [{
- loader: '@svgr/webpack',
- options: {
+ test: /inline\.svg$/i,
+ use: [{
+ loader: '@svgr/webpack',
+ options: {
icon: true,
typescript: true
- }
- }],
+ }
+ }]
})
- // uncomment to get integrity="..." attributes on your script & link tags
- // requires WebpackEncoreBundle 1.4 or higher
- //.enableIntegrityHashes(Encore.isProduction())
+// uncomment to get integrity="..." attributes on your script & link tags
+// requires WebpackEncoreBundle 1.4 or higher
+// .enableIntegrityHashes(Encore.isProduction())
- // uncomment if you're having problems with a jQuery plugin
- //.autoProvidejQuery()
+// uncomment if you're having problems with a jQuery plugin
+// .autoProvidejQuery()
.configureDevServerOptions(options => {
- options.host = '0.0.0.0';
- options.hot = true;
- options.port = 3030;
- options.allowedHosts = 'all';
+ options.host = '0.0.0.0'
+ options.hot = true
+ options.port = 3030
+ options.allowedHosts = 'all'
})
.enableEslintPlugin({
@@ -96,40 +111,53 @@ Encore
})
.addAliases({
- '@Pimcore': path.resolve(__dirname, 'assets', 'js', 'src'),
- '@test-utils': path.resolve(__dirname, 'assets', 'js', 'test-utils'),
+ '@Pimcore': path.resolve(__dirname, 'js', 'src'),
+ '@test-utils': path.resolve(__dirname, 'js', 'test-utils')
})
-;
+
+ .addPlugin(new webpack.BannerPlugin({
+ banner: `
+ /**
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ *
+ * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
+ * @license https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL
+ */
+ `
+ }))
if (!Encore.isDevServer()) {
// only needed for CDN's or sub-directory deploy
Encore
.setManifestKeyPrefix('bundles/pimcorestudioui/build')
- ;
}
if (!Encore.isDevServer() && !Encore.isProduction()) {
Encore
.addPlugin(new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false }))
- ;
}
if (Encore.isDevServer()) {
Encore
- .setOutputPath('public/build/')
+ .setOutputPath('../public/build/')
.setPublicPath('/build')
.addPlugin(new ReactRefreshPlugin())
- ;
}
-let config = Encore.getWebpackConfig();
+let config = Encore.getWebpackConfig()
config = {
...config,
-
+
output: {
...config.output,
- library: 'Pimcore',
+ library: 'Pimcore'
}
}
@@ -140,4 +168,4 @@ config.module.rules.forEach(rule => {
}
})
-module.exports = config;
+module.exports = config
diff --git a/gpl-3.0.txt b/gpl-3.0.txt
new file mode 100644
index 000000000..20d40b6bc
--- /dev/null
+++ b/gpl-3.0.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
\ No newline at end of file
diff --git a/jest.config.ts b/jest.config.ts
deleted file mode 100644
index f7bfcfdde..000000000
--- a/jest.config.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { pathsToModuleNameMapper, JestConfigWithTsJest } from "ts-jest";
-import { compilerOptions } from "./tsconfig.json";
-
-const config: JestConfigWithTsJest = {
- preset: 'ts-jest',
- testEnvironment: 'jsdom',
- setupFilesAfterEnv: [
- "@testing-library/jest-dom",
- "./assets/js/test-utils/jest-setup.ts"
- ],
- moduleNameMapper: {
- '^@Pimcore/(.*)$': '/assets/js/src/$1',
- '^@test-utils/(.*)$': '/assets/js/test-utils/$1'
- },
-};
-
-export default config
diff --git a/pocl.txt b/pocl.txt
new file mode 100644
index 000000000..879b9590b
--- /dev/null
+++ b/pocl.txt
@@ -0,0 +1,115 @@
+Pimcore Open Core License (POCL)
+
+Copyright (c) 2024 - present Pimcore GmbH
+
+
+1. Subject matter and acceptance
+
+1.1 This open core software license agreement (POCL) is between Pimcore GmbH, registered in the
+commercial register of the Salzburg Regional Court under no. FN 398049t, with its business
+address at Söllheimer Straße 16, 5020 Salzburg, Austria, as the sole licensor ("Pimcore"), and
+the user of the software as the licensee ("Customer").
+
+1.2 Subject of the POCL is the usage of Pimcore Software for which the source code is publicly
+available but which is not licensed out as open source software (“Open Core Software“). The
+exact products that are available under the POCL are defined in the additional contractual
+documents or by inclusion of, or referral to, this POCL within the source code or within the
+source code repositories. The Open Core Software is protected by copyright worldwide.
+
+1.3. By starting to use the Open Core Software, the Customer agrees to all terms and conditions
+of the POCL.
+
+
+2. License
+
+2.1 Pimcore grants the Customer a no-charge, non-exclusive, non-transferable, non-sublicensable,
+geographically unlimited right, limited in time to the term of the POCL, to use the Pimcore Open
+Core Software, and to modify, adapt and customize it for the Customer’s own non-commercial and
+commercial use. Contribution and distribution of these modifications, adaptations, and
+customizations (“Derivatives”) are permitted under conditions set up by section 3.
+
+2.2 The Customer may not offer the Open Core Software as a hosted or managed service by granting
+third parties access to a significant part of the features or functions of the Open Core Software.
+
+2.3 If the Customer violates any of the above provisions, all rights of usage granted under the
+POCL shall immediately become invalid and shall automatically revert to Pimcore. In this case, the
+Customer must immediately and completely cease using the Open Core Software, delete all copies of
+the Open Core Software installed on its systems and delete any backup copies made or hand them
+over to Pimcore. In addition, Pimcore reserves the right to take all legal steps.
+
+2.4 Sect. 2.3 applies accordingly if Derivatives of the Customer infringe upon patents.
+
+2.5 The parties may agree on expanded usage rights, arrangements for enterprise customers, and
+special OEM provisions separately.
+
+
+3. Contribution and Distribution of Derivatives
+
+3.1 If the Customer wishes to contribute to Open Core Software or to distribute a Derivative, both
+must be made in accordance with the Pimcore Contributors License Agreement (“CLA”). The CLA
+stipulates the terms under which intellectual contributions are managed, ensuring that all parties'
+rights are protected. Acceptance of the CLA is mandatory for all contributors and can be reviewed
+on the Source-Code Repository. Contributions without adherence to the CLA will not be accepted.
+
+3.2 Any contribution to the Open Core Software by a Derivative must be clearly documented, in order
+to maintain transparency and integrity of the source code.
+
+3.3 Any Derivative distributed must prominently be specified as “Derivative”, comply with the terms
+of the POCL, include copyright notices, and be licensed as a whole under the terms of the POCL, with
+the proviso that the recipient (licensee) of the out-licensed Derivative gets the role of the
+“Customer” regarding rights and obligations. Upon distribution of any Derivative, recipient must be
+provided with a copy of this POCL.
+
+
+4. Collateral obligations of the Customer
+
+4.1 The Customer shall not manipulate, in particular modify, move, remove, suppress, switch off or
+circumvent licence keys and associated protection mechanisms in the Open Core Software.
+
+4.2 The Customer shall not alter or obfuscate any of the Pimcore's licensing, copyright, or other
+proprietary notices within the Open Core Software. Any use of Pimcore’s trademarks must comply with
+applicable laws.
+
+4.3 The Customer shall not modify, relocate, disable, or bypass any functionalities associated with
+the Pimcore Marketplace.
+
+
+5. Defects
+
+5.1 The Customer is obliged to notify Pimcore of any defect or error in the Open Core Software
+immediately after its occurrence.
+
+5.2 Before reporting any defect or error, the Customer must carry out an analysis of the system
+environment as far as possible to ensure that the defect or error is not due to system components
+that are not covered by this POCL.
+
+5.3 The Customer shall immediately install or carry out updates or other troubleshooting measures
+provided by Pimcore.
+
+5.4 Violations of the obligations to co-operate may result in additional costs for Pimcore. The
+Customer must reimburse Pimcore for such costs, unless it is not responsible for them.
+
+5.5 THE OPEN CORE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
+AND NON-INFRINGEMENT. IN NO EVENT SHALL PIMCORE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE OPEN CORE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OPEN CORE SOFTWARE.
+
+
+6. Indemnification
+
+6.1 The Customer shall indemnify Pimcore against all third-party claims (in particular claims
+arising from infringement of copyright, patent, competition, trademark or data protection law)
+asserted against Pimcore in connection with the Customer’s use of the Open Core Software, unless
+these claims are based on intentional or grossly negligent behaviour on the part of Pimcore or
+Pimcore's legal representatives or vicarious agents. This indemnification obligation includes
+the reimbursement of reasonable costs incurred by Pimcore in the assertion or defence of
+Pimcore’s rights in this context.
+
+
+7. Termination
+
+7.1 After termination of this POCL, the Customer must uninstall the Open Core Software, including
+all copies, and delete any remaining recognisable Open Core Software residues from its IT system.
+The Customer must destroy any backup copies made. At Pimcore's request, the Customer must confirm
+that it has fulfilled these obligations.
\ No newline at end of file
diff --git a/public/build/8237.6ddf469d.js b/public/build/1024.bc279a08.js
similarity index 83%
rename from public/build/8237.6ddf469d.js
rename to public/build/1024.bc279a08.js
index d1abfddd6..d9d99a386 100644
--- a/public/build/8237.6ddf469d.js
+++ b/public/build/1024.bc279a08.js
@@ -1 +1,2 @@
-"use strict";(self.webpackChunkPimcore=self.webpackChunkPimcore||[]).push([[8237],{8237:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});var n,l=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,l=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,c=n(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,c=n(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>c});var r,n=a(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>c});var r,n=a(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>a});var r,l=n(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>a});var r,l=n(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var c,n=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var c,n=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(e),t.d(e,{default:()=>o});var a,r,n=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(c){for(var e=1;e{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,a,l=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,a,l=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(e),t.d(e,{default:()=>o});var a,r,n=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(c){for(var e=1;e{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>l});var r,n=a(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>l});var r,n=a(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a,i=n(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a,i=n(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,l,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,l,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(e),t.d(e,{default:()=>a});var r,n=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(c){for(var e=1;e{t.r(e),t.d(e,{default:()=>a});var r,n=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(c){for(var e=1;e{r.r(t),r.d(t,{default:()=>c});var n,o,a=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>c});var n,o,a=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a=n(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a=n(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,a,c=r(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,a,c=r(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a=n(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>c});var r,a=n(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>i});var r,l=a(7294);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var c,n=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var c,n=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(c),t.d(c,{default:()=>i});var r,n=t(7294);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var c=1;c{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>h});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>h});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(c),t.d(c,{default:()=>i});var r,n=t(7294);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var c=1;c{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>l});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,c=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c,h,l=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c,h,l=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,o=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,o=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(e),t.d(e,{default:()=>h});var r,n=t(7294);function c(){return c=Object.assign?Object.assign.bind():function(a){for(var e=1;e{t.r(e),t.d(e,{default:()=>h});var r,n=t(7294);function c(){return c=Object.assign?Object.assign.bind():function(a){for(var e=1;e{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>s});var n,o=r(7294);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>i});var n,a=r(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.r(r),t.d(r,{default:()=>s});var c,n,o,i=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var r=1;r{t.r(r),t.d(r,{default:()=>s});var c,n,o,i=t(7294);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var r=1;r{r.r(t),r.d(t,{default:()=>o});var c,n=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>o});var c,n=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.r(t),n.d(t,{default:()=>i});var r,a=n(7294);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>a});var n,c=r(7294);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.r(t),a.d(t,{default:()=>i});var r,l=a(7294);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>c});var n,l=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.r(t),r.d(t,{default:()=>c});var n,l=r(7294);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{"use strict";var n,e,t,o,r,a={1825:(n,e,t)=>{t.r(e);var o=t(6609),r=t(1072);o.ZP.use(r.Db).init({fallbackLng:"en",ns:["translation"],resources:{},saveMissing:!0}).catch((function(n){console.error(n)})),o.ZP.on("missingKey",(function(n,e,t,o){}));const a=o.ZP;var i,l,c,d=t(7294),s=function(){return s=Object.assign||function(n){for(var e,t=1,o=arguments.length;tthead>tr:first-child >*:first-child {\n border-start-start-radius: 0;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:last-child {\n border-start-end-radius: 0;\n }\n\n .grid__cell-content {\n display: block; \n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .ant-table-cell {\n position: relative;\n border-left: 1px solid #F0F0F0;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:first-of-type {\n border-left: 0;\n }\n\n &:last-of-type {\n border-right: 1px solid #F0F0F0;\n }\n }\n\n .ant-table-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n "],["\n table {\n table-layout: fixed;\n width: auto;\n }\n\n th {\n user-select: none;\n }\n\n th, td {\n line-height: 1.83;\n padding: ","px ","px;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:first-child {\n border-start-start-radius: 0;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:last-child {\n border-start-end-radius: 0;\n }\n\n .grid__cell-content {\n display: block; \n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .ant-table-cell {\n position: relative;\n border-left: 1px solid #F0F0F0;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:first-of-type {\n border-left: 0;\n }\n\n &:last-of-type {\n border-right: 1px solid #F0F0F0;\n }\n }\n\n .ant-table-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n "])),e.Table.cellPaddingBlockSM,e.Table.cellPaddingInlineSM)}}),{hashPriority:"low"}),w=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},_=(0,v.kc)((function(n){var e=n.token;return{resizer:(0,n.css)(l||(l=w(["\n &.grid__resizer {\n position: absolute;\n right: -4px;\n top: 0;\n bottom: 0;\n width: 8px;\n z-index: 1;\n background-color: transparent;\n\n &--resizing {\n background-color: ",";\n width: 2px;\n right: -1px;\n }\n\n &--hoverable {\n cursor: col-resize;\n }\n }\n\n &:focus {\n outline: none;\n }\n "],["\n &.grid__resizer {\n position: absolute;\n right: -4px;\n top: 0;\n bottom: 0;\n width: 8px;\n z-index: 1;\n background-color: transparent;\n\n &--resizing {\n background-color: ",";\n width: 2px;\n right: -1px;\n }\n\n &--hoverable {\n cursor: col-resize;\n }\n }\n\n &:focus {\n outline: none;\n }\n "])),e.colorPrimary)}}),{hashPriority:"low"}),E=function(){return E=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]=500&&c(!0),l&&e<500&&c(!1),e<=25&&p(!0),u&&e>25&&p(!1)}),[e]),d.createElement("div",{className:f.imageZoomContainer},100!==e&&d.createElement(Q.ZP,{"aria-label":b("aria.asset.image.editor.zoom.reset"),className:f.imageZoomResetBtn,onClick:function(){t(100)},onKeyDown:ne},b("asset.image.editor.zoom.reset")),d.createElement(q.Z.Compact,{className:f.imageZoom},d.createElement(Q.ZP,{"aria-disabled":u,"aria-label":b("aria.asset.image.editor.zoom.zoom-out"),className:f.imageZoomBtn,disabled:u,onClick:function(){t(e-a)},onKeyDown:ne},d.createElement(xn,{name:"MinusOutlined"})),d.createElement(qn.Z,{"aria-label":b("aria.asset.image.editor.zoom.preconfigured-zoom-levels"),defaultActiveFirstOption:!0,defaultValue:"100",onChange:function(n){t(parseInt(n))},options:[{value:"100",label:"100%"},{value:"125",label:"125%"},{value:"150",label:"150%"},{value:"175",label:"175%"},{value:"200",label:"200%"},{value:"225",label:"225%"},{value:"250",label:"250%"}],value:"".concat(e,"%")}),d.createElement(Q.ZP,{"aria-disabled":l,"aria-label":b("aria.asset.image.editor.zoom.zoom-in"),className:f.imageZoomBtn,disabled:l,onClick:function(){t(e+a)},onKeyDown:ne},d.createElement(xn,{name:"PlusOutlined"}))))},ie=function(n){var e=Vn().styles,t=n.src,o=d.useContext(Ie),r=o.zoom,a=o.setZoom;return d.createElement("div",{className:e.preview},d.createElement(Be,{src:t}),d.createElement("div",{className:e.floatingContainer},d.createElement("div",{className:e.flexContainer},d.createElement(ae,{setZoom:a,zoom:r}))))},le=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},ce=(0,v.kc)((function(n){var e=n.token;return{sidebar:(0,n.css)(ee||(ee=le(["\n display: flex;\n \n .sidebar__navigation {\n display: flex;\n width: 45px;\n padding: 4px 8px;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n align-self: stretch;\n border-right: 1px solid rgba(0, 0, 0, 0.08);\n border-left: 1px solid rgba(0, 0, 0, 0.08);\n justify-content: space-between;\n color: ",";\n\n .sidebar__navigation__tabs,\n .sidebar__navigation__buttons {\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n }\n\n .sidebar__navigation__tabs {\n .entry {\n display: flex;\n width: 45px;\n padding: ","px ","px;\n justify-content: center;\n align-items: center;\n\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n\n &.active {\n border-right: 2px solid ",";\n\n .pimcore-icon {\n color: ","\n }\n }\n }\n }\n }\n \n .sidebar__content {\n padding: ","px ","px;\n width: 250px;\n\n .tab {\n display: none;\n \n &.active {\n display: block;\n }\n }\n \n &:not(.expanded) {\n display: none;\n }\n }\n "],["\n display: flex;\n \n .sidebar__navigation {\n display: flex;\n width: 45px;\n padding: 4px 8px;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n align-self: stretch;\n border-right: 1px solid rgba(0, 0, 0, 0.08);\n border-left: 1px solid rgba(0, 0, 0, 0.08);\n justify-content: space-between;\n color: ",";\n\n .sidebar__navigation__tabs,\n .sidebar__navigation__buttons {\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n }\n\n .sidebar__navigation__tabs {\n .entry {\n display: flex;\n width: 45px;\n padding: ","px ","px;\n justify-content: center;\n align-items: center;\n\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n\n &.active {\n border-right: 2px solid ",";\n\n .pimcore-icon {\n color: ","\n }\n }\n }\n }\n }\n \n .sidebar__content {\n padding: ","px ","px;\n width: 250px;\n\n .tab {\n display: none;\n \n &.active {\n display: block;\n }\n }\n \n &:not(.expanded) {\n display: none;\n }\n }\n "])),e.colorIconSidebar,e.colorIconSidebar,e.colorIconHover,e.paddingXS,e.paddingXXS,e.colorIconSidebar,e.colorIconHover,e.colorPrimaryActive,e.colorPrimaryActive,e.paddingXS,e.paddingSM)}}),{hashPriority:"low"}),de=function(){return de=Object.assign||function(n){for(var e,t=1,o=arguments.length;t div {\n display: flex;\n gap: ","px;\n \n >.ant-form-item {\n flex: 1\n }\n }\n }\n \n .entry-content__download-content-custom__button {\n padding: ","px 0;\n }\n }\n "],["\n .entry-content__download-content-thumbnail {\n display: flex;\n align-items: center;\n gap: ","px;\n padding-bottom: ","px;\n \n .ant-select {\n flex: 1\n }\n }\n \n .entry-content__download-content-custom {\n .ant-form-item {\n margin-bottom: 0;\n }\n \n .entry-content__download-content-custom__dimensions {\n display: flex;\n gap: ","px;\n padding-bottom: ","px;\n }\n \n .entry-content__download-content-custom__others {\n display: flex;\n gap: ","px;\n flex-direction: column;\n padding-bottom: ","px;\n \n > div {\n display: flex;\n gap: ","px;\n \n >.ant-form-item {\n flex: 1\n }\n }\n }\n \n .entry-content__download-content-custom__button {\n padding: ","px 0;\n }\n }\n "])),e.paddingXXS,e.paddingSM,e.marginSM,e.paddingSM,e.paddingXS,e.paddingSM,e.marginSM,e.paddingXS)}}),{hashPriority:"low"}),ge=t(3179),he=t(5908),ve=t(809),ye=function(){var n=me().styles,e=(0,r.$G)().t,t=[{key:1,label:"Custom Download",children:d.createElement(ge.Z,{layout:"vertical"},d.createElement("div",{className:"entry-content__download-content-custom__dimensions"},d.createElement(ge.Z.Item,{label:"Width",name:"width"},d.createElement(he.Z,{type:"number"})),d.createElement(ge.Z.Item,{label:"Height",name:"height"},d.createElement(he.Z,{type:"number"}))),d.createElement("div",{className:"entry-content__download-content-custom__others"},d.createElement("div",null,d.createElement(ge.Z.Item,{label:"Quality",name:"quality"},d.createElement(he.Z,{defaultValue:3,type:"number"})),d.createElement(ge.Z.Item,{label:"DPI",name:"dpi"},d.createElement(he.Z,{defaultValue:3,type:"number"}))),d.createElement("div",null,d.createElement(ge.Z.Item,{name:"mode"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.custom-thumbnail-mode"),defaultValue:"mode"},d.createElement(qn.Z.Option,{value:"mode"},"Mode"),d.createElement(qn.Z.Option,{value:"sample"},"Sample"))),d.createElement(ge.Z.Item,{name:"format"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.custom-thumbnail-format"),defaultValue:"format"},d.createElement(qn.Z.Option,{value:"format"},"Format"),d.createElement(qn.Z.Option,{value:"sample"},"Sample"))))),d.createElement("div",{className:"entry-content__download-content-custom__button"},d.createElement(Q.ZP,{"aria-label":e("aria.asset.image-sidebar.tab.details.download-custom-thumbnail")},"Download")))}];return d.createElement("div",{className:n.sidebarContentEntry},d.createElement("p",{className:"sidebar__content-label"},"Details"),d.createElement("div",{className:"sidebar__content-entry-content"},d.createElement("div",{className:n.sidebarContentDimensions},d.createElement("div",{className:"entry-content__dimensions-label"},d.createElement("p",null,"Width"),d.createElement("p",null,"Height")),d.createElement("div",{className:"entry-content__dimensions-content"},d.createElement("p",null,"256 px"),d.createElement("p",null,"792 px"))),d.createElement("div",{className:n.sidebarContentDownload},d.createElement("p",{className:"sidebar__content-label"},"Download"),d.createElement("div",{className:"entry-content__download-content"},d.createElement("div",{className:"entry-content__download-content-thumbnail"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.precreated-thumbnail"),defaultValue:"original"},d.createElement(qn.Z.Option,{value:"original"},"Original File"),d.createElement(qn.Z.Option,{value:"sample"},"Sample")),d.createElement(Q.ZP,{"aria-label":e("aria.asset.image-sidebar.tab.details.download-thumbnail"),icon:d.createElement(xn,{name:"download-02"})})),d.createElement("div",{className:"entry-content__download-content-custom"},d.createElement(ve.Z,{defaultActiveKey:["1"],items:t}))))))},xe=new fe;xe.registerEntry({key:"details",icon:d.createElement(xn,{name:"view-details",options:{width:"16px",height:"16px"}}),component:d.createElement(ye,null)}),xe.registerButton({key:"focal-point",icon:d.createElement(xn,{name:"focal-point",options:{width:"16px",height:"16px"}}),onClick:function(){console.log("focal-point button clicked")}});var we,_e,Ee,ke,Pe,Se,Oe,Ce,je,ze=(0,d.createContext)({}),Ne=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},Te=(0,v.kc)((function(n){n.token;return{relativeContainer:(0,n.css)(we||(we=Ne(["\n position: relative;\n width: 100%;\n "],["\n position: relative;\n width: 100%;\n "])))}})),Ie=(0,d.createContext)({zoom:100,setZoom:function(){}}),Ae=function(){var n=(0,d.useState)(100),e=n[0],t=n[1],o=(0,d.useContext)(ze),r=N({id:o.id}).data,a=xe.getEntries(),i=xe.getButtons(),l=Te().styles,c=(0,d.useMemo)((function(){return{zoom:e,setZoom:t}}),[e]);return d.createElement(Ie.Provider,{value:c},d.createElement("div",{className:l.relativeContainer},d.createElement(ie,{src:r.fullPath})),d.createElement(se,{buttons:i,entries:a}))},Me=function(){return Me=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1].ant-tabs-nav {\n margin-bottom: 0;\n }\n\n &.ant-tabs .ant-tabs-tab-btn .ant-tabs-tab-icon:not(:last-child) {\n margin-inline-end: 0;\n }\n \n .ant-tabs-tab {\n padding: 0;\n \n &:first-of-type {\n margin-left: ","px;\n margin-right: ","px;\n }\n \n .ant-tabs-tab-btn {\n display: flex;\n padding-top: ","px;\n padding-bottom: ","px;\n justify-content: center;\n align-items: center;\n gap: ","px;\n \n .ant-tabs-tab-icon {\n height: 16px;\n justify-content: center;\n align-content: center;\n margin-inline-end: 0;\n color: ",";\n \n svg {\n height: 16px;\n width: 16px\n }\n }\n }\n\n &:not(.ant-tabs-tab-active) {\n .ant-tabs-tab-icon {\n &:hover {\n color: ",";\n }\n }\n }\n \n &.ant-tabs-tab-active {\n .ant-tabs-tab-icon {\n color: ","\n }\n }\n }\n "],["\n height: 100%;\n width: 100%;\n overflow: hidden;\n\n .ant-tabs-content {\n display: flex;\n height: 100%;\n }\n\n &.ant-tabs .ant-tabs-tab {\n padding: 0;\n transition: color .2s;\n }\n\n .ant-tabs-tabpane {\n position: relative;\n display: flex;\n height: 100%;\n width: 100%;\n }\n\n .ant-tabs-content-holder {\n overflow: auto;\n }\n\n &.ant-tabs .ant-tabs-tab+.ant-tabs-tab {\n margin-left: ","px;\n margin-right: ","px;\n }\n &.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\n color: ","\n }\n &.ant-tabs-top >.ant-tabs-nav {\n margin-bottom: 0;\n }\n\n &.ant-tabs .ant-tabs-tab-btn .ant-tabs-tab-icon:not(:last-child) {\n margin-inline-end: 0;\n }\n \n .ant-tabs-tab {\n padding: 0;\n \n &:first-of-type {\n margin-left: ","px;\n margin-right: ","px;\n }\n \n .ant-tabs-tab-btn {\n display: flex;\n padding-top: ","px;\n padding-bottom: ","px;\n justify-content: center;\n align-items: center;\n gap: ","px;\n \n .ant-tabs-tab-icon {\n height: 16px;\n justify-content: center;\n align-content: center;\n margin-inline-end: 0;\n color: ",";\n \n svg {\n height: 16px;\n width: 16px\n }\n }\n }\n\n &:not(.ant-tabs-tab-active) {\n .ant-tabs-tab-icon {\n &:hover {\n color: ",";\n }\n }\n }\n \n &.ant-tabs-tab-active {\n .ant-tabs-tab-icon {\n color: ","\n }\n }\n }\n "])),e.paddingSM,e.paddingSM,e.colorPrimaryActive,e.paddingSM,e.paddingSM,e.paddingXS,e.paddingXS,e.Tabs.paddingTabs,e.Tabs.itemUnselectedIconColor,e.colorIconHover,e.colorPrimaryActive),onlyActiveLabel:t(yt||(yt=kt(["\n .ant-tabs-tab:not(.ant-tabs-tab-active) {\n span:nth-child(2) {\n display: none;\n }\n\n .ant-tabs-tab-icon {\n margin-inline-end: 0;\n }\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n .ant-tabs-tab.ant-tabs-tab-active {\n border-bottom: 2px solid ",";\n }\n "],["\n .ant-tabs-tab:not(.ant-tabs-tab-active) {\n span:nth-child(2) {\n display: none;\n }\n\n .ant-tabs-tab-icon {\n margin-inline-end: 0;\n }\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n .ant-tabs-tab.ant-tabs-tab-active {\n border-bottom: 2px solid ",";\n }\n "])),e.colorPrimaryActive)}}),{hashPriority:"low"}),St=t(1006),Ot=function(n){var e=n.defaultActiveKey,t=n.showLabelIfActive,o=n.items,r=Pt().styles;return d.createElement(St.Z,{className:"".concat(r.editorTabs," ").concat(!0===t?r.onlyActiveLabel:""),defaultActiveKey:e,items:o})},Ct=function(){return Ct=Object.assign||function(n){for(var e,t=1,o=arguments.length;t .tree-node__content {\n background-color: ",";\n }\n\n .tree-node__content-wrapper {\n max-width: max(100px, calc(100% - 16px));\n }\n\n .tree-node-content__label {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n "],["\n user-select: none;\n\n .tree-node__content {\n cursor: pointer;\n width: 100%;\n padding: 2px ","px 2px 0;\n white-space: nowrap;\n align-items: center;\n\n @media (hover: hover) {\n &:hover {\n background-color: ",";\n }\n }\n\n &:focus {\n outline: none;\n background-color: ",";\n }\n }\n\n &.tree-node--selected > .tree-node__content {\n background-color: ",";\n }\n\n .tree-node__content-wrapper {\n max-width: max(100px, calc(100% - 16px));\n }\n\n .tree-node-content__label {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n "])),e.paddingSM,e.controlItemBgActiveHover,e.controlItemBgActiveHover,e.controlItemBgActive)}}),{hashPriority:"low"}),Eo=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},ko=(0,v.kc)((function(n){var e=n.token,t=n.css;return{"tree-list__pager":t(ro||(ro=Eo([" \n padding: ","px 0;\n\n &:empty {\n padding: 0;\n }\n "],[" \n padding: ","px 0;\n\n &:empty {\n padding: 0;\n }\n "])),e.paddingSM),"tree-list__search":t(ao||(ao=Eo(["\n padding: ","px ","px ","px 0;\n\n &:empty {\n padding: 0;\n }\n\n .ant-btn-default {\n border-color: ","\n }\n "],["\n padding: ","px ","px ","px 0;\n\n &:empty {\n padding: 0;\n }\n\n .ant-btn-default {\n border-color: ","\n }\n "])),e.paddingXXS,e.paddingSM,e.paddingXS,e.colorBorder)}}),{hashPriority:"low"}),Po=function(){return Po=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]0&&s.current[u()[t-1]].el.focus()}(e)},ref:function(e){var t={el:e,node:n};s.current[n.internalKey]=t},role:"button",style:{paddingLeft:t.paddingSM+20*n.level,minWidth:"".concat(20*n.level+200,"px")},tabIndex:-1},d.createElement(zo,{node:n,state:[f,b]}),d.createElement("div",{className:"tree-node__content-wrapper"},d.createElement(i,{node:n}))),f&&d.createElement(Oo,{node:n}))};Ao.defaultProps=To;var Mo,Bo=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},Lo=(0,v.kc)((function(n){var e=n.token;return{tree:(0,n.css)(Mo||(Mo=Bo(["\n padding: ","px 0 ","px 0;\n max-width: 100%;\n color: ","\n "],["\n padding: ","px 0 ","px 0;\n max-width: 100%;\n color: ","\n "])),e.paddingXXS,e.paddingXS,e.colorTextTreeElement)}}),{hashPriority:"low"}),Zo=function(){return Zo=Object.assign||function(n){for(var e,t=1,o=arguments.length;ts&&c(!0)}),[a]),l?d.createElement(Go,{"aria-label":e("asset.asset-tree.search",{folderName:t.label}),onSearch:function(n){o({idSearchTerm:n,page:1})},placeholder:e("asset.asset-tree.search",{folderName:t.label}),size:"small"}):d.createElement(d.Fragment,null)},Jo=function(n,e,t,o){return new(t||(t=Promise))((function(r,a){function i(n){try{c(o.next(n))}catch(n){a(n)}}function l(n){try{c(o.throw(n))}catch(n){a(n)}}function c(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(i,l)}c((o=o.apply(n,e||[])).next())}))},$o=function(n,e){var t,o,r,a,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(i=0)),i;)try{if(t=1,o&&(r=2&l[0]?o.return:l[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,l[1])).done)return r;switch(o=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,o=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]]+)>/g,(function(n,e){var t=a[e];return"$"+(Array.isArray(t)?t.join("$"):t)})))}if("function"==typeof r){var i=this;return n[Symbol.replace].call(this,t,(function(){var n=arguments;return"object"!=qo(n[n.length-1])&&(n=[].slice.call(n)).push(o(n,i)),r.apply(this,n)}))}return n[Symbol.replace].call(this,t,r)},Qo.apply(this,arguments)}function Yo(n,e){return Yo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,e){return n.__proto__=e,n},Yo(n,e)}var nr=function(){return nr=Object.assign||function(n){for(var e,t=1,o=arguments.length;t{if(!t){var a=1/0;for(s=0;s=r)&&Object.keys(l.O).every((n=>l.O[n](t[c])))?t.splice(c--,1):(i=!1,r0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r]},l.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return l.d(e,{a:e}),e},t=Object.getPrototypeOf?n=>Object.getPrototypeOf(n):n=>n.__proto__,l.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var r=Object.create(null);l.r(r);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&n;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,l.d(r,a),r},l.d=(n,e)=>{for(var t in e)l.o(e,t)&&!l.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},l.f={},l.e=n=>Promise.all(Object.keys(l.f).reduce(((e,t)=>(l.f[t](n,e),e)),[])),l.u=n=>n+"."+{151:"2ffb7789",275:"8169f1ef",353:"1cb7cbaf",510:"8bceccb3",618:"0971f2b0",746:"df42761c",958:"1b562806",1024:"bc279a08",1146:"ff0d49b6",1176:"13cdd4f0",2409:"6d5800ff",2432:"ac79abd9",2876:"6ea2212b",2938:"55172959",3238:"c3ce294b",3362:"77f3d1cb",3549:"1a7ae015",3972:"31e6cad6",4109:"f1d23104",4248:"e72fe004",4288:"37c7f9a8",4306:"b346e679",4338:"d31be442",4533:"2bda5ed2",5086:"3dfea21c",5488:"2d41ea04",5715:"432a41cc",5920:"a61394a3",6131:"fb0edd2d",6230:"b2d230a2",6345:"1e7abf1d",6358:"5790f744",6396:"49590246",6866:"e92bdfd5",7050:"d22a338f",7164:"75177ffc",7405:"e726e9f4",7437:"91670bc1",7482:"c43d5e78",7493:"7a4a6149",8233:"237518a6",8464:"d43aba94",8612:"99921be3",8844:"8b2db361",8862:"ed6b12ed",9426:"4473552e",9448:"9c7c85f5",9491:"7e0fa9be",9609:"9cf887e1",9925:"8adab1cc"}[n]+".js",l.miniCssF=n=>{},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),l.hmd=n=>((n=Object.create(n)).children||(n.children=[]),Object.defineProperty(n,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+n.id)}}),n),l.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),o={},r="Pimcore:",l.l=(n,e,t,a)=>{if(o[n])o[n].push(e);else{var i,c;if(void 0!==t)for(var d=document.getElementsByTagName("script"),s=0;s{i.onerror=i.onload=null,clearTimeout(f);var r=o[n];if(delete o[n],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach((n=>n(t))),e)return e(t)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},l.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},l.p="/bundles/pimcorestudioui/build/",(()=>{var n={179:0};l.f.j=(e,t)=>{var o=l.o(n,e)?n[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var r=new Promise(((t,r)=>o=n[e]=[t,r]));t.push(o[2]=r);var a=l.p+l.u(e),i=new Error;l.l(a,(t=>{if(l.o(n,e)&&(0!==(o=n[e])&&(n[e]=void 0),o)){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",i.name="ChunkLoadError",i.type=r,i.request=a,o[1](i)}}),"chunk-"+e,e)}},l.O.j=e=>0===n[e];var e=(e,t)=>{var o,r,[a,i,c]=t,d=0;if(a.some((e=>0!==n[e]))){for(o in i)l.o(i,o)&&(l.m[o]=i[o]);if(c)var s=c(l)}for(e&&e(t);dl(1825)));c=l.O(c),Pimcore=c})();
\ No newline at end of file
diff --git a/public/build/main.a11eb467.js.LICENSE.txt b/public/build/main.a11eb467.js.LICENSE.txt
new file mode 100644
index 000000000..0a823a5e8
--- /dev/null
+++ b/public/build/main.a11eb467.js.LICENSE.txt
@@ -0,0 +1,9 @@
+/*!
+ * Pimcore
+ *
+ * This source file is available under two different licenses:
+ * - Pimcore Open Core License (POCL)
+ * - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
+ */
diff --git a/public/build/main.db779347.js b/public/build/main.db779347.js
deleted file mode 100644
index 549603699..000000000
--- a/public/build/main.db779347.js
+++ /dev/null
@@ -1 +0,0 @@
-var Pimcore;(()=>{"use strict";var n,e,t,o,r,a={2494:(n,e,t)=>{t.r(e);var o=t(6609),r=t(1072);o.ZP.use(r.Db).init({fallbackLng:"en",ns:["translation"],resources:{},saveMissing:!0}).catch((function(n){console.error(n)})),o.ZP.on("missingKey",(function(n,e,t,o){}));const a=o.ZP;var i,l,c,d=t(7294),s=function(){return s=Object.assign||function(n){for(var e,t=1,o=arguments.length;tthead>tr:first-child >*:first-child {\n border-start-start-radius: 0;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:last-child {\n border-start-end-radius: 0;\n }\n\n .grid__cell-content {\n display: block; \n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .ant-table-cell {\n position: relative;\n border-left: 1px solid #F0F0F0;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:first-of-type {\n border-left: 0;\n }\n\n &:last-of-type {\n border-right: 1px solid #F0F0F0;\n }\n }\n\n .ant-table-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n "],["\n table {\n table-layout: fixed;\n width: auto;\n }\n\n th {\n user-select: none;\n }\n\n th, td {\n line-height: 1.83;\n padding: ","px ","px;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:first-child {\n border-start-start-radius: 0;\n }\n\n &.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:last-child {\n border-start-end-radius: 0;\n }\n\n .grid__cell-content {\n display: block; \n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .ant-table-cell {\n position: relative;\n border-left: 1px solid #F0F0F0;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:first-of-type {\n border-left: 0;\n }\n\n &:last-of-type {\n border-right: 1px solid #F0F0F0;\n }\n }\n\n .ant-table-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n "])),e.Table.cellPaddingBlockSM,e.Table.cellPaddingInlineSM)}}),{hashPriority:"low"}),w=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},_=(0,v.kc)((function(n){var e=n.token;return{resizer:(0,n.css)(l||(l=w(["\n &.grid__resizer {\n position: absolute;\n right: -4px;\n top: 0;\n bottom: 0;\n width: 8px;\n z-index: 1;\n background-color: transparent;\n\n &--resizing {\n background-color: ",";\n width: 2px;\n right: -1px;\n }\n\n &--hoverable {\n cursor: col-resize;\n }\n }\n\n &:focus {\n outline: none;\n }\n "],["\n &.grid__resizer {\n position: absolute;\n right: -4px;\n top: 0;\n bottom: 0;\n width: 8px;\n z-index: 1;\n background-color: transparent;\n\n &--resizing {\n background-color: ",";\n width: 2px;\n right: -1px;\n }\n\n &--hoverable {\n cursor: col-resize;\n }\n }\n\n &:focus {\n outline: none;\n }\n "])),e.colorPrimary)}}),{hashPriority:"low"}),E=function(){return E=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]=500&&c(!0),l&&e<500&&c(!1),e<=25&&p(!0),u&&e>25&&p(!1)}),[e]),d.createElement("div",{className:f.imageZoomContainer},100!==e&&d.createElement(Q.ZP,{"aria-label":b("aria.asset.image.editor.zoom.reset"),className:f.imageZoomResetBtn,onClick:function(){t(100)},onKeyDown:ne},b("asset.image.editor.zoom.reset")),d.createElement(q.Z.Compact,{className:f.imageZoom},d.createElement(Q.ZP,{"aria-disabled":u,"aria-label":b("aria.asset.image.editor.zoom.zoom-out"),className:f.imageZoomBtn,disabled:u,onClick:function(){t(e-a)},onKeyDown:ne},d.createElement(xn,{name:"MinusOutlined"})),d.createElement(qn.Z,{"aria-label":b("aria.asset.image.editor.zoom.preconfigured-zoom-levels"),defaultActiveFirstOption:!0,defaultValue:"100",onChange:function(n){t(parseInt(n))},options:[{value:"100",label:"100%"},{value:"125",label:"125%"},{value:"150",label:"150%"},{value:"175",label:"175%"},{value:"200",label:"200%"},{value:"225",label:"225%"},{value:"250",label:"250%"}],value:"".concat(e,"%")}),d.createElement(Q.ZP,{"aria-disabled":l,"aria-label":b("aria.asset.image.editor.zoom.zoom-in"),className:f.imageZoomBtn,disabled:l,onClick:function(){t(e+a)},onKeyDown:ne},d.createElement(xn,{name:"PlusOutlined"}))))},ie=function(n){var e=Vn().styles,t=n.src,o=d.useContext(Ie),r=o.zoom,a=o.setZoom;return d.createElement("div",{className:e.preview},d.createElement(Be,{src:t}),d.createElement("div",{className:e.floatingContainer},d.createElement("div",{className:e.flexContainer},d.createElement(ae,{setZoom:a,zoom:r}))))},le=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},ce=(0,v.kc)((function(n){var e=n.token;return{sidebar:(0,n.css)(ee||(ee=le(["\n display: flex;\n \n .sidebar__navigation {\n display: flex;\n width: 45px;\n padding: 4px 8px;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n align-self: stretch;\n border-right: 1px solid rgba(0, 0, 0, 0.08);\n border-left: 1px solid rgba(0, 0, 0, 0.08);\n justify-content: space-between;\n color: ",";\n\n .sidebar__navigation__tabs,\n .sidebar__navigation__buttons {\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n }\n\n .sidebar__navigation__tabs {\n .entry {\n display: flex;\n width: 45px;\n padding: ","px ","px;\n justify-content: center;\n align-items: center;\n\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n\n &.active {\n border-right: 2px solid ",";\n\n .pimcore-icon {\n color: ","\n }\n }\n }\n }\n }\n \n .sidebar__content {\n padding: ","px ","px;\n width: 250px;\n\n .tab {\n display: none;\n \n &.active {\n display: block;\n }\n }\n \n &:not(.expanded) {\n display: none;\n }\n }\n "],["\n display: flex;\n \n .sidebar__navigation {\n display: flex;\n width: 45px;\n padding: 4px 8px;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n align-self: stretch;\n border-right: 1px solid rgba(0, 0, 0, 0.08);\n border-left: 1px solid rgba(0, 0, 0, 0.08);\n justify-content: space-between;\n color: ",";\n\n .sidebar__navigation__tabs,\n .sidebar__navigation__buttons {\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n }\n\n .sidebar__navigation__tabs {\n .entry {\n display: flex;\n width: 45px;\n padding: ","px ","px;\n justify-content: center;\n align-items: center;\n\n .pimcore-icon {\n flex-shrink: 0;\n color: ",";\n\n &:hover {\n color: ",";\n cursor: pointer;\n }\n }\n\n &.active {\n border-right: 2px solid ",";\n\n .pimcore-icon {\n color: ","\n }\n }\n }\n }\n }\n \n .sidebar__content {\n padding: ","px ","px;\n width: 250px;\n\n .tab {\n display: none;\n \n &.active {\n display: block;\n }\n }\n \n &:not(.expanded) {\n display: none;\n }\n }\n "])),e.colorIconSidebar,e.colorIconSidebar,e.colorIconHover,e.paddingXS,e.paddingXXS,e.colorIconSidebar,e.colorIconHover,e.colorPrimaryActive,e.colorPrimaryActive,e.paddingXS,e.paddingSM)}}),{hashPriority:"low"}),de=function(){return de=Object.assign||function(n){for(var e,t=1,o=arguments.length;t div {\n display: flex;\n gap: ","px;\n \n >.ant-form-item {\n flex: 1\n }\n }\n }\n \n .entry-content__download-content-custom__button {\n padding: ","px 0;\n }\n }\n "],["\n .entry-content__download-content-thumbnail {\n display: flex;\n align-items: center;\n gap: ","px;\n padding-bottom: ","px;\n \n .ant-select {\n flex: 1\n }\n }\n \n .entry-content__download-content-custom {\n .ant-form-item {\n margin-bottom: 0;\n }\n \n .entry-content__download-content-custom__dimensions {\n display: flex;\n gap: ","px;\n padding-bottom: ","px;\n }\n \n .entry-content__download-content-custom__others {\n display: flex;\n gap: ","px;\n flex-direction: column;\n padding-bottom: ","px;\n \n > div {\n display: flex;\n gap: ","px;\n \n >.ant-form-item {\n flex: 1\n }\n }\n }\n \n .entry-content__download-content-custom__button {\n padding: ","px 0;\n }\n }\n "])),e.paddingXXS,e.paddingSM,e.marginSM,e.paddingSM,e.paddingXS,e.paddingSM,e.marginSM,e.paddingXS)}}),{hashPriority:"low"}),ge=t(3179),he=t(5908),ve=t(809),ye=function(){var n=me().styles,e=(0,r.$G)().t,t=[{key:1,label:"Custom Download",children:d.createElement(ge.Z,{layout:"vertical"},d.createElement("div",{className:"entry-content__download-content-custom__dimensions"},d.createElement(ge.Z.Item,{label:"Width",name:"width"},d.createElement(he.Z,{type:"number"})),d.createElement(ge.Z.Item,{label:"Height",name:"height"},d.createElement(he.Z,{type:"number"}))),d.createElement("div",{className:"entry-content__download-content-custom__others"},d.createElement("div",null,d.createElement(ge.Z.Item,{label:"Quality",name:"quality"},d.createElement(he.Z,{defaultValue:3,type:"number"})),d.createElement(ge.Z.Item,{label:"DPI",name:"dpi"},d.createElement(he.Z,{defaultValue:3,type:"number"}))),d.createElement("div",null,d.createElement(ge.Z.Item,{name:"mode"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.custom-thumbnail-mode"),defaultValue:"mode"},d.createElement(qn.Z.Option,{value:"mode"},"Mode"),d.createElement(qn.Z.Option,{value:"sample"},"Sample"))),d.createElement(ge.Z.Item,{name:"format"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.custom-thumbnail-format"),defaultValue:"format"},d.createElement(qn.Z.Option,{value:"format"},"Format"),d.createElement(qn.Z.Option,{value:"sample"},"Sample"))))),d.createElement("div",{className:"entry-content__download-content-custom__button"},d.createElement(Q.ZP,{"aria-label":e("aria.asset.image-sidebar.tab.details.download-custom-thumbnail")},"Download")))}];return d.createElement("div",{className:n.sidebarContentEntry},d.createElement("p",{className:"sidebar__content-label"},"Details"),d.createElement("div",{className:"sidebar__content-entry-content"},d.createElement("div",{className:n.sidebarContentDimensions},d.createElement("div",{className:"entry-content__dimensions-label"},d.createElement("p",null,"Width"),d.createElement("p",null,"Height")),d.createElement("div",{className:"entry-content__dimensions-content"},d.createElement("p",null,"256 px"),d.createElement("p",null,"792 px"))),d.createElement("div",{className:n.sidebarContentDownload},d.createElement("p",{className:"sidebar__content-label"},"Download"),d.createElement("div",{className:"entry-content__download-content"},d.createElement("div",{className:"entry-content__download-content-thumbnail"},d.createElement(qn.Z,{"aria-label":e("aria.asset.image-sidebar.tab.details.precreated-thumbnail"),defaultValue:"original"},d.createElement(qn.Z.Option,{value:"original"},"Original File"),d.createElement(qn.Z.Option,{value:"sample"},"Sample")),d.createElement(Q.ZP,{"aria-label":e("aria.asset.image-sidebar.tab.details.download-thumbnail"),icon:d.createElement(xn,{name:"download-02"})})),d.createElement("div",{className:"entry-content__download-content-custom"},d.createElement(ve.Z,{defaultActiveKey:["1"],items:t}))))))},xe=new fe;xe.registerEntry({key:"details",icon:d.createElement(xn,{name:"view-details",options:{width:"16px",height:"16px"}}),component:d.createElement(ye,null)}),xe.registerButton({key:"focal-point",icon:d.createElement(xn,{name:"focal-point",options:{width:"16px",height:"16px"}}),onClick:function(){console.log("focal-point button clicked")}});var we,_e,Ee,ke,Pe,Se,Oe,Ce,je,ze=(0,d.createContext)({}),Ne=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},Te=(0,v.kc)((function(n){n.token;return{relativeContainer:(0,n.css)(we||(we=Ne(["\n position: relative;\n width: 100%;\n "],["\n position: relative;\n width: 100%;\n "])))}})),Ie=(0,d.createContext)({zoom:100,setZoom:function(){}}),Ae=function(){var n=(0,d.useState)(100),e=n[0],t=n[1],o=(0,d.useContext)(ze),r=N({id:o.id}).data,a=xe.getEntries(),i=xe.getButtons(),l=Te().styles,c=(0,d.useMemo)((function(){return{zoom:e,setZoom:t}}),[e]);return d.createElement(Ie.Provider,{value:c},d.createElement("div",{className:l.relativeContainer},d.createElement(ie,{src:r.fullPath})),d.createElement(se,{buttons:i,entries:a}))},Me=function(){return Me=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1].ant-tabs-nav {\n margin-bottom: 0;\n }\n\n &.ant-tabs .ant-tabs-tab-btn .ant-tabs-tab-icon:not(:last-child) {\n margin-inline-end: 0;\n }\n \n .ant-tabs-tab {\n padding: 0;\n \n &:first-of-type {\n margin-left: ","px;\n margin-right: ","px;\n }\n \n .ant-tabs-tab-btn {\n display: flex;\n padding-top: ","px;\n padding-bottom: ","px;\n justify-content: center;\n align-items: center;\n gap: ","px;\n \n .ant-tabs-tab-icon {\n height: 16px;\n justify-content: center;\n align-content: center;\n margin-inline-end: 0;\n color: ",";\n \n svg {\n height: 16px;\n width: 16px\n }\n }\n }\n\n &:not(.ant-tabs-tab-active) {\n .ant-tabs-tab-icon {\n &:hover {\n color: ",";\n }\n }\n }\n \n &.ant-tabs-tab-active {\n .ant-tabs-tab-icon {\n color: ","\n }\n }\n }\n "],["\n height: 100%;\n width: 100%;\n overflow: hidden;\n\n .ant-tabs-content {\n display: flex;\n height: 100%;\n }\n\n &.ant-tabs .ant-tabs-tab {\n padding: 0;\n transition: color .2s;\n }\n\n .ant-tabs-tabpane {\n position: relative;\n display: flex;\n height: 100%;\n width: 100%;\n }\n\n .ant-tabs-content-holder {\n overflow: auto;\n }\n\n &.ant-tabs .ant-tabs-tab+.ant-tabs-tab {\n margin-left: ","px;\n margin-right: ","px;\n }\n &.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\n color: ","\n }\n &.ant-tabs-top >.ant-tabs-nav {\n margin-bottom: 0;\n }\n\n &.ant-tabs .ant-tabs-tab-btn .ant-tabs-tab-icon:not(:last-child) {\n margin-inline-end: 0;\n }\n \n .ant-tabs-tab {\n padding: 0;\n \n &:first-of-type {\n margin-left: ","px;\n margin-right: ","px;\n }\n \n .ant-tabs-tab-btn {\n display: flex;\n padding-top: ","px;\n padding-bottom: ","px;\n justify-content: center;\n align-items: center;\n gap: ","px;\n \n .ant-tabs-tab-icon {\n height: 16px;\n justify-content: center;\n align-content: center;\n margin-inline-end: 0;\n color: ",";\n \n svg {\n height: 16px;\n width: 16px\n }\n }\n }\n\n &:not(.ant-tabs-tab-active) {\n .ant-tabs-tab-icon {\n &:hover {\n color: ",";\n }\n }\n }\n \n &.ant-tabs-tab-active {\n .ant-tabs-tab-icon {\n color: ","\n }\n }\n }\n "])),e.paddingSM,e.paddingSM,e.colorPrimaryActive,e.paddingSM,e.paddingSM,e.paddingXS,e.paddingXS,e.Tabs.paddingTabs,e.Tabs.itemUnselectedIconColor,e.colorIconHover,e.colorPrimaryActive),onlyActiveLabel:t(yt||(yt=kt(["\n .ant-tabs-tab:not(.ant-tabs-tab-active) {\n span:nth-child(2) {\n display: none;\n }\n\n .ant-tabs-tab-icon {\n margin-inline-end: 0;\n }\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n .ant-tabs-tab.ant-tabs-tab-active {\n border-bottom: 2px solid ",";\n }\n "],["\n .ant-tabs-tab:not(.ant-tabs-tab-active) {\n span:nth-child(2) {\n display: none;\n }\n\n .ant-tabs-tab-icon {\n margin-inline-end: 0;\n }\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n .ant-tabs-tab.ant-tabs-tab-active {\n border-bottom: 2px solid ",";\n }\n "])),e.colorPrimaryActive)}}),{hashPriority:"low"}),St=t(1006),Ot=function(n){var e=n.defaultActiveKey,t=n.showLabelIfActive,o=n.items,r=Pt().styles;return d.createElement(St.Z,{className:"".concat(r.editorTabs," ").concat(!0===t?r.onlyActiveLabel:""),defaultActiveKey:e,items:o})},Ct=function(){return Ct=Object.assign||function(n){for(var e,t=1,o=arguments.length;t .tree-node__content {\n background-color: ",";\n }\n\n .tree-node__content-wrapper {\n max-width: max(100px, calc(100% - 16px));\n }\n\n .tree-node-content__label {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n "],["\n user-select: none;\n\n .tree-node__content {\n cursor: pointer;\n width: 100%;\n padding: 2px ","px 2px 0;\n white-space: nowrap;\n align-items: center;\n\n @media (hover: hover) {\n &:hover {\n background-color: ",";\n }\n }\n\n &:focus {\n outline: none;\n background-color: ",";\n }\n }\n\n &.tree-node--selected > .tree-node__content {\n background-color: ",";\n }\n\n .tree-node__content-wrapper {\n max-width: max(100px, calc(100% - 16px));\n }\n\n .tree-node-content__label {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n "])),e.paddingSM,e.controlItemBgActiveHover,e.controlItemBgActiveHover,e.controlItemBgActive)}}),{hashPriority:"low"}),Eo=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},ko=(0,v.kc)((function(n){var e=n.token,t=n.css;return{"tree-list__pager":t(ro||(ro=Eo([" \n padding: ","px 0;\n\n &:empty {\n padding: 0;\n }\n "],[" \n padding: ","px 0;\n\n &:empty {\n padding: 0;\n }\n "])),e.paddingSM),"tree-list__search":t(ao||(ao=Eo(["\n padding: ","px ","px ","px 0;\n\n &:empty {\n padding: 0;\n }\n\n .ant-btn-default {\n border-color: ","\n }\n "],["\n padding: ","px ","px ","px 0;\n\n &:empty {\n padding: 0;\n }\n\n .ant-btn-default {\n border-color: ","\n }\n "])),e.paddingXXS,e.paddingSM,e.paddingXS,e.colorBorder)}}),{hashPriority:"low"}),Po=function(){return Po=Object.assign||function(n){for(var e,t=1,o=arguments.length;t0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]0&&s.current[u()[t-1]].el.focus()}(e)},ref:function(e){var t={el:e,node:n};s.current[n.internalKey]=t},role:"button",style:{paddingLeft:t.paddingSM+20*n.level,minWidth:"".concat(20*n.level+200,"px")},tabIndex:-1},d.createElement(zo,{node:n,state:[f,b]}),d.createElement("div",{className:"tree-node__content-wrapper"},d.createElement(i,{node:n}))),f&&d.createElement(Oo,{node:n}))};Ao.defaultProps=To;var Mo,Bo=function(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n},Lo=(0,v.kc)((function(n){var e=n.token;return{tree:(0,n.css)(Mo||(Mo=Bo(["\n padding: ","px 0 ","px 0;\n max-width: 100%;\n color: ","\n "],["\n padding: ","px 0 ","px 0;\n max-width: 100%;\n color: ","\n "])),e.paddingXXS,e.paddingXS,e.colorTextTreeElement)}}),{hashPriority:"low"}),Zo=function(){return Zo=Object.assign||function(n){for(var e,t=1,o=arguments.length;ts&&c(!0)}),[a]),l?d.createElement(Go,{"aria-label":e("asset.asset-tree.search",{folderName:t.label}),onSearch:function(n){o({idSearchTerm:n,page:1})},placeholder:e("asset.asset-tree.search",{folderName:t.label}),size:"small"}):d.createElement(d.Fragment,null)},Jo=function(n,e,t,o){return new(t||(t=Promise))((function(r,a){function i(n){try{c(o.next(n))}catch(n){a(n)}}function l(n){try{c(o.throw(n))}catch(n){a(n)}}function c(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(i,l)}c((o=o.apply(n,e||[])).next())}))},$o=function(n,e){var t,o,r,a,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(i=0)),i;)try{if(t=1,o&&(r=2&l[0]?o.return:l[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,l[1])).done)return r;switch(o=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,o=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==l[0]&&2!==l[0])){i=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]]+)>/g,(function(n,e){var t=a[e];return"$"+(Array.isArray(t)?t.join("$"):t)})))}if("function"==typeof r){var i=this;return n[Symbol.replace].call(this,t,(function(){var n=arguments;return"object"!=qo(n[n.length-1])&&(n=[].slice.call(n)).push(o(n,i)),r.apply(this,n)}))}return n[Symbol.replace].call(this,t,r)},Qo.apply(this,arguments)}function Yo(n,e){return Yo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,e){return n.__proto__=e,n},Yo(n,e)}var nr=function(){return nr=Object.assign||function(n){for(var e,t=1,o=arguments.length;t{if(!t){var a=1/0;for(s=0;s=r)&&Object.keys(l.O).every((n=>l.O[n](t[c])))?t.splice(c--,1):(i=!1,r0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r]},l.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return l.d(e,{a:e}),e},t=Object.getPrototypeOf?n=>Object.getPrototypeOf(n):n=>n.__proto__,l.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var r=Object.create(null);l.r(r);var a={};e=e||[null,t({}),t([]),t(t)];for(var i=2&o&&n;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,l.d(r,a),r},l.d=(n,e)=>{for(var t in e)l.o(e,t)&&!l.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},l.f={},l.e=n=>Promise.all(Object.keys(l.f).reduce(((e,t)=>(l.f[t](n,e),e)),[])),l.u=n=>n+"."+{290:"a149bad0",305:"136fd859",565:"85e26cda",608:"41217201",730:"ae51acff",1091:"d1658d12",1225:"47247602",1238:"c2047814",1333:"03a709fe",1506:"0c5ef2ba",1607:"30875a60",1892:"3d8faf5f",2186:"2ae5010c",2206:"e45725cf",2310:"2f43ff49",2318:"f51f6164",2732:"233c5a9a",2746:"073c80d3",2809:"84ddcd23",3219:"c83a8e1b",3248:"b62f2e21",3667:"0b9692a2",3907:"853109fc",4046:"90beaa07",4073:"75ea91c1",4147:"f60c8761",4278:"1d6d4658",4751:"f19d2bef",5069:"78c940ed",5203:"3f42380c",5679:"f0493545",5705:"c244ae87",6286:"6d37d49d",6789:"6fb5d462",6924:"7b4670cf",7030:"0d1e2441",7266:"03556b00",7509:"71ede774",8225:"aa856910",8237:"6ddf469d",8487:"93313451",8626:"e4a42f4b",8833:"be3c8671",8882:"fccb8009",9089:"8547e739",9268:"4d97e118",9464:"a6154a8f",9568:"81894239",9699:"df675f5f",9890:"3a2c4a89"}[n]+".js",l.miniCssF=n=>{},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),l.hmd=n=>((n=Object.create(n)).children||(n.children=[]),Object.defineProperty(n,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+n.id)}}),n),l.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),o={},r="Pimcore:",l.l=(n,e,t,a)=>{if(o[n])o[n].push(e);else{var i,c;if(void 0!==t)for(var d=document.getElementsByTagName("script"),s=0;s{i.onerror=i.onload=null,clearTimeout(f);var r=o[n];if(delete o[n],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach((n=>n(t))),e)return e(t)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},l.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},l.p="/bundles/pimcorestudioui/build/",(()=>{var n={179:0};l.f.j=(e,t)=>{var o=l.o(n,e)?n[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var r=new Promise(((t,r)=>o=n[e]=[t,r]));t.push(o[2]=r);var a=l.p+l.u(e),i=new Error;l.l(a,(t=>{if(l.o(n,e)&&(0!==(o=n[e])&&(n[e]=void 0),o)){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",i.name="ChunkLoadError",i.type=r,i.request=a,o[1](i)}}),"chunk-"+e,e)}},l.O.j=e=>0===n[e];var e=(e,t)=>{var o,r,[a,i,c]=t,d=0;if(a.some((e=>0!==n[e]))){for(o in i)l.o(i,o)&&(l.m[o]=i[o]);if(c)var s=c(l)}for(e&&e(t);dl(2494)));c=l.O(c),Pimcore=c})();
\ No newline at end of file
diff --git a/public/build/manifest.json b/public/build/manifest.json
index 63e59bc82..06953c889 100644
--- a/public/build/manifest.json
+++ b/public/build/manifest.json
@@ -1,56 +1,56 @@
{
- "bundles/pimcorestudioui/build/main.css": "/bundles/pimcorestudioui/build/main.68ad8b69.css",
- "bundles/pimcorestudioui/build/main.js": "/bundles/pimcorestudioui/build/main.db779347.js",
- "bundles/pimcorestudioui/build/1238.c2047814.js": "/bundles/pimcorestudioui/build/1238.c2047814.js",
- "bundles/pimcorestudioui/build/730.ae51acff.js": "/bundles/pimcorestudioui/build/730.ae51acff.js",
- "bundles/pimcorestudioui/build/9568.81894239.js": "/bundles/pimcorestudioui/build/9568.81894239.js",
- "bundles/pimcorestudioui/build/8833.be3c8671.js": "/bundles/pimcorestudioui/build/8833.be3c8671.js",
- "bundles/pimcorestudioui/build/2746.073c80d3.js": "/bundles/pimcorestudioui/build/2746.073c80d3.js",
- "bundles/pimcorestudioui/build/9699.df675f5f.js": "/bundles/pimcorestudioui/build/9699.df675f5f.js",
- "bundles/pimcorestudioui/build/8225.aa856910.js": "/bundles/pimcorestudioui/build/8225.aa856910.js",
- "bundles/pimcorestudioui/build/7030.0d1e2441.js": "/bundles/pimcorestudioui/build/7030.0d1e2441.js",
- "bundles/pimcorestudioui/build/1892.3d8faf5f.js": "/bundles/pimcorestudioui/build/1892.3d8faf5f.js",
- "bundles/pimcorestudioui/build/6286.6d37d49d.js": "/bundles/pimcorestudioui/build/6286.6d37d49d.js",
- "bundles/pimcorestudioui/build/2318.f51f6164.js": "/bundles/pimcorestudioui/build/2318.f51f6164.js",
- "bundles/pimcorestudioui/build/8237.6ddf469d.js": "/bundles/pimcorestudioui/build/8237.6ddf469d.js",
- "bundles/pimcorestudioui/build/1225.47247602.js": "/bundles/pimcorestudioui/build/1225.47247602.js",
- "bundles/pimcorestudioui/build/6924.7b4670cf.js": "/bundles/pimcorestudioui/build/6924.7b4670cf.js",
- "bundles/pimcorestudioui/build/3907.853109fc.js": "/bundles/pimcorestudioui/build/3907.853109fc.js",
- "bundles/pimcorestudioui/build/7266.03556b00.js": "/bundles/pimcorestudioui/build/7266.03556b00.js",
- "bundles/pimcorestudioui/build/6789.6fb5d462.js": "/bundles/pimcorestudioui/build/6789.6fb5d462.js",
- "bundles/pimcorestudioui/build/4073.75ea91c1.js": "/bundles/pimcorestudioui/build/4073.75ea91c1.js",
- "bundles/pimcorestudioui/build/305.136fd859.js": "/bundles/pimcorestudioui/build/305.136fd859.js",
- "bundles/pimcorestudioui/build/1607.30875a60.js": "/bundles/pimcorestudioui/build/1607.30875a60.js",
- "bundles/pimcorestudioui/build/565.85e26cda.js": "/bundles/pimcorestudioui/build/565.85e26cda.js",
- "bundles/pimcorestudioui/build/3248.b62f2e21.js": "/bundles/pimcorestudioui/build/3248.b62f2e21.js",
- "bundles/pimcorestudioui/build/2310.2f43ff49.js": "/bundles/pimcorestudioui/build/2310.2f43ff49.js",
- "bundles/pimcorestudioui/build/3667.0b9692a2.js": "/bundles/pimcorestudioui/build/3667.0b9692a2.js",
- "bundles/pimcorestudioui/build/1506.0c5ef2ba.js": "/bundles/pimcorestudioui/build/1506.0c5ef2ba.js",
- "bundles/pimcorestudioui/build/2186.2ae5010c.js": "/bundles/pimcorestudioui/build/2186.2ae5010c.js",
- "bundles/pimcorestudioui/build/3219.c83a8e1b.js": "/bundles/pimcorestudioui/build/3219.c83a8e1b.js",
- "bundles/pimcorestudioui/build/8882.fccb8009.js": "/bundles/pimcorestudioui/build/8882.fccb8009.js",
- "bundles/pimcorestudioui/build/5203.3f42380c.js": "/bundles/pimcorestudioui/build/5203.3f42380c.js",
- "bundles/pimcorestudioui/build/8626.e4a42f4b.js": "/bundles/pimcorestudioui/build/8626.e4a42f4b.js",
- "bundles/pimcorestudioui/build/2732.233c5a9a.js": "/bundles/pimcorestudioui/build/2732.233c5a9a.js",
- "bundles/pimcorestudioui/build/9089.8547e739.js": "/bundles/pimcorestudioui/build/9089.8547e739.js",
- "bundles/pimcorestudioui/build/290.a149bad0.js": "/bundles/pimcorestudioui/build/290.a149bad0.js",
- "bundles/pimcorestudioui/build/1333.03a709fe.js": "/bundles/pimcorestudioui/build/1333.03a709fe.js",
- "bundles/pimcorestudioui/build/9890.3a2c4a89.js": "/bundles/pimcorestudioui/build/9890.3a2c4a89.js",
- "bundles/pimcorestudioui/build/608.41217201.js": "/bundles/pimcorestudioui/build/608.41217201.js",
- "bundles/pimcorestudioui/build/9268.4d97e118.js": "/bundles/pimcorestudioui/build/9268.4d97e118.js",
- "bundles/pimcorestudioui/build/4147.f60c8761.js": "/bundles/pimcorestudioui/build/4147.f60c8761.js",
- "bundles/pimcorestudioui/build/8487.93313451.js": "/bundles/pimcorestudioui/build/8487.93313451.js",
- "bundles/pimcorestudioui/build/2809.84ddcd23.js": "/bundles/pimcorestudioui/build/2809.84ddcd23.js",
- "bundles/pimcorestudioui/build/2206.e45725cf.js": "/bundles/pimcorestudioui/build/2206.e45725cf.js",
- "bundles/pimcorestudioui/build/7509.71ede774.js": "/bundles/pimcorestudioui/build/7509.71ede774.js",
- "bundles/pimcorestudioui/build/5679.f0493545.js": "/bundles/pimcorestudioui/build/5679.f0493545.js",
- "bundles/pimcorestudioui/build/4751.f19d2bef.js": "/bundles/pimcorestudioui/build/4751.f19d2bef.js",
- "bundles/pimcorestudioui/build/9464.a6154a8f.js": "/bundles/pimcorestudioui/build/9464.a6154a8f.js",
- "bundles/pimcorestudioui/build/5069.78c940ed.js": "/bundles/pimcorestudioui/build/5069.78c940ed.js",
- "bundles/pimcorestudioui/build/1091.d1658d12.js": "/bundles/pimcorestudioui/build/1091.d1658d12.js",
- "bundles/pimcorestudioui/build/5705.c244ae87.js": "/bundles/pimcorestudioui/build/5705.c244ae87.js",
- "bundles/pimcorestudioui/build/4278.1d6d4658.js": "/bundles/pimcorestudioui/build/4278.1d6d4658.js",
- "bundles/pimcorestudioui/build/4046.90beaa07.js": "/bundles/pimcorestudioui/build/4046.90beaa07.js",
+ "bundles/pimcorestudioui/build/main.css": "/bundles/pimcorestudioui/build/main.49954857.css",
+ "bundles/pimcorestudioui/build/main.js": "/bundles/pimcorestudioui/build/main.a11eb467.js",
+ "bundles/pimcorestudioui/build/151.2ffb7789.js": "/bundles/pimcorestudioui/build/151.2ffb7789.js",
+ "bundles/pimcorestudioui/build/4248.e72fe004.js": "/bundles/pimcorestudioui/build/4248.e72fe004.js",
+ "bundles/pimcorestudioui/build/4109.f1d23104.js": "/bundles/pimcorestudioui/build/4109.f1d23104.js",
+ "bundles/pimcorestudioui/build/2876.6ea2212b.js": "/bundles/pimcorestudioui/build/2876.6ea2212b.js",
+ "bundles/pimcorestudioui/build/5920.a61394a3.js": "/bundles/pimcorestudioui/build/5920.a61394a3.js",
+ "bundles/pimcorestudioui/build/4288.37c7f9a8.js": "/bundles/pimcorestudioui/build/4288.37c7f9a8.js",
+ "bundles/pimcorestudioui/build/8862.ed6b12ed.js": "/bundles/pimcorestudioui/build/8862.ed6b12ed.js",
+ "bundles/pimcorestudioui/build/1146.ff0d49b6.js": "/bundles/pimcorestudioui/build/1146.ff0d49b6.js",
+ "bundles/pimcorestudioui/build/4306.b346e679.js": "/bundles/pimcorestudioui/build/4306.b346e679.js",
+ "bundles/pimcorestudioui/build/6396.49590246.js": "/bundles/pimcorestudioui/build/6396.49590246.js",
+ "bundles/pimcorestudioui/build/3549.1a7ae015.js": "/bundles/pimcorestudioui/build/3549.1a7ae015.js",
+ "bundles/pimcorestudioui/build/1024.bc279a08.js": "/bundles/pimcorestudioui/build/1024.bc279a08.js",
+ "bundles/pimcorestudioui/build/8233.237518a6.js": "/bundles/pimcorestudioui/build/8233.237518a6.js",
+ "bundles/pimcorestudioui/build/4533.2bda5ed2.js": "/bundles/pimcorestudioui/build/4533.2bda5ed2.js",
+ "bundles/pimcorestudioui/build/3972.31e6cad6.js": "/bundles/pimcorestudioui/build/3972.31e6cad6.js",
+ "bundles/pimcorestudioui/build/8844.8b2db361.js": "/bundles/pimcorestudioui/build/8844.8b2db361.js",
+ "bundles/pimcorestudioui/build/746.df42761c.js": "/bundles/pimcorestudioui/build/746.df42761c.js",
+ "bundles/pimcorestudioui/build/6345.1e7abf1d.js": "/bundles/pimcorestudioui/build/6345.1e7abf1d.js",
+ "bundles/pimcorestudioui/build/3238.c3ce294b.js": "/bundles/pimcorestudioui/build/3238.c3ce294b.js",
+ "bundles/pimcorestudioui/build/7405.e726e9f4.js": "/bundles/pimcorestudioui/build/7405.e726e9f4.js",
+ "bundles/pimcorestudioui/build/9426.4473552e.js": "/bundles/pimcorestudioui/build/9426.4473552e.js",
+ "bundles/pimcorestudioui/build/6131.fb0edd2d.js": "/bundles/pimcorestudioui/build/6131.fb0edd2d.js",
+ "bundles/pimcorestudioui/build/7164.75177ffc.js": "/bundles/pimcorestudioui/build/7164.75177ffc.js",
+ "bundles/pimcorestudioui/build/958.1b562806.js": "/bundles/pimcorestudioui/build/958.1b562806.js",
+ "bundles/pimcorestudioui/build/8612.99921be3.js": "/bundles/pimcorestudioui/build/8612.99921be3.js",
+ "bundles/pimcorestudioui/build/5086.3dfea21c.js": "/bundles/pimcorestudioui/build/5086.3dfea21c.js",
+ "bundles/pimcorestudioui/build/4338.d31be442.js": "/bundles/pimcorestudioui/build/4338.d31be442.js",
+ "bundles/pimcorestudioui/build/5715.432a41cc.js": "/bundles/pimcorestudioui/build/5715.432a41cc.js",
+ "bundles/pimcorestudioui/build/510.8bceccb3.js": "/bundles/pimcorestudioui/build/510.8bceccb3.js",
+ "bundles/pimcorestudioui/build/2432.ac79abd9.js": "/bundles/pimcorestudioui/build/2432.ac79abd9.js",
+ "bundles/pimcorestudioui/build/353.1cb7cbaf.js": "/bundles/pimcorestudioui/build/353.1cb7cbaf.js",
+ "bundles/pimcorestudioui/build/7050.d22a338f.js": "/bundles/pimcorestudioui/build/7050.d22a338f.js",
+ "bundles/pimcorestudioui/build/3362.77f3d1cb.js": "/bundles/pimcorestudioui/build/3362.77f3d1cb.js",
+ "bundles/pimcorestudioui/build/2409.6d5800ff.js": "/bundles/pimcorestudioui/build/2409.6d5800ff.js",
+ "bundles/pimcorestudioui/build/618.0971f2b0.js": "/bundles/pimcorestudioui/build/618.0971f2b0.js",
+ "bundles/pimcorestudioui/build/7493.7a4a6149.js": "/bundles/pimcorestudioui/build/7493.7a4a6149.js",
+ "bundles/pimcorestudioui/build/1176.13cdd4f0.js": "/bundles/pimcorestudioui/build/1176.13cdd4f0.js",
+ "bundles/pimcorestudioui/build/9925.8adab1cc.js": "/bundles/pimcorestudioui/build/9925.8adab1cc.js",
+ "bundles/pimcorestudioui/build/6230.b2d230a2.js": "/bundles/pimcorestudioui/build/6230.b2d230a2.js",
+ "bundles/pimcorestudioui/build/275.8169f1ef.js": "/bundles/pimcorestudioui/build/275.8169f1ef.js",
+ "bundles/pimcorestudioui/build/5488.2d41ea04.js": "/bundles/pimcorestudioui/build/5488.2d41ea04.js",
+ "bundles/pimcorestudioui/build/9609.9cf887e1.js": "/bundles/pimcorestudioui/build/9609.9cf887e1.js",
+ "bundles/pimcorestudioui/build/6866.e92bdfd5.js": "/bundles/pimcorestudioui/build/6866.e92bdfd5.js",
+ "bundles/pimcorestudioui/build/2938.55172959.js": "/bundles/pimcorestudioui/build/2938.55172959.js",
+ "bundles/pimcorestudioui/build/8464.d43aba94.js": "/bundles/pimcorestudioui/build/8464.d43aba94.js",
+ "bundles/pimcorestudioui/build/9491.7e0fa9be.js": "/bundles/pimcorestudioui/build/9491.7e0fa9be.js",
+ "bundles/pimcorestudioui/build/6358.5790f744.js": "/bundles/pimcorestudioui/build/6358.5790f744.js",
+ "bundles/pimcorestudioui/build/9448.9c7c85f5.js": "/bundles/pimcorestudioui/build/9448.9c7c85f5.js",
+ "bundles/pimcorestudioui/build/7437.91670bc1.js": "/bundles/pimcorestudioui/build/7437.91670bc1.js",
+ "bundles/pimcorestudioui/build/7482.c43d5e78.js": "/bundles/pimcorestudioui/build/7482.c43d5e78.js",
"bundles/pimcorestudioui/build/6521.0b61e174.js": "/bundles/pimcorestudioui/build/6521.0b61e174.js",
"bundles/pimcorestudioui/build/fonts/Lato-Light.ttf": "/bundles/pimcorestudioui/build/fonts/Lato-Light.c7400fca.ttf",
"bundles/pimcorestudioui/build/fonts/Lato-Regular.ttf": "/bundles/pimcorestudioui/build/fonts/Lato-Regular.9d883d54.ttf",
diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php
index cf40295f8..501198cc3 100644
--- a/src/Controller/DefaultController.php
+++ b/src/Controller/DefaultController.php
@@ -4,11 +4,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Bundle\StudioUiBundle\Controller;
diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php
index a290f8595..7bc77f0b6 100644
--- a/src/DependencyInjection/Configuration.php
+++ b/src/DependencyInjection/Configuration.php
@@ -3,11 +3,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Bundle\StudioUiBundle\DependencyInjection;
diff --git a/src/DependencyInjection/PimcoreStudioUiExtension.php b/src/DependencyInjection/PimcoreStudioUiExtension.php
index 332201be0..7f912bd5e 100644
--- a/src/DependencyInjection/PimcoreStudioUiExtension.php
+++ b/src/DependencyInjection/PimcoreStudioUiExtension.php
@@ -5,11 +5,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Bundle\StudioUiBundle\DependencyInjection;
diff --git a/src/PimcoreStudioUiBundle.php b/src/PimcoreStudioUiBundle.php
index 0c7eadc5c..9dbcab8f2 100644
--- a/src/PimcoreStudioUiBundle.php
+++ b/src/PimcoreStudioUiBundle.php
@@ -5,11 +5,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Bundle\StudioUiBundle;
diff --git a/tests/Unit/DefaultTest.php b/tests/Unit/DefaultTest.php
index 27ddd4983..1bef093d6 100644
--- a/tests/Unit/DefaultTest.php
+++ b/tests/Unit/DefaultTest.php
@@ -4,11 +4,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Bundle\StudioUiBundle\Tests\Unit;
diff --git a/tests/_bootstrap.php b/tests/_bootstrap.php
index a497fadb0..360fdc5e8 100644
--- a/tests/_bootstrap.php
+++ b/tests/_bootstrap.php
@@ -3,11 +3,14 @@
/**
* Pimcore
*
- * This source file is available under following license:
+ * This source file is available under two different licenses:
+ * - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
+ * Full copyright and license information is available in
+ * LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
- * @license http://www.pimcore.org/license PCL
+ * @license http://www.pimcore.org/license GPLv3 and PCL
*/
define('PIMCORE_PROJECT_ROOT', dirname(__DIR__));