From 284c89c5edcf8f2abb804bb325e9c09ab7b7e695 Mon Sep 17 00:00:00 2001
From: Kay Strobach <info@kay-strobach.de>
Date: Sun, 10 Apr 2016 21:02:33 +0200
Subject: [PATCH] [TASK] Use bootstrap colorpicker consistent over the whole
 backend

This patch inserts the same colorpicker on all places where a colorpicker
is used in the TYPO3 backend.

So it tackles:

 - formengine
 - constant editor
 - extension manager

Releases: master
Resolves: #73728
Change-Id: I0efd9f1e90dce3a66a80bb9969c03b87fb2f851d
Reviewed-on: https://review.typo3.org/47570
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
---
 Build/Gruntfile.js                            |  15 ++
 .../Public/Less/Component/colorpicker.less    | 247 ++++++++++++++++++
 Build/Resources/Public/Less/backend.less      |   5 +
 Build/bower.json                              |   3 +-
 .../Form/Element/AbstractFormElement.php      |  45 +---
 .../Form/Element/InputColorPickerElement.php  | 162 ++++++++++++
 .../backend/Classes/Form/NodeFactory.php      |   1 +
 .../Resources/Public/JavaScript/FormEngine.js |  11 +
 .../core/Classes/Migrations/TcaMigration.php  |  37 ++-
 .../TypoScript/ExtendedTemplateService.php    |  49 ++--
 ...n-73728-WizardTypeColorboxIsDeprecated.rst |  44 ++++
 .../Images/colorpicker/jquery.minicolors.png  | Bin 0 -> 68627 bytes
 .../JavaScript/Contrib/jquery.minicolors.js   |  11 +
 .../Configuration/TypoScript/v7/constants.txt |  10 +-
 .../css_styled_content/static/constants.txt   |  12 +-
 .../Form/TypoScriptConstantsViewHelper.php    |  34 +--
 .../TypoScript/Static/constants.txt           |   2 +-
 .../t3skin/Resources/Public/Css/backend.css   | 192 ++++++++++++++
 ...ConstantEditorModuleFunctionController.php |   4 +
 19 files changed, 790 insertions(+), 94 deletions(-)
 create mode 100644 Build/Resources/Public/Less/Component/colorpicker.less
 create mode 100644 typo3/sysext/backend/Classes/Form/Element/InputColorPickerElement.php
 create mode 100644 typo3/sysext/core/Documentation/Changelog/master/Deprecation-73728-WizardTypeColorboxIsDeprecated.rst
 create mode 100644 typo3/sysext/core/Resources/Public/Images/colorpicker/jquery.minicolors.png
 create mode 100644 typo3/sysext/core/Resources/Public/JavaScript/Contrib/jquery.minicolors.js

