jqh 5 years ago
parent
commit
648be822ac

+ 2 - 2
resources/assets/dcat/extra/resource-selector.js

@@ -17,7 +17,7 @@
             showCloseButton: false,
             lang: {
                 close: Dcat.lang.close || '关闭',
-                exceed_max_item: Dcat.lang.exceed_max_item || '已超出最大可选择的数量',
+                exceed_max_item: Dcat.lang.exceed_max_item || '已超出最大可选择的数量',
                 selected_options: Dcat.lang.selected_options || '已选中:num个选项',
             },
             displayerContainer: null, // 选项展示容器dom对象
@@ -122,7 +122,7 @@
                 unchecked($this);
                 delete originalItems[id];
                 // 多选项判断最大长度
-                return Dcat.warning(options.exceedMaxItemTip);
+                return Dcat.warning(options.lang.exceed_max_item);
             }
 
             renderTags(originalItems);

+ 6 - 0
resources/assets/dcat/sass/components/_table.scss

@@ -135,6 +135,12 @@ table.dataTable.complex-headers thead th, table.dataTable.complex-headers thead
 table.table-bordered.dataTable.complex-headers {
   border-spacing: 0;
 
+  thead th {
+    text-align: center;
+    vertical-align: middle;
+    font-size: 1rem!important;
+  }
+
   tbody tr {
     box-shadow: none;
     border-radius: 0;

BIN
resources/assets/images/default-avatar.jpg


+ 4 - 2
src/Form/NestedForm.php

@@ -315,8 +315,10 @@ class NestedForm
     {
         $this->fields->push($field);
 
-        $this->form->builder()->fields()->push($field);
-        $field->attribute(Builder::BUILD_IGNORE, true);
+        if (method_exists($this->form, 'builder')) {
+            $this->form->builder()->fields()->push($field);
+            $field->attribute(Builder::BUILD_IGNORE, true);
+        }
 
         if ($field instanceof UploadField) {
             $field->setRelation($this->relationName);

+ 1 - 1
src/Models/Administrator.php

@@ -55,7 +55,7 @@ class Administrator extends Model implements AuthenticatableContract
             return $avatar;
         }
 
-        return 'https://secure.gravatar.com/avatar/f56f9658bf505a13514a9d20cf577e8a?size=512';
+        return admin_asset('@admin/images/default-avatar.jpg');
     }
 
     /**

+ 0 - 52
src/Widgets/Chart/Bar.php

@@ -1,52 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-/**
- * @see https://www.chartjs.org/docs/latest/charts/bar.html
- */
-class Bar extends Chart
-{
-    use ScaleSetting;
-
-    protected $type = 'bar';
-
-    /**
-     * Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other.
-     *
-     * @param number $val default 0.9
-     *
-     * @return $this
-     */
-    public function barPercentage($val)
-    {
-        return $this->options(['barPercentage' => $val]);
-    }
-
-    /**
-     * Percent (0-1) of the available width each category should be within the sample width.
-     *
-     * @param number $val default 0.8
-     *
-     * @return $this
-     */
-    public function categoryPercentage($val)
-    {
-        return $this->options(['categoryPercentage' => $val]);
-    }
-
-    public function barThickness($val)
-    {
-        return $this->options(['barThickness' => $val]);
-    }
-
-    public function maxBarThickness($val)
-    {
-        return $this->options(['maxBarThickness' => $val]);
-    }
-
-    public function minBarLength($val)
-    {
-        return $this->options(['minBarLength' => $val]);
-    }
-}

+ 0 - 30
src/Widgets/Chart/Bubble.php

@@ -1,30 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-/**
- * @see https://www.chartjs.org/docs/latest/charts/bubble.html
- */
-class Bubble extends Chart
-{
-    use ScaleSetting;
-
-    public $colors = [
-        'rgba(64,153,222, 1)', // primary
-        'rgba(121,134,203, 1)', // purple
-        'rgba(33,185,120, 1)', // success
-        'rgba(24,103,192, 1)', // blue
-        'rgba(38,166,154, 1)', // tear
-        'rgba(41,126,192, 1)', // primary darker
-        'rgba(249,144,55, 1)', // orange
-        'rgba(245,87,59, 1)', // red
-
-        'rgba(242,203,34, 1)', // yellow
-        'rgba(143,193,93, 1)', // green
-        'rgba(89,169,248, 1)', // custom
-        'rgba(129,199,132, 1)', // silver
-        'rgba(228,113,222, 1)', // lime
-    ];
-
-    protected $type = 'bubble';
-}

+ 0 - 520
src/Widgets/Chart/Chart.php

@@ -1,520 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-use Dcat\Admin\Admin;
-use Dcat\Admin\Traits\InteractsWithApi;
-use Dcat\Admin\Widgets\Color;
-use Dcat\Admin\Widgets\Widget;
-use Illuminate\Support\Str;
-
-/**
- * @see https://www.chartjs.org/docs/latest/
- *
- * @method $this blue()
- * @method $this green()
- * @method $this orange()
- * @method $this purple()
- */
-abstract class Chart extends Widget
-{
-    use InteractsWithApi;
-
-    public static $js = '@chartjs';
-
-    public static $css = '@chartjs';
-
-    public static $globalSettings = [
-        'defaultFontColor'  => '#555',
-        'defaultFontFamily' => 'Nunito,system-ui,sans-serif',
-
-        'scaleShowGridLines' => false,
-        'scaleShowHorizontalLines' => false,
-    ];
-
-    public $colors = [];
-
-    protected $id = '';
-
-    protected $type = 'line';
-
-    protected $data = [
-        'labels'   => [],
-        'datasets' => [],
-    ];
-
-    protected $options = [];
-
-    protected $width;
-
-    protected $height;
-
-    protected $containerStyle = '';
-
-    public function __construct(...$params)
-    {
-        if (count($params) == 2) {
-            [$title, $labels] = $params;
-
-            $title && $this->title($title);
-            $labels && $this->labels($labels);
-        } elseif (! empty($params[0])) {
-            if (is_string($params[0])) {
-                $this->title($params[0]);
-            } elseif (is_array($params[0])) {
-                $this->labels($params[0]);
-            }
-        }
-
-        $this->setDefaultColors();
-    }
-
-    /**
-     * @param Chart $chart
-     *
-     * @return $this
-     */
-    public function combine(self $chart)
-    {
-        $this->data['datasets']
-            = array_merge($this->data['datasets'], $chart->datasets());
-
-        return $this;
-    }
-
-    /**
-     * Set labels.
-     *
-     * @param $labels
-     *
-     * @return $this
-     */
-    public function labels(array $labels)
-    {
-        $this->data['labels'] = $labels;
-
-        return $this;
-    }
-
-    /**
-     * Add datasets.
-     *
-     * @example
-     *     $this->add('LiXin', [1, 23, 6, 10, 6]);
-     *     $this->add([
-     *         ['LiXin', [1, 23, 6, 10, 6]], ['阿翡', [4, 11, 8, 25, 19]]
-     *     ]);
-     *
-     * @param string|array $label
-     * @param array        $data
-     * @param string|array $fillColor
-     *
-     * @return $this
-     */
-    public function add($label, $data = [], $fillColor = null)
-    {
-        if (is_array($label)) {
-            foreach ($label as $item) {
-                call_user_func_array([$this, 'add'], $item);
-            }
-
-            return $this;
-        }
-
-        $item = [
-            'label'           => $label,
-            'data'            => $data,
-            'backgroundColor' => $fillColor,
-        ];
-
-        if ($fillColor) {
-            if (is_string($fillColor)) {
-                $item['backgroundColor'] = $fillColor;
-            } elseif (is_array($fillColor)) {
-                $item = array_merge($fillColor, $item);
-            }
-        }
-
-        $this->data['datasets'][] = &$item;
-
-        return $this;
-    }
-
-    /**
-     * @return array
-     */
-    public function data()
-    {
-        return $this->data;
-    }
-
-    /**
-     * @param bool $val
-     *
-     * @return $this
-     */
-    public function responsive(bool $val = true)
-    {
-        return $this->options(['responsive' => $val]);
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/configuration/legend.html
-     *
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function legend(array $opts)
-    {
-        if (! isset($this->options['legend'])) {
-            $this->options['legend'] = [];
-        }
-
-        $this->options['legend'] = array_merge($this->options['legend'], $opts);
-
-        return $this;
-    }
-
-    /**
-     * @return $this
-     */
-    public function disableLegend()
-    {
-        return $this->legend(['display' => false]);
-    }
-
-    /**
-     * @return $this
-     */
-    public function legendPosition(string $val)
-    {
-        return $this->legend(['position' => $val]);
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/configuration/tooltip.html
-     *
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function tooltips(array $opts)
-    {
-        if (! isset($this->options['tooltips'])) {
-            $this->options['tooltips'] = [];
-        }
-
-        $this->options['tooltips'] = array_merge($this->options['tooltips'], $opts);
-
-        return $this;
-    }
-
-    /**
-     * Disable tooltip.
-     *
-     * @return $this
-     */
-    public function disableTooltip()
-    {
-        return $this->tooltips(['enabled' => false]);
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/configuration/title.html
-     *
-     * @param array $options
-     *
-     * @return $this
-     */
-    public function title($options)
-    {
-        if (is_array($options)) {
-            $this->options['title'] = $options;
-        } else {
-            $this->options['title'] = ['text' => $options, 'display' => true, 'fontSize' => '14'];
-        }
-
-        return $this;
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/configuration/elements.html
-     *
-     * @param array $options
-     *
-     * @return $this
-     */
-    public function elements(array $options)
-    {
-        if (! isset($this->options['elements'])) {
-            $this->options['elements'] = [];
-        }
-
-        $this->options['elements'] = array_merge($this->options['elements'], $options);
-
-        return $this;
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/configuration/layout.html
-     *
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function layout(array $opts)
-    {
-        if (! isset($this->options['layout'])) {
-            $this->options['layout'] = [];
-        }
-
-        $this->options['layout'] = array_merge($this->options['layout'], $opts);
-
-        return $this;
-    }
-
-    /**
-     * The padding to add inside the chart.
-     *
-     * @param array|int $opts
-     *
-     * @return Chart
-     */
-    public function padding($opts)
-    {
-        return $this->layout(['padding' => $opts]);
-    }
-
-    /**
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function animation(array $opts)
-    {
-        if (! isset($this->options['animation'])) {
-            $this->options['animation'] = [];
-        }
-
-        $this->options['animation'] = array_merge($this->options['animation'], $opts);
-
-        return $this;
-    }
-
-    /**
-     * Set width of container.
-     *
-     * @param string $width
-     *
-     * @return Chart
-     */
-    public function width($width)
-    {
-        return $this->setContainerStyle('width:'.$width);
-    }
-
-    /**
-     * Set height of container.
-     *
-     * @param string $height
-     *
-     * @return Chart
-     */
-    public function height($height)
-    {
-        return $this->setContainerStyle('height:'.$height);
-    }
-
-    /**
-     * @param string $style
-     * @param bool   $append
-     *
-     * @return $this
-     */
-    public function setContainerStyle(string $style, bool $append = true)
-    {
-        if ($append) {
-            $this->containerStyle .= ';'.$style;
-        } else {
-            $this->containerStyle = $style;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Fill default color.
-     *
-     * @param array $colors
-     *
-     * @return void
-     */
-    protected function fillColor(array $colors = [])
-    {
-        $colors = $colors ?: $this->colors;
-
-        foreach ($this->data['datasets'] as &$item) {
-            if (empty($item['backgroundColor'])) {
-                $item['backgroundColor'] = array_shift($colors);
-            }
-        }
-    }
-
-    /**
-     * Setup script.
-     *
-     * @return string
-     */
-    protected function script()
-    {
-        $this->setupGlobalSettingScripts();
-
-        $config = [
-            'type'    => $this->type,
-            'data'    => &$this->data,
-            'options' => &$this->options,
-        ];
-        $options = json_encode($config);
-
-        if (! $this->allowBuildRequest()) {
-            return <<<JS
-setTimeout(function () { 
-    new Chart($("#{$this->getId()}").get(0).getContext("2d"), $options) 
-}, 60)
-JS;
-        }
-
-        $this->fetched(
-            <<<JS
-if (! response.status) {
-    return Dcat.error(response.message || 'Server internal error.');
-}        
-var id = '{$this->getId()}', opt = $options, prev = window['chart'+id];
-
-opt.options = $.extend(opt.options, response.options || {});
-opt.data.datasets = response.datasets || opt.data.datasets;
-
-if (prev) {
-    prev.destroy();
-}
-
-window['chart'+id] = new Chart($("#"+id).get(0).getContext("2d"), opt);
-JS
-        );
-
-        return $this->buildRequestScript();
-    }
-
-    protected function setupGlobalSettingScripts()
-    {
-        // Global configure.
-        $globalSettings = '';
-
-        foreach (self::$globalSettings as $k => $v) {
-            $globalSettings .= sprintf('Chart.defaults.global.%s="%s";', $k, $v);
-        }
-
-        Admin::script($globalSettings);
-    }
-
-    /**
-     * Get datasets.
-     *
-     * @return array
-     */
-    public function datasets()
-    {
-        $this->fillColor();
-
-        return array_map(function ($v) {
-            $v['type'] = $v['type'] ?? $this->type;
-
-            return $v;
-        }, $this->data['datasets']);
-    }
-
-    /**
-     * @return string
-     */
-    public function render()
-    {
-        $this->fillColor();
-
-        $this->script = $this->script();
-
-        $this->setHtmlAttribute([
-            'id' => $this->getId(),
-        ]);
-
-        $this->collectAssets();
-
-        return <<<HTML
-<div class="chart" style="{$this->containerStyle}">
-    <canvas {$this->formatHtmlAttributes()}>
-        Your browser does not support the canvas element.
-    </canvas>
-</div>
-HTML;
-    }
-
-    /**
-     * @param string $method
-     * @param array  $parameters
-     *
-     * @return $this
-     */
-    public function __call($method, $parameters)
-    {
-        if (isset(Color::$chartTheme[$method])) {
-            $this->colors = Color::$chartTheme[$method];
-
-            return $this;
-        }
-
-        return parent::__call($method, $parameters); // TODO: Change the autogenerated stub
-    }
-
-    /**
-     * @param bool  $returnOptions
-     * @param array $data
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function toJsonResponse()
-    {
-        return response()->json([
-            'status'   => 1,
-            'datasets' => $this->datasets(),
-            'options'  => $this->getOptions(),
-        ]);
-    }
-
-    /**
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function valueResult()
-    {
-        return $this->toJsonResponse();
-    }
-
-    /**
-     * @return void
-     */
-    protected function setDefaultColors()
-    {
-        if (! $this->colors) {
-            $this->colors = Color::$chartTheme['blue'];
-        }
-    }
-
-    protected function generateId()
-    {
-        return 'chart-'.$this->type.Str::random(8);
-    }
-
-    public function getId()
-    {
-        return $this->id ?: ($this->id = $this->generateId());
-    }
-}

+ 0 - 11
src/Widgets/Chart/Doughnut.php

@@ -1,11 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-/**
- * @see https://www.chartjs.org/docs/latest/charts/doughnut.html
- */
-class Doughnut extends Pie
-{
-    protected $type = 'doughnut';
-}

+ 0 - 80
src/Widgets/Chart/Line.php

@@ -1,80 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-/**
- * @see https://www.chartjs.org/docs/latest/charts/line.html
- */
-class Line extends Chart
-{
-    use ScaleSetting;
-
-    public $colors = [
-        'rgba(64,153,222, 1)', // primary
-        'rgba(38,166,154, 1)', // tear
-        'rgba(121,134,203, 1)', // purple
-        'rgba(33,185,120, 1)', // success
-        'rgba(249,144,55, 1)', // orange
-        'rgba(41,126,192, 1)', // primary darker
-        'rgba(245,87,59, 1)', // red
-        'rgba(24,103,192, 1)', // blue
-        'rgba(242,203,34, 1)', // yellow
-        'rgba(143,193,93, 1)', // green
-        'rgba(89,169,248, 1)', // custom
-        'rgba(129,199,132, 1)', // silver
-        'rgba(228,113,222, 1)', // lime
-    ];
-
-    public $backgroundColors = [
-        'rgba(64,153,222, 0.1)', // primary
-        'rgba(38,166,154, 0.1)', // tear
-        'rgba(121,134,203, 0.2)', // purple
-        'rgba(33,185,120, 0.12)', // success
-        'rgba(249,144,55, 0.1)', // orange
-        'rgba(41,126,192, 0.1)', // primary darker
-        'rgba(245,87,59, 0.1)', // red
-        'rgba(24,103,192, 0.1)', // blue
-        'rgba(242,203,34, 0.1)', // yellow
-        'rgba(143,193,93, 0.1)', // green
-        'rgba(89,169,248, 0.1)', // custom
-        'rgba(129,199,132, 0.1)', // silver
-        'rgba(228,113,222, 0.1)', // lime
-    ];
-
-    protected $fillBackground = false;
-    protected $opaque = false;
-
-    public function fillBackground(bool $opaque = false)
-    {
-        $this->fillBackground = true;
-        $this->opaque = $opaque;
-
-        return $this;
-    }
-
-    protected function fillColor(array $colors = [])
-    {
-        $colors = $colors ?: $this->colors;
-        $bgColors = $this->opaque ? $colors : $this->backgroundColors;
-
-        foreach ($this->data['datasets'] as &$item) {
-            if (empty($item['strokeColor'])) {
-                $color = array_shift($colors);
-                $bgColor = array_shift($bgColors);
-
-                $item['borderColor'] = $color;
-                $item['backgroundColor'] = $this->fillBackground ? $bgColor : 'rgba(255, 255, 255, 0.1)';
-            }
-        }
-    }
-
-    public function showLines(bool $val)
-    {
-        return $this->options(['showLines' => $val]);
-    }
-
-    public function spanGaps(bool $val)
-    {
-        return $this->options(['spanGaps' => $val]);
-    }
-}

+ 0 - 72
src/Widgets/Chart/Pie.php

@@ -1,72 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-/**
- * @see https://www.chartjs.org/docs/latest/charts/doughnut.html
- */
-class Pie extends Chart
-{
-    protected $type = 'pie';
-
-    /**
-     * Add datasets.
-     *
-     * @example
-     *     $this->add([1, 23, 6, 10, 6]);
-     *
-     * @param string|array $label
-     * @param array        $data
-     * @param string|array $fillColor
-     *
-     * @return $this
-     */
-    public function add($data = [], $fillColor = null, $none = null)
-    {
-        $item = [
-            'data' => $data,
-        ];
-
-        if ($fillColor) {
-            if (is_string($fillColor)) {
-                $item['backgroundColor'] = $fillColor;
-            } elseif (is_array($fillColor)) {
-                $item = array_merge($fillColor, $item);
-            }
-        }
-
-        $this->data['datasets'][] = $item;
-
-        return $this;
-    }
-
-    /**
-     * Fill default color.
-     *
-     * @param array $colors
-     */
-    protected function fillColor(array $colors = [])
-    {
-        foreach ($this->data['datasets'] as &$item) {
-            $colors = $colors ?: $this->colors;
-            if (empty($item['backgroundColor'])) {
-                $item['backgroundColor'] = $colors;
-            }
-        }
-    }
-
-    public function cutoutPercentage($percent)
-    {
-        return $this->options(['cutoutPercentage' => $percent]);
-    }
-
-    public function circumference($val)
-    {
-        return $this->options(['circumference' => $val]);
-    }
-
-    public function animateScale(bool $val = true)
-    {
-        return $this->animation(['animateScale' => $val]);
-    }
-}

+ 0 - 8
src/Widgets/Chart/PolarArea.php

@@ -1,8 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-class PolarArea extends Pie
-{
-    protected $type = 'polarArea';
-}

+ 0 - 8
src/Widgets/Chart/Radar.php

@@ -1,8 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-class Radar extends Line
-{
-    protected $type = 'radar';
-}

+ 0 - 96
src/Widgets/Chart/ScaleSetting.php

@@ -1,96 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets\Chart;
-
-trait ScaleSetting
-{
-    /**
-     * @see https://www.chartjs.org/docs/latest/axes/
-     *
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function scales(array $opts)
-    {
-        if (! isset($this->options['scales'])) {
-            $this->options['scales'] = [];
-        }
-
-        $this->options['scales'] = array_merge($this->options['scales'], $opts);
-
-        return $this;
-    }
-
-    /**
-     * @param string|null $label
-     *
-     * @return $this
-     */
-    public function displayScaleLabelOnX(?string $label)
-    {
-        return $this->xAxes([
-            [
-                'scaleLabel' => [
-                    'display'     => true,
-                    'labelString' => $label,
-                ],
-            ],
-        ]);
-    }
-
-    /**
-     * @param string|null $label
-     *
-     * @return $this
-     */
-    public function displayScaleLabelOnY(?string $label)
-    {
-        return $this->yAxes([
-            [
-                'scaleLabel' => [
-                    'display'     => true,
-                    'labelString' => $label,
-                ],
-            ],
-        ]);
-    }
-
-    /**
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function yAxes(array $opts)
-    {
-        return $this->scales(['yAxes' => $opts]);
-    }
-
-    /**
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function xAxes(array $opts)
-    {
-        return $this->scales(['xAxes' => $opts]);
-    }
-
-    /**
-     * @see https://www.chartjs.org/docs/latest/axes/radial/linear.html
-     *
-     * @param array $opts
-     *
-     * @return $this
-     */
-    public function scale(array $opts)
-    {
-        if (! isset($this->options['scale'])) {
-            $this->options['scale'] = [];
-        }
-
-        $this->options['scale'] = array_merge($this->options['scale'], $opts);
-
-        return $this;
-    }
-}

+ 0 - 48
src/Widgets/Color.php

@@ -1,48 +0,0 @@
-<?php
-
-namespace Dcat\Admin\Widgets;
-
-class Color
-{
-    public static $chartTheme = [
-        'blue' => [
-            'rgba(64,153,222,.5)', // primary
-            'rgba(64,153,222,.85)', // primary
-            '#007ee5', // blue
-            '#59a9f8', // custom
-            'rgba(121,134,203, 1)', // purple
-            '#6474D7', // purple darker
-            '#8FC15D', // green
-            '#21b978', // success
-            '#47C1BF', // tear
-            '#F2CB22', // yellow
-            '#F99037', // orange
-            '#F5573B', // red
-            '#9C6ADE', // another purple
-            '#ff8acc', // pink
-            '#297ec0', // primary darker
-            '#483D8B', // blue darker
-        ],
-
-        'green' => [
-            'rgba(64,153,222,.5)', // primary
-            '#21b978', // success
-            '#47C1BF', // tear
-            '#8FC15D', // green
-        ],
-
-        'orange' => [
-            'rgba(64,153,222,.5)', // primary
-            '#F99037', // orange
-            '#F5573B', // red
-            '#F2CB22', // yellow
-        ],
-
-        'purple' => [
-            'rgba(64,153,222,.5)', // primary
-            'rgba(121,134,203, 1)', // purple
-            '#6474D7', // purple darker
-            '#9C6ADE', // another purple
-        ],
-    ];
-}