diff --git a/Build/Gruntfile.js b/Build/Gruntfile.js
index 65b99fc1a5c0..6e6fae1329bd 100644
--- a/Build/Gruntfile.js
+++ b/Build/Gruntfile.js
@@ -112,6 +112,9 @@ module.exports = function(grunt) {
 			}
 		},
 		watch: {
+			options: {
+				livereload: true
+			},
 			less: {
 				files: '<%= paths.less %>**/*.less',
 				tasks: 'css'
@@ -169,6 +172,17 @@ module.exports = function(grunt) {
 				runBower: false,
 				srcPrefix: "bower_components/"
 			},
+			glob: {
+				files: {
+					// When using glob patterns, destinations are *always* folder names
+					// into which matching files will be copied
+					// Also note that subdirectories are **not** maintained
+					// if a destination is specified
+					// For example, one of the files copied here is
+					// 'lodash/dist/lodash.js' -> 'public/js/libs/lodash/lodash.js'
+					'<%= paths.sysext %>core/Resources/Public/Images/colorpicker': 'jquery-minicolors/*.png'
+				}
+			},
 			all: {
 				options: {
 					destPrefix: "<%= paths.core %>Public/JavaScript/Contrib"
@@ -186,6 +200,7 @@ module.exports = function(grunt) {
 					'autosize.js': 'autosize/dist/autosize.min.js',
 					'taboverride.min.js': 'taboverride/build/output/taboverride.min.js',
 					'bootstrap-slider.min.js': 'seiyria-bootstrap-slider/dist/bootstrap-slider.min.js',
+					'jquery.minicolors.js': 'jquery-minicolors/jquery.minicolors.min.js',
 					/* disabled until autocomplete groupBy is fixed by the author
 						see https://github.com/devbridge/jQuery-Autocomplete/pull/387
 					'jquery.autocomplete.js': 'devbridge-autocomplete/src/jquery.autocomplete.js',
diff --git a/Build/Resources/Public/Less/Component/colorpicker.less b/Build/Resources/Public/Less/Component/colorpicker.less
new file mode 100644
index 000000000000..75c5b026a6b4
--- /dev/null
+++ b/Build/Resources/Public/Less/Component/colorpicker.less
@@ -0,0 +1,247 @@
+//
+// Minicolors
+// ============
+// Optimized version of http://labs.abeautifulsite.net/jquery-minicolors/
+// for TYPO3 CMS colorpicker used in the backend.
+//
+
+
+//
+// Variables
+//
+@minicolors-swatch-height: 20px;
+@minicolors-swatch-width: 20px;
+@minicolors-swatch-border-radius: 1px;
+@minicolors-swatch-border: @input-border;
+@minicolors-panel-bg: #fff;
+@minicolors-panel-border: @input-border;
+@minicolors-panel-border-radius: @border-radius-base;
+
+//
+// Component
+//
+.minicolors {
+	position: relative;
+}
+
+.userTS .minicolors {
+	// fix for constantmanager
+	position: absolute;
+}
+
+.minicolors-sprite {
+	background-image: url("@{path-sysext}/core/Resources/Public/Images/colorpicker/jquery.minicolors.png");
+}
+
+//
+// Swatch
+//
+.minicolors-swatch {
+	position: absolute;
+	vertical-align: middle;
+	background-position: -80px 0;
+	cursor: text;
+	padding: 0;
+	margin: 0;
+	display: inline-block;
+	top: 50%;
+	left: @padding-base-horizontal;
+	z-index: 2;
+	transform: translate(0,-50%);
+	width: @minicolors-swatch-width;
+	height: @minicolors-swatch-height;
+	border-radius: @minicolors-swatch-border-radius;
+}
+.minicolors-swatch-color {
+	position: absolute;
+	top: 0;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	border-radius: inherit;
+}
+
+//
+// Input
+//
+.minicolors-input {
+	float: none;
+	padding-left: (@padding-base-horizontal * 2) + @minicolors-swatch-width;
+}
+
+//
+// Panel
+//
+.minicolors-panel {
+	margin-top: 1px;
+	overflow: hidden;
+	border-radius: @minicolors-panel-border-radius;
+	position: absolute;
+	width: 173px;
+	height: 152px;
+	background: @minicolors-panel-bg;
+	border: solid 1px @minicolors-panel-border;
+	box-shadow: 0 0 20px rgba(0, 0, 0, .2);
+	z-index: 99999;
+	box-sizing: content-box;
+	display: none;
+}
+.minicolors-panel.minicolors-with-swatches {
+	height: 182px;
+}
+.minicolors-panel.minicolors-visible {
+	display: block;
+}
+
+//
+// Position
+//
+.minicolors-position-top .minicolors-panel {
+	top: -154px;
+}
+.minicolors-position-right .minicolors-panel {
+	right: 0;
+}
+.minicolors-position-bottom .minicolors-panel {
+	top: auto;
+}
+.minicolors-position-left .minicolors-panel {
+	left: 0;
+}
+.minicolors-with-opacity .minicolors-panel {
+	width: 194px;
+}
+
+//
+// Grid
+//
+.minicolors .minicolors-grid {
+	position: absolute;
+	top: 1px;
+	left: 1px;
+	width: 150px;
+	height: 150px;
+	background-position: -120px 0;
+	cursor: crosshair;
+}
+.minicolors .minicolors-grid-inner {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 150px;
+	height: 150px;
+}
+
+//
+// Slider
+//
+.minicolors-slider-saturation .minicolors-grid {
+	background-position: -420px 0;
+}
+.minicolors-slider-saturation .minicolors-grid-inner {
+	background-position: -270px 0;
+	background-image: inherit;
+}
+.minicolors-slider-brightness .minicolors-grid {
+	background-position: -570px 0;
+}
+.minicolors-slider-brightness .minicolors-grid-inner {
+	background-color: black;
+}
+.minicolors-slider-wheel .minicolors-grid {
+	background-position: -720px 0;
+}
+.minicolors-slider,
+.minicolors-opacity-slider {
+	position: absolute;
+	top: 1px;
+	left: 152px;
+	width: 20px;
+	height: 150px;
+	background-color: white;
+	background-position: 0 0;
+	cursor: row-resize;
+}
+.minicolors-slider-saturation .minicolors-slider {
+	background-position: -60px 0;
+}
+.minicolors-slider-brightness .minicolors-slider {
+	background-position: -20px 0;
+}
+.minicolors-slider-wheel .minicolors-slider {
+	background-position: -20px 0;
+}
+.minicolors-opacity-slider {
+	left: 173px;
+	background-position: -40px 0;
+	display: none;
+}
+.minicolors-with-opacity .minicolors-opacity-slider {
+	display: block;
+}
+
+//
+// Picker
+//
+.minicolors-grid .minicolors-picker {
+	position: absolute;
+	top: 70px;
+	left: 70px;
+	width: 12px;
+	height: 12px;
+	border: solid 1px black;
+	border-radius: 10px;
+	margin-top: -6px;
+	margin-left: -6px;
+	background: none;
+}
+.minicolors-grid .minicolors-picker > div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 8px;
+	height: 8px;
+	border-radius: 8px;
+	border: solid 2px white;
+	box-sizing: content-box;
+}
+.minicolors-picker {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 18px;
+	height: 2px;
+	background: white;
+	border: solid 1px black;
+	margin-top: -2px;
+	box-sizing: content-box;
+}
+
+//
+// Swatches
+//
+.minicolors-swatches,.minicolors-swatches li {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	overflow: hidden;
+	position: absolute;
+	top: 157px;
+	left: 5px;
+}
+.minicolors-swatches .minicolors-swatch {
+	position: relative;
+	float: left;
+	cursor: pointer;
+	margin:0 4px 0 0;
+	top: 0;
+	left: 0;
+	width: 20px;
+	height: 20px;
+}
+.minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
+	margin-right:7px;
+}
+.minicolors-swatch.selected {
+	border-color:#000;
+}
diff --git a/Build/Resources/Public/Less/backend.less b/Build/Resources/Public/Less/backend.less
index 72c6cd804a6b..bb6533b1e0a5 100644
--- a/Build/Resources/Public/Less/backend.less
+++ b/Build/Resources/Public/Less/backend.less
@@ -10,6 +10,11 @@
 //
 @import "_minimal.less";
 
+//
+// Components
+//
+@import "Component/colorpicker.less";
+
 //
 // Components from bootstrap plugins
 //
diff --git a/Build/bower.json b/Build/bower.json
index 2cb60e8cc5be..8f4d2e646ddc 100644
--- a/Build/bower.json
+++ b/Build/bower.json
@@ -43,6 +43,7 @@
     "devbridge-autocomplete": "1.2.24",
     "region-flags": "*",
     "wmdbsystems-typo3-icons": "0.0.10",
-    "matchHeight": "matchheight#^0.7.0"
+    "matchHeight": "matchheight#^0.7.0",
+    "jquery-minicolors": "^2.2.4"
   }
 }
diff --git a/typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php b/typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php
index 01177f7615a6..940c3f453c2a 100644
--- a/typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php
+++ b/typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php
@@ -65,6 +65,11 @@ abstract class AbstractFormElement extends AbstractNode
      */
     protected $clipboard = null;
 
+    /**
+     * @var NodeFactory
+     */
+    protected $nodeFactory;
+
     /**
      * Container objects give $nodeFactory down to other containers.
      *
@@ -306,46 +311,6 @@ abstract class AbstractFormElement extends AbstractNode
                         '</a>';
                     break;
 
-                case 'colorbox':
-                    $params = array();
-                    $params['params'] = $wizardConfiguration['params'];
-                    $params['exampleImg'] = $wizardConfiguration['exampleImg'];
-                    $params['table'] = $table;
-                    $params['uid'] = $row['uid'];
-                    $params['pid'] = $row['pid'];
-                    $params['field'] = $field;
-                    $params['flexFormPath'] = $flexFormPath;
-                    $params['md5ID'] = $md5ID;
-                    $params['returnUrl'] = $this->data['returnUrl'];
-
-                    $params['formName'] = 'editform';
-                    $params['itemName'] = $itemName;
-                    $params['hmac'] = GeneralUtility::hmac($params['formName'] . $params['itemName'], 'wizard_js');
-                    $params['fieldChangeFunc'] = $fieldChangeFunc;
-                    $params['fieldChangeFuncHash'] = GeneralUtility::hmac(serialize($fieldChangeFunc));
-
-                    // Resolving script filename and setting URL.
-                    $urlParameters = array();
-                    if (isset($wizardConfiguration['module']['urlParameters']) && is_array($wizardConfiguration['module']['urlParameters'])) {
-                        $urlParameters = $wizardConfiguration['module']['urlParameters'];
-                    }
-                    $wScript = BackendUtility::getModuleUrl($wizardConfiguration['module']['name'], $urlParameters, '');
-                    $url = $wScript . (strstr($wScript, '?') ? '' : '?') . GeneralUtility::implodeArrayForUrl('', array('P' => $params));
-
-                    $aOnClick =
-                        'this.blur();' .
-                        'vHWin=window.open(' . GeneralUtility::quoteJSvalue($url) . '+\'&P[currentValue]=\'+TBE_EDITOR.rawurlencode(' .
-                            'document.editform[' . GeneralUtility::quoteJSvalue($itemName) . '].value,300' .
-                            ')' .
-                            '+\'&P[currentSelectedValues]=\'+TBE_EDITOR.curSelected(' . GeneralUtility::quoteJSvalue($itemName) . '),' .
-                            GeneralUtility::quoteJSvalue('popUp' . $md5ID) . ',' .
-                            GeneralUtility::quoteJSvalue($wizardConfiguration['JSopenParams']) .
-                        ');' .
-                        'vHWin.focus();' .
-                        'return false;';
-
-                    $otherWizards[] = '<a id="' . $md5ID . '" class="btn btn-default" href="#" onclick="' . htmlspecialchars($aOnClick) . '"><span class="t3-icon fa fa-eyedropper"></span></a>';
-                    break;
                 case 'slider':
                     $params = array();
                     $params['fieldConfig'] = $PA['fieldConf']['config'];
diff --git a/typo3/sysext/backend/Classes/Form/Element/InputColorPickerElement.php b/typo3/sysext/backend/Classes/Form/Element/InputColorPickerElement.php
new file mode 100644
index 000000000000..9b525b268f04
--- /dev/null
+++ b/typo3/sysext/backend/Classes/Form/Element/InputColorPickerElement.php
@@ -0,0 +1,162 @@
+<?php
+namespace TYPO3\CMS\Backend\Form\Element;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
+use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Imaging\Icon;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\MathUtility;
+use TYPO3\CMS\Core\Utility\StringUtility;
+
+/**
+ * Class InputColorPickerElement
+ */
+class InputColorPickerElement extends AbstractFormElement
+{
+
+    /**
+     * This will render a single-line input form field, possibly with various control/validation features
+     *
+     * @return array As defined in initializeResultArray() of AbstractNode
+     */
+    public function render()
+    {
+        $table = $this->data['tableName'];
+        $fieldName = $this->data['fieldName'];
+        $row = $this->data['databaseRow'];
+        $parameterArray = $this->data['parameterArray'];
+        $resultArray = $this->initializeResultArray();
+
+        $config = $parameterArray['fieldConf']['config'];
+        $specConf = BackendUtility::getSpecConfParts($parameterArray['fieldConf']['defaultExtras']);
+        $size = MathUtility::forceIntegerInRange($config['size'] ?: $this->defaultInputWidth, $this->minimumInputWidth, $this->maxInputWidth);
+        $evalList = GeneralUtility::trimExplode(',', $config['eval'], true);
+        $classes = array();
+        $attributes = array();
+
+        // readonly
+        if ($config['readOnly']) {
+            $itemFormElValue = $parameterArray['itemFormElValue'];
+            $options = $this->data;
+            $options['parameterArray'] = array(
+                'fieldConf' => array(
+                    'config' => $config,
+                ),
+                'itemFormElValue' => $itemFormElValue,
+            );
+            $options['renderType'] = 'none';
+            return $this->nodeFactory->create($options)->render();
+        }
+
+        // @todo: The whole eval handling is a mess and needs refactoring
+        foreach ($evalList as $func) {
+            switch ($func) {
+                case 'required':
+                    $attributes['data-formengine-validation-rules'] = $this->getValidationDataAsJsonString(array('required' => true));
+                    break;
+                default:
+                    // @todo: This is ugly: The code should find out on it's own whether a eval definition is a
+                    // @todo: keyword like "date", or a class reference. The global registration could be dropped then
+                    // Pair hook to the one in \TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_input_Eval()
+                    if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals'][$func])) {
+                        if (class_exists($func)) {
+                            $evalObj = GeneralUtility::makeInstance($func);
+                            if (method_exists($evalObj, 'deevaluateFieldValue')) {
+                                $_params = array(
+                                    'value' => $parameterArray['itemFormElValue']
+                                );
+                                $parameterArray['itemFormElValue'] = $evalObj->deevaluateFieldValue($_params);
+                            }
+                        }
+                    }
+            }
+        }
+
+        $paramsList = array(
+            'field' => $parameterArray['itemFormElName'],
+            'evalList' => implode(',', $evalList),
+            'is_in' => trim($config['is_in']),
+        );
+
+        // set classes
+        $classes[] = 'form-control';
+        $classes[] = 'hasDefaultValue';
+        $classes[] = 't3js-clearable';
+        $classes[] = 'formengine-colorpickerelement';
+        $attributes['class'] = implode(' ', $classes);
+
+        // calculate attributes
+        $attributes['data-formengine-validation-rules'] = $this->getValidationDataAsJsonString($config);
+        $attributes['data-formengine-input-params'] = json_encode($paramsList);
+        $attributes['data-formengine-input-name'] = $parameterArray['itemFormElName'];
+        $attributes['id'] = StringUtility::getUniqueId('formengine-input-');
+        $attributes['value'] = '';
+        if (isset($config['max']) && (int)$config['max'] > 0) {
+            $attributes['maxlength'] = (int)$config['max'];
+        }
+
+        // This is the EDITABLE form field.
+        if (!empty($config['placeholder'])) {
+            $attributes['placeholder'] = trim($config['placeholder']);
+        }
+
+        if (isset($config['autocomplete'])) {
+            $attributes['autocomplete'] = empty($config['autocomplete']) ? 'off' : 'on';
+        }
+
+        // Build the attribute string
+        $attributeString = '';
+        foreach ($attributes as $attributeName => $attributeValue) {
+            $attributeString .= ' ' . $attributeName . '="' . htmlspecialchars($attributeValue) . '"';
+        }
+
+        $html = '<input type="text" value="' . htmlspecialchars($parameterArray['itemFormElValue']) . '" ' . $attributeString . ' />';
+
+        // This is the ACTUAL form field - values from the EDITABLE field must be transferred to this field which is the one that is written to the database.
+        $html .= '<input type="hidden" name="' . htmlspecialchars($parameterArray['itemFormElName']) . '" value="' . htmlspecialchars($parameterArray['itemFormElValue']) . '" />';
+
+        // Going through all custom evaluations configured for this field
+        // @todo: Similar to above code!
+        foreach ($evalList as $evalData) {
+            if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals'][$evalData])) {
+                if (class_exists($evalData)) {
+                    $evalObj = GeneralUtility::makeInstance($evalData);
+                    if (method_exists($evalObj, 'returnFieldJS')) {
+                        $resultArray['extJSCODE'] .= LF . 'TBE_EDITOR.customEvalFunctions[' . GeneralUtility::quoteJSvalue($evalData) . '] = function(value) {' . $evalObj->returnFieldJS() . '}';
+                    }
+                }
+            }
+        }
+
+        // Wrap a wizard around the item?
+        $html = $this->renderWizards(
+            array($html),
+            $config['wizards'],
+            $table,
+            $row,
+            $fieldName,
+            $parameterArray,
+            $parameterArray['itemFormElName'],
+            $specConf
+        );
+
+        // Add a wrapper to remain maximum width
+        $width = (int)$this->formMaxWidth($size);
+        $html = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px"' : '') . '>' . $html . '</div>';
+        $resultArray['html'] = $html;
+        return $resultArray;
+    }
+}
diff --git a/typo3/sysext/backend/Classes/Form/NodeFactory.php b/typo3/sysext/backend/Classes/Form/NodeFactory.php
index d6b42737aadb..04ea9b4bc056 100644
--- a/typo3/sysext/backend/Classes/Form/NodeFactory.php
+++ b/typo3/sysext/backend/Classes/Form/NodeFactory.php
@@ -58,6 +58,7 @@ class NodeFactory
         'selectTree' => Element\SelectTreeElement::class,
         'selectSingle' => Element\SelectSingleElement::class,
         'selectSingleBox' => Element\SelectSingleBoxElement::class,
+        'colorpicker' => Element\InputColorPickerElement::class,
         // t3editor is defined with a fallback so extensions can use it even if ext:t3editor is not loaded
         't3editor' => Element\TextElement::class,
         'text' => Element\TextElement::class,
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js
index 219c19e318b7..3c09f7d53eda 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js
@@ -893,6 +893,17 @@ define(['jquery',
 		require(['TYPO3/CMS/Backend/DateTimePicker'], function(DateTimePicker) {
 			DateTimePicker.initialize();
 		});
+
+		if ($('.formengine-colorpickerelement').length) {
+			require(['TYPO3/CMS/Core/Contrib/jquery.minicolors'], function(minicolor) {
+				$('.formengine-colorpickerelement').minicolors({
+						theme: 'bootstrap',
+						format: 'hex',
+						position: 'bottom left'
+				});
+			});
+		}
+
 		FormEngine.convertTextareasResizable();
 		FormEngine.convertTextareasEnableTab();
 	};
diff --git a/typo3/sysext/core/Classes/Migrations/TcaMigration.php b/typo3/sysext/core/Classes/Migrations/TcaMigration.php
index d418590e7067..87528e1ef93f 100644
--- a/typo3/sysext/core/Classes/Migrations/TcaMigration.php
+++ b/typo3/sysext/core/Classes/Migrations/TcaMigration.php
@@ -53,6 +53,7 @@ class TcaMigration
         $tca = $this->migrateSelectFieldIconTable($tca);
         $tca = $this->migrateElementBrowserWizardToLinkHandler($tca);
         $tca = $this->migrateDefaultExtrasRteTransFormOptions($tca);
+        $tca = $this->migrateColorPickerWizardToRenderType($tca);
         // @todo: if showitem/defaultExtras wizards[xy] is migrated to columnsOverrides here, enableByTypeConfig could be dropped
         return $tca;
     }
@@ -631,7 +632,7 @@ class TcaMigration
             foreach ($tableDefinition['columns'] as $fieldName => &$fieldConfig) {
                 if (
                     isset($fieldConfig['config']['wizards']['link']['module']['name']) && $fieldConfig['config']['wizards']['link']['module']['name'] === 'wizard_element_browser'
-                    && isset($fieldConfig['config']['wizards']['link']['module']['urlParameters']['mode']) &&  $fieldConfig['config']['wizards']['link']['module']['urlParameters']['mode'] === 'wizard'
+                    && isset($fieldConfig['config']['wizards']['link']['module']['urlParameters']['mode']) && $fieldConfig['config']['wizards']['link']['module']['urlParameters']['mode'] === 'wizard'
                 ) {
                     $fieldConfig['config']['wizards']['link']['module']['name'] = 'wizard_link';
                     unset($fieldConfig['config']['wizards']['link']['module']['urlParameters']['mode']);
@@ -710,4 +711,38 @@ class TcaMigration
 
         return $tca;
     }
+
+    /**
+     * Migrates fields having a colorpicker wizard to a color field
+     *
+     * @param array $tca Incoming TCA
+     * @return array Migrated TCA
+     */
+    protected function migrateColorPickerWizardToRenderType(array $tca)
+    {
+        foreach ($tca as $table => &$tableDefinition) {
+            if (!isset($tableDefinition['columns']) || !is_array($tableDefinition['columns'])) {
+                continue;
+            }
+            foreach ($tableDefinition['columns'] as $fieldName => &$fieldConfig) {
+                if (isset($fieldConfig['config'])) {
+                    if (isset($fieldConfig['config']['wizards'])) {
+                        foreach ($fieldConfig['config']['wizards'] as $wizardName => $wizard) {
+                            if (isset($wizard['type']) && ($wizard['type'] === 'colorbox')) {
+                                unset($fieldConfig['config']['wizards'][$wizardName]);
+                                $fieldConfig['config']['renderType'] = 'colorpicker';
+
+                                $this->messages[] = 'The color-picker wizard using \'colorbox\' is deprecated'
+                                    . ' in TCA ' . $table . '[\'columns\'][\'' . $fieldName . '\'][\'config\']'
+                                    . '[\'wizards\'][\'' . $wizardName . '\'] and is changed to ' . $table
+                                    . '[\'columns\'][\'' . $fieldName . '\'][\'config\'] = \'colorpicker\'';
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        return $tca;
+    }
 }
diff --git a/typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php b/typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
index f1c904e4be26..6a06b3810964 100644
--- a/typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
+++ b/typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
@@ -40,11 +40,6 @@ class ExtendedTemplateService extends TemplateService
      */
     public $edit_divider = '###MOD_TS:EDITABLE_CONSTANTS###';
 
-    /**
-     * @var string
-     */
-    public $HTMLcolorList = 'aqua,beige,black,blue,brown,fuchsia,gold,gray,green,lime,maroon,navy,olive,orange,purple,red,silver,tan,teal,turquoise,yellow,white';
-
     /**
      * @var array
      */
@@ -266,6 +261,21 @@ class ExtendedTemplateService extends TemplateService
      */
     public $lastComment = '';
 
+    /**
+     * @var array
+     */
+    protected $inlineJavaScript = [];
+
+    /**
+     * Gets the inline JavaScript.
+     *
+     * @return array
+     */
+    public function getInlineJavaScript()
+    {
+        return $this->inlineJavaScript;
+    }
+
     /**
      * Substitute constant
      *
@@ -1199,17 +1209,20 @@ class ExtendedTemplateService extends TemplateService
                                 . ' name="' . $fN . '" value="' . $fV . '"' . ' onChange="uFormUrl(' . $aname . ')" />';
                             break;
                         case 'color':
-                            $colorNames = explode(',', ',' . $this->HTMLcolorList);
-                            $p_field = '';
-                            foreach ($colorNames as $val) {
-                                $sel = '';
-                                if ($val == strtolower($params['value'])) {
-                                    $sel = ' selected';
-                                }
-                                $p_field .= '<option value="' . htmlspecialchars($val) . '"' . $sel . '>' . $val . '</option>';
+                            $p_field = '
+                                <input class="form-control formengine-colorpickerelement" type="text" id="input-' . $idName . '" rel="' . $idName .
+                                '" name="' . $fN . '" value="' . $fV . '"' . $this->getDocumentTemplate()->formWidth(7) . ' onChange="uFormUrl(' . $aname . ')" />';
+
+                            if (empty($this->inlineJavaScript[$typeDat['type']])) {
+                                $this->inlineJavaScript[$typeDat['type']] = '
+                                    require([\'TYPO3/CMS/Core/Contrib/jquery.minicolors\'], function() {
+                                        TYPO3.jQuery(\'.formengine-colorpickerelement\').minicolors({
+                                            theme: \'bootstrap\',
+                                            format: \'hex\',
+                                            align: \'bottom left\'
+                                        });
+                                    });';
                             }
-                            $p_field = '<select class="form-control t3js-color-select" id="select-' . $idName . '" rel="' . $idName . '" name="C' . $fN . '" onChange="uFormUrl(' . $aname . ');"' . $this->getDocumentTemplate()->formWidth(7) . '>' . $p_field . '</select>';
-                            $p_field .= '<input class="form-control t3js-color-input" type="text" id="input-' . $idName . '" rel="' . $idName . '" name="' . $fN . '" value="' . $fV . '"' . $this->getDocumentTemplate()->formWidth(7) . ' onChange="uFormUrl(' . $aname . ')" />';
                             break;
                         case 'wrap':
                             $wArr = explode('|', $fV);
@@ -1297,12 +1310,6 @@ class ExtendedTemplateService extends TemplateService
                     $defaultTyposcriptID = 'defaultTS-' . $idName;
                     $checkboxName = 'check[' . $params['name'] . ']';
                     $checkboxID = 'check-' . $idName;
-                    // Handle type=color specially
-                    if ($typeDat['type'] === 'color' && substr($params['value'], 0, 2) != '{$') {
-                        $appendedGroupAddon = '<span class="input-group-addon colorbox" id="colorbox-' . $idName . '" style="background-color:' . $params['value'] . ';"></span>';
-                    } else {
-                        $appendedGroupAddon = '';
-                    }
                     $userTyposcriptStyle = '';
                     $deleteIconHTML = '';
                     $constantCheckbox = '';
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73728-WizardTypeColorboxIsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73728-WizardTypeColorboxIsDeprecated.rst
new file mode 100644
index 000000000000..18da33768f97
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73728-WizardTypeColorboxIsDeprecated.rst
@@ -0,0 +1,44 @@
+========================================================
+Deprecation: #73728 - Wizard type colorbox is deprecated
+========================================================
+
+Description
+===========
+
+The color-picker is now available as dedicated render-type which will integrate
+an inline color-picker widget based on bootstrap. Thus, the old wizard type
+``colorbox`` is deprecated.
+
+
+Impact
+======
+
+Using the TCA wizard type ``colorbox`` will trigger an internal deprecation
+message. The possibility to pick the color from a custom image has been removed
+without any substitution as well as the possibility to use color names like
+"red" or "white".
+
+
+Affected Installations
+======================
+
+All TCA fields that are using the wizard type ``colorbox``, like e.g.
+
+
+.. code-block:: php
+
+   $GLOBALS['TCA']['tableName']['fieldName']['config']['wizards']['colorbox'] = [
+      'type' => 'colorbox',
+      'script' => 'wizard_colorpicker.php',
+      ...
+   ];
+
+
+Migration
+=========
+
+Use the new render-type ``colorpicker`` in the TCA field configuration, like e.g.
+
+.. code-block:: php
+
+   $GLOBALS['TCA']['tableName']['fieldName']['config']['renderType'] = 'colorpicker';
diff --git a/typo3/sysext/core/Resources/Public/Images/colorpicker/jquery.minicolors.png b/typo3/sysext/core/Resources/Public/Images/colorpicker/jquery.minicolors.png
new file mode 100644
index 0000000000000000000000000000000000000000..bccc2012af78a0358e893f004e0207cac8f9e642
GIT binary patch
literal 68627
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

literal 0
HcmV?d00001

diff --git a/typo3/sysext/core/Resources/Public/JavaScript/Contrib/jquery.minicolors.js b/typo3/sysext/core/Resources/Public/JavaScript/Contrib/jquery.minicolors.js
new file mode 100644
index 000000000000..346f7f977329
--- /dev/null
+++ b/typo3/sysext/core/Resources/Public/JavaScript/Contrib/jquery.minicolors.js
@@ -0,0 +1,11 @@
+/*
+ * jQuery MiniColors: A tiny color picker built on jQuery
+ *
+ * Copyright: Cory LaViska for A Beautiful Site, LLC: http://www.abeautifulsite.net/
+ *
+ * Contribute: https://github.com/claviska/jquery-minicolors
+ *
+ * @license: http://opensource.org/licenses/MIT
+ *
+ */
+!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function($){"use strict";function i(i,t){var o=$('<div class="minicolors" />'),s=$.minicolors.defaults,a,n,r,c,l;if(!i.data("minicolors-initialized")){if(t=$.extend(!0,{},s,t),o.addClass("minicolors-theme-"+t.theme).toggleClass("minicolors-with-opacity",t.opacity).toggleClass("minicolors-no-data-uris",t.dataUris!==!0),void 0!==t.position&&$.each(t.position.split(" "),function(){o.addClass("minicolors-position-"+this)}),a="rgb"===t.format?t.opacity?"25":"20":t.keywords?"11":"7",i.addClass("minicolors-input").data("minicolors-initialized",!1).data("minicolors-settings",t).prop("size",a).wrap(o).after('<div class="minicolors-panel minicolors-slider-'+t.control+'"><div class="minicolors-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-opacity-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-grid minicolors-sprite"><div class="minicolors-grid-inner"></div><div class="minicolors-picker"><div></div></div></div></div>'),t.inline||(i.after('<span class="minicolors-swatch minicolors-sprite minicolors-input-swatch"><span class="minicolors-swatch-color"></span></span>'),i.next(".minicolors-input-swatch").on("click",function(t){t.preventDefault(),i.focus()})),c=i.parent().find(".minicolors-panel"),c.on("selectstart",function(){return!1}).end(),t.swatches&&0!==t.swatches.length)for(t.swatches.length>7&&(t.swatches.length=7),c.addClass("minicolors-with-swatches"),n=$('<ul class="minicolors-swatches"></ul>').appendTo(c),l=0;l<t.swatches.length;++l)r=t.swatches[l],r=f(r)?u(r,!0):x(p(r,!0)),$('<li class="minicolors-swatch minicolors-sprite"><span class="minicolors-swatch-color"></span></li>').appendTo(n).data("swatch-color",t.swatches[l]).find(".minicolors-swatch-color").css({backgroundColor:y(r),opacity:r.a}),t.swatches[l]=r;t.inline&&i.parent().addClass("minicolors-inline"),e(i,!1),i.data("minicolors-initialized",!0)}}function t(i){var t=i.parent();i.removeData("minicolors-initialized").removeData("minicolors-settings").removeProp("size").removeClass("minicolors-input"),t.before(i).remove()}function o(i){var t=i.parent(),o=t.find(".minicolors-panel"),a=i.data("minicolors-settings");!i.data("minicolors-initialized")||i.prop("disabled")||t.hasClass("minicolors-inline")||t.hasClass("minicolors-focus")||(s(),t.addClass("minicolors-focus"),o.stop(!0,!0).fadeIn(a.showSpeed,function(){a.show&&a.show.call(i.get(0))}))}function s(){$(".minicolors-focus").each(function(){var i=$(this),t=i.find(".minicolors-input"),o=i.find(".minicolors-panel"),s=t.data("minicolors-settings");o.fadeOut(s.hideSpeed,function(){s.hide&&s.hide.call(t.get(0)),i.removeClass("minicolors-focus")})})}function a(i,t,o){var s=i.parents(".minicolors").find(".minicolors-input"),a=s.data("minicolors-settings"),r=i.find("[class$=-picker]"),e=i.offset().left,c=i.offset().top,l=Math.round(t.pageX-e),h=Math.round(t.pageY-c),d=o?a.animationSpeed:0,p,u,g,m;t.originalEvent.changedTouches&&(l=t.originalEvent.changedTouches[0].pageX-e,h=t.originalEvent.changedTouches[0].pageY-c),0>l&&(l=0),0>h&&(h=0),l>i.width()&&(l=i.width()),h>i.height()&&(h=i.height()),i.parent().is(".minicolors-slider-wheel")&&r.parent().is(".minicolors-grid")&&(p=75-l,u=75-h,g=Math.sqrt(p*p+u*u),m=Math.atan2(u,p),0>m&&(m+=2*Math.PI),g>75&&(g=75,l=75-75*Math.cos(m),h=75-75*Math.sin(m)),l=Math.round(l),h=Math.round(h)),i.is(".minicolors-grid")?r.stop(!0).animate({top:h+"px",left:l+"px"},d,a.animationEasing,function(){n(s,i)}):r.stop(!0).animate({top:h+"px"},d,a.animationEasing,function(){n(s,i)})}function n(i,t){function o(i,t){var o,s;return i.length&&t?(o=i.offset().left,s=i.offset().top,{x:o-t.offset().left+i.outerWidth()/2,y:s-t.offset().top+i.outerHeight()/2}):null}var s,a,n,e,l,h,d,p=i.val(),u=i.attr("data-opacity"),g=i.parent(),f=i.data("minicolors-settings"),v=g.find(".minicolors-input-swatch"),b=g.find(".minicolors-grid"),w=g.find(".minicolors-slider"),y=g.find(".minicolors-opacity-slider"),k=b.find("[class$=-picker]"),M=w.find("[class$=-picker]"),x=y.find("[class$=-picker]"),I=o(k,b),S=o(M,w),z=o(x,y);if(t.is(".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider")){switch(f.control){case"wheel":e=b.width()/2-I.x,l=b.height()/2-I.y,h=Math.sqrt(e*e+l*l),d=Math.atan2(l,e),0>d&&(d+=2*Math.PI),h>75&&(h=75,I.x=69-75*Math.cos(d),I.y=69-75*Math.sin(d)),a=m(h/.75,0,100),s=m(180*d/Math.PI,0,360),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100}));break;case"saturation":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(S.y*(100/w.height())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:100,b:n})),g.find(".minicolors-grid-inner").css("opacity",a/100);break;case"brightness":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(I.y*(100/b.height())),0,100),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100})),g.find(".minicolors-grid-inner").css("opacity",1-n/100);break;default:s=m(360-parseInt(S.y*(360/w.height()),10),0,360),a=m(Math.floor(I.x*(100/b.width())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),b.css("backgroundColor",C({h:s,s:100,b:100}))}u=f.opacity?parseFloat(1-z.y/y.height()).toFixed(2):1,r(i,p,u)}else v.find("span").css({backgroundColor:p,opacity:u}),c(i,p,u)}function r(i,t,o){var s,a=i.parent(),n=i.data("minicolors-settings"),r=a.find(".minicolors-input-swatch");n.opacity&&i.attr("data-opacity",o),"rgb"===n.format?(s=f(t)?u(t,!0):x(p(t,!0)),o=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),(isNaN(o)||!n.opacity)&&(o=1),t=i.minicolors("rgbObject").a<=1&&s&&n.opacity?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(o)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):(f(t)&&(t=w(t)),t=d(t,n.letterCase)),i.val(t),r.find("span").css({backgroundColor:t,opacity:o}),c(i,t,o)}function e(i,t){var o,s,a,n,r,e,l,h,b,y,M=i.parent(),x=i.data("minicolors-settings"),I=M.find(".minicolors-input-swatch"),S=M.find(".minicolors-grid"),z=M.find(".minicolors-slider"),F=M.find(".minicolors-opacity-slider"),D=S.find("[class$=-picker]"),T=z.find("[class$=-picker]"),j=F.find("[class$=-picker]");switch(f(i.val())?(o=w(i.val()),r=m(parseFloat(v(i.val())).toFixed(2),0,1),r&&i.attr("data-opacity",r)):o=d(p(i.val(),!0),x.letterCase),o||(o=d(g(x.defaultValue,!0),x.letterCase)),s=k(o),n=x.keywords?$.map(x.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],e=""!==i.val()&&$.inArray(i.val().toLowerCase(),n)>-1?d(i.val()):f(i.val())?u(i.val()):o,t||i.val(e),x.opacity&&(a=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),isNaN(a)&&(a=1),i.attr("data-opacity",a),I.find("span").css("opacity",a),h=m(F.height()-F.height()*a,0,F.height()),j.css("top",h+"px")),"transparent"===i.val().toLowerCase()&&I.find("span").css("opacity",0),I.find("span").css("backgroundColor",o),x.control){case"wheel":b=m(Math.ceil(.75*s.s),0,S.height()/2),y=s.h*Math.PI/180,l=m(75-Math.cos(y)*b,0,S.width()),h=m(75-Math.sin(y)*b,0,S.height()),D.css({top:h+"px",left:l+"px"}),h=150-s.b/(100/S.height()),""===o&&(h=0),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100}));break;case"saturation":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.s*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:100,b:s.b})),M.find(".minicolors-grid-inner").css("opacity",s.s/100);break;case"brightness":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.s/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.b*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100})),M.find(".minicolors-grid-inner").css("opacity",1-s.b/100);break;default:l=m(Math.ceil(s.s/(100/S.width())),0,S.width()),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.h/(360/z.height()),0,z.height()),T.css("top",h+"px"),S.css("backgroundColor",C({h:s.h,s:100,b:100}))}i.data("minicolors-initialized")&&c(i,e,a)}function c(i,t,o){var s=i.data("minicolors-settings"),a=i.data("minicolors-lastChange"),n,r,e;if(!a||a.value!==t||a.opacity!==o){if(i.data("minicolors-lastChange",{value:t,opacity:o}),s.swatches&&0!==s.swatches.length){for(n=f(t)?u(t,!0):x(t),r=-1,e=0;e<s.swatches.length;++e)if(n.r===s.swatches[e].r&&n.g===s.swatches[e].g&&n.b===s.swatches[e].b&&n.a===s.swatches[e].a){r=e;break}i.parent().find(".minicolors-swatches .minicolors-swatch").removeClass("selected"),-1!==e&&i.parent().find(".minicolors-swatches .minicolors-swatch").eq(e).addClass("selected")}s.change&&(s.changeDelay?(clearTimeout(i.data("minicolors-changeTimeout")),i.data("minicolors-changeTimeout",setTimeout(function(){s.change.call(i.get(0),t,o)},s.changeDelay))):s.change.call(i.get(0),t,o)),i.trigger("change").trigger("input")}}function l(i){var t=p($(i).val(),!0),o=x(t),s=$(i).attr("data-opacity");return o?(void 0!==s&&$.extend(o,{a:parseFloat(s)}),o):null}function h(i,t){var o=p($(i).val(),!0),s=x(o),a=$(i).attr("data-opacity");return s?(void 0===a&&(a=1),t?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(a)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):null}function d(i,t){return"uppercase"===t?i.toUpperCase():i.toLowerCase()}function p(i,t){return i=i.replace(/^#/g,""),i.match(/^[A-F0-9]{3,6}/gi)?3!==i.length&&6!==i.length?"":(3===i.length&&t&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),"#"+i):""}function u(i,t){var o=i.replace(/[^\d,.]/g,""),s=o.split(",");return s[0]=m(parseInt(s[0],10),0,255),s[1]=m(parseInt(s[1],10),0,255),s[2]=m(parseInt(s[2],10),0,255),s[3]&&(s[3]=m(parseFloat(s[3],10),0,1)),t?{r:s[0],g:s[1],b:s[2],a:s[3]?s[3]:null}:"undefined"!=typeof s[3]&&s[3]<=1?"rgba("+s[0]+", "+s[1]+", "+s[2]+", "+s[3]+")":"rgb("+s[0]+", "+s[1]+", "+s[2]+")"}function g(i,t){return f(i)?u(i):p(i,t)}function m(i,t,o){return t>i&&(i=t),i>o&&(i=o),i}function f(i){var t=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);return t&&4===t.length?!0:!1}function v(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+(\.\d{1,2})?|\.\d{1,2})[\s+]?/i),i&&6===i.length?i[4]:"1"}function b(i){var t={},o=Math.round(i.h),s=Math.round(255*i.s/100),a=Math.round(255*i.b/100);if(0===s)t.r=t.g=t.b=a;else{var n=a,r=(255-s)*a/255,e=(n-r)*(o%60)/60;360===o&&(o=0),60>o?(t.r=n,t.b=r,t.g=r+e):120>o?(t.g=n,t.b=r,t.r=n-e):180>o?(t.g=n,t.r=r,t.b=r+e):240>o?(t.b=n,t.r=r,t.g=n-e):300>o?(t.b=n,t.g=r,t.r=r+e):360>o?(t.r=n,t.g=r,t.b=n-e):(t.r=0,t.g=0,t.b=0)}return{r:Math.round(t.r),g:Math.round(t.g),b:Math.round(t.b)}}function w(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&4===i.length?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""}function y(i){var t=[i.r.toString(16),i.g.toString(16),i.b.toString(16)];return $.each(t,function(i,o){1===o.length&&(t[i]="0"+o)}),"#"+t.join("")}function C(i){return y(b(i))}function k(i){var t=M(x(i));return 0===t.s&&(t.h=360),t}function M(i){var t={h:0,s:0,b:0},o=Math.min(i.r,i.g,i.b),s=Math.max(i.r,i.g,i.b),a=s-o;return t.b=s,t.s=0!==s?255*a/s:0,0!==t.s?i.r===s?t.h=(i.g-i.b)/a:i.g===s?t.h=2+(i.b-i.r)/a:t.h=4+(i.r-i.g)/a:t.h=-1,t.h*=60,t.h<0&&(t.h+=360),t.s*=100/255,t.b*=100/255,t}function x(i){return i=parseInt(i.indexOf("#")>-1?i.substring(1):i,16),{r:i>>16,g:(65280&i)>>8,b:255&i}}$.minicolors={defaults:{animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",dataUris:!0,defaultValue:"",format:"hex",hide:null,hideSpeed:100,inline:!1,keywords:"",letterCase:"lowercase",opacity:!1,position:"bottom left",show:null,showSpeed:100,theme:"default",swatches:[]}},$.extend($.fn,{minicolors:function(a,n){switch(a){case"destroy":return $(this).each(function(){t($(this))}),$(this);case"hide":return s(),$(this);case"opacity":return void 0===n?$(this).attr("data-opacity"):($(this).each(function(){e($(this).attr("data-opacity",n))}),$(this));case"rgbObject":return l($(this),"rgbaObject"===a);case"rgbString":case"rgbaString":return h($(this),"rgbaString"===a);case"settings":return void 0===n?$(this).data("minicolors-settings"):($(this).each(function(){var i=$(this).data("minicolors-settings")||{};t($(this)),$(this).minicolors($.extend(!0,i,n))}),$(this));case"show":return o($(this).eq(0)),$(this);case"value":return void 0===n?$(this).val():($(this).each(function(){"object"==typeof n?(n.opacity&&$(this).attr("data-opacity",m(n.opacity,0,1)),n.color&&$(this).val(n.color)):$(this).val(n),e($(this))}),$(this));default:return"create"!==a&&(n=a),$(this).each(function(){i($(this),n)}),$(this)}}}),$(document).on("mousedown.minicolors touchstart.minicolors",function(i){$(i.target).parents().add(i.target).hasClass("minicolors")||s()}).on("mousedown.minicolors touchstart.minicolors",".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider",function(i){var t=$(this);i.preventDefault(),$(document).data("minicolors-target",t),a(t,i,!0)}).on("mousemove.minicolors touchmove.minicolors",function(i){var t=$(document).data("minicolors-target");t&&a(t,i)}).on("mouseup.minicolors touchend.minicolors",function(){$(this).removeData("minicolors-target")}).on("click.minicolors",".minicolors-swatches li",function(i){i.preventDefault();var t=$(this),o=t.parents(".minicolors").find(".minicolors-input"),s=t.data("swatch-color");r(o,s,v(s)),e(o)}).on("mousedown.minicolors touchstart.minicolors",".minicolors-input-swatch",function(i){var t=$(this).parent().find(".minicolors-input");i.preventDefault(),o(t)}).on("focus.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&o(i)}).on("blur.minicolors",".minicolors-input",function(){var i=$(this),t=i.data("minicolors-settings"),o,s,a,n,r;i.data("minicolors-initialized")&&(o=t.keywords?$.map(t.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],""!==i.val()&&$.inArray(i.val().toLowerCase(),o)>-1?r=i.val():(f(i.val())?a=u(i.val(),!0):(s=p(i.val(),!0),a=s?x(s):null),r=null===a?t.defaultValue:"rgb"===t.format?u(t.opacity?"rgba("+a.r+","+a.g+","+a.b+","+i.attr("data-opacity")+")":"rgb("+a.r+","+a.g+","+a.b+")"):y(a)),n=t.opacity?i.attr("data-opacity"):1,"transparent"===r.toLowerCase()&&(n=0),i.closest(".minicolors").find(".minicolors-input-swatch > span").css("opacity",n),i.val(r),""===i.val()&&i.val(g(t.defaultValue,!0)),i.val(d(i.val(),t.letterCase)))}).on("keydown.minicolors",".minicolors-input",function(i){var t=$(this);if(t.data("minicolors-initialized"))switch(i.keyCode){case 9:s();break;case 13:case 27:s(),t.blur()}}).on("keyup.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&e(i,!0)}).on("paste.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&setTimeout(function(){e(i,!0)},1)})});
\ No newline at end of file
diff --git a/typo3/sysext/css_styled_content/Configuration/TypoScript/v7/constants.txt b/typo3/sysext/css_styled_content/Configuration/TypoScript/v7/constants.txt
index 2de506d0a1df..ff5c5afad8bf 100644
--- a/typo3/sysext/css_styled_content/Configuration/TypoScript/v7/constants.txt
+++ b/typo3/sysext/css_styled_content/Configuration/TypoScript/v7/constants.txt
@@ -65,7 +65,7 @@ styles.content.imgtext {
   textMargin = 10
 
     # cat=content/cImage/i1; type=color; label= Image border, color: Bordercolor of images in content elements when "Border"-option for element is set.
-  borderColor = black
+  borderColor = #000000
     # cat=content/cImage/i2; type=int[0-100]; label= Image border, thickness: Thickness of border around images in content elements when "Border"-option for element is set.
   borderThick = 2
     # cat=content/cImage/i3; type=int+; label= Image border, padding: Padding left and right to the image, around the border.
@@ -101,15 +101,15 @@ styles.content.table {
     # cat=content/cTable/k3; type=color; label= Table background color, Color 2: Background color for table when "Backgr. Color" has been set to "Color 2"
   backgroundColor.2 = #F5FFAA
     # cat=content/cTable/k5; type=color; label= Table background color, Black: Background color for table when "Backgr. Color" has been set to "Black"
-  backgroundColor.240 = black
+  backgroundColor.240 = #000000
     # cat=content/cTable/k6; type=color; label= Table background color, White: Background color for table when "Backgr. Color" has been set to "White"
-  backgroundColor.241 = white
+  backgroundColor.241 = #FFFFFF
     # cat=content/cTable/k7; type=color; label= Table background color, Dark Gray: Background color for table when "Backgr. Color" has been set to "Dark Gray"
   backgroundColor.242 = #333333
     # cat=content/cTable/k8; type=color; label= Table background color, Gray: Background color for table when "Backgr. Color" has been set to "Gray"
-  backgroundColor.243 = gray
+  backgroundColor.243 = #808080
     # cat=content/cTable/k9; type=color; label= Table background color, Silver: Background color for table when "Backgr. Color" has been set to "Silver"
-  backgroundColor.244 = silver
+  backgroundColor.244 = #C0C0C0
 }
 
  # cat=advanced/links; type=small; label= Target for internal links: Should match the name of the content PAGE-object in TypoScript when used with frames. Most cases: set to "" (empty). If you have frames in the template set to "page"
diff --git a/typo3/sysext/css_styled_content/static/constants.txt b/typo3/sysext/css_styled_content/static/constants.txt
index 70b7f1d49c71..ab0e1d148245 100644
--- a/typo3/sysext/css_styled_content/static/constants.txt
+++ b/typo3/sysext/css_styled_content/static/constants.txt
@@ -63,7 +63,9 @@ styles.content.imgtext {
   textMargin = 10
 
     # cat=content/cImage/i1; type=color; label= Image border, color: Bordercolor of images in content elements when "Border"-option for element is set.
-  borderColor = black
+  borderColor = #000000
+    # cat=content/cImage/i1; type=color; label= Image border, color: Bordercolor of images in content elements when "Border"-option for element is set.
+  borderColor2 = #000000
     # cat=content/cImage/i2; type=int[0-100]; label= Image border, thickness: Thickness of border around images in content elements when "Border"-option for element is set.
   borderThick = 2
     # cat=content/cImage/i3; type=int+; label= Image border, padding: Padding left and right to the image, around the border.
@@ -91,15 +93,15 @@ styles.content.table {
     # cat=content/cTable/k3; type=color; label= Table background color, Color 2: Background color for table when "Backgr. Color" has been set to "Color 2"
   backgroundColor.2 = #F5FFAA
     # cat=content/cTable/k5; type=color; label= Table background color, Black: Background color for table when "Backgr. Color" has been set to "Black"
-  backgroundColor.240 = black
+  backgroundColor.240 = #000000
     # cat=content/cTable/k6; type=color; label= Table background color, White: Background color for table when "Backgr. Color" has been set to "White"
-  backgroundColor.241 = white
+  backgroundColor.241 = #FFFFFF
     # cat=content/cTable/k7; type=color; label= Table background color, Dark Gray: Background color for table when "Backgr. Color" has been set to "Dark Gray"
   backgroundColor.242 = #333333
     # cat=content/cTable/k8; type=color; label= Table background color, Gray: Background color for table when "Backgr. Color" has been set to "Gray"
-  backgroundColor.243 = gray
+  backgroundColor.243 = #808080
     # cat=content/cTable/k9; type=color; label= Table background color, Silver: Background color for table when "Backgr. Color" has been set to "Silver"
-  backgroundColor.244 = silver
+  backgroundColor.244 = #C0C0C0
 }
 
  # cat=advanced/links; type=small; label= Target for internal links: Should match the name of the content PAGE-object in TypoScript when used with frames. Most cases: set to "" (empty). If you have frames in the template set to "page"
diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/Form/TypoScriptConstantsViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/Form/TypoScriptConstantsViewHelper.php
index a63cbc3bf956..78d24362a548 100644
--- a/typo3/sysext/extensionmanager/Classes/ViewHelpers/Form/TypoScriptConstantsViewHelper.php
+++ b/typo3/sysext/extensionmanager/Classes/ViewHelpers/Form/TypoScriptConstantsViewHelper.php
@@ -101,26 +101,20 @@ class TypoScriptConstantsViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\Abs
             $this->tag->addAttribute('value', $configuration->getValue());
         }
 
-        // configure colorpicker wizard
-        $params = array(
-            'formName' => 'configurationform',
-            'itemName' => $elementName,
-        );
-        $onClick =
-            'this.blur();' .
-            'vHWin=window.open(' .
-                GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('wizard_colorpicker', array('P' => $params))) . ' + \'&P[currentValue]=\' + encodeURIComponent(document.getElementById(' . GeneralUtility::quoteJSvalue($elementId) . ').value),' .
-                '\'popUpem-' . GeneralUtility::shortMD5($elementName) . '\',' .
-                '\'height=400,width=400,status=0,menubar=0,scrollbars=1\'' .
-            ');' .
-            'vHWin.focus();' .
-            'return false;';
-
-        // wrap the field
-        $output = '<div class="form-wizards-wrap form-wizards-aside">'
-                . '<div class="form-wizards-element">' . $this->tag->render() . '</div>'
-                . '<div class="form-wizards-items"><a href="#" onClick="' . htmlspecialchars($onClick) . '" class="btn btn-default"><span class="t3-icon fa fa-eyedropper"></span></a></div>'
-                . '</div>';
+        $output = '
+            <div class="form-wizards-element">
+                <input class="form-control t3js-color-input formengine-colorpickerelement" type="text"
+                  name="' . htmlspecialchars($elementName) . '" value="' . $this->tag->getAttribute('value') . '"/>
+                <script type="text/javascript">
+                    require([\'TYPO3/CMS/Core/Contrib/jquery.minicolors\'], function () {
+                        $(\'.formengine-colorpickerelement\').minicolors({
+                            theme: \'bootstrap\',
+                            format: \'hex\',
+                            position: \'bottom left\'
+                        });
+                    });
+                </script>
+            </div>';
 
         return $output;
     }
diff --git a/typo3/sysext/fluid_styled_content/Configuration/TypoScript/Static/constants.txt b/typo3/sysext/fluid_styled_content/Configuration/TypoScript/Static/constants.txt
index 483471bf703d..c6a315ecb934 100644
--- a/typo3/sysext/fluid_styled_content/Configuration/TypoScript/Static/constants.txt
+++ b/typo3/sysext/fluid_styled_content/Configuration/TypoScript/Static/constants.txt
@@ -31,7 +31,7 @@ styles.content {
 		textMargin = 10
 
 		# cat=content/cTextmedia/i1; type=color; label= Media element border, color: Bordercolor of media elements in content elements when "Border"-option for an element is set
-		borderColor = black
+		borderColor = #000000
 		# cat=content/cTextmedia/i2; type=int[0-100]; label= Media element border, thickness: Thickness of border around media elements in content elements when "Border"-option for element is set
 		borderWidth = 2
 		# cat=content/cTextmedia/i3; type=int+; label= Media element border, padding: Padding left and right to the media element, around the border
diff --git a/typo3/sysext/t3skin/Resources/Public/Css/backend.css b/typo3/sysext/t3skin/Resources/Public/Css/backend.css
index d095ed629cd5..539d833f6e27 100644
--- a/typo3/sysext/t3skin/Resources/Public/Css/backend.css
+++ b/typo3/sysext/t3skin/Resources/Public/Css/backend.css
@@ -7875,6 +7875,198 @@ button.close {
     display: none !important;
   }
 }
+.minicolors {
+  position: relative;
+}
+.userTS .minicolors {
+  position: absolute;
+}
+.minicolors-sprite {
+  background-image: url("../../../../../../typo3/sysext/core/Resources/Public/Images/colorpicker/jquery.minicolors.png");
+}
+.minicolors-swatch {
+  position: absolute;
+  vertical-align: middle;
+  background-position: -80px 0;
+  cursor: text;
+  padding: 0;
+  margin: 0;
+  display: inline-block;
+  top: 50%;
+  left: 6px;
+  z-index: 2;
+  -webkit-transform: translate(0, -50%);
+          transform: translate(0, -50%);
+  width: 20px;
+  height: 20px;
+  border-radius: 1px;
+}
+.minicolors-swatch-color {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  border-radius: inherit;
+}
+.minicolors-input {
+  float: none;
+  padding-left: 32px;
+}
+.minicolors-panel {
+  margin-top: 1px;
+  overflow: hidden;
+  border-radius: 2px;
+  position: absolute;
+  width: 173px;
+  height: 152px;
+  background: #ffffff;
+  border: solid 1px #bbbbbb;
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
+  z-index: 99999;
+  box-sizing: content-box;
+  display: none;
+}
+.minicolors-panel.minicolors-with-swatches {
+  height: 182px;
+}
+.minicolors-panel.minicolors-visible {
+  display: block;
+}
+.minicolors-position-top .minicolors-panel {
+  top: -154px;
+}
+.minicolors-position-right .minicolors-panel {
+  right: 0;
+}
+.minicolors-position-bottom .minicolors-panel {
+  top: auto;
+}
+.minicolors-position-left .minicolors-panel {
+  left: 0;
+}
+.minicolors-with-opacity .minicolors-panel {
+  width: 194px;
+}
+.minicolors .minicolors-grid {
+  position: absolute;
+  top: 1px;
+  left: 1px;
+  width: 150px;
+  height: 150px;
+  background-position: -120px 0;
+  cursor: crosshair;
+}
+.minicolors .minicolors-grid-inner {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 150px;
+  height: 150px;
+}
+.minicolors-slider-saturation .minicolors-grid {
+  background-position: -420px 0;
+}
+.minicolors-slider-saturation .minicolors-grid-inner {
+  background-position: -270px 0;
+  background-image: inherit;
+}
+.minicolors-slider-brightness .minicolors-grid {
+  background-position: -570px 0;
+}
+.minicolors-slider-brightness .minicolors-grid-inner {
+  background-color: black;
+}
+.minicolors-slider-wheel .minicolors-grid {
+  background-position: -720px 0;
+}
+.minicolors-slider,
+.minicolors-opacity-slider {
+  position: absolute;
+  top: 1px;
+  left: 152px;
+  width: 20px;
+  height: 150px;
+  background-color: white;
+  background-position: 0 0;
+  cursor: row-resize;
+}
+.minicolors-slider-saturation .minicolors-slider {
+  background-position: -60px 0;
+}
+.minicolors-slider-brightness .minicolors-slider {
+  background-position: -20px 0;
+}
+.minicolors-slider-wheel .minicolors-slider {
+  background-position: -20px 0;
+}
+.minicolors-opacity-slider {
+  left: 173px;
+  background-position: -40px 0;
+  display: none;
+}
+.minicolors-with-opacity .minicolors-opacity-slider {
+  display: block;
+}
+.minicolors-grid .minicolors-picker {
+  position: absolute;
+  top: 70px;
+  left: 70px;
+  width: 12px;
+  height: 12px;
+  border: solid 1px black;
+  border-radius: 10px;
+  margin-top: -6px;
+  margin-left: -6px;
+  background: none;
+}
+.minicolors-grid .minicolors-picker > div {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 8px;
+  height: 8px;
+  border-radius: 8px;
+  border: solid 2px white;
+  box-sizing: content-box;
+}
+.minicolors-picker {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 18px;
+  height: 2px;
+  background: white;
+  border: solid 1px black;
+  margin-top: -2px;
+  box-sizing: content-box;
+}
+.minicolors-swatches,
+.minicolors-swatches li {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  overflow: hidden;
+  position: absolute;
+  top: 157px;
+  left: 5px;
+}
+.minicolors-swatches .minicolors-swatch {
+  position: relative;
+  float: left;
+  cursor: pointer;
+  margin: 0 4px 0 0;
+  top: 0;
+  left: 0;
+  width: 20px;
+  height: 20px;
+}
+.minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
+  margin-right: 7px;
+}
+.minicolors-swatch.selected {
+  border-color: #000;
+}
 /*!
  * Datetimepicker for Bootstrap 3
  * version : 4.17.37
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php
index 7877c38afa35..2ccf67d89578 100644
--- a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php
+++ b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php
@@ -172,6 +172,10 @@ class TypoScriptTemplateConstantEditorModuleFunctionController extends AbstractF
             $templateService->ext_getTSCE_config($category);
 
             $printFields = trim($templateService->ext_printFields($theConstants, $category));
+            foreach ($templateService->getInlineJavaScript() as $name => $inlineJavaScript) {
+                $this->pageRenderer->addJsInlineCode($name, $inlineJavaScript);
+            }
+
             if ($printFields) {
                 $theOutput .= '<div>' . $printFields . '</div>';
             }
-- 
GitLab