├── .editorconfig
├── .gitattributes
├── .github
└── workflows
│ └── tests.yml
├── .gitignore
├── .styleci.yml
├── LICENSE.md
├── README.md
├── SECURITY.md
├── composer.json
├── phpunit.xml
├── src
├── Chart.php
├── Config
│ └── apexcharts.php
├── Facade.php
├── Options
│ ├── Annotations.php
│ ├── Chart.php
│ ├── DataLabels.php
│ ├── Fill.php
│ ├── ForecastDataPoints.php
│ ├── Grid.php
│ ├── Legend.php
│ ├── Markers.php
│ ├── NoData.php
│ ├── PlotOptions.php
│ ├── Responsive.php
│ ├── States.php
│ ├── Stroke.php
│ ├── Subtitle.php
│ ├── Theme.php
│ ├── Title.php
│ ├── Tooltip.php
│ ├── Xaxis.php
│ └── Yaxis.php
├── Provider.php
├── Public
│ ├── apexcharts.js
│ └── locales
│ │ ├── ar.json
│ │ ├── ca.json
│ │ ├── cs.json
│ │ ├── de.json
│ │ ├── el.json
│ │ ├── en.json
│ │ ├── es.json
│ │ ├── et.json
│ │ ├── fa.json
│ │ ├── fi.json
│ │ ├── fr.json
│ │ ├── he.json
│ │ ├── hi.json
│ │ ├── hr.json
│ │ ├── hu.json
│ │ ├── hy.json
│ │ ├── id.json
│ │ ├── it.json
│ │ ├── ja.json
│ │ ├── ka.json
│ │ ├── ko.json
│ │ ├── lt.json
│ │ ├── lv.json
│ │ ├── nb.json
│ │ ├── nl.json
│ │ ├── pl.json
│ │ ├── pt-br.json
│ │ ├── pt.json
│ │ ├── rs.json
│ │ ├── ru.json
│ │ ├── se.json
│ │ ├── sk.json
│ │ ├── sl.json
│ │ ├── sq.json
│ │ ├── th.json
│ │ ├── tr.json
│ │ ├── ua.json
│ │ ├── zh-cn.json
│ │ └── zh-tw.json
├── Support
│ └── DatasetClass.php
├── Traits
│ ├── Formatter.php
│ └── Types.php
├── Types
│ ├── Area.php
│ ├── Bar.php
│ ├── Donut.php
│ ├── HeatMap.php
│ ├── HorizontalBar.php
│ ├── Line.php
│ ├── Pie.php
│ ├── PolarArea.php
│ ├── Radar.php
│ └── Radial.php
└── Views
│ ├── container.blade.php
│ └── script.blade.php
└── tests
├── Feature
└── ChartsTest.php
└── TestCase.php
/.editorconfig:
--------------------------------------------------------------------------------
1 | ; This file is for unifying the coding style for different editors and IDEs.
2 | ; More information at https://editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | charset = utf-8
8 | indent_size = 4
9 | indent_style = space
10 | end_of_line = lf
11 | insert_final_newline = true
12 | trim_trailing_whitespace = true
13 |
14 | [*.md]
15 | trim_trailing_whitespace = false
16 |
17 | [*.yml]
18 | indent_size = 2
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | * text eol=lf
3 |
4 | # Explicitly declare text files you want to always be normalized and converted
5 | # to native line endings on checkout.
6 | *.c text
7 | *.h text
8 |
9 | # Declare files that will always have CRLF line endings on checkout.
10 | *.sln text eol=crlf
11 |
12 | # Denote all files that are truly binary and should not be modified.
13 | *.png binary
14 | *.jpg binary
15 | *.otf binary
16 | *.eot binary
17 | *.svg binary
18 | *.ttf binary
19 | *.woff binary
20 | *.woff2 binary
21 |
22 | *.css linguist-vendored
23 | *.scss linguist-vendored
24 | *.js linguist-vendored
25 | CHANGELOG.md export-ignore
26 |
--------------------------------------------------------------------------------
/.github/workflows/tests.yml:
--------------------------------------------------------------------------------
1 | name: Tests
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | tests:
7 | name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - ${{ matrix.stability }}
8 |
9 | runs-on: ubuntu-latest
10 |
11 | strategy:
12 | matrix:
13 | php: ['8.0', '8.1', '8.2', '8.3']
14 | laravel: [9.*, 10.*, 11.*, 12.*]
15 | stability: [prefer-lowest, prefer-stable]
16 | include:
17 | - laravel: 9.*
18 | testbench: 7.*
19 | - laravel: 10.*
20 | testbench: 8.*
21 | - laravel: 11.*
22 | testbench: 9.*
23 | - laravel: 12.*
24 | testbench: 10.*
25 | exclude:
26 | - laravel: 9.*
27 | php: 8.3
28 | - laravel: 10.*
29 | php: 8.0
30 | - laravel: 11.*
31 | php: 8.0
32 | - laravel: 11.*
33 | php: 8.1
34 | - laravel: 12.*
35 | php: 8.0
36 | - laravel: 12.*
37 | php: 8.1
38 | steps:
39 | - name: Checkout code
40 | uses: actions/checkout@v3
41 |
42 | - name: Setup PHP
43 | uses: shivammathur/setup-php@v2
44 | with:
45 | php-version: ${{ matrix.php }}
46 | extensions: bcmath, ctype, dom, fileinfo, intl, gd, json, mbstring, pdo, pdo_sqlite, openssl, sqlite, xml, zip
47 | coverage: xdebug
48 |
49 | - name: Install dependencies
50 | run: |
51 | composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
52 | composer update --${{ matrix.stability }} --prefer-dist --no-interaction
53 | - name: Execute tests
54 | run: vendor/bin/phpunit
55 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /.history
3 | /.vscode
4 | /tests/databases
5 | /vendor
6 | .DS_Store
7 | .phpunit.result.cache
8 | composer.phar
9 | composer.lock
10 |
--------------------------------------------------------------------------------
/.styleci.yml:
--------------------------------------------------------------------------------
1 | preset: psr2
2 |
3 | enabled:
4 | - concat_with_spaces
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2022 Akaunting
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ApexCharts package for Laravel
2 |
3 | 
4 | 
5 | [](https://styleci.io/repos/452221855)
6 | [](LICENSE.md)
7 |
8 | This package allows you to generate modern and interactive charts using the [ApexCharts](https://apexcharts.com) library directly from `Laravel` without interacting with JavaScript, CSS, etc.
9 |
10 | It covers all of the chart [types](https://apexcharts.com/docs/chart-types/line-chart) and [options](https://apexcharts.com/docs/options/annotations) available within the `ApexCharts` library.
11 |
12 | Check out the [Akaunting](https://github.com/akaunting/akaunting) project to see it live.
13 |
14 | ## Getting Started
15 |
16 | ### 1. Install
17 |
18 | Run the following command:
19 |
20 | ```bash
21 | composer require akaunting/laravel-apexcharts
22 | ```
23 |
24 | ### 2. Publish
25 |
26 | Publish configuration
27 |
28 | ```bash
29 | php artisan vendor:publish --tag=apexcharts
30 | ```
31 |
32 | ### 3. Configure
33 |
34 | You can change the chart settings of your app from `config/apexcharts.php` file
35 |
36 | ## Usage
37 |
38 | ### Blade
39 |
40 | Create an instance of the `Chart` class and set the data and options according to your needs.
41 |
42 | ```php
43 | use Akaunting\Apexcharts\Chart;
44 |
45 | // ...
46 |
47 | $chart = (new Chart)->setType('donut')
48 | ->setWidth('100%')
49 | ->setHeight(300)
50 | ->setLabels(['Sales', 'Deposit'])
51 | ->setDataset('Income by Category', 'donut', [1907, 1923]);
52 | ```
53 |
54 | Then, include the JavaScript (on every page using charts).
55 |
56 | ```blade
57 |
58 |
59 |
60 |
61 |
62 | @apexchartsScripts
63 |
64 | ```
65 |
66 | Finally, call the `container` and `script` method wherever you want to display the chart.
67 |
68 | ```blade
69 |
70 |
71 | {!! $chart->container() !!}
72 |
73 | {!! $chart->script() !!}
74 | ```
75 |
76 | ### Vue
77 |
78 | If you're using Vue and Inertia, install Apexcharts and their Vue 3 adapter:
79 |
80 | ```bash
81 | npm install --save apexcharts
82 | npm install --save vue3-apexcharts
83 | ```
84 |
85 | ```js
86 | // resources/js/app.js
87 |
88 | import VueApexCharts from 'vue3-apexcharts';
89 |
90 | createInertiaApp({
91 | // ...
92 | setup({el, App, props, plugin}) {
93 | return createApp({ render: () => h(App, props) })
94 | .use(VueApexCharts)
95 | .mount(el);
96 | },
97 | });
98 | ```
99 |
100 | Then, create a simple `chart.vue` component:
101 |
102 | ```vue
103 |
104 |
105 |
106 |
115 |
116 |
117 |
122 | ```
123 |
124 | Create an instance of `Chart` and call `toVue()` before passing it to your page:
125 |
126 | ```php
127 | Route::get('dashboard', function () {
128 | $chart = (new Chart)->setType('...');
129 |
130 | return inertia('dashboard', [
131 | 'chart' => $chart->toVue(),
132 | ]);
133 | });
134 | ```
135 |
136 | Finally, render the chart:
137 |
138 | ```vue
139 |
140 |
141 |
142 |
143 |
144 |
145 |
152 | ```
153 |
154 | ## Testing
155 |
156 | ```bash
157 | composer test
158 | ```
159 |
160 | ## Changelog
161 |
162 | Please see [Releases](../../releases) for more information what has changed recently.
163 |
164 | ## Contributing
165 |
166 | Pull requests are more than welcome. You must follow the PSR coding standards.
167 |
168 | ## Security
169 |
170 | Please review [our security policy](https://github.com/akaunting/laravel-apexcharts/security/policy) on how to report security vulnerabilities.
171 |
172 | ## Credits
173 |
174 | - [Cüneyt Şentürk](https://github.com/cuneytsenturk)
175 | - [All Contributors](../../contributors)
176 |
177 | ## License
178 |
179 | The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.
180 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | **PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, [SEE BELOW](#reporting-a-vulnerability).**
4 |
5 | ## Reporting a Vulnerability
6 |
7 | If you discover any security related issues, please email security@akaunting.com instead of using the issue tracker.
8 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "akaunting/laravel-apexcharts",
3 | "description": "ApexCharts package for Laravel",
4 | "keywords": [
5 | "laravel",
6 | "line",
7 | "bar",
8 | "pie",
9 | "donut",
10 | "charts",
11 | "apexcharts"
12 | ],
13 | "license": "MIT",
14 | "authors": [
15 | {
16 | "name": "Cüneyt Şentürk",
17 | "email": "info@akaunting.com",
18 | "homepage": "https://akaunting.com",
19 | "role": "Developer"
20 | }
21 | ],
22 | "require": {
23 | "php": "^8.0",
24 | "ext-json": "*",
25 | "balping/json-raw-encoder": "^1.0",
26 | "illuminate/support": "^9.0|^10.0|^11.0|^12.0"
27 | },
28 | "require-dev": {
29 | "mockery/mockery": "^1.5",
30 | "phpunit/phpunit": "^9.5|^10.0|^11.0|^12.0",
31 | "orchestra/testbench": "^7.4|^8.0|^9.0|^10.0"
32 | },
33 | "autoload": {
34 | "psr-4": {
35 | "Akaunting\\Apexcharts\\": "src"
36 | }
37 | },
38 | "autoload-dev": {
39 | "psr-4": {
40 | "Akaunting\\Apexcharts\\Tests\\": "tests"
41 | }
42 | },
43 | "scripts": {
44 | "test": "vendor/bin/phpunit"
45 | },
46 | "extra": {
47 | "laravel": {
48 | "providers": [
49 | "Akaunting\\Apexcharts\\Provider"
50 | ],
51 | "aliases": {
52 | "Apexcharts": "Akaunting\\Apexcharts\\Facade"
53 | }
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | ./src
13 |
14 |
15 |
16 |
17 | tests
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/Chart.php:
--------------------------------------------------------------------------------
1 | id = substr(str_shuffle(str_repeat($x = $this->chartLetters, ceil(25 / strlen($x)))), 1, 25);
59 |
60 | $this->options = config('apexcharts.options');
61 | }
62 |
63 | public function getId(): string
64 | {
65 | return $this->id;
66 | }
67 |
68 | public function setType(string|null $type = null): Chart
69 | {
70 | $this->type = $type;
71 |
72 | $this->setOption([
73 | 'chart' => [
74 | 'type' => $type,
75 | ],
76 | ]);
77 |
78 | return $this;
79 | }
80 |
81 | public function getType(): string
82 | {
83 | return $this->type ? $this->type : $this->datasets[0]->type;
84 | }
85 |
86 | public function setColor(string $color): Chart
87 | {
88 | $colors = $this->colors;
89 |
90 | $colors[] = $color;
91 |
92 | return $this->setColors($colors);
93 | }
94 |
95 | public function setColors(array $colors): Chart
96 | {
97 | $this->colors = $colors;
98 |
99 | $this->setOption([
100 | 'colors' => $colors,
101 | ]);
102 |
103 | return $this;
104 | }
105 |
106 | public function getColors(): array
107 | {
108 | return $this->colors;
109 | }
110 |
111 | public function setLabels(array $labels): Chart
112 | {
113 | $this->labels = $labels;
114 |
115 | $this->setOption([
116 | 'labels' => $labels,
117 | ]);
118 |
119 | return $this;
120 | }
121 |
122 | public function getLabels(): array
123 | {
124 | return $this->labels;
125 | }
126 |
127 | public function setSeries(array $series): Chart
128 | {
129 | $this->series = $series;
130 |
131 | $this->setOption([
132 | 'series' => $series,
133 | ]);
134 |
135 | return $this;
136 | }
137 |
138 | public function getSeries(): array
139 | {
140 | return $this->series;
141 | }
142 |
143 | public function setDataset(string $name, string $type, array|Collection $data): Chart
144 | {
145 | if ($data instanceof Collection) {
146 | $data = $data->toArray();
147 | }
148 |
149 | if ($type == 'donut') {
150 | return $this->setSeries($data);
151 | }
152 |
153 | $dataset = new $this->dataset($name, $type, $data);
154 |
155 | array_push($this->datasets, $dataset);
156 |
157 | return $this->setSeries($this->datasets);
158 | }
159 |
160 | public function setOption(array|Collection $options = []): Chart
161 | {
162 | if ($options instanceof Collection) {
163 | $options = $options->toArray();
164 | }
165 |
166 | $this->options = array_replace_recursive($this->options, $options);
167 |
168 | return $this;
169 | }
170 |
171 | public function setOptions(array|Collection $options = [], bool $overwrite = false): Chart
172 | {
173 | if ($options instanceof Collection) {
174 | $options = $options->toArray();
175 | }
176 |
177 | if ($overwrite) {
178 | $this->options = $options;
179 | } else {
180 | $this->options = array_replace_recursive($this->options, $options);
181 | }
182 |
183 | return $this;
184 | }
185 |
186 | public function getOptions(): string
187 | {
188 | return Encoder::encode($this->options);
189 | }
190 |
191 | public function container(string $container = null): Chart|View
192 | {
193 | if (! $container) {
194 | return ViewFacade::make($this->container, ['chart' => $this]);
195 | }
196 |
197 | $this->container = $container;
198 |
199 | return $this;
200 | }
201 |
202 | public function script(): View
203 | {
204 | return ViewFacade::make('apexcharts::script', ['chart' => $this]);
205 | }
206 |
207 | public static function loadScript(): string
208 | {
209 | $path = 'https://cdn.jsdelivr.net/npm/apexcharts';
210 |
211 | if (is_file('public/vendor/apexcharts/apexcharts.js')) {
212 | $path = asset('public/vendor/apexcharts/apexcharts.js');
213 | }
214 |
215 | return '';
216 | }
217 | }
218 |
--------------------------------------------------------------------------------
/src/Config/apexcharts.php:
--------------------------------------------------------------------------------
1 | [
19 | 'chart' => [
20 | 'type' => 'line',
21 | 'height' => 500,
22 | 'width' => null,
23 | 'toolbar' => [
24 | 'show' => false,
25 | ],
26 | 'stacked' => false,
27 | 'zoom' => [
28 | 'enabled' => true,
29 | ],
30 | 'fontFamily' => 'inherit',
31 | 'foreColor' => '#373d3f',
32 | ],
33 |
34 | 'plotOptions' => [
35 | 'bar' => [
36 | 'horizontal' => false,
37 | ],
38 | ],
39 |
40 | 'colors' => [
41 | '#008FFB', '#00E396', '#feb019', '#ff455f', '#775dd0', '#80effe',
42 | '#0077B5', '#ff6384', '#c9cbcf', '#0057ff', '#00a9f4', '#2ccdc9', '#5e72e4'
43 | ],
44 |
45 | 'series' => [],
46 |
47 | 'dataLabels' => [
48 | 'enabled' => false
49 | ],
50 |
51 | 'labels' => [],
52 |
53 | 'title' => [
54 | 'text' => []
55 | ],
56 |
57 | 'subtitle' => [
58 | 'text' => 'undefined',
59 | 'align' => 'left',
60 | ],
61 |
62 | 'xaxis' => [
63 | 'categories' => [],
64 | ],
65 |
66 | 'grid' => [
67 | 'show' => true
68 | ],
69 |
70 | 'markers' => [
71 | 'size' => 4,
72 | 'colors' => [
73 | '#008FFB', '#00E396', '#feb019', '#ff455f', '#775dd0', '#80effe',
74 | '#0077B5', '#ff6384', '#c9cbcf', '#0057ff', '#00a9f4', '#2ccdc9', '#5e72e4'
75 | ],
76 | 'strokeColors' => "#fff",
77 | 'strokeWidth' => 2,
78 | 'hover' => [
79 | 'size' => 7,
80 | ],
81 | ],
82 |
83 | 'stroke' => [
84 | 'show' => true,
85 | 'width' => 4,
86 | 'colors' => [
87 | '#008FFB', '#00E396', '#feb019', '#ff455f', '#775dd0', '#80effe',
88 | '#0077B5', '#ff6384', '#c9cbcf', '#0057ff', '#00a9f4', '#2ccdc9', '#5e72e4'
89 | ]
90 | ],
91 | ],
92 |
93 | ];
94 |
--------------------------------------------------------------------------------
/src/Facade.php:
--------------------------------------------------------------------------------
1 | annotationsPosition = $annotationsPosition;
24 |
25 | $this->setOption([
26 | 'annotations' => [
27 | 'position' => $annotationsPosition,
28 | ],
29 | ]);
30 |
31 | return $this;
32 | }
33 |
34 | public function getAnnotationsPosition(): string
35 | {
36 | return $this->annotationsPosition;
37 | }
38 |
39 | public function setAnnotationsYaxis(array $annotationsYaxis): Chart
40 | {
41 | $this->annotationsYaxis = $annotationsYaxis;
42 |
43 | $this->setOption([
44 | 'annotations' => [
45 | 'yaxis' => $annotationsYaxis,
46 | ],
47 | ]);
48 |
49 | return $this;
50 | }
51 |
52 | public function getAnnotationsYaxis(): array
53 | {
54 | return $this->annotationsYaxis;
55 | }
56 |
57 | public function setAnnotationsXaxis(array $annotationsXaxis): Chart
58 | {
59 | $this->annotationsXaxis = $annotationsXaxis;
60 |
61 | $this->setOption([
62 | 'annotations' => [
63 | 'xaxis' => $annotationsXaxis,
64 | ],
65 | ]);
66 |
67 | return $this;
68 | }
69 |
70 | public function getAnnotationsXaxis(): array
71 | {
72 | return $this->annotationsXaxis;
73 | }
74 |
75 | public function setAnnotationsPoints(array $annotationsPoints): Chart
76 | {
77 | $this->annotationsPoints = $annotationsPoints;
78 |
79 | $this->setOption([
80 | 'annotations' => [
81 | 'points' => $annotationsPoints,
82 | ],
83 | ]);
84 |
85 | return $this;
86 | }
87 |
88 | public function getAnnotationsPoints(): array
89 | {
90 | return $this->annotationsPoints;
91 | }
92 |
93 | public function setAnnotationsTexts(array $annotationsTexts): Chart
94 | {
95 | $this->annotationsTexts = $annotationsTexts;
96 |
97 | $this->setOption([
98 | 'annotations' => [
99 | 'texts' => $annotationsTexts,
100 | ],
101 | ]);
102 |
103 | return $this;
104 | }
105 |
106 | public function getAnnotationsTexts(): array
107 | {
108 | return $this->annotationsTexts;
109 | }
110 |
111 | public function setAnnotationsImages(array $annotationsImages): Chart
112 | {
113 | $this->annotationsImages = $annotationsImages;
114 |
115 | $this->setOption([
116 | 'annotations' => [
117 | 'images' => $annotationsImages,
118 | ],
119 | ]);
120 |
121 | return $this;
122 | }
123 |
124 | public function getAnnotationsImages(): array
125 | {
126 | return $this->annotationsImages;
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/src/Options/Chart.php:
--------------------------------------------------------------------------------
1 | animations = $animations;
58 |
59 | $this->setOption([
60 | 'chart' => [
61 | 'animations' => $animations,
62 | ],
63 | ]);
64 |
65 | return $this;
66 | }
67 |
68 | public function getAnimations(): array
69 | {
70 | return $this->animations;
71 | }
72 |
73 | public function setBackground(string $background): MainChart
74 | {
75 | $this->background = $background;
76 |
77 | $this->setOption([
78 | 'chart' => [
79 | 'background' => $background,
80 | ],
81 | ]);
82 |
83 | return $this;
84 | }
85 |
86 | public function getBackground(): string
87 | {
88 | return $this->background;
89 | }
90 |
91 | public function setBrush(array $brush): MainChart
92 | {
93 | $this->brush = $brush;
94 |
95 | $this->setOption([
96 | 'chart' => [
97 | 'brush' => $brush,
98 | ],
99 | ]);
100 |
101 | return $this;
102 | }
103 |
104 | public function getBrush(): array
105 | {
106 | return $this->brush;
107 | }
108 |
109 | public function setDefaultLocale(string $defaultLocale): MainChart
110 | {
111 | $this->defaultLocale = $defaultLocale;
112 |
113 | $this->setOption([
114 | 'chart' => [
115 | 'defaultLocale' => $defaultLocale,
116 | ],
117 | ]);
118 |
119 | return $this;
120 | }
121 |
122 | public function getDefaultLocale(): string
123 | {
124 | return $this->defaultLocale;
125 | }
126 |
127 | public function setDropShadow(array $dropShadow): MainChart
128 | {
129 | $this->dropShadow = $dropShadow;
130 |
131 | $this->setOption([
132 | 'chart' => [
133 | 'dropShadow' => $dropShadow,
134 | ],
135 | ]);
136 |
137 | return $this;
138 | }
139 |
140 | public function getDropShadow(): array
141 | {
142 | return $this->dropShadow;
143 | }
144 |
145 | public function setFontFamily(string $fontFamily): MainChart
146 | {
147 | $this->fontFamily = $fontFamily;
148 |
149 | $this->setOption([
150 | 'chart' => [
151 | 'fontFamily' => $fontFamily,
152 | ],
153 | ]);
154 |
155 | return $this;
156 | }
157 |
158 | public function getFontFamily(): string
159 | {
160 | return $this->fontFamily;
161 | }
162 |
163 | public function setForeColor(string $foreColor): MainChart
164 | {
165 | $this->foreColor = $foreColor;
166 |
167 | $this->setOption([
168 | 'chart' => [
169 | 'foreColor' => $foreColor,
170 | ],
171 | ]);
172 |
173 | return $this;
174 | }
175 |
176 | public function getForeColor(): string
177 | {
178 | return $this->foreColor;
179 | }
180 |
181 | public function setGroup(string $group): MainChart
182 | {
183 | $this->group = $group;
184 |
185 | $this->setOption([
186 | 'chart' => [
187 | 'group' => $group,
188 | ],
189 | ]);
190 |
191 | return $this;
192 | }
193 |
194 | public function getGroup(): string
195 | {
196 | return $this->group;
197 | }
198 |
199 | public function setEvents(array $events): MainChart
200 | {
201 | $this->events = $events;
202 |
203 | $this->setOption([
204 | 'chart' => [
205 | 'events' => $events,
206 | ],
207 | ]);
208 |
209 | return $this;
210 | }
211 |
212 | public function getEvents(): array
213 | {
214 | return $this->events;
215 | }
216 |
217 | public function setHeight(int|string|null $height): MainChart
218 | {
219 | $this->height = $height;
220 |
221 | $this->setOption([
222 | 'chart' => [
223 | 'height' => $height,
224 | ],
225 | ]);
226 |
227 | return $this;
228 | }
229 |
230 | public function getHeight(): int|string|null
231 | {
232 | return $this->height;
233 | }
234 |
235 | public function setLocales(array $locales): MainChart
236 | {
237 | $this->locales = $locales;
238 |
239 | $this->setOption([
240 | 'chart' => [
241 | 'locales' => $locales,
242 | ],
243 | ]);
244 |
245 | return $this;
246 | }
247 |
248 | public function getLocales(): array
249 | {
250 | return $this->locales;
251 | }
252 |
253 | public function setOffsetX(int $offsetX): MainChart
254 | {
255 | $this->offsetX = $offsetX;
256 |
257 | $this->setOption([
258 | 'chart' => [
259 | 'offsetX' => $offsetX,
260 | ],
261 | ]);
262 |
263 | return $this;
264 | }
265 |
266 | public function getOffsetX(): int
267 | {
268 | return $this->offsetX;
269 | }
270 |
271 | public function setOffsetY(int $offsetY): MainChart
272 | {
273 | $this->offsetY = $offsetY;
274 |
275 | $this->setOption([
276 | 'chart' => [
277 | 'offsetY' => $offsetY,
278 | ],
279 | ]);
280 |
281 | return $this;
282 | }
283 |
284 | public function getOffsetY(): int
285 | {
286 | return $this->offsetY;
287 | }
288 |
289 | public function setParentHeightOffset(int $parentHeightOffset): MainChart
290 | {
291 | $this->parentHeightOffset = $parentHeightOffset;
292 |
293 | $this->setOption([
294 | 'chart' => [
295 | 'parentHeightOffset' => $parentHeightOffset,
296 | ],
297 | ]);
298 |
299 | return $this;
300 | }
301 |
302 | public function getParentHeightOffset(): int
303 | {
304 | return $this->parentHeightOffset;
305 | }
306 |
307 | public function setRedrawOnParentResize(bool $redrawOnParentResize): MainChart
308 | {
309 | $this->redrawOnParentResize = $redrawOnParentResize;
310 |
311 | $this->setOption([
312 | 'chart' => [
313 | 'redrawOnParentResize' => $redrawOnParentResize,
314 | ],
315 | ]);
316 |
317 | return $this;
318 | }
319 |
320 | public function getRedrawOnParentResize(): bool
321 | {
322 | return $this->redrawOnParentResize;
323 | }
324 |
325 | public function setRedrawOnWindowResize(bool $redrawOnWindowResize): MainChart
326 | {
327 | $this->redrawOnWindowResize = $redrawOnWindowResize;
328 |
329 | $this->setOption([
330 | 'chart' => [
331 | 'redrawOnWindowResize' => $redrawOnWindowResize,
332 | ],
333 | ]);
334 |
335 | return $this;
336 | }
337 |
338 | public function getRedrawOnWindowResize(): bool
339 | {
340 | return $this->redrawOnWindowResize;
341 | }
342 |
343 | public function setSelection(array $selection): MainChart
344 | {
345 | $this->selection = $selection;
346 |
347 | $this->setOption([
348 | 'chart' => [
349 | 'selection' => $selection,
350 | ],
351 | ]);
352 |
353 | return $this;
354 | }
355 |
356 | public function getSelection(): array
357 | {
358 | return $this->selection;
359 | }
360 |
361 | public function setSparkline(array $sparkline): MainChart
362 | {
363 | $this->sparkline = $sparkline;
364 |
365 | $this->setOption([
366 | 'chart' => [
367 | 'sparkline' => $sparkline,
368 | ],
369 | ]);
370 |
371 | return $this;
372 | }
373 |
374 | public function getSparkline(): array
375 | {
376 | return $this->sparkline;
377 | }
378 |
379 | public function setStacked(bool $stacked): MainChart
380 | {
381 | $this->stacked = $stacked;
382 |
383 | $this->setOption([
384 | 'chart' => [
385 | 'stacked' => $stacked,
386 | ],
387 | ]);
388 |
389 | return $this;
390 | }
391 |
392 | public function getStacked(): bool
393 | {
394 | return $this->stacked;
395 | }
396 |
397 | public function setStackType(string $stackType): MainChart
398 | {
399 | $this->stackType = $stackType;
400 |
401 | $this->setOption([
402 | 'chart' => [
403 | 'stackType' => $stackType,
404 | ],
405 | ]);
406 |
407 | return $this;
408 | }
409 |
410 | public function getStackType(): string
411 | {
412 | return $this->stackType;
413 | }
414 |
415 | public function setToolbar(array $toolbar): MainChart
416 | {
417 | $this->toolbar = $toolbar;
418 |
419 | $this->setOption([
420 | 'chart' => [
421 | 'toolbar' => $toolbar,
422 | ],
423 | ]);
424 |
425 | return $this;
426 | }
427 |
428 | public function getToolbar(): array
429 | {
430 | return $this->toolbar;
431 | }
432 |
433 | public function setWidth(int|string|null $width): MainChart
434 | {
435 | $this->width = $width;
436 |
437 | $this->setOption([
438 | 'chart' => [
439 | 'width' => $width,
440 | ],
441 | ]);
442 |
443 | return $this;
444 | }
445 |
446 | public function getWidth(): int|string|null
447 | {
448 | return $this->width;
449 | }
450 |
451 | public function setZoom(array $zoom): MainChart
452 | {
453 | $this->zoom = $zoom;
454 |
455 | $this->setOption([
456 | 'chart' => [
457 | 'zoom' => $zoom,
458 | ],
459 | ]);
460 |
461 | return $this;
462 | }
463 |
464 | public function getZoom(): array
465 | {
466 | return $this->zoom;
467 | }
468 | }
469 |
--------------------------------------------------------------------------------
/src/Options/DataLabels.php:
--------------------------------------------------------------------------------
1 | dataLabelsEnabled = $dataLabelsEnabled;
32 |
33 | $this->setOption([
34 | 'dataLabels' => [
35 | 'enabled' => $dataLabelsEnabled,
36 | ],
37 | ]);
38 |
39 | return $this;
40 | }
41 |
42 | public function getDataLabelsEnabled(): bool
43 | {
44 | return $this->dataLabelsEnabled;
45 | }
46 |
47 | public function setDataLabelsEnabledOnSeries(array $dataLabelsEnabledOnSeries): Chart
48 | {
49 | $this->dataLabelsEnabledOnSeries = $dataLabelsEnabledOnSeries;
50 |
51 | $this->setOption([
52 | 'dataLabels' => [
53 | 'enabledOnSeries' => $dataLabelsEnabledOnSeries,
54 | ],
55 | ]);
56 |
57 | return $this;
58 | }
59 |
60 | public function getDataLabelsEnabledOnSeries(): array
61 | {
62 | return $this->dataLabelsEnabledOnSeries;
63 | }
64 |
65 | public function setDataLabelsFormatter(mixed $dataLabelsFormatter): Chart
66 | {
67 | $this->dataLabelsFormatter = $dataLabelsFormatter;
68 |
69 | $this->setOption([
70 | 'dataLabels' => [
71 | 'formatter' => $dataLabelsFormatter,
72 | ],
73 | ]);
74 |
75 | return $this;
76 | }
77 |
78 | public function getDataLabelsFormatter(): mixed
79 | {
80 | return $this->dataLabelsFormatter;
81 | }
82 |
83 | public function setDataLabelsTextAnchor(string $dataLabelsTextAnchor): Chart
84 | {
85 | $this->dataLabelsTextAnchor = $dataLabelsTextAnchor;
86 |
87 | $this->setOption([
88 | 'dataLabels' => [
89 | 'textAnchor' => $dataLabelsTextAnchor,
90 | ],
91 | ]);
92 |
93 | return $this;
94 | }
95 |
96 | public function getDataLabelsTextAnchor(): string
97 | {
98 | return $this->dataLabelsTextAnchor;
99 | }
100 |
101 | public function setDataLabelsDistributed(bool $dataLabelsDistributed): Chart
102 | {
103 | $this->dataLabelsDistributed = $dataLabelsDistributed;
104 |
105 | $this->setOption([
106 | 'dataLabels' => [
107 | 'distributed' => $dataLabelsDistributed,
108 | ],
109 | ]);
110 |
111 | return $this;
112 | }
113 |
114 | public function getDataLabelsDistributed(): bool
115 | {
116 | return $this->dataLabelsDistributed;
117 | }
118 |
119 | public function setDataLabelsOffsetX(int $dataLabelsOffsetX): Chart
120 | {
121 | $this->dataLabelsOffsetX = $dataLabelsOffsetX;
122 |
123 | $this->setOption([
124 | 'dataLabels' => [
125 | 'offsetX' => $dataLabelsOffsetX,
126 | ],
127 | ]);
128 |
129 | return $this;
130 | }
131 |
132 | public function getDataLabelsOffsetX(): int
133 | {
134 | return $this->dataLabelsOffsetX;
135 | }
136 |
137 | public function setDataLabelsOffsetY(int $dataLabelsOffsetY): Chart
138 | {
139 | $this->dataLabelsOffsetY = $dataLabelsOffsetY;
140 |
141 | $this->setOption([
142 | 'dataLabels' => [
143 | 'offsetY' => $dataLabelsOffsetY,
144 | ],
145 | ]);
146 |
147 | return $this;
148 | }
149 |
150 | public function getDataLabelsOffsetY(): int
151 | {
152 | return $this->dataLabelsOffsetY;
153 | }
154 |
155 | public function setDataLabelsStyle(array $dataLabelsStyle): Chart
156 | {
157 | $this->dataLabelsStyle = $dataLabelsStyle;
158 |
159 | $this->setOption([
160 | 'dataLabels' => [
161 | 'style' => $dataLabelsStyle,
162 | ],
163 | ]);
164 |
165 | return $this;
166 | }
167 |
168 | public function getDataLabelsStyle(): array
169 | {
170 | return $this->dataLabelsStyle;
171 | }
172 |
173 | public function setDataLabelsBackground(array $dataLabelsBackground): Chart
174 | {
175 | $this->dataLabelsBackground = $dataLabelsBackground;
176 |
177 | $this->setOption([
178 | 'dataLabels' => [
179 | 'enabled' => $dataLabelsBackground,
180 | ],
181 | ]);
182 |
183 | return $this;
184 | }
185 |
186 | public function getDataLabelsBackground(): array
187 | {
188 | return $this->dataLabelsBackground;
189 | }
190 |
191 | public function setDataLabelsDropShadow(array $dataLabelsDropShadow): Chart
192 | {
193 | $this->dataLabelsDropShadow = $dataLabelsDropShadow;
194 |
195 | $this->setOption([
196 | 'dataLabels' => [
197 | 'dropShadow' => $dataLabelsDropShadow,
198 | ],
199 | ]);
200 |
201 | return $this;
202 | }
203 |
204 | public function getDataLabelsDropShadow(): array
205 | {
206 | return $this->dataLabelsDropShadow;
207 | }
208 | }
209 |
--------------------------------------------------------------------------------
/src/Options/Fill.php:
--------------------------------------------------------------------------------
1 | fillColors = $fillColors;
24 |
25 | $this->setOption([
26 | 'fill' => [
27 | 'colors' => $fillColors,
28 | ],
29 | ]);
30 |
31 | return $this;
32 | }
33 |
34 | public function getFillColors(): array
35 | {
36 | return $this->fillColors;
37 | }
38 |
39 | public function setFillOpacity(int|float $fillOpacity): Chart
40 | {
41 | $this->fillOpacity = $fillOpacity;
42 |
43 | $this->setOption([
44 | 'fill' => [
45 | 'opacity' => $fillOpacity,
46 | ],
47 | ]);
48 |
49 | return $this;
50 | }
51 |
52 | public function getFillOpacity(): int|float
53 | {
54 | return $this->fillOpacity;
55 | }
56 |
57 | public function setFillType(string $fillType): Chart
58 | {
59 | $this->fillType = $fillType;
60 |
61 | $this->setOption([
62 | 'fill' => [
63 | 'type' => $fillType,
64 | ],
65 | ]);
66 |
67 | return $this;
68 | }
69 |
70 | public function getFillType(): string
71 | {
72 | return $this->fillType;
73 | }
74 |
75 | public function setFillGradient(array $fillGradient): Chart
76 | {
77 | $this->fillGradient = $fillGradient;
78 |
79 | $this->setOption([
80 | 'fill' => [
81 | 'gradient' => $fillGradient,
82 | ],
83 | ]);
84 |
85 | return $this;
86 | }
87 |
88 | public function getFillGradient(): array
89 | {
90 | return $this->fillGradient;
91 | }
92 |
93 | public function setFillImage(array $fillImage): Chart
94 | {
95 | $this->fillImage = $fillImage;
96 |
97 | $this->setOption([
98 | 'fill' => [
99 | 'image' => $fillImage,
100 | ],
101 | ]);
102 |
103 | return $this;
104 | }
105 |
106 | public function getFillImage(): array
107 | {
108 | return $this->fillImage;
109 | }
110 |
111 | public function setFillPattern(array $fillPattern): Chart
112 | {
113 | $this->fillPattern = $fillPattern;
114 |
115 | $this->setOption([
116 | 'fill' => [
117 | 'pattern' => $fillPattern,
118 | ],
119 | ]);
120 |
121 | return $this;
122 | }
123 |
124 | public function getFillPattern(): array
125 | {
126 | return $this->fillPattern;
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/src/Options/ForecastDataPoints.php:
--------------------------------------------------------------------------------
1 | forecastDataPointsCount = $forecastDataPointsCount;
20 |
21 | $this->setOption([
22 | 'forecastDataPoints' => [
23 | 'count' => $forecastDataPointsCount,
24 | ],
25 | ]);
26 |
27 | return $this;
28 | }
29 |
30 | public function getForecastDataPointsCount(): int
31 | {
32 | return $this->forecastDataPointsCount;
33 | }
34 |
35 | public function setForecastDataPointsFillOpacity(int|float $forecastDataPointsFillOpacity): Chart
36 | {
37 | $this->forecastDataPointsFillOpacity = $forecastDataPointsFillOpacity;
38 |
39 | $this->setOption([
40 | 'forecastDataPoints' => [
41 | 'fillOpacity' => $forecastDataPointsFillOpacity,
42 | ],
43 | ]);
44 |
45 | return $this;
46 | }
47 |
48 | public function getForecastDataPointsFillOpacity(): int|float
49 | {
50 | return $this->forecastDataPointsFillOpacity;
51 | }
52 |
53 | public function setForecastDataPointsStrokeWidth(int $forecastDataPointsStrokeWidth): Chart
54 | {
55 | $this->forecastDataPointsStrokeWidth = $forecastDataPointsStrokeWidth;
56 |
57 | $this->setOption([
58 | 'forecastDataPoints' => [
59 | 'strokeWidth' => $forecastDataPointsStrokeWidth,
60 | ],
61 | ]);
62 |
63 | return $this;
64 | }
65 |
66 | public function getForecastDataPointsStrokeWidth(): int
67 | {
68 | return $this->forecastDataPointsStrokeWidth;
69 | }
70 |
71 | public function setForecastDataPointsDashArray(int $forecastDataPointsDashArray): Chart
72 | {
73 | $this->forecastDataPointsDashArray = $forecastDataPointsDashArray;
74 |
75 | $this->setOption([
76 | 'forecastDataPoints' => [
77 | 'dashArray' => $forecastDataPointsDashArray,
78 | ],
79 | ]);
80 |
81 | return $this;
82 | }
83 |
84 | public function getForecastDataPointsDashArray(): int
85 | {
86 | return $this->forecastDataPointsDashArray;
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/src/Options/Grid.php:
--------------------------------------------------------------------------------
1 | gridShow = $gridShow;
30 |
31 | $this->setOption([
32 | 'grid' => [
33 | 'show' => $gridShow,
34 | ],
35 | ]);
36 |
37 | return $this;
38 | }
39 |
40 | public function getGridShow(): bool
41 | {
42 | return $this->gridShow;
43 | }
44 |
45 | public function setGridBorderColor(string $gridBorderColor): Chart
46 | {
47 | $this->gridBorderColor = $gridBorderColor;
48 |
49 | $this->setOption([
50 | 'grid' => [
51 | 'borderColor' => $gridBorderColor,
52 | ],
53 | ]);
54 |
55 | return $this;
56 | }
57 |
58 | public function getGridBorderColor(): string
59 | {
60 | return $this->gridBorderColor;
61 | }
62 |
63 | public function setGridStrokeDashArray(int $gridStrokeDashArray): Chart
64 | {
65 | $this->gridStrokeDashArray = $gridStrokeDashArray;
66 |
67 | $this->setOption([
68 | 'grid' => [
69 | 'strokeDashArray' => $gridStrokeDashArray,
70 | ],
71 | ]);
72 |
73 | return $this;
74 | }
75 |
76 | public function getGridStrokeDashArray(): int
77 | {
78 | return $this->gridStrokeDashArray;
79 | }
80 |
81 | public function setGridPosition(string $gridPosition): Chart
82 | {
83 | $this->gridPosition = $gridPosition;
84 |
85 | $this->setOption([
86 | 'grid' => [
87 | 'position' => $gridPosition,
88 | ],
89 | ]);
90 |
91 | return $this;
92 | }
93 |
94 | public function getGridPosition(): string
95 | {
96 | return $this->gridPosition;
97 | }
98 |
99 | public function setGridXaxis(array $gridXaxis): Chart
100 | {
101 | $this->gridXaxis = $gridXaxis;
102 |
103 | $this->setOption([
104 | 'grid' => [
105 | 'xaxis' => $gridXaxis,
106 | ],
107 | ]);
108 |
109 | return $this;
110 | }
111 |
112 | public function getGridXaxis(): array
113 | {
114 | return $this->gridXaxis;
115 | }
116 |
117 | public function setGridYaxis(array $gridYaxis): Chart
118 | {
119 | $this->gridYaxis = $gridYaxis;
120 |
121 | $this->setOption([
122 | 'grid' => [
123 | 'yaxis' => $gridYaxis,
124 | ],
125 | ]);
126 |
127 | return $this;
128 | }
129 |
130 | public function getGridYaxis(): array
131 | {
132 | return $this->gridYaxis;
133 | }
134 |
135 | public function setGridRow(array $gridRow): Chart
136 | {
137 | $this->gridRow = $gridRow;
138 |
139 | $this->setOption([
140 | 'grid' => [
141 | 'row' => $gridRow,
142 | ],
143 | ]);
144 |
145 | return $this;
146 | }
147 |
148 | public function getGridRow():array
149 | {
150 | return $this->gridRow;
151 | }
152 |
153 | public function setGridColumn(array $gridColumn): Chart
154 | {
155 | $this->gridColumn = $gridColumn;
156 |
157 | $this->setOption([
158 | 'grid' => [
159 | 'column' => $gridColumn,
160 | ],
161 | ]);
162 |
163 | return $this;
164 | }
165 |
166 | public function getGridColumn(): array
167 | {
168 | return $this->gridColumn;
169 | }
170 |
171 | public function setGridPadding(array $gridPadding): Chart
172 | {
173 | $this->gridPadding = $gridPadding;
174 |
175 | $this->setOption([
176 | 'grid' => [
177 | 'padding' => $gridPadding,
178 | ],
179 | ]);
180 |
181 | return $this;
182 | }
183 |
184 | public function getGridPadding(): array
185 | {
186 | return $this->gridPadding;
187 | }
188 | }
189 |
--------------------------------------------------------------------------------
/src/Options/Legend.php:
--------------------------------------------------------------------------------
1 | legendShow = $legendShow;
58 |
59 | $this->setOption([
60 | 'legend' => [
61 | 'show' => $legendShow,
62 | ],
63 | ]);
64 |
65 | return $this;
66 | }
67 |
68 | public function getLegendShow(): bool
69 | {
70 | return $this->legendShow;
71 | }
72 |
73 | public function setLegendShowForSingleSeries(bool $legendShowForSingleSeries): Chart
74 | {
75 | $this->legendShowForSingleSeries = $legendShowForSingleSeries;
76 |
77 | $this->setOption([
78 | 'legend' => [
79 | 'showForSingleSeries' => $legendShowForSingleSeries,
80 | ],
81 | ]);
82 |
83 | return $this;
84 | }
85 |
86 | public function getLegendShowForSingleSeries(): bool
87 | {
88 | return $this->legendShowForSingleSeries;
89 | }
90 |
91 | public function setLegendShowForNullSeries(bool $legendShowForNullSeries): Chart
92 | {
93 | $this->legendShowForNullSeries = $legendShowForNullSeries;
94 |
95 | $this->setOption([
96 | 'legend' => [
97 | 'showForNullSeries' => $legendShowForNullSeries,
98 | ],
99 | ]);
100 |
101 | return $this;
102 | }
103 |
104 | public function getLegendShowForNullSeries(): bool
105 | {
106 | return $this->legendShowForNullSeries;
107 | }
108 |
109 | public function setLegendShowForZeroSeries(bool $legendShowForZeroSeries): Chart
110 | {
111 | $this->legendShowForZeroSeries = $legendShowForZeroSeries;
112 |
113 | $this->setOption([
114 | 'legend' => [
115 | 'showForZeroSeries' => $legendShowForZeroSeries,
116 | ],
117 | ]);
118 |
119 | return $this;
120 | }
121 |
122 | public function getLegendShowForZeroSeries(): bool
123 | {
124 | return $this->legendShowForZeroSeries;
125 | }
126 |
127 | public function setLegendPosition(string $legendPosition): Chart
128 | {
129 | $this->legendPosition = $legendPosition;
130 |
131 | $this->setOption([
132 | 'legend' => [
133 | 'position' => $legendPosition,
134 | ],
135 | ]);
136 |
137 | return $this;
138 | }
139 |
140 | public function getLegendPosition(): string
141 | {
142 | return $this->legendPosition;
143 | }
144 |
145 | public function setLegendHorizontalAlign(string $legendHorizontalAlign): Chart
146 | {
147 | $this->legendHorizontalAlign = $legendHorizontalAlign;
148 |
149 | $this->setOption([
150 | 'legend' => [
151 | 'horizontalAlign' => $legendHorizontalAlign,
152 | ],
153 | ]);
154 |
155 | return $this;
156 | }
157 |
158 | public function getLegendHorizontalAlign(): string
159 | {
160 | return $this->legendHorizontalAlign;
161 | }
162 |
163 | public function setLegendFloating(bool $legendFloating): Chart
164 | {
165 | $this->legendFloating = $legendFloating;
166 |
167 | $this->setOption([
168 | 'legend' => [
169 | 'floating' => $legendFloating,
170 | ],
171 | ]);
172 |
173 | return $this;
174 | }
175 |
176 | public function getLegendFloating(): bool
177 | {
178 | return $this->legendFloating;
179 | }
180 |
181 | public function setLegendFontSize(string $legendFontSize): Chart
182 | {
183 | $this->legendFontSize = $legendFontSize;
184 |
185 | $this->setOption([
186 | 'legend' => [
187 | 'fontSize' => $legendFontSize,
188 | ],
189 | ]);
190 |
191 | return $this;
192 | }
193 |
194 | public function getLegendFontSize(): string
195 | {
196 | return $this->legendFontSize;
197 | }
198 |
199 | public function setLegendFontFamily(string $legendFontFamily): Chart
200 | {
201 | $this->legendFontFamily = $legendFontFamily;
202 |
203 | $this->setOption([
204 | 'legend' => [
205 | 'fontFamily' => $legendFontFamily,
206 | ],
207 | ]);
208 |
209 | return $this;
210 | }
211 |
212 | public function getLegendFontFamily(): string
213 | {
214 | return $this->legendFontFamily;
215 | }
216 |
217 | public function setLegendFontWeight(int|string $legendFontWeight): Chart
218 | {
219 | $this->legendFontWeight = $legendFontWeight;
220 |
221 | $this->setOption([
222 | 'legend' => [
223 | 'fontWeight' => $legendFontWeight,
224 | ],
225 | ]);
226 |
227 | return $this;
228 | }
229 |
230 | public function getLegendFontWeight(): int|string
231 | {
232 | return $this->legendFontWeight;
233 | }
234 |
235 | public function setLegendFormatter(mixed $legendFormatter): Chart
236 | {
237 | $this->legendFormatter = $legendFormatter;
238 |
239 | $this->setOption([
240 | 'legend' => [
241 | 'formatter' => $legendFormatter,
242 | ],
243 | ]);
244 |
245 | return $this;
246 | }
247 |
248 | public function getLegendFormatter(): mixed
249 | {
250 | return $this->legendFormatter;
251 | }
252 |
253 | public function setLegendInverseOrder(string $legendInverseOrder): Chart
254 | {
255 | $this->legendInverseOrder = $legendInverseOrder;
256 |
257 | $this->setOption([
258 | 'legend' => [
259 | 'inverseOrder' => $legendInverseOrder,
260 | ],
261 | ]);
262 |
263 | return $this;
264 | }
265 |
266 | public function getLegendInverseOrder(): string
267 | {
268 | return $this->legendInverseOrder;
269 | }
270 |
271 | public function setLegendWidth(int $legendWidth): Chart
272 | {
273 | $this->legendWidth = $legendWidth;
274 |
275 | $this->setOption([
276 | 'legend' => [
277 | 'width' => $legendWidth,
278 | ],
279 | ]);
280 |
281 | return $this;
282 | }
283 |
284 | public function getLegendWidth(): int
285 | {
286 | return $this->legendWidth;
287 | }
288 |
289 | public function setLegendHeight(int $legendHeight): Chart
290 | {
291 | $this->legendHeight = $legendHeight;
292 |
293 | $this->setOption([
294 | 'legend' => [
295 | 'height' => $legendHeight,
296 | ],
297 | ]);
298 |
299 | return $this;
300 | }
301 |
302 | public function getLegendHeight(): int
303 | {
304 | return $this->legendHeight;
305 | }
306 |
307 | public function setLegendTooltipHoverFormatter(mixed $legendTooltipHoverFormatter): Chart
308 | {
309 | $this->legendTooltipHoverFormatter = $legendTooltipHoverFormatter;
310 |
311 | $this->setOption([
312 | 'legend' => [
313 | 'tooltipHoverFormatter' => $legendTooltipHoverFormatter,
314 | ],
315 | ]);
316 |
317 | return $this;
318 | }
319 |
320 | public function getLegendTooltipHoverFormatter(): mixed
321 | {
322 | return $this->legendTooltipHoverFormatter;
323 | }
324 |
325 | public function setLegendCustomLegendItems(array $legendCustomLegendItems): Chart
326 | {
327 | $this->legendCustomLegendItems = $legendCustomLegendItems;
328 |
329 | $this->setOption([
330 | 'legend' => [
331 | 'customLegendItems' => $legendCustomLegendItems,
332 | ],
333 | ]);
334 |
335 | return $this;
336 | }
337 |
338 | public function getLegendCustomLegendItems(): array
339 | {
340 | return $this->legendCustomLegendItems;
341 | }
342 |
343 | public function setLegendOffsetX(int $legendOffsetX): Chart
344 | {
345 | $this->legendOffsetX = $legendOffsetX;
346 |
347 | $this->setOption([
348 | 'legend' => [
349 | 'offsetX' => $legendOffsetX,
350 | ],
351 | ]);
352 |
353 | return $this;
354 | }
355 |
356 | public function getLegendOffsetX(): int
357 | {
358 | return $this->legendOffsetX;
359 | }
360 |
361 | public function setLegendOffsetY(int $legendOffsetY): Chart
362 | {
363 | $this->legendOffsetY = $legendOffsetY;
364 |
365 | $this->setOption([
366 | 'legend' => [
367 | 'offsetY' => $legendOffsetY,
368 | ],
369 | ]);
370 |
371 | return $this;
372 | }
373 |
374 | public function getLegendOffsetY():int
375 | {
376 | return $this->legendOffsetY;
377 | }
378 |
379 | public function setLegendLabels(array $legendLabels): Chart
380 | {
381 | $this->legendLabels = $legendLabels;
382 |
383 | $this->setOption([
384 | 'legend' => [
385 | 'labels' => $legendLabels,
386 | ],
387 | ]);
388 |
389 | return $this;
390 | }
391 |
392 | public function getLegendLabels(): array
393 | {
394 | return $this->legendLabels;
395 | }
396 |
397 | public function setLegendMarkers(array $legendMarkers): Chart
398 | {
399 | $this->legendMarkers = $legendMarkers;
400 |
401 | $this->setOption([
402 | 'legend' => [
403 | 'markers' => $legendMarkers,
404 | ],
405 | ]);
406 |
407 | return $this;
408 | }
409 |
410 | public function getLegendMarkers(): array
411 | {
412 | return $this->legendMarkers;
413 | }
414 |
415 | public function setLegendItemMargin(array $legendItemMargin): Chart
416 | {
417 | $this->legendItemMargin = $legendItemMargin;
418 |
419 | $this->setOption([
420 | 'legend' => [
421 | 'itemMargin' => $legendItemMargin,
422 | ],
423 | ]);
424 |
425 | return $this;
426 | }
427 |
428 | public function getLegendItemMargin(): array
429 | {
430 | return $this->legendItemMargin;
431 | }
432 |
433 | public function setLegendOnItemClick(array $legendOnItemClick): Chart
434 | {
435 | $this->legendOnItemClick = $legendOnItemClick;
436 |
437 | $this->setOption([
438 | 'legend' => [
439 | 'onItemClick' => $legendOnItemClick,
440 | ],
441 | ]);
442 |
443 | return $this;
444 | }
445 |
446 | public function getLegendOnItemClick(): array
447 | {
448 | return $this->legendOnItemClick;
449 | }
450 |
451 | public function setLegendOnItemHover(array $legendOnItemHover): Chart
452 | {
453 | $this->legendOnItemHover = $legendOnItemHover;
454 |
455 | $this->setOption([
456 | 'legend' => [
457 | 'onItemHover' => $legendOnItemHover,
458 | ],
459 | ]);
460 |
461 | return $this;
462 | }
463 |
464 | public function getLegendOnItemHover(): array
465 | {
466 | return $this->legendOnItemHover;
467 | }
468 | }
469 |
--------------------------------------------------------------------------------
/src/Options/Markers.php:
--------------------------------------------------------------------------------
1 | '',
41 | 'sizeOffset' => 3,
42 | ];
43 |
44 | public function setMarkersSize(int $markersSize): Chart
45 | {
46 | $this->markersSize = $markersSize;
47 |
48 | $this->setOption([
49 | 'markers' => [
50 | 'size' => $markersSize,
51 | ],
52 | ]);
53 |
54 | return $this;
55 | }
56 |
57 | public function getMarkersSize(): int
58 | {
59 | return $this->markersSize;
60 | }
61 |
62 | public function setMarkersColors(array $markersColors): Chart
63 | {
64 | $this->markersColors = $markersColors;
65 |
66 | $this->setOption([
67 | 'markers' => [
68 | 'colors' => $markersColors,
69 | ],
70 | ]);
71 |
72 | return $this;
73 | }
74 |
75 | public function getMarkersColors(): array
76 | {
77 | return $this->markersColors;
78 | }
79 |
80 | public function setMarkersStrokeColors(string|array $markersStrokeColors): Chart
81 | {
82 | $this->markersStrokeColors = $markersStrokeColors;
83 |
84 | $this->setOption([
85 | 'markers' => [
86 | 'strokeColors' => $markersStrokeColors,
87 | ],
88 | ]);
89 |
90 | return $this;
91 | }
92 |
93 | public function getMarkersStrokeColors(): string|array
94 | {
95 | return $this->markersStrokeColors;
96 | }
97 |
98 | public function setMarkersStrokeWidth(int|array $markersStrokeWidth): Chart
99 | {
100 | $this->markersStrokeWidth = $markersStrokeWidth;
101 |
102 | $this->setOption([
103 | 'markers' => [
104 | 'strokeWidth' => $markersStrokeWidth,
105 | ],
106 | ]);
107 |
108 | return $this;
109 | }
110 |
111 | public function getMarkersStrokeWidth(): int|array
112 | {
113 | return $this->markersStrokeWidth;
114 | }
115 |
116 | public function setMarkersStrokeOpacity(int|float|array $markersStrokeOpacity): Chart
117 | {
118 | $this->markersStrokeOpacity = $markersStrokeOpacity;
119 |
120 | $this->setOption([
121 | 'markers' => [
122 | 'strokeOpacity' => $markersStrokeOpacity,
123 | ],
124 | ]);
125 |
126 | return $this;
127 | }
128 |
129 | public function getMarkersStrokeOpacity(): int|float|array
130 | {
131 | return $this->markersStrokeOpacity;
132 | }
133 |
134 | public function setMarkersStrokeDashArray(int|array $markersStrokeDashArray): Chart
135 | {
136 | $this->markersStrokeDashArray = $markersStrokeDashArray;
137 |
138 | $this->setOption([
139 | 'markers' => [
140 | 'strokeDashArray' => $markersStrokeDashArray,
141 | ],
142 | ]);
143 |
144 | return $this;
145 | }
146 |
147 | public function getMarkersStrokeDashArray(): int|array
148 | {
149 | return $this->markersStrokeDashArray;
150 | }
151 |
152 | public function setMarkersFillOpacity(int|float|array $markersFillOpacity): Chart
153 | {
154 | $this->markersFillOpacity = $markersFillOpacity;
155 |
156 | $this->setOption([
157 | 'markers' => [
158 | 'fillOpacity' => $markersFillOpacity,
159 | ],
160 | ]);
161 |
162 | return $this;
163 | }
164 |
165 | public function getMarkersFillOpacity(): int|float|array
166 | {
167 | return $this->markersFillOpacity;
168 | }
169 |
170 | public function setMarkersDiscrete(array $markersDiscrete): Chart
171 | {
172 | $this->markersDiscrete = $markersDiscrete;
173 |
174 | $this->setOption([
175 | 'markers' => [
176 | 'discrete' => $markersDiscrete,
177 | ],
178 | ]);
179 |
180 | return $this;
181 | }
182 |
183 | public function getMarkersDiscrete(): array
184 | {
185 | return $this->markersDiscrete;
186 | }
187 |
188 | public function setMarkersShape(string $markersShape): Chart
189 | {
190 | $this->markersShape = $markersShape;
191 |
192 | $this->setOption([
193 | 'markers' => [
194 | 'shape' => $markersShape,
195 | ],
196 | ]);
197 |
198 | return $this;
199 | }
200 |
201 | public function getMarkersShape(): string
202 | {
203 | return $this->markersShape;
204 | }
205 |
206 | public function setMarkersRadius(int $markersRadius): Chart
207 | {
208 | $this->markersRadius = $markersRadius;
209 |
210 | $this->setOption([
211 | 'markers' => [
212 | 'radius' => $markersRadius,
213 | ],
214 | ]);
215 |
216 | return $this;
217 | }
218 |
219 | public function getMarkersRadius(): int
220 | {
221 | return $this->markersRadius;
222 | }
223 |
224 | public function setMarkersOffsetX(int $markersOffsetX): Chart
225 | {
226 | $this->markersOffsetX = $markersOffsetX;
227 |
228 | $this->setOption([
229 | 'markers' => [
230 | 'offsetX' => $markersOffsetX,
231 | ],
232 | ]);
233 |
234 | return $this;
235 | }
236 |
237 | public function getMarkersOffsetX(): int
238 | {
239 | return $this->markersOffsetX;
240 | }
241 |
242 | public function setMarkersOffsetY(int $markersOffsetY): Chart
243 | {
244 | $this->markersOffsetY = $markersOffsetY;
245 |
246 | $this->setOption([
247 | 'markers' => [
248 | 'offsetY' => $markersOffsetY,
249 | ],
250 | ]);
251 |
252 | return $this;
253 | }
254 |
255 | public function getMarkersOffsetY(): int
256 | {
257 | return $this->markersOffsetY;
258 | }
259 |
260 | public function setMarkersOnClick(mixed $markersOnClick): Chart
261 | {
262 | $this->markersOnClick = $markersOnClick;
263 |
264 | $this->setOption([
265 | 'markers' => [
266 | 'onClick' => $markersOnClick,
267 | ],
268 | ]);
269 |
270 | return $this;
271 | }
272 |
273 | public function getMarkersOnClick(): mixed
274 | {
275 | return $this->markersOnClick;
276 | }
277 |
278 | public function setMarkersOnDblClick(mixed $markersOnDblClick): Chart
279 | {
280 | $this->markersOnDblClick = $markersOnDblClick;
281 |
282 | $this->setOption([
283 | 'markers' => [
284 | 'onDblClick' => $markersOnDblClick,
285 | ],
286 | ]);
287 |
288 | return $this;
289 | }
290 |
291 | public function getMarkersOnDblClick(): mixed
292 | {
293 | return $this->markersOnDblClick;
294 | }
295 |
296 | public function setMarkersShowNullDataPoints(bool $markersShowNullDataPoints): Chart
297 | {
298 | $this->markersShowNullDataPoints = $markersShowNullDataPoints;
299 |
300 | $this->setOption([
301 | 'markers' => [
302 | 'showNullDataPoints' => $markersShowNullDataPoints,
303 | ],
304 | ]);
305 |
306 | return $this;
307 | }
308 |
309 | public function getMarkersShowNullDataPoints(): bool
310 | {
311 | return $this->markersShowNullDataPoints;
312 | }
313 |
314 | public function setMarkersHover(array $markersHover): Chart
315 | {
316 | $this->markersHover = $markersHover;
317 |
318 | $this->setOption([
319 | 'markers' => [
320 | 'hover' => $markersHover,
321 | ],
322 | ]);
323 |
324 | return $this;
325 | }
326 |
327 | public function getMarkersHover(): array
328 | {
329 | return $this->markersHover;
330 | }
331 | }
332 |
--------------------------------------------------------------------------------
/src/Options/NoData.php:
--------------------------------------------------------------------------------
1 | noDataText = $noDataText;
24 |
25 | $this->setOption([
26 | 'noData' => [
27 | 'text' => $noDataText,
28 | ],
29 | ]);
30 |
31 | return $this;
32 | }
33 |
34 | public function getNoDataText(): string
35 | {
36 | return $this->noDataText;
37 | }
38 |
39 | public function setNoDataAlign(string $noDataAlign): Chart
40 | {
41 | $this->noDataAlign = $noDataAlign;
42 |
43 | $this->setOption([
44 | 'noData' => [
45 | 'align' => $noDataAlign,
46 | ],
47 | ]);
48 |
49 | return $this;
50 | }
51 |
52 | public function getNoDataAlign(): string
53 | {
54 | return $this->noDataAlign;
55 | }
56 |
57 | public function setNoDataVerticalAlign(string $noDataVerticalAlign): Chart
58 | {
59 | $this->noDataVerticalAlign = $noDataVerticalAlign;
60 |
61 | $this->setOption([
62 | 'noData' => [
63 | 'verticalAlign' => $noDataVerticalAlign,
64 | ],
65 | ]);
66 |
67 | return $this;
68 | }
69 |
70 | public function getNoDataVerticalAlign(): string
71 | {
72 | return $this->noDataVerticalAlign;
73 | }
74 |
75 | public function setNoDataOffsetX(int $noDataOffsetX): Chart
76 | {
77 | $this->noDataOffsetX = $noDataOffsetX;
78 |
79 | $this->setOption([
80 | 'noData' => [
81 | 'offsetX' => $noDataOffsetX,
82 | ],
83 | ]);
84 |
85 | return $this;
86 | }
87 |
88 | public function getNoDataOffsetX(): int
89 | {
90 | return $this->noDataOffsetX;
91 | }
92 |
93 | public function setNoDataOffsetY(int $noDataOffsetY): Chart
94 | {
95 | $this->noDataOffsetY = $noDataOffsetY;
96 |
97 | $this->setOption([
98 | 'noData' => [
99 | 'offsetY' => $noDataOffsetY,
100 | ],
101 | ]);
102 |
103 | return $this;
104 | }
105 |
106 | public function getNoDataOffsetY(): int
107 | {
108 | return $this->noDataOffsetY;
109 | }
110 |
111 | public function setNoDataStyle(array $noDataStyle): Chart
112 | {
113 | $this->noDataStyle = $noDataStyle;
114 |
115 | $this->setOption([
116 | 'noData' => [
117 | 'style' => $noDataStyle,
118 | ],
119 | ]);
120 |
121 | return $this;
122 | }
123 |
124 | public function getNoDataStyle(): array
125 | {
126 | return $this->noDataStyle;
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/src/Options/PlotOptions.php:
--------------------------------------------------------------------------------
1 | false,
13 | ];
14 |
15 | public array $bubble = [];
16 |
17 | public array $candlestick = [];
18 |
19 | public array $boxPlot = [];
20 |
21 | public array $heatmap = [];
22 |
23 | public array $treemap = [];
24 |
25 | public array $pie = [];
26 |
27 | public array $polarArea = [];
28 |
29 | public array $radar = [];
30 |
31 | public array $radialBar = [];
32 |
33 | public function setArea(string $area): Chart
34 | {
35 | $this->area = $area;
36 |
37 | $this->setOption([
38 | 'plotOptions' => [
39 | 'area' => $area,
40 | ],
41 | ]);
42 |
43 | return $this;
44 | }
45 |
46 | public function getArea(): string
47 | {
48 | return $this->area;
49 | }
50 |
51 | public function setBar(array $bar): Chart
52 | {
53 | $this->bar = $bar;
54 |
55 | $this->setOption([
56 | 'plotOptions' => [
57 | 'bar' => $bar,
58 | ],
59 | ]);
60 |
61 | return $this;
62 | }
63 |
64 | public function getBar(): array
65 | {
66 | return $this->bar;
67 | }
68 |
69 | public function setBubble(array $bubble): Chart
70 | {
71 | $this->bubble = $bubble;
72 |
73 | $this->setOption([
74 | 'plotOptions' => [
75 | 'bubble' => $bubble,
76 | ],
77 | ]);
78 |
79 | return $this;
80 | }
81 |
82 | public function getBubble(): array
83 | {
84 | return $this->bubble;
85 | }
86 |
87 | public function setCandlestick(array $candlestick): Chart
88 | {
89 | $this->candlestick = $candlestick;
90 |
91 | $this->setOption([
92 | 'plotOptions' => [
93 | 'candlestick' => $candlestick,
94 | ],
95 | ]);
96 |
97 | return $this;
98 | }
99 |
100 | public function getCandlestick(): array
101 | {
102 | return $this->candlestick;
103 | }
104 |
105 | public function setBoxPlot(array $boxPlot): Chart
106 | {
107 | $this->boxPlot = $boxPlot;
108 |
109 | $this->setOption([
110 | 'plotOptions' => [
111 | 'boxPlot' => $boxPlot,
112 | ],
113 | ]);
114 |
115 | return $this;
116 | }
117 |
118 | public function getBoxPlot(): array
119 | {
120 | return $this->boxPlot;
121 | }
122 |
123 | public function setHeatmap(array $heatmap): Chart
124 | {
125 | $this->heatmap = $heatmap;
126 |
127 | $this->setOption([
128 | 'plotOptions' => [
129 | 'heatmap' => $heatmap,
130 | ],
131 | ]);
132 |
133 | return $this;
134 | }
135 |
136 | public function getHeatmap(): array
137 | {
138 | return $this->heatmap;
139 | }
140 |
141 | public function setTreemap(array $treemap): Chart
142 | {
143 | $this->treemap = $treemap;
144 |
145 | $this->setOption([
146 | 'plotOptions' => [
147 | 'treemap' => $treemap,
148 | ],
149 | ]);
150 |
151 | return $this;
152 | }
153 |
154 | public function getTreemap(): array
155 | {
156 | return $this->treemap;
157 | }
158 |
159 | public function setPie(array $pie): Chart
160 | {
161 | $this->pie = $pie;
162 |
163 | $this->setOption([
164 | 'plotOptions' => [
165 | 'pie' => $pie,
166 | ],
167 | ]);
168 |
169 | return $this;
170 | }
171 |
172 | public function getPie(): array
173 | {
174 | return $this->pie;
175 | }
176 |
177 | public function setPolarArea(array $polarArea): Chart
178 | {
179 | $this->polarArea = $polarArea;
180 |
181 | $this->setOption([
182 | 'plotOptions' => [
183 | 'polarArea' => $polarArea,
184 | ],
185 | ]);
186 |
187 | return $this;
188 | }
189 |
190 | public function getPolarArea(): array
191 | {
192 | return $this->polarArea;
193 | }
194 |
195 | public function setRadar(array $radar): Chart
196 | {
197 | $this->radar = $radar;
198 |
199 | $this->setOption([
200 | 'plotOptions' => [
201 | 'radar' => $radar,
202 | ],
203 | ]);
204 |
205 | return $this;
206 | }
207 |
208 | public function getRadar(): array
209 | {
210 | return $this->radar;
211 | }
212 |
213 | public function setRadialBar(array $radialBar): Chart
214 | {
215 | $this->radialBar = $radialBar;
216 |
217 | $this->setOption([
218 | 'plotOptions' => [
219 | 'radialBar' => $radialBar,
220 | ],
221 | ]);
222 |
223 | return $this;
224 | }
225 |
226 | public function getRadialBar(): array
227 | {
228 | return $this->radialBar;
229 | }
230 |
231 | public function setHorizontal(bool $horizontal): Chart
232 | {
233 | $this->setBar([
234 | 'horizontal' => $horizontal,
235 | ]);
236 |
237 | return $this;
238 | }
239 |
240 | public function getHorizontal(): bool
241 | {
242 | return $this->getBar()['horizontal'];
243 | }
244 | }
245 |
--------------------------------------------------------------------------------
/src/Options/Responsive.php:
--------------------------------------------------------------------------------
1 | responsiveBreakpoint = $responsiveBreakpoint;
16 |
17 | $this->setOption([
18 | 'responsive' => [
19 | 'breakpoint' => $responsiveBreakpoint,
20 | ],
21 | ]);
22 |
23 | return $this;
24 | }
25 |
26 | public function getResponsiveBreakpoint(): int
27 | {
28 | return $this->responsiveBreakpoint;
29 | }
30 |
31 | public function setResponsiveOptions(object $responsiveOptions): Chart
32 | {
33 | $this->responsiveOptions = $responsiveOptions;
34 |
35 | $this->setOption([
36 | 'responsive' => [
37 | 'options' => $responsiveOptions,
38 | ],
39 | ]);
40 |
41 | return $this;
42 | }
43 |
44 | public function getResponsiveOptions(): object
45 | {
46 | return $this->responsiveOptions;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/src/Options/States.php:
--------------------------------------------------------------------------------
1 | statesNormal = $statesNormal;
18 |
19 | $this->setOption([
20 | 'states' => [
21 | 'normal' => $statesNormal,
22 | ],
23 | ]);
24 |
25 | return $this;
26 | }
27 |
28 | public function getStatesNormal(): array
29 | {
30 | return $this->statesNormal;
31 | }
32 |
33 | public function setStatesHover(array $statesHover): Chart
34 | {
35 | $this->statesHover = $statesHover;
36 |
37 | $this->setOption([
38 | 'states' => [
39 | 'hover' => $statesHover,
40 | ],
41 | ]);
42 |
43 | return $this;
44 | }
45 |
46 | public function getStatesHover(): array
47 | {
48 | return $this->statesHover;
49 | }
50 |
51 | public function setStatesActive(array $statesActive): Chart
52 | {
53 | $this->statesActive = $statesActive;
54 |
55 | $this->setOption([
56 | 'states' => [
57 | 'active' => $statesActive,
58 | ],
59 | ]);
60 |
61 | return $this;
62 | }
63 |
64 | public function getStatesActive(): array
65 | {
66 | return $this->statesActive;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/Options/Stroke.php:
--------------------------------------------------------------------------------
1 | strokeShow = $strokeShow;
24 |
25 | $this->setOption([
26 | 'stroke' => [
27 | 'show' => $strokeShow,
28 | ],
29 | ]);
30 |
31 | return $this;
32 | }
33 |
34 | public function getStrokeShow(): bool
35 | {
36 | return $this->strokeShow;
37 | }
38 |
39 | public function setStrokeCurve(string|array $strokeCurve): Chart
40 | {
41 | $this->strokeCurve = $strokeCurve;
42 |
43 | $this->setOption([
44 | 'stroke' => [
45 | 'curve' => $strokeCurve,
46 | ],
47 | ]);
48 |
49 | return $this;
50 | }
51 |
52 | public function getStrokeCurve(): string|array
53 | {
54 | return $this->strokeCurve;
55 | }
56 |
57 | public function setStrokeLineCap(string $strokeLineCap): Chart
58 | {
59 | $this->strokeLineCap = $strokeLineCap;
60 |
61 | $this->setOption([
62 | 'stroke' => [
63 | 'lineCap' => $strokeLineCap,
64 | ],
65 | ]);
66 |
67 | return $this;
68 | }
69 |
70 | public function getStrokeLineCap(): string
71 | {
72 | return $this->strokeLineCap;
73 | }
74 |
75 | public function setStrokeColors(array $strokeColors): Chart
76 | {
77 | $this->strokeColors = $strokeColors;
78 |
79 | $this->setOption([
80 | 'stroke' => [
81 | 'colors' => $strokeColors,
82 | ],
83 | ]);
84 |
85 | return $this;
86 | }
87 |
88 | public function getStrokeColors(): array
89 | {
90 | return $this->strokeColors;
91 | }
92 |
93 | public function setStrokeWidth(int|array $strokeWidth): Chart
94 | {
95 | $this->strokeWidth = $strokeWidth;
96 |
97 | $this->setOption([
98 | 'stroke' => [
99 | 'width' => $strokeWidth,
100 | ],
101 | ]);
102 |
103 | return $this;
104 | }
105 |
106 | public function getStrokeWidth(): int|array
107 | {
108 | return $this->strokeWidth;
109 | }
110 |
111 | public function setStrokeDashArray(int|array $strokeDashArray): Chart
112 | {
113 | $this->strokeDashArray = $strokeDashArray;
114 |
115 | $this->setOption([
116 | 'stroke' => [
117 | 'dashArray' => $strokeDashArray,
118 | ],
119 | ]);
120 |
121 | return $this;
122 | }
123 |
124 | public function getStrokeDashArray(): int|array
125 | {
126 | return $this->strokeDashArray;
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/src/Options/Subtitle.php:
--------------------------------------------------------------------------------
1 | subtitle = $subtitle;
26 |
27 | $this->setOption([
28 | 'subtitle' => [
29 | 'text' => $subtitle,
30 | ],
31 | ]);
32 |
33 | return $this;
34 | }
35 |
36 | public function getSubtitle(): string
37 | {
38 | return $this->subtitle;
39 | }
40 |
41 | public function setSubtitlePosition(string $subtitlePosition): Chart
42 | {
43 | $this->setSubtitleAlign($subtitlePosition);
44 |
45 | return $this;
46 | }
47 |
48 | public function getSubtitlePosition(): string
49 | {
50 | return $this->getSubtitleAlign();
51 | }
52 |
53 | public function setSubtitleAlign(string $subtitleAlign): Chart
54 | {
55 | $this->subtitleAlign = $subtitleAlign;
56 |
57 | $this->setOption([
58 | 'subtitle' => [
59 | 'align' => $subtitleAlign,
60 | ],
61 | ]);
62 |
63 | return $this;
64 | }
65 |
66 | public function getSubtitleAlign(): string
67 | {
68 | return $this->subtitleAlign;
69 | }
70 |
71 | public function setSubtitleMargin(int $subtitleMargin): Chart
72 | {
73 | $this->subtitleMargin = $subtitleMargin;
74 |
75 | $this->setOption([
76 | 'subtitle' => [
77 | 'margin' => $subtitleMargin,
78 | ],
79 | ]);
80 |
81 | return $this;
82 | }
83 |
84 | public function getSubtitleMargin(): int
85 | {
86 | return $this->subtitleMargin;
87 | }
88 |
89 | public function setSubtitleOffsetX(int $subtitleOffsetX): Chart
90 | {
91 | $this->subtitleOffsetX = $subtitleOffsetX;
92 |
93 | $this->setOption([
94 | 'subtitle' => [
95 | 'offsetX' => $subtitleOffsetX,
96 | ],
97 | ]);
98 |
99 | return $this;
100 | }
101 |
102 | public function getSubtitleOffsetX(): int
103 | {
104 | return $this->subtitleOffsetX;
105 | }
106 |
107 | public function setSubtitleOffsetY(int $subtitleOffsetY): Chart
108 | {
109 | $this->subtitleOffsetY = $subtitleOffsetY;
110 |
111 | $this->setOption([
112 | 'subtitle' => [
113 | 'offsetY' => $subtitleOffsetY,
114 | ],
115 | ]);
116 |
117 | return $this;
118 | }
119 |
120 | public function getSubtitleOffsetY(): int
121 | {
122 | return $this->subtitleOffsetY;
123 | }
124 |
125 | public function setSubtitleFloating(bool $subtitleFloating): Chart
126 | {
127 | $this->fontFamily = $subtitleFloating;
128 |
129 | $this->setOption([
130 | 'subtitle' => [
131 | 'floating' => $subtitleFloating,
132 | ],
133 | ]);
134 |
135 | return $this;
136 | }
137 |
138 | public function getSubtitleFloating(): bool
139 | {
140 | return $this->subtitleFloating;
141 | }
142 |
143 | public function setSubtitleStyle(array $subtitleStyle): Chart
144 | {
145 | $this->subtitleStyle = $subtitleStyle;
146 |
147 | $this->setOption([
148 | 'subtitle' => [
149 | 'style' => $subtitleStyle,
150 | ],
151 | ]);
152 |
153 | return $this;
154 | }
155 |
156 | public function getSubtitleStyle(): array
157 | {
158 | return $this->subtitleStyle;
159 | }
160 | }
161 |
--------------------------------------------------------------------------------
/src/Options/Theme.php:
--------------------------------------------------------------------------------
1 | themeMode = $themeMode;
18 |
19 | $this->setOption([
20 | 'theme' => [
21 | 'mode' => $themeMode,
22 | ],
23 | ]);
24 |
25 | return $this;
26 | }
27 |
28 | public function getThemeMode(): string
29 | {
30 | return $this->themeMode;
31 | }
32 |
33 | public function setThemePalette(string $themePalette): Chart
34 | {
35 | $this->themePalette = $themePalette;
36 |
37 | $this->setOption([
38 | 'theme' => [
39 | 'palette' => $themePalette,
40 | ],
41 | ]);
42 |
43 | return $this;
44 | }
45 |
46 | public function getThemePalette(): string
47 | {
48 | return $this->themePalette;
49 | }
50 |
51 | public function setThemeMonochrome(array $themeMonochrome): Chart
52 | {
53 | $this->themeMonochrome = $themeMonochrome;
54 |
55 | $this->setOption([
56 | 'theme' => [
57 | 'monochrome' => $themeMonochrome,
58 | ],
59 | ]);
60 |
61 | return $this;
62 | }
63 |
64 | public function getThemeMonochrome(): array
65 | {
66 | return $this->themeMonochrome;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/Options/Title.php:
--------------------------------------------------------------------------------
1 | title = $title;
26 |
27 | $this->setOption([
28 | 'title' => [
29 | 'text' => $title,
30 | ],
31 | ]);
32 |
33 | return $this;
34 | }
35 |
36 | public function getTitle(): string
37 | {
38 | return $this->title;
39 | }
40 |
41 | public function setTitlePosition(string $titlePosition): Chart
42 | {
43 | $this->setTitleAlign($titlePosition);
44 |
45 | return $this;
46 | }
47 |
48 | public function getTitlePosition(): string
49 | {
50 | return $this->getTitleAlign();
51 | }
52 |
53 | public function setTitleAlign(string $titleAlign): Chart
54 | {
55 | $this->titleAlign = $titleAlign;
56 |
57 | $this->setOption([
58 | 'title' => [
59 | 'align' => $titleAlign,
60 | ],
61 | ]);
62 |
63 | return $this;
64 | }
65 |
66 | public function getTitleAlign(): string
67 | {
68 | return $this->titleAlign;
69 | }
70 |
71 | public function setTitleMargin(int $titleMargin): Chart
72 | {
73 | $this->titleMargin = $titleMargin;
74 |
75 | $this->setOption([
76 | 'title' => [
77 | 'margin' => $titleMargin,
78 | ],
79 | ]);
80 |
81 | return $this;
82 | }
83 |
84 | public function getTitleMargin(): int
85 | {
86 | return $this->titleMargin;
87 | }
88 |
89 | public function setTitleOffsetX(int $titleOffsetX): Chart
90 | {
91 | $this->titleOffsetX = $titleOffsetX;
92 |
93 | $this->setOption([
94 | 'title' => [
95 | 'offsetX' => $titleOffsetX,
96 | ],
97 | ]);
98 |
99 | return $this;
100 | }
101 |
102 | public function getTitleOffsetX(): int
103 | {
104 | return $this->titleOffsetX;
105 | }
106 |
107 | public function setTitleOffsetY(int $titleOffsetY): Chart
108 | {
109 | $this->titleOffsetY = $titleOffsetY;
110 |
111 | $this->setOption([
112 | 'title' => [
113 | 'offsetY' => $titleOffsetY,
114 | ],
115 | ]);
116 |
117 | return $this;
118 | }
119 |
120 | public function getTitleOffsetY(): int
121 | {
122 | return $this->titleOffsetY;
123 | }
124 |
125 | public function setTitleFloating(bool $titleFloating): Chart
126 | {
127 | $this->titleFloating = $titleFloating;
128 |
129 | $this->setOption([
130 | 'title' => [
131 | 'floating' => $titleFloating,
132 | ],
133 | ]);
134 |
135 | return $this;
136 | }
137 |
138 | public function getTitleFloating(): bool
139 | {
140 | return $this->titleFloating;
141 | }
142 |
143 | public function setTitleStyle(array $titleStyle): Chart
144 | {
145 | $this->titleStyle = $titleStyle;
146 |
147 | $this->setOption([
148 | 'title' => [
149 | 'style' => $titleStyle,
150 | ],
151 | ]);
152 |
153 | return $this;
154 | }
155 |
156 | public function getTitleStyle(): array
157 | {
158 | return $this->titleStyle;
159 | }
160 | }
161 |
--------------------------------------------------------------------------------
/src/Options/Tooltip.php:
--------------------------------------------------------------------------------
1 | tooltipEnabled = $tooltipEnabled;
46 |
47 | $this->setOption([
48 | 'tooltip' => [
49 | 'enabled' => $tooltipEnabled,
50 | ],
51 | ]);
52 |
53 | return $this;
54 | }
55 |
56 | public function getTooltipEnabled(): bool
57 | {
58 | return $this->tooltipEnabled;
59 | }
60 |
61 | public function setTooltipEnabledOnSeries(array $tooltipEnabledOnSeries): Chart
62 | {
63 | $this->tooltipEnabledOnSeries = $tooltipEnabledOnSeries;
64 |
65 | $this->setOption([
66 | 'tooltip' => [
67 | 'enabledOnSeries' => $tooltipEnabledOnSeries,
68 | ],
69 | ]);
70 |
71 | return $this;
72 | }
73 |
74 | public function getTooltipEnabledOnSeries(): array
75 | {
76 | return $this->tooltipEnabledOnSeries;
77 | }
78 |
79 | public function setTooltipShared(bool $tooltipShared): Chart
80 | {
81 | $this->tooltipShared = $tooltipShared;
82 |
83 | $this->setOption([
84 | 'tooltip' => [
85 | 'shared' => $tooltipShared,
86 | ],
87 | ]);
88 |
89 | return $this;
90 | }
91 |
92 | public function getTooltipShared(): bool
93 | {
94 | return $this->tooltipShared;
95 | }
96 |
97 | public function setTooltipFollowCursor(bool $tooltipFollowCursor): Chart
98 | {
99 | $this->tooltipFollowCursor = $tooltipFollowCursor;
100 |
101 | $this->setOption([
102 | 'tooltip' => [
103 | 'followCursor' => $tooltipFollowCursor,
104 | ],
105 | ]);
106 |
107 | return $this;
108 | }
109 |
110 | public function getTooltipFollowCursor(): bool
111 | {
112 | return $this->tooltipFollowCursor;
113 | }
114 |
115 | public function setTooltipIntersect(bool $tooltipIntersect): Chart
116 | {
117 | $this->tooltipIntersect = $tooltipIntersect;
118 |
119 | $this->setOption([
120 | 'tooltip' => [
121 | 'intersect' => $tooltipIntersect,
122 | ],
123 | ]);
124 |
125 | return $this;
126 | }
127 |
128 | public function getTooltipIntersect(): bool
129 | {
130 | return $this->tooltipIntersect;
131 | }
132 |
133 | public function setTooltipInverseOrder(bool $tooltipInverseOrder): Chart
134 | {
135 | $this->tooltipInverseOrder = $tooltipInverseOrder;
136 |
137 | $this->setOption([
138 | 'tooltip' => [
139 | 'inverseOrder' => $tooltipInverseOrder,
140 | ],
141 | ]);
142 |
143 | return $this;
144 | }
145 |
146 | public function getTooltipInverseOrder(): bool
147 | {
148 | return $this->tooltipInverseOrder;
149 | }
150 |
151 | public function setTooltipCustom(mixed $tooltipCustom): Chart
152 | {
153 | $this->tooltipCustom = $tooltipCustom;
154 |
155 | $this->setOption([
156 | 'tooltip' => [
157 | 'custom' => $tooltipCustom,
158 | ],
159 | ]);
160 |
161 | return $this;
162 | }
163 |
164 | public function getTooltipCustom(): mixed
165 | {
166 | return $this->tooltipCustom;
167 | }
168 |
169 | public function setTooltipFillSeriesColor(bool $tooltipFillSeriesColor): Chart
170 | {
171 | $this->tooltipFillSeriesColor = $tooltipFillSeriesColor;
172 |
173 | $this->setOption([
174 | 'tooltip' => [
175 | 'fillSeriesColor' => $tooltipFillSeriesColor,
176 | ],
177 | ]);
178 |
179 | return $this;
180 | }
181 |
182 | public function getTooltipFillSeriesColor(): bool
183 | {
184 | return $this->tooltipFillSeriesColor;
185 | }
186 |
187 | public function setTooltipTheme(bool $tooltipTheme): Chart
188 | {
189 | $this->tooltipTheme = $tooltipTheme;
190 |
191 | $this->setOption([
192 | 'tooltip' => [
193 | 'theme' => $tooltipTheme,
194 | ],
195 | ]);
196 |
197 | return $this;
198 | }
199 |
200 | public function getTooltipTheme(): bool
201 | {
202 | return $this->tooltipTheme;
203 | }
204 |
205 | public function setTooltipStyle(array $tooltipStyle): Chart
206 | {
207 | $this->tooltipStyle = $tooltipStyle;
208 |
209 | $this->setOption([
210 | 'tooltip' => [
211 | 'style' => $tooltipStyle,
212 | ],
213 | ]);
214 |
215 | return $this;
216 | }
217 |
218 | public function getTooltipStyle(): array
219 | {
220 | return $this->tooltipStyle;
221 | }
222 |
223 | public function setTooltipOnDatasetHover(array $tooltipOnDatasetHover): Chart
224 | {
225 | $this->tooltipOnDatasetHover = $tooltipOnDatasetHover;
226 |
227 | $this->setOption([
228 | 'tooltip' => [
229 | 'onDatasetHover' => $tooltipOnDatasetHover,
230 | ],
231 | ]);
232 |
233 | return $this;
234 | }
235 |
236 | public function getTooltipOnDatasetHover(): array
237 | {
238 | return $this->tooltipOnDatasetHover;
239 | }
240 |
241 | public function setTooltipX(array $tooltipX): Chart
242 | {
243 | $this->tooltipX = $tooltipX;
244 |
245 | $this->setOption([
246 | 'tooltip' => [
247 | 'x' => $tooltipX,
248 | ],
249 | ]);
250 |
251 | return $this;
252 | }
253 |
254 | public function getTooltipX(): array
255 | {
256 | return $this->tooltipX;
257 | }
258 |
259 | public function setTooltipY(array $tooltipY): Chart
260 | {
261 | $this->tooltipY = $tooltipY;
262 |
263 | $this->setOption([
264 | 'tooltip' => [
265 | 'y' => $tooltipY,
266 | ],
267 | ]);
268 |
269 | return $this;
270 | }
271 |
272 | public function getTooltipY(): array
273 | {
274 | return $this->tooltipY;
275 | }
276 |
277 | public function setTooltipZ(array $tooltipZ): Chart
278 | {
279 | $this->tooltipZ = $tooltipZ;
280 |
281 | $this->setOption([
282 | 'tooltip' => [
283 | 'z' => $tooltipZ,
284 | ],
285 | ]);
286 |
287 | return $this;
288 | }
289 |
290 | public function getTooltipZ(): array
291 | {
292 | return $this->tooltipZ;
293 | }
294 |
295 | public function setTooltipMarker(array $tooltipMarker): Chart
296 | {
297 | $this->tooltipMarker = $tooltipMarker;
298 |
299 | $this->setOption([
300 | 'tooltip' => [
301 | 'marker' => $tooltipMarker,
302 | ],
303 | ]);
304 |
305 | return $this;
306 | }
307 |
308 | public function getTooltipMarker(): array
309 | {
310 | return $this->tooltipMarker;
311 | }
312 |
313 | /**
314 | * Set the items tooltip.
315 | *
316 | * @param string $tooltipItems
317 | *
318 | * @return this
319 | */
320 | public function setTooltipItems(array $tooltipItems): Chart
321 | {
322 | $this->tooltipItems = $tooltipItems;
323 |
324 | $this->setOption([
325 | 'tooltip' => [
326 | 'items' => $tooltipItems,
327 | ],
328 | ]);
329 |
330 | return $this;
331 | }
332 |
333 | public function getTooltipItems(): array
334 | {
335 | return $this->tooltipItems;
336 | }
337 |
338 | public function setTooltipFixed(array $tooltipFixed): Chart
339 | {
340 | $this->tooltipFixed = $tooltipFixed;
341 |
342 | $this->setOption([
343 | 'tooltip' => [
344 | 'fixed' => $tooltipFixed,
345 | ],
346 | ]);
347 |
348 | return $this;
349 | }
350 |
351 | public function getTooltipFixed(): array
352 | {
353 | return $this->tooltipFixed;
354 | }
355 | }
356 |
--------------------------------------------------------------------------------
/src/Options/Xaxis.php:
--------------------------------------------------------------------------------
1 | xaxisType = $xaxisType;
46 |
47 | $this->setOption([
48 | 'xaxis' => [
49 | 'type' => $xaxisType,
50 | ],
51 | ]);
52 |
53 | return $this;
54 | }
55 |
56 | public function getXaxisType(): string
57 | {
58 | return $this->xaxisType;
59 | }
60 |
61 | public function setXaxisCategories(array $xaxisCategories): Chart
62 | {
63 | $this->xaxisCategories = $xaxisCategories;
64 |
65 | $this->setOption([
66 | 'xaxis' => [
67 | 'categories' => $xaxisCategories,
68 | ],
69 | ]);
70 |
71 | return $this;
72 | }
73 |
74 | public function getXaxisCategories(): array
75 | {
76 | return $this->xaxisCategories;
77 | }
78 |
79 | public function setXaxisTickAmount(int $xaxisTickAmount): Chart
80 | {
81 | $this->xaxisTickAmount = $xaxisTickAmount;
82 |
83 | $this->setOption([
84 | 'xaxis' => [
85 | 'tickAmount' => $xaxisTickAmount,
86 | ],
87 | ]);
88 |
89 | return $this;
90 | }
91 |
92 | public function getXaxisTickAmount(): int
93 | {
94 | return $this->xaxisTickAmount;
95 | }
96 |
97 | public function setXaxisTickPlacement(string $xaxisTickPlacement): Chart
98 | {
99 | $this->xaxisTickPlacement = $xaxisTickPlacement;
100 |
101 | $this->setOption([
102 | 'xaxis' => [
103 | 'tickPlacement' => $xaxisTickPlacement,
104 | ],
105 | ]);
106 |
107 | return $this;
108 | }
109 |
110 | public function getXaxisTickPlacement(): string
111 | {
112 | return $this->xaxisTickPlacement;
113 | }
114 |
115 | public function setXaxisMin(int $xaxisMin): Chart
116 | {
117 | $this->xaxisMin = $xaxisMin;
118 |
119 | $this->setOption([
120 | 'xaxis' => [
121 | 'min' => $xaxisMin,
122 | ],
123 | ]);
124 |
125 | return $this;
126 | }
127 |
128 | public function getXaxisMin(): int
129 | {
130 | return $this->xaxisMin;
131 | }
132 |
133 | public function setXaxisMax(int $xaxisMax): Chart
134 | {
135 | $this->xaxisMax = $xaxisMax;
136 |
137 | $this->setOption([
138 | 'xaxis' => [
139 | 'max' => $xaxisMax,
140 | ],
141 | ]);
142 |
143 | return $this;
144 | }
145 |
146 | public function getXaxisMax(): int
147 | {
148 | return $this->xaxisMax;
149 | }
150 |
151 | public function setXaxisRange(int $xaxisRange): Chart
152 | {
153 | $this->xaxisRange = $xaxisRange;
154 |
155 | $this->setOption([
156 | 'xaxis' => [
157 | 'range' => $xaxisRange,
158 | ],
159 | ]);
160 |
161 | return $this;
162 | }
163 |
164 | public function getXaxisRange(): int
165 | {
166 | return $this->xaxisRange;
167 | }
168 |
169 | public function setXaxisFloating(bool $xaxisFloating): Chart
170 | {
171 | $this->xaxisFloating = $xaxisFloating;
172 |
173 | $this->setOption([
174 | 'xaxis' => [
175 | 'floating' => $xaxisFloating,
176 | ],
177 | ]);
178 |
179 | return $this;
180 | }
181 |
182 | public function getXaxisFloating(): bool
183 | {
184 | return $this->xaxisFloating;
185 | }
186 |
187 | public function setXaxisDecimalsInFloat(int $xaxisDecimalsInFloat): Chart
188 | {
189 | $this->xaxisDecimalsInFloat = $xaxisDecimalsInFloat;
190 |
191 | $this->setOption([
192 | 'xaxis' => [
193 | 'decimalsInFloat' => $xaxisDecimalsInFloat,
194 | ],
195 | ]);
196 |
197 | return $this;
198 | }
199 |
200 | public function getXaxisDecimalsInFloat(): int
201 | {
202 | return $this->xaxisDecimalsInFloat;
203 | }
204 |
205 | public function setXaxisOverwriteCategories(array $xaxisOverwriteCategories): Chart
206 | {
207 | $this->xaxisOverwriteCategories = $xaxisOverwriteCategories;
208 |
209 | $this->setOption([
210 | 'xaxis' => [
211 | 'overwriteCategories' => $xaxisOverwriteCategories,
212 | ],
213 | ]);
214 |
215 | return $this;
216 | }
217 |
218 | public function getXaxisOverwriteCategories(): array
219 | {
220 | return $this->xaxisOverwriteCategories;
221 | }
222 |
223 | public function setXaxisPosition(string $xaxisPosition): Chart
224 | {
225 | $this->xaxisPosition = $xaxisPosition;
226 |
227 | $this->setOption([
228 | 'xaxis' => [
229 | 'position' => $xaxisPosition,
230 | ],
231 | ]);
232 |
233 | return $this;
234 | }
235 |
236 | public function getXaxisPosition(): string
237 | {
238 | return $this->xaxisPosition;
239 | }
240 |
241 | public function setXaxisLabels(array $xaxisLabels): Chart
242 | {
243 | $this->xaxisLabels = $xaxisLabels;
244 |
245 | $this->setOption([
246 | 'xaxis' => [
247 | 'labels' => $xaxisLabels,
248 | ],
249 | ]);
250 |
251 | return $this;
252 | }
253 |
254 | public function getXaxisLabels(): array
255 | {
256 | return $this->xaxisLabels;
257 | }
258 |
259 | public function setXaxisAxisBorder(array $xaxisAxisBorder): Chart
260 | {
261 | $this->xaxisAxisBorder = $xaxisAxisBorder;
262 |
263 | $this->setOption([
264 | 'xaxis' => [
265 | 'axisBorder' => $xaxisAxisBorder,
266 | ],
267 | ]);
268 |
269 | return $this;
270 | }
271 |
272 | public function getXaxisAxisBorder(): array
273 | {
274 | return $this->xaxisAxisBorder;
275 | }
276 |
277 | public function setXaxisAxisTicks(array $xaxisAxisTicks): Chart
278 | {
279 | $this->xaxisAxisTicks = $xaxisAxisTicks;
280 |
281 | $this->setOption([
282 | 'xaxis' => [
283 | 'axisTicks' => $xaxisAxisTicks,
284 | ],
285 | ]);
286 |
287 | return $this;
288 | }
289 |
290 | public function getXaxisAxisTicks(): array
291 | {
292 | return $this->xaxisAxisTicks;
293 | }
294 |
295 | public function setXaxisTitle(array $xaxisTitle): Chart
296 | {
297 | $this->xaxisTitle = $xaxisTitle;
298 |
299 | $this->setOption([
300 | 'xaxis' => [
301 | 'title' => $xaxisTitle,
302 | ],
303 | ]);
304 |
305 | return $this;
306 | }
307 |
308 | public function getXaxisTitle(): array
309 | {
310 | return $this->xaxisTitle;
311 | }
312 |
313 | public function setXaxisCrosshairs(array $xaxisCrosshairs): Chart
314 | {
315 | $this->xaxisCrosshairs = $xaxisCrosshairs;
316 |
317 | $this->setOption([
318 | 'xaxis' => [
319 | 'crosshairs' => $xaxisCrosshairs,
320 | ],
321 | ]);
322 |
323 | return $this;
324 | }
325 |
326 | public function getXaxisCrosshairs(): array
327 | {
328 | return $this->xaxisCrosshairs;
329 | }
330 |
331 | public function setXaxisTooltip(array $xaxisTooltip): Chart
332 | {
333 | $this->xaxisTooltip = $xaxisTooltip;
334 |
335 | $this->setOption([
336 | 'xaxis' => [
337 | 'tooltip' => $xaxisTooltip,
338 | ],
339 | ]);
340 |
341 | return $this;
342 | }
343 |
344 | public function getXaxisTooltip(): array
345 | {
346 | return $this->xaxisTooltip;
347 | }
348 | }
349 |
--------------------------------------------------------------------------------
/src/Options/Yaxis.php:
--------------------------------------------------------------------------------
1 | yaxisShow = $yaxisShow;
52 |
53 | $this->setOption([
54 | 'yaxis' => [
55 | 'show' => $yaxisShow,
56 | ],
57 | ]);
58 |
59 | return $this;
60 | }
61 |
62 | public function getYaxisShow(): bool
63 | {
64 | return $this->yaxisShow;
65 | }
66 |
67 | public function setYaxisShowAlways(bool $yaxisShowAlways): Chart
68 | {
69 | $this->yaxisShowAlways = $yaxisShowAlways;
70 |
71 | $this->setOption([
72 | 'yaxis' => [
73 | 'showAlways' => $yaxisShowAlways,
74 | ],
75 | ]);
76 |
77 | return $this;
78 | }
79 |
80 | public function getYaxisShowAlways(): bool
81 | {
82 | return $this->yaxisShowAlways;
83 | }
84 |
85 | public function setYaxisShowForNullSeries(bool $yaxisShowForNullSeries): Chart
86 | {
87 | $this->yaxisShowForNullSeries = $yaxisShowForNullSeries;
88 |
89 | $this->setOption([
90 | 'yaxis' => [
91 | 'showForNullSeries' => $yaxisShowForNullSeries,
92 | ],
93 | ]);
94 |
95 | return $this;
96 | }
97 |
98 | public function getYaxisShowForNullSeries(): bool
99 | {
100 | return $this->yaxisShowForNullSeries;
101 | }
102 |
103 | public function setYaxisSeriesName(string $yaxisSeriesName): Chart
104 | {
105 | $this->yaxisSeriesName = $yaxisSeriesName;
106 |
107 | $this->setOption([
108 | 'yaxis' => [
109 | 'seriesName' => $yaxisSeriesName,
110 | ],
111 | ]);
112 |
113 | return $this;
114 | }
115 |
116 | public function getYaxisSeriesName(): string
117 | {
118 | return $this->yaxisSeriesName;
119 | }
120 |
121 | public function setYaxisOpposite(bool $yaxisOpposite): Chart
122 | {
123 | $this->yaxisOpposite = $yaxisOpposite;
124 |
125 | $this->setOption([
126 | 'yaxis' => [
127 | 'opposite' => $yaxisOpposite,
128 | ],
129 | ]);
130 |
131 | return $this;
132 | }
133 |
134 | public function getYaxisOpposite(): bool
135 | {
136 | return $this->yaxisOpposite;
137 | }
138 |
139 | public function setYaxisReversed(bool $yaxisReversed): Chart
140 | {
141 | $this->yaxisReversed = $yaxisReversed;
142 |
143 | $this->setOption([
144 | 'yaxis' => [
145 | 'reversed' => $yaxisReversed,
146 | ],
147 | ]);
148 |
149 | return $this;
150 | }
151 |
152 | public function getYaxisReversed(): bool
153 | {
154 | return $this->yaxisReversed;
155 | }
156 |
157 | public function setYaxisLogarithmic(bool $yaxisLogarithmic): Chart
158 | {
159 | $this->yaxisLogarithmic = $yaxisLogarithmic;
160 |
161 | $this->setOption([
162 | 'yaxis' => [
163 | 'logarithmic' => $yaxisLogarithmic,
164 | ],
165 | ]);
166 |
167 | return $this;
168 | }
169 |
170 | public function getYaxisLogarithmic(): bool
171 | {
172 | return $this->yaxisLogarithmic;
173 | }
174 |
175 | public function setYaxisLogBase(int $yaxisLogBase): Chart
176 | {
177 | $this->yaxisLogBase = $yaxisLogBase;
178 |
179 | $this->setOption([
180 | 'yaxis' => [
181 | 'logBase' => $yaxisLogBase,
182 | ],
183 | ]);
184 |
185 | return $this;
186 | }
187 |
188 | public function getYaxisLogBase(): int
189 | {
190 | return $this->yaxisLogBase;
191 | }
192 |
193 | public function setYaxisTickAmount(int $yaxisTickAmount): Chart
194 | {
195 | $this->yaxisTickAmount = $yaxisTickAmount;
196 |
197 | $this->setOption([
198 | 'yaxis' => [
199 | 'tickAmount' => $yaxisTickAmount,
200 | ],
201 | ]);
202 |
203 | return $this;
204 | }
205 |
206 | public function getYaxisTickAmount(): int
207 | {
208 | return $this->yaxisTickAmount;
209 | }
210 |
211 | public function setYaxisMin(int $yaxisMin): Chart
212 | {
213 | $this->yaxisMin = $yaxisMin;
214 |
215 | $this->setOption([
216 | 'yaxis' => [
217 | 'min' => $yaxisMin,
218 | ],
219 | ]);
220 |
221 | return $this;
222 | }
223 |
224 | public function getYaxisMin(): int
225 | {
226 | return $this->yaxisMin;
227 | }
228 |
229 | public function setYaxisMax(int $yaxisMax): Chart
230 | {
231 | $this->yaxisMax = $yaxisMax;
232 |
233 | $this->setOption([
234 | 'yaxis' => [
235 | 'max' => $yaxisMax,
236 | ],
237 | ]);
238 |
239 | return $this;
240 | }
241 |
242 | public function getYaxisMax(): int
243 | {
244 | return $this->yaxisMax;
245 | }
246 |
247 | public function setYaxisForceNiceScale(bool $yaxisForceNiceScale): Chart
248 | {
249 | $this->yaxisForceNiceScale = $yaxisForceNiceScale;
250 |
251 | $this->setOption([
252 | 'yaxis' => [
253 | 'forceNiceScale' => $yaxisForceNiceScale,
254 | ],
255 | ]);
256 |
257 | return $this;
258 | }
259 |
260 | public function getYaxisForceNiceScale(): bool
261 | {
262 | return $this->yaxisForceNiceScale;
263 | }
264 |
265 | public function setYaxisFloating(bool $yaxisFloating): Chart
266 | {
267 | $this->yaxisFloating = $yaxisFloating;
268 |
269 | $this->setOption([
270 | 'yaxis' => [
271 | 'floating' => $yaxisFloating,
272 | ],
273 | ]);
274 |
275 | return $this;
276 | }
277 |
278 | public function getYaxisFloating(): bool
279 | {
280 | return $this->yaxisFloating;
281 | }
282 |
283 | public function setYaxisDecimalsInFloat(int $yaxisDecimalsInFloat): Chart
284 | {
285 | $this->yaxisDecimalsInFloat = $yaxisDecimalsInFloat;
286 |
287 | $this->setOption([
288 | 'yaxis' => [
289 | 'decimalsInFloat' => $yaxisDecimalsInFloat,
290 | ],
291 | ]);
292 |
293 | return $this;
294 | }
295 |
296 | public function getYaxisDecimalsInFloat(): int
297 | {
298 | return $this->yaxisDecimalsInFloat;
299 | }
300 |
301 | public function setYaxisLabels(array $yaxisLabels): Chart
302 | {
303 | $this->yaxisLabels = $yaxisLabels;
304 |
305 | $this->setOption([
306 | 'yaxis' => [
307 | 'labels' => $yaxisLabels,
308 | ],
309 | ]);
310 |
311 | return $this;
312 | }
313 |
314 | public function getYaxisLabels(): array
315 | {
316 | return $this->yaxisLabels;
317 | }
318 |
319 | public function setYaxisAxisBorder(array $yaxisAxisBorder): Chart
320 | {
321 | $this->yaxisAxisBorder = $yaxisAxisBorder;
322 |
323 | $this->setOption([
324 | 'yaxis' => [
325 | 'axisBorder' => $yaxisAxisBorder,
326 | ],
327 | ]);
328 |
329 | return $this;
330 | }
331 |
332 | public function getYaxisAxisBorder(): array
333 | {
334 | return $this->yaxisAxisBorder;
335 | }
336 |
337 | public function setYaxisAxisTicks(array $yaxisAxisTicks): Chart
338 | {
339 | $this->yaxisAxisTicks = $yaxisAxisTicks;
340 |
341 | $this->setOption([
342 | 'yaxis' => [
343 | 'axisTicks' => $yaxisAxisTicks,
344 | ],
345 | ]);
346 |
347 | return $this;
348 | }
349 |
350 | public function getYaxisAxisTicks(): array
351 | {
352 | return $this->yaxisAxisTicks;
353 | }
354 |
355 | public function setYaxisTitle(array $yaxisTitle): Chart
356 | {
357 | $this->yaxisTitle = $yaxisTitle;
358 |
359 | $this->setOption([
360 | 'yaxis' => [
361 | 'title' => $yaxisTitle,
362 | ],
363 | ]);
364 |
365 | return $this;
366 | }
367 |
368 | public function getYaxisTitle(): array
369 | {
370 | return $this->yaxisTitle;
371 | }
372 |
373 | public function setYaxisCrosshairs(array $yaxisCrosshairs): Chart
374 | {
375 | $this->yaxisCrosshairs = $yaxisCrosshairs;
376 |
377 | $this->setOption([
378 | 'yaxis' => [
379 | 'crosshairs' => $yaxisCrosshairs,
380 | ],
381 | ]);
382 |
383 | return $this;
384 | }
385 |
386 | public function getYaxisCrosshairs(): array
387 | {
388 | return $this->yaxisCrosshairs;
389 | }
390 |
391 | public function setYaxisTooltip(array $yaxisTooltip): Chart
392 | {
393 | $this->yaxisTooltip = $yaxisTooltip;
394 |
395 | $this->setOption([
396 | 'yaxis' => [
397 | 'tooltip' => $yaxisTooltip,
398 | ],
399 | ]);
400 |
401 | return $this;
402 | }
403 |
404 | public function getYaxisTooltip(): array
405 | {
406 | return $this->yaxisTooltip;
407 | }
408 | }
409 |
--------------------------------------------------------------------------------
/src/Provider.php:
--------------------------------------------------------------------------------
1 | app->alias(Chart::class, 'apexcharts');
17 |
18 | $this->mergeConfigFrom(__DIR__ . '/Config/apexcharts.php', 'apexcharts');
19 | }
20 |
21 | /**
22 | * When this method is apply we have all laravel providers and methods available
23 | */
24 | public function boot(): void
25 | {
26 | $this->loadViewsFrom(__DIR__ . '/Views', 'apexcharts');
27 |
28 | $this->publishes([
29 | __DIR__ . '/Config/apexcharts.php' => config_path('apexcharts.php'),
30 | __DIR__ . '/Public' => public_path('vendor/apexcharts'),
31 | __DIR__ . '/Views' => resource_path('views/vendor/apexcharts'),
32 | ], 'apexcharts');
33 |
34 | $this->registerBladeDirectives();
35 | }
36 |
37 | public function registerBladeDirectives(): void
38 | {
39 | $this->callAfterResolving('blade.compiler', function (BladeCompiler $bladeCompiler) {
40 | $bladeCompiler->directive('apexchartsScripts', function ($expression) {
41 | return '{!! \Akaunting\Apexcharts\Chart::loadScript(' . $expression . ') !!}';
42 | });
43 | });
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/Public/locales/ar.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ar",
3 | "options": {
4 | "months": [
5 | "يناير",
6 | "فبراير",
7 | "مارس",
8 | "أبريل",
9 | "مايو",
10 | "يونيو",
11 | "يوليو",
12 | "أغسطس",
13 | "سبتمبر",
14 | "أكتوبر",
15 | "نوفمبر",
16 | "ديسمبر"
17 | ],
18 | "shortMonths": [
19 | "يناير",
20 | "فبراير",
21 | "مارس",
22 | "أبريل",
23 | "مايو",
24 | "يونيو",
25 | "يوليو",
26 | "أغسطس",
27 | "سبتمبر",
28 | "أكتوبر",
29 | "نوفمبر",
30 | "ديسمبر"
31 | ],
32 | "days": [
33 | "الأحد",
34 | "الإثنين",
35 | "الثلاثاء",
36 | "الأربعاء",
37 | "الخميس",
38 | "الجمعة",
39 | "السبت"
40 | ],
41 | "shortDays": [
42 | "أحد",
43 | "إثنين",
44 | "ثلاثاء",
45 | "أربعاء",
46 | "خميس",
47 | "جمعة",
48 | "سبت"
49 | ],
50 | "toolbar": {
51 | "exportToSVG": "تحميل بصيغة SVG",
52 | "exportToPNG": "تحميل بصيغة PNG",
53 | "exportToCSV": "تحميل بصيغة CSV",
54 | "menu": "القائمة",
55 | "selection": "تحديد",
56 | "selectionZoom": "تكبير التحديد",
57 | "zoomIn": "تكبير",
58 | "zoomOut": "تصغير",
59 | "pan": "تحريك",
60 | "reset": "إعادة التعيين"
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/Public/locales/ca.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ca",
3 | "options": {
4 | "months": [
5 | "Gener",
6 | "Febrer",
7 | "Març",
8 | "Abril",
9 | "Maig",
10 | "Juny",
11 | "Juliol",
12 | "Agost",
13 | "Setembre",
14 | "Octubre",
15 | "Novembre",
16 | "Desembre"
17 | ],
18 | "shortMonths": [
19 | "Gen.",
20 | "Febr.",
21 | "Març",
22 | "Abr.",
23 | "Maig",
24 | "Juny",
25 | "Jul.",
26 | "Ag.",
27 | "Set.",
28 | "Oct.",
29 | "Nov.",
30 | "Des."
31 | ],
32 | "days": [
33 | "Diumenge",
34 | "Dilluns",
35 | "Dimarts",
36 | "Dimecres",
37 | "Dijous",
38 | "Divendres",
39 | "Dissabte"
40 | ],
41 | "shortDays": ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"],
42 | "toolbar": {
43 | "exportToSVG": "Descarregar SVG",
44 | "exportToPNG": "Descarregar PNG",
45 | "exportToCSV": "Descarregar CSV",
46 | "menu": "Menú",
47 | "selection": "Seleccionar",
48 | "selectionZoom": "Seleccionar Zoom",
49 | "zoomIn": "Augmentar",
50 | "zoomOut": "Disminuir",
51 | "pan": "Navegació",
52 | "reset": "Reiniciar Zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/cs.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cs",
3 | "options": {
4 | "months": [
5 | "Leden",
6 | "Únor",
7 | "Březen",
8 | "Duben",
9 | "Květen",
10 | "Červen",
11 | "Červenec",
12 | "Srpen",
13 | "Září",
14 | "Říjen",
15 | "Listopad",
16 | "Prosinec"
17 | ],
18 | "shortMonths": [
19 | "Led",
20 | "Úno",
21 | "Bře",
22 | "Dub",
23 | "Kvě",
24 | "Čvn",
25 | "Čvc",
26 | "Srp",
27 | "Zář",
28 | "Říj",
29 | "Lis",
30 | "Pro"
31 | ],
32 | "days": [
33 | "Neděle",
34 | "Pondělí",
35 | "Úterý",
36 | "Středa",
37 | "Čtvrtek",
38 | "Pátek",
39 | "Sobota"
40 | ],
41 | "shortDays": ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"],
42 | "toolbar": {
43 | "exportToSVG": "Stáhnout SVG",
44 | "exportToPNG": "Stáhnout PNG",
45 | "exportToCSV": "Stáhnout CSV",
46 | "menu": "Menu",
47 | "selection": "Vybrat",
48 | "selectionZoom": "Zoom: Vybrat",
49 | "zoomIn": "Zoom: Přiblížit",
50 | "zoomOut": "Zoom: Oddálit",
51 | "pan": "Přesouvat",
52 | "reset": "Resetovat"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/de.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "de",
3 | "options": {
4 | "months": [
5 | "Januar",
6 | "Februar",
7 | "März",
8 | "April",
9 | "Mai",
10 | "Juni",
11 | "Juli",
12 | "August",
13 | "September",
14 | "Oktober",
15 | "November",
16 | "Dezember"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mär",
22 | "Apr",
23 | "Mai",
24 | "Jun",
25 | "Jul",
26 | "Aug",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dez"
31 | ],
32 | "days": [
33 | "Sonntag",
34 | "Montag",
35 | "Dienstag",
36 | "Mittwoch",
37 | "Donnerstag",
38 | "Freitag",
39 | "Samstag"
40 | ],
41 | "shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
42 | "toolbar": {
43 | "exportToSVG": "SVG speichern",
44 | "exportToPNG": "PNG speichern",
45 | "exportToCSV": "CSV speichern",
46 | "menu": "Menü",
47 | "selection": "Auswahl",
48 | "selectionZoom": "Auswahl vergrößern",
49 | "zoomIn": "Vergrößern",
50 | "zoomOut": "Verkleinern",
51 | "pan": "Verschieben",
52 | "reset": "Zoom zurücksetzen"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/el.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "el",
3 | "options": {
4 | "months": [
5 | "Ιανουάριος",
6 | "Φεβρουάριος",
7 | "Μάρτιος",
8 | "Απρίλιος",
9 | "Μάιος",
10 | "Ιούνιος",
11 | "Ιούλιος",
12 | "Αύγουστος",
13 | "Σεπτέμβριος",
14 | "Οκτώβριος",
15 | "Νοέμβριος",
16 | "Δεκέμβριος"
17 | ],
18 | "shortMonths": [
19 | "Ιαν",
20 | "Φευ",
21 | "Μαρ",
22 | "Απρ",
23 | "Μάι",
24 | "Ιουν",
25 | "Ιουλ",
26 | "Αυγ",
27 | "Σεπ",
28 | "Οκτ",
29 | "Νοε",
30 | "Δεκ"
31 | ],
32 | "days": [
33 | "Κυριακή",
34 | "Δευτέρα",
35 | "Τρίτη",
36 | "Τετάρτη",
37 | "Πέμπτη",
38 | "Παρασκευή",
39 | "Σάββατο"
40 | ],
41 | "shortDays": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
42 | "toolbar": {
43 | "exportToSVG": "Λήψη SVG",
44 | "exportToPNG": "Λήψη PNG",
45 | "exportToCSV": "Λήψη CSV",
46 | "menu": "Menu",
47 | "selection": "Επιλογή",
48 | "selectionZoom": "Μεγένθυση βάση επιλογής",
49 | "zoomIn": "Μεγένθυνση",
50 | "zoomOut": "Σμίκρυνση",
51 | "pan": "Μετατόπιση",
52 | "reset": "Επαναφορά μεγένθυνσης"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "en",
3 | "options": {
4 | "months": [
5 | "January",
6 | "February",
7 | "March",
8 | "April",
9 | "May",
10 | "June",
11 | "July",
12 | "August",
13 | "September",
14 | "October",
15 | "November",
16 | "December"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "May",
24 | "Jun",
25 | "Jul",
26 | "Aug",
27 | "Sep",
28 | "Oct",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Sunday",
34 | "Monday",
35 | "Tuesday",
36 | "Wednesday",
37 | "Thursday",
38 | "Friday",
39 | "Saturday"
40 | ],
41 | "shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
42 | "toolbar": {
43 | "exportToSVG": "Download SVG",
44 | "exportToPNG": "Download PNG",
45 | "exportToCSV": "Download CSV",
46 | "menu": "Menu",
47 | "selection": "Selection",
48 | "selectionZoom": "Selection Zoom",
49 | "zoomIn": "Zoom In",
50 | "zoomOut": "Zoom Out",
51 | "pan": "Panning",
52 | "reset": "Reset Zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "es",
3 | "options": {
4 | "months": [
5 | "Enero",
6 | "Febrero",
7 | "Marzo",
8 | "Abril",
9 | "Mayo",
10 | "Junio",
11 | "Julio",
12 | "Agosto",
13 | "Septiembre",
14 | "Octubre",
15 | "Noviembre",
16 | "Diciembre"
17 | ],
18 | "shortMonths": [
19 | "Ene",
20 | "Feb",
21 | "Mar",
22 | "Abr",
23 | "May",
24 | "Jun",
25 | "Jul",
26 | "Ago",
27 | "Sep",
28 | "Oct",
29 | "Nov",
30 | "Dic"
31 | ],
32 | "days": [
33 | "Domingo",
34 | "Lunes",
35 | "Martes",
36 | "Miércoles",
37 | "Jueves",
38 | "Viernes",
39 | "Sábado"
40 | ],
41 | "shortDays": ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
42 | "toolbar": {
43 | "exportToSVG": "Descargar SVG",
44 | "exportToPNG": "Descargar PNG",
45 | "exportToCSV": "Descargar CSV",
46 | "menu": "Menu",
47 | "selection": "Seleccionar",
48 | "selectionZoom": "Seleccionar Zoom",
49 | "zoomIn": "Aumentar",
50 | "zoomOut": "Disminuir",
51 | "pan": "Navegación",
52 | "reset": "Reiniciar Zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/et.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "et",
3 | "options": {
4 | "months": [
5 | "jaanuar",
6 | "veebruar",
7 | "märts",
8 | "aprill",
9 | "mai",
10 | "juuni",
11 | "juuli",
12 | "august",
13 | "september",
14 | "oktoober",
15 | "november",
16 | "detsember"
17 | ],
18 | "shortMonths": [
19 | "jaan",
20 | "veebr",
21 | "märts",
22 | "apr",
23 | "mai",
24 | "juuni",
25 | "juuli",
26 | "aug",
27 | "sept",
28 | "okt",
29 | "nov",
30 | "dets"
31 | ],
32 | "days": [
33 | "pühapäev",
34 | "esmaspäev",
35 | "teisipäev",
36 | "kolmapäev",
37 | "neljapäev",
38 | "reede",
39 | "laupäev"
40 | ],
41 | "shortDays": [
42 | "P",
43 | "E",
44 | "T",
45 | "K",
46 | "N",
47 | "R",
48 | "L"
49 | ],
50 | "toolbar": {
51 | "exportToSVG": "Lae alla SVG",
52 | "exportToPNG": "Lae alla PNG",
53 | "exportToCSV": "Lae alla CSV",
54 | "menu": "Menüü",
55 | "selection": "Valik",
56 | "selectionZoom": "Valiku suum",
57 | "zoomIn": "Suurenda",
58 | "zoomOut": "Vähenda",
59 | "pan": "Panoraamimine",
60 | "reset": "Lähtesta suum"
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/Public/locales/fa.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fa",
3 | "options": {
4 | "months": [
5 | "فروردین",
6 | "اردیبهشت",
7 | "خرداد",
8 | "تیر",
9 | "مرداد",
10 | "شهریور",
11 | "مهر",
12 | "آبان",
13 | "آذر",
14 | "دی",
15 | "بهمن",
16 | "اسفند"
17 | ],
18 | "shortMonths": [
19 | "فرو",
20 | "ارد",
21 | "خرد",
22 | "تیر",
23 | "مرد",
24 | "شهر",
25 | "مهر",
26 | "آبا",
27 | "آذر",
28 | "دی",
29 | "بهمـ",
30 | "اسفـ"
31 | ],
32 | "days": [
33 | "یکشنبه",
34 | "دوشنبه",
35 | "سه شنبه",
36 | "چهارشنبه",
37 | "پنجشنبه",
38 | "جمعه",
39 | "شنبه"
40 | ],
41 | "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"],
42 | "toolbar": {
43 | "exportToSVG": "دانلود SVG",
44 | "exportToPNG": "دانلود PNG",
45 | "exportToCSV": "دانلود CSV",
46 | "menu": "منو",
47 | "selection": "انتخاب",
48 | "selectionZoom": "بزرگنمایی انتخابی",
49 | "zoomIn": "بزرگنمایی",
50 | "zoomOut": "کوچکنمایی",
51 | "pan": "پیمایش",
52 | "reset": "بازنشانی بزرگنمایی"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/fi.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fi",
3 | "options": {
4 | "months": [
5 | "Tammikuu",
6 | "Helmikuu",
7 | "Maaliskuu",
8 | "Huhtikuu",
9 | "Toukokuu",
10 | "Kesäkuu",
11 | "Heinäkuu",
12 | "Elokuu",
13 | "Syyskuu",
14 | "Lokakuu",
15 | "Marraskuu",
16 | "Joulukuu"
17 | ],
18 | "shortMonths": [
19 | "Tammi",
20 | "Helmi",
21 | "Maalis",
22 | "Huhti",
23 | "Touko",
24 | "Kesä",
25 | "Heinä",
26 | "Elo",
27 | "Syys",
28 | "Loka",
29 | "Marras",
30 | "Joulu"
31 | ],
32 | "days": [
33 | "Sunnuntai",
34 | "Maanantai",
35 | "Tiistai",
36 | "Keskiviikko",
37 | "Torstai",
38 | "Perjantai",
39 | "Lauantai"
40 | ],
41 | "shortDays": ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"],
42 | "toolbar": {
43 | "exportToSVG": "Lataa SVG",
44 | "exportToPNG": "Lataa PNG",
45 | "exportToCSV": "Lataa CSV",
46 | "menu": "Valikko",
47 | "selection": "Valinta",
48 | "selectionZoom": "Valinnan zoomaus",
49 | "zoomIn": "Lähennä",
50 | "zoomOut": "Loitonna",
51 | "pan": "Panoroi",
52 | "reset": "Nollaa zoomaus"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fr",
3 | "options": {
4 | "months": [
5 | "janvier",
6 | "février",
7 | "mars",
8 | "avril",
9 | "mai",
10 | "juin",
11 | "juillet",
12 | "août",
13 | "septembre",
14 | "octobre",
15 | "novembre",
16 | "décembre"
17 | ],
18 | "shortMonths": [
19 | "janv.",
20 | "févr.",
21 | "mars",
22 | "avr.",
23 | "mai",
24 | "juin",
25 | "juill.",
26 | "août",
27 | "sept.",
28 | "oct.",
29 | "nov.",
30 | "déc."
31 | ],
32 | "days": [
33 | "dimanche",
34 | "lundi",
35 | "mardi",
36 | "mercredi",
37 | "jeudi",
38 | "vendredi",
39 | "samedi"
40 | ],
41 | "shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
42 | "toolbar": {
43 | "exportToSVG": "Télécharger au format SVG",
44 | "exportToPNG": "Télécharger au format PNG",
45 | "exportToCSV": "Télécharger au format CSV",
46 | "menu": "Menu",
47 | "selection": "Sélection",
48 | "selectionZoom": "Sélection et zoom",
49 | "zoomIn": "Zoomer",
50 | "zoomOut": "Dézoomer",
51 | "pan": "Navigation",
52 | "reset": "Réinitialiser le zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/he.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "he",
3 | "options": {
4 | "months": [
5 | "ינואר",
6 | "פברואר",
7 | "מרץ",
8 | "אפריל",
9 | "מאי",
10 | "יוני",
11 | "יולי",
12 | "אוגוסט",
13 | "ספטמבר",
14 | "אוקטובר",
15 | "נובמבר",
16 | "דצמבר"
17 | ],
18 | "shortMonths": [
19 | "ינו׳",
20 | "פבר׳",
21 | "מרץ",
22 | "אפר׳",
23 | "מאי",
24 | "יוני",
25 | "יולי",
26 | "אוג׳",
27 | "ספט׳",
28 | "אוק׳",
29 | "נוב׳",
30 | "דצמ׳"
31 | ],
32 | "days": [
33 | "ראשון",
34 | "שני",
35 | "שלישי",
36 | "רביעי",
37 | "חמישי",
38 | "שישי",
39 | "שבת"
40 | ],
41 | "shortDays": ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"],
42 | "toolbar": {
43 | "exportToSVG": "הורד SVG",
44 | "exportToPNG": "הורד PNG",
45 | "exportToCSV": "הורד CSV",
46 | "menu": "תפריט",
47 | "selection": "בחירה",
48 | "selectionZoom": "זום בחירה",
49 | "zoomIn": "הגדלה",
50 | "zoomOut": "הקטנה",
51 | "pan": "הזזה",
52 | "reset": "איפוס תצוגה"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/hi.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hi",
3 | "options": {
4 | "months": [
5 | "जनवरी",
6 | "फ़रवरी",
7 | "मार्च",
8 | "अप्रैल",
9 | "मई",
10 | "जून",
11 | "जुलाई",
12 | "अगस्त",
13 | "सितंबर",
14 | "अक्टूबर",
15 | "नवंबर",
16 | "दिसंबर"
17 | ],
18 | "shortMonths": [
19 | "जनवरी",
20 | "फ़रवरी",
21 | "मार्च",
22 | "अप्रैल",
23 | "मई",
24 | "जून",
25 | "जुलाई",
26 | "अगस्त",
27 | "सितंबर",
28 | "अक्टूबर",
29 | "नवंबर",
30 | "दिसंबर"
31 | ],
32 | "days": [
33 | "रविवार",
34 | "सोमवार",
35 | "मंगलवार",
36 | "बुधवार",
37 | "गुरुवार",
38 | "शुक्रवार",
39 | "शनिवार"
40 | ],
41 | "shortDays": ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"],
42 | "toolbar": {
43 | "exportToSVG": "निर्यात SVG",
44 | "exportToPNG": "निर्यात PNG",
45 | "exportToCSV": "निर्यात CSV",
46 | "menu": "सूची",
47 | "selection": "चयन",
48 | "selectionZoom": "ज़ूम करना",
49 | "zoomIn": "ज़ूम इन",
50 | "zoomOut": "ज़ूम आउट",
51 | "pan": "पैनिंग",
52 | "reset": "फिर से कायम करना"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/hr.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hr",
3 | "options": {
4 | "months": [
5 | "Siječanj",
6 | "Veljača",
7 | "Ožujak",
8 | "Travanj",
9 | "Svibanj",
10 | "Lipanj",
11 | "Srpanj",
12 | "Kolovoz",
13 | "Rujan",
14 | "Listopad",
15 | "Studeni",
16 | "Prosinac"
17 | ],
18 | "shortMonths": [
19 | "Sij",
20 | "Velj",
21 | "Ožu",
22 | "Tra",
23 | "Svi",
24 | "Lip",
25 | "Srp",
26 | "Kol",
27 | "Ruj",
28 | "Lis",
29 | "Stu",
30 | "Pro"
31 | ],
32 | "days": [
33 | "Nedjelja",
34 | "Ponedjeljak",
35 | "Utorak",
36 | "Srijeda",
37 | "Četvrtak",
38 | "Petak",
39 | "Subota"
40 | ],
41 | "shortDays": ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
42 | "toolbar": {
43 | "exportToSVG": "Preuzmi SVG",
44 | "exportToPNG": "Preuzmi PNG",
45 | "exportToCSV": "Preuzmi CSV",
46 | "menu": "Izbornik",
47 | "selection": "Odabir",
48 | "selectionZoom": "Odabirno povećanje",
49 | "zoomIn": "Uvećajte prikaz",
50 | "zoomOut": "Umanjite prikaz",
51 | "pan": "Pomicanje",
52 | "reset": "Povratak na zadani prikaz"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/hu.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hu",
3 | "options": {
4 | "months": [
5 | "január",
6 | "február",
7 | "március",
8 | "április",
9 | "május",
10 | "június",
11 | "július",
12 | "augusztus",
13 | "szeptember",
14 | "október",
15 | "november",
16 | "december"
17 | ],
18 | "shortMonths": [
19 | "jan",
20 | "feb",
21 | "mar",
22 | "ápr",
23 | "máj",
24 | "jún",
25 | "júl",
26 | "aug",
27 | "szept",
28 | "okt",
29 | "nov",
30 | "dec"
31 | ],
32 | "days": [
33 | "hétfő",
34 | "kedd",
35 | "szerda",
36 | "csütörtök",
37 | "péntek",
38 | "szombat",
39 | "vasárnap"
40 | ],
41 | "shortDays": [
42 | "H",
43 | "K",
44 | "Sze",
45 | "Cs",
46 | "P",
47 | "Szo",
48 | "V"
49 | ],
50 | "toolbar": {
51 | "exportToSVG": "Exportálás SVG-be",
52 | "exportToPNG": "Exportálás PNG-be",
53 | "exportToCSV": "Exportálás CSV-be",
54 | "menu": "Fő ajánlat",
55 | "download": "SVG letöltése",
56 | "selection": "Kiválasztás",
57 | "selectionZoom": "Nagyító kiválasztása",
58 | "zoomIn": "Nagyítás",
59 | "zoomOut": "Kicsinyítés",
60 | "pan": "Képcsúsztatás",
61 | "reset": "Nagyító visszaállítása"
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/Public/locales/hy.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hy",
3 | "options": {
4 | "months": [
5 | "Հունվար",
6 | "Փետրվար",
7 | "Մարտ",
8 | "Ապրիլ",
9 | "Մայիս",
10 | "Հունիս",
11 | "Հուլիս",
12 | "Օգոստոս",
13 | "Սեպտեմբեր",
14 | "Հոկտեմբեր",
15 | "Նոյեմբեր",
16 | "Դեկտեմբեր"
17 | ],
18 | "shortMonths": [
19 | "Հնվ",
20 | "Փտվ",
21 | "Մրտ",
22 | "Ապր",
23 | "Մյս",
24 | "Հնս",
25 | "Հլիս",
26 | "Օգս",
27 | "Սեպ",
28 | "Հոկ",
29 | "Նոյ",
30 | "Դեկ"
31 | ],
32 | "days": [
33 | "Կիրակի",
34 | "Երկուշաբթի",
35 | "Երեքշաբթի",
36 | "Չորեքշաբթի",
37 | "Հինգշաբթի",
38 | "Ուրբաթ",
39 | "Շաբաթ"
40 | ],
41 | "shortDays": ["Կիր", "Երկ", "Երք", "Չրք", "Հնգ", "Ուրբ", "Շբթ"],
42 | "toolbar": {
43 | "exportToSVG": "Բեռնել SVG",
44 | "exportToPNG": "Բեռնել PNG",
45 | "exportToCSV": "Բեռնել CSV",
46 | "menu": "Մենյու",
47 | "selection": "Ընտրված",
48 | "selectionZoom": "Ընտրված հատվածի խոշորացում",
49 | "zoomIn": "Խոշորացնել",
50 | "zoomOut": "Մանրացնել",
51 | "pan": "Տեղափոխում",
52 | "reset": "Բերել սկզբնական վիճակի"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/id.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "id",
3 | "options": {
4 | "months": [
5 | "Januari",
6 | "Februari",
7 | "Maret",
8 | "April",
9 | "Mei",
10 | "Juni",
11 | "Juli",
12 | "Agustus",
13 | "September",
14 | "Oktober",
15 | "November",
16 | "Desember"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Mei",
24 | "Jun",
25 | "Jul",
26 | "Agu",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Des"
31 | ],
32 | "days": ["Minggu", "Senin", "Selasa", "Rabu", "kamis", "Jumat", "Sabtu"],
33 | "shortDays": ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"],
34 | "toolbar": {
35 | "exportToSVG": "Unduh SVG",
36 | "exportToPNG": "Unduh PNG",
37 | "exportToCSV": "Unduh CSV",
38 | "menu": "Menu",
39 | "selection": "Pilihan",
40 | "selectionZoom": "Perbesar Pilihan",
41 | "zoomIn": "Perbesar",
42 | "zoomOut": "Perkecil",
43 | "pan": "Geser",
44 | "reset": "Atur Ulang Zoom"
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/Public/locales/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "it",
3 | "options": {
4 | "months": [
5 | "Gennaio",
6 | "Febbraio",
7 | "Marzo",
8 | "Aprile",
9 | "Maggio",
10 | "Giugno",
11 | "Luglio",
12 | "Agosto",
13 | "Settembre",
14 | "Ottobre",
15 | "Novembre",
16 | "Dicembre"
17 | ],
18 | "shortMonths": [
19 | "Gen",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Mag",
24 | "Giu",
25 | "Lug",
26 | "Ago",
27 | "Set",
28 | "Ott",
29 | "Nov",
30 | "Dic"
31 | ],
32 | "days": [
33 | "Domenica",
34 | "Lunedì",
35 | "Martedì",
36 | "Mercoledì",
37 | "Giovedì",
38 | "Venerdì",
39 | "Sabato"
40 | ],
41 | "shortDays": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
42 | "toolbar": {
43 | "exportToSVG": "Scarica SVG",
44 | "exportToPNG": "Scarica PNG",
45 | "exportToCSV": "Scarica CSV",
46 | "menu": "Menu",
47 | "selection": "Selezione",
48 | "selectionZoom": "Seleziona Zoom",
49 | "zoomIn": "Zoom In",
50 | "zoomOut": "Zoom Out",
51 | "pan": "Sposta",
52 | "reset": "Reimposta Zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/ja.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ja",
3 | "options": {
4 | "months": [
5 | "1月",
6 | "2月",
7 | "3月",
8 | "4月",
9 | "5月",
10 | "6月",
11 | "7月",
12 | "8月",
13 | "9月",
14 | "10月",
15 | "11月",
16 | "12月"
17 | ],
18 | "shortMonths": [
19 | "1月",
20 | "2月",
21 | "3月",
22 | "4月",
23 | "5月",
24 | "6月",
25 | "7月",
26 | "8月",
27 | "9月",
28 | "10月",
29 | "11月",
30 | "12月"
31 | ],
32 | "days": [
33 | "日曜日",
34 | "月曜日",
35 | "火曜日",
36 | "水曜日",
37 | "木曜日",
38 | "金曜日",
39 | "土曜日"
40 | ],
41 | "shortDays": ["日", "月", "火", "水", "木", "金", "土"],
42 | "toolbar": {
43 | "exportToSVG": "SVGダウンロード",
44 | "exportToPNG": "PNGダウンロード",
45 | "exportToCSV": "CSVダウンロード",
46 | "menu": "メニュー",
47 | "selection": "選択",
48 | "selectionZoom": "選択ズーム",
49 | "zoomIn": "拡大",
50 | "zoomOut": "縮小",
51 | "pan": "パン",
52 | "reset": "ズームリセット"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/ka.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ka",
3 | "options": {
4 | "months": [
5 | "იანვარი",
6 | "თებერვალი",
7 | "მარტი",
8 | "აპრილი",
9 | "მაისი",
10 | "ივნისი",
11 | "ივლისი",
12 | "აგვისტო",
13 | "სექტემბერი",
14 | "ოქტომბერი",
15 | "ნოემბერი",
16 | "დეკემბერი"
17 | ],
18 | "shortMonths": [
19 | "იან",
20 | "თებ",
21 | "მარ",
22 | "აპრ",
23 | "მაი",
24 | "ივნ",
25 | "ივლ",
26 | "აგვ",
27 | "სექ",
28 | "ოქტ",
29 | "ნოე",
30 | "დეკ"
31 | ],
32 | "days": [
33 | "კვირა",
34 | "ორშაბათი",
35 | "სამშაბათი",
36 | "ოთხშაბათი",
37 | "ხუთშაბათი",
38 | "პარასკევი",
39 | "შაბათი"
40 | ],
41 | "shortDays": ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"],
42 | "toolbar": {
43 | "exportToSVG": "გადმოქაჩე SVG",
44 | "exportToPNG": "გადმოქაჩე PNG",
45 | "exportToCSV": "გადმოქაჩე CSV",
46 | "menu": "მენიუ",
47 | "selection": "არჩევა",
48 | "selectionZoom": "არჩეულის გადიდება",
49 | "zoomIn": "გადიდება",
50 | "zoomOut": "დაპატარაება",
51 | "pan": "გადაჩოჩება",
52 | "reset": "გადიდების გაუქმება"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/ko.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ko",
3 | "options": {
4 | "months": [
5 | "1월",
6 | "2월",
7 | "3월",
8 | "4월",
9 | "5월",
10 | "6월",
11 | "7월",
12 | "8월",
13 | "9월",
14 | "10월",
15 | "11월",
16 | "12월"
17 | ],
18 | "shortMonths": [
19 | "1월",
20 | "2월",
21 | "3월",
22 | "4월",
23 | "5월",
24 | "6월",
25 | "7월",
26 | "8월",
27 | "9월",
28 | "10월",
29 | "11월",
30 | "12월"
31 | ],
32 | "days": [
33 | "일요일",
34 | "월요일",
35 | "화요일",
36 | "수요일",
37 | "목요일",
38 | "금요일",
39 | "토요일"
40 | ],
41 | "shortDays": ["일", "월", "화", "수", "목", "금", "토"],
42 | "toolbar": {
43 | "exportToSVG": "SVG 다운로드",
44 | "exportToPNG": "PNG 다운로드",
45 | "exportToCSV": "CSV 다운로드",
46 | "menu": "메뉴",
47 | "selection": "선택",
48 | "selectionZoom": "선택영역 확대",
49 | "zoomIn": "확대",
50 | "zoomOut": "축소",
51 | "pan": "패닝",
52 | "reset": "원래대로"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/lt.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lt",
3 | "options": {
4 | "months": [
5 | "Sausis",
6 | "Vasaris",
7 | "Kovas",
8 | "Balandis",
9 | "Gegužė",
10 | "Birželis",
11 | "Liepa",
12 | "Rugpjūtis",
13 | "Rugsėjis",
14 | "Spalis",
15 | "Lapkritis",
16 | "Gruodis"
17 | ],
18 | "shortMonths": [
19 | "Sau",
20 | "Vas",
21 | "Kov",
22 | "Bal",
23 | "Geg",
24 | "Bir",
25 | "Lie",
26 | "Rgp",
27 | "Rgs",
28 | "Spl",
29 | "Lap",
30 | "Grd"
31 | ],
32 | "days": [
33 | "Sekmadienis",
34 | "Pirmadienis",
35 | "Antradienis",
36 | "Trečiadienis",
37 | "Ketvirtadienis",
38 | "Penktadienis",
39 | "Šeštadienis"
40 | ],
41 | "shortDays": ["Sk", "Per", "An", "Tr", "Kt", "Pn", "Št"],
42 | "toolbar": {
43 | "exportToSVG": "Atsisiųsti SVG",
44 | "exportToPNG": "Atsisiųsti PNG",
45 | "exportToCSV": "Atsisiųsti CSV",
46 | "menu": "Menu",
47 | "selection": "Pasirinkimas",
48 | "selectionZoom": "Zoom: Pasirinkimas",
49 | "zoomIn": "Zoom: Priartinti",
50 | "zoomOut": "Zoom: Atitolinti",
51 | "pan": "Perkėlimas",
52 | "reset": "Atstatyti"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/lv.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lv",
3 | "options": {
4 | "months": [
5 | "janvāris",
6 | "februāris",
7 | "marts",
8 | "aprīlis",
9 | "maijs",
10 | "jūnijs",
11 | "jūlijs",
12 | "augusts",
13 | "septembris",
14 | "oktobris",
15 | "novembris",
16 | "decembris"
17 | ],
18 | "shortMonths": [
19 | "janv",
20 | "febr",
21 | "marts",
22 | "apr",
23 | "maijs",
24 | "jūn",
25 | "jūl",
26 | "aug",
27 | "sept",
28 | "okt",
29 | "nov",
30 | "dec"
31 | ],
32 | "days": [
33 | "svētdiena",
34 | "pirmdiena",
35 | "otrdiena",
36 | "trešdiena",
37 | "ceturtdiena",
38 | "piektdiena",
39 | "sestdiena"
40 | ],
41 | "shortDays": [
42 | "Sv",
43 | "P",
44 | "O",
45 | "T",
46 | "C",
47 | "P",
48 | "S"
49 | ],
50 | "toolbar": {
51 | "exportToSVG": "Lejuplādēt SVG",
52 | "exportToPNG": "Lejuplādēt PNG",
53 | "exportToCSV": "Lejuplādēt CSV",
54 | "menu": "Izvēlne",
55 | "selection": "Atlase",
56 | "selectionZoom": "Pietuvināt atlasi",
57 | "zoomIn": "Pietuvināt",
58 | "zoomOut": "Attālināt",
59 | "pan": "Pārvietoties diagrammā",
60 | "reset": "Atiestatīt pietuvinājumu"
61 | }
62 | }
63 | }
64 |
65 |
--------------------------------------------------------------------------------
/src/Public/locales/nb.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nb",
3 | "options": {
4 | "months": [
5 | "Januar",
6 | "Februar",
7 | "Mars",
8 | "April",
9 | "Mai",
10 | "Juni",
11 | "Juli",
12 | "August",
13 | "September",
14 | "Oktober",
15 | "November",
16 | "Desember"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Mai",
24 | "Jun",
25 | "Jul",
26 | "Aug",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Des"
31 | ],
32 | "days": [
33 | "Søndag",
34 | "Mandag",
35 | "Tirsdag",
36 | "Onsdag",
37 | "Torsdag",
38 | "Fredag",
39 | "Lørdag"
40 | ],
41 | "shortDays": ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"],
42 | "toolbar": {
43 | "exportToSVG": "Last ned SVG",
44 | "exportToPNG": "Last ned PNG",
45 | "exportToCSV": "Last ned CSV",
46 | "menu": "Menu",
47 | "selection": "Velg",
48 | "selectionZoom": "Zoom: Velg",
49 | "zoomIn": "Zoome inn",
50 | "zoomOut": "Zoome ut",
51 | "pan": "Skyving",
52 | "reset": "Start på nytt"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/nl.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nl",
3 | "options": {
4 | "months": [
5 | "Januari",
6 | "Februari",
7 | "Maart",
8 | "April",
9 | "Mei",
10 | "Juni",
11 | "Juli",
12 | "Augustus",
13 | "September",
14 | "Oktober",
15 | "November",
16 | "December"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mrt",
22 | "Apr",
23 | "Mei",
24 | "Jun",
25 | "Jul",
26 | "Aug",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Zondag",
34 | "Maandag",
35 | "Dinsdag",
36 | "Woensdag",
37 | "Donderdag",
38 | "Vrijdag",
39 | "Zaterdag"
40 | ],
41 | "shortDays": ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"],
42 | "toolbar": {
43 | "exportToSVG": "Download SVG",
44 | "exportToPNG": "Download PNG",
45 | "exportToCSV": "Download CSV",
46 | "menu": "Menu",
47 | "selection": "Selectie",
48 | "selectionZoom": "Zoom selectie",
49 | "zoomIn": "Zoom in",
50 | "zoomOut": "Zoom out",
51 | "pan": "Verplaatsen",
52 | "reset": "Standaardwaarden"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/pl.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pl",
3 | "options": {
4 | "months": [
5 | "Styczeń",
6 | "Luty",
7 | "Marzec",
8 | "Kwiecień",
9 | "Maj",
10 | "Czerwiec",
11 | "Lipiec",
12 | "Sierpień",
13 | "Wrzesień",
14 | "Październik",
15 | "Listopad",
16 | "Grudzień"
17 | ],
18 | "shortMonths": [
19 | "Sty",
20 | "Lut",
21 | "Mar",
22 | "Kwi",
23 | "Maj",
24 | "Cze",
25 | "Lip",
26 | "Sie",
27 | "Wrz",
28 | "Paź",
29 | "Lis",
30 | "Gru"
31 | ],
32 | "days": [
33 | "Niedziela",
34 | "Poniedziałek",
35 | "Wtorek",
36 | "Środa",
37 | "Czwartek",
38 | "Piątek",
39 | "Sobota"
40 | ],
41 | "shortDays": ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb"],
42 | "toolbar": {
43 | "exportToSVG": "Pobierz SVG",
44 | "exportToPNG": "Pobierz PNG",
45 | "exportToCSV": "Pobierz CSV",
46 | "menu": "Menu",
47 | "selection": "Wybieranie",
48 | "selectionZoom": "Zoom: Wybieranie",
49 | "zoomIn": "Zoom: Przybliż",
50 | "zoomOut": "Zoom: Oddal",
51 | "pan": "Przesuwanie",
52 | "reset": "Resetuj"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/pt-br.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pt-br",
3 | "options": {
4 | "months": [
5 | "Janeiro",
6 | "Fevereiro",
7 | "Março",
8 | "Abril",
9 | "Maio",
10 | "Junho",
11 | "Julho",
12 | "Agosto",
13 | "Setembro",
14 | "Outubro",
15 | "Novembro",
16 | "Dezembro"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Fev",
21 | "Mar",
22 | "Abr",
23 | "Mai",
24 | "Jun",
25 | "Jul",
26 | "Ago",
27 | "Set",
28 | "Out",
29 | "Nov",
30 | "Dez"
31 | ],
32 | "days": [
33 | "Domingo",
34 | "Segunda",
35 | "Terça",
36 | "Quarta",
37 | "Quinta",
38 | "Sexta",
39 | "Sábado"
40 | ],
41 | "shortDays": ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"],
42 | "toolbar": {
43 | "exportToSVG": "Baixar SVG",
44 | "exportToPNG": "Baixar PNG",
45 | "exportToCSV": "Baixar CSV",
46 | "menu": "Menu",
47 | "selection": "Selecionar",
48 | "selectionZoom": "Selecionar Zoom",
49 | "zoomIn": "Aumentar",
50 | "zoomOut": "Diminuir",
51 | "pan": "Navegação",
52 | "reset": "Reiniciar Zoom"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/pt.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pt",
3 | "options": {
4 | "months": [
5 | "Janeiro",
6 | "Fevereiro",
7 | "Março",
8 | "Abril",
9 | "Maio",
10 | "Junho",
11 | "Julho",
12 | "Agosto",
13 | "Setembro",
14 | "Outubro",
15 | "Novembro",
16 | "Dezembro"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Fev",
21 | "Mar",
22 | "Abr",
23 | "Mai",
24 | "Jun",
25 | "Jul",
26 | "Ag",
27 | "Set",
28 | "Out",
29 | "Nov",
30 | "Dez"
31 | ],
32 | "days": [
33 | "Domingo",
34 | "Segunda-feira",
35 | "Terça-feira",
36 | "Quarta-feira",
37 | "Quinta-feira",
38 | "Sexta-feira",
39 | "Sábado"
40 | ],
41 | "shortDays": ["Do", "Se", "Te", "Qa", "Qi", "Sx", "Sa"],
42 | "toolbar": {
43 | "exportToSVG": "Baixar SVG",
44 | "exportToPNG": "Baixar PNG",
45 | "exportToCSV": "Baixar CSV",
46 | "menu": "Menu",
47 | "selection": "Selecionar",
48 | "selectionZoom": "Zoom: Selecionar",
49 | "zoomIn": "Zoom: Aumentar",
50 | "zoomOut": "Zoom: Diminuir",
51 | "pan": "Deslocamento",
52 | "reset": "Redefinir"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/rs.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rs",
3 | "options": {
4 | "months": [
5 | "Januar",
6 | "Februar",
7 | "Mart",
8 | "April",
9 | "Maj",
10 | "Jun",
11 | "Jul",
12 | "Avgust",
13 | "Septembar",
14 | "Oktobar",
15 | "Novembar",
16 | "Decembar"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Maj",
24 | "Jun",
25 | "Jul",
26 | "Avg",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Nedelja",
34 | "Ponedeljak",
35 | "Utorak",
36 | "Sreda",
37 | "Četvrtak",
38 | "Petak",
39 | "Subota"
40 | ],
41 | "shortDays": ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"],
42 | "toolbar": {
43 | "exportToSVG": "Preuzmi SVG",
44 | "exportToPNG": "Preuzmi PNG",
45 | "exportToCSV": "Preuzmi CSV",
46 | "menu": "Meni",
47 | "selection": "Odabir",
48 | "selectionZoom": "Odabirno povećanje",
49 | "zoomIn": "Uvećajte prikaz",
50 | "zoomOut": "Umanjite prikaz",
51 | "pan": "Pomeranje",
52 | "reset": "Resetuj prikaz"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ru",
3 | "options": {
4 | "months": [
5 | "Январь",
6 | "Февраль",
7 | "Март",
8 | "Апрель",
9 | "Май",
10 | "Июнь",
11 | "Июль",
12 | "Август",
13 | "Сентябрь",
14 | "Октябрь",
15 | "Ноябрь",
16 | "Декабрь"
17 | ],
18 | "shortMonths": [
19 | "Янв",
20 | "Фев",
21 | "Мар",
22 | "Апр",
23 | "Май",
24 | "Июн",
25 | "Июл",
26 | "Авг",
27 | "Сен",
28 | "Окт",
29 | "Ноя",
30 | "Дек"
31 | ],
32 | "days": [
33 | "Воскресенье",
34 | "Понедельник",
35 | "Вторник",
36 | "Среда",
37 | "Четверг",
38 | "Пятница",
39 | "Суббота"
40 | ],
41 | "shortDays": ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
42 | "toolbar": {
43 | "exportToSVG": "Сохранить SVG",
44 | "exportToPNG": "Сохранить PNG",
45 | "exportToCSV": "Сохранить CSV",
46 | "menu": "Меню",
47 | "selection": "Выбор",
48 | "selectionZoom": "Выбор с увеличением",
49 | "zoomIn": "Увеличить",
50 | "zoomOut": "Уменьшить",
51 | "pan": "Перемещение",
52 | "reset": "Сбросить увеличение"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/se.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "se",
3 | "options": {
4 | "months": [
5 | "Januari",
6 | "Februari",
7 | "Mars",
8 | "April",
9 | "Maj",
10 | "Juni",
11 | "Juli",
12 | "Augusti",
13 | "September",
14 | "Oktober",
15 | "November",
16 | "December"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Maj",
24 | "Juni",
25 | "Juli",
26 | "Aug",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Söndag",
34 | "Måndag",
35 | "Tisdag",
36 | "Onsdag",
37 | "Torsdag",
38 | "Fredag",
39 | "Lördag"
40 | ],
41 | "shortDays": ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
42 | "toolbar": {
43 | "exportToSVG": "Ladda SVG",
44 | "exportToPNG": "Ladda PNG",
45 | "exportToCSV": "Ladda CSV",
46 | "menu": "Meny",
47 | "selection": "Selektion",
48 | "selectionZoom": "Val av zoom",
49 | "zoomIn": "Zooma in",
50 | "zoomOut": "Zooma ut",
51 | "pan": "Panorering",
52 | "reset": "Återställ zoomning"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/sk.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sk",
3 | "options": {
4 | "months": [
5 | "Január",
6 | "Február",
7 | "Marec",
8 | "Apríl",
9 | "Máj",
10 | "Jún",
11 | "Júl",
12 | "August",
13 | "September",
14 | "Október",
15 | "November",
16 | "December"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Máj",
24 | "Jún",
25 | "Júl",
26 | "Aug",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Nedeľa",
34 | "Pondelok",
35 | "Utorok",
36 | "Streda",
37 | "Štvrtok",
38 | "Piatok",
39 | "Sobota"
40 | ],
41 | "shortDays": ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"],
42 | "toolbar": {
43 | "exportToSVG": "Stiahnuť SVG",
44 | "exportToPNG": "Stiahnuť PNG",
45 | "exportToCSV": "Stiahnuť CSV",
46 | "menu": "Menu",
47 | "selection": "Vyberanie",
48 | "selectionZoom": "Zoom: Vyberanie",
49 | "zoomIn": "Zoom: Priblížiť",
50 | "zoomOut": "Zoom: Vzdialiť",
51 | "pan": "Presúvanie",
52 | "reset": "Resetovať"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/sl.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sl",
3 | "options": {
4 | "months": [
5 | "Januar",
6 | "Februar",
7 | "Marec",
8 | "April",
9 | "Maj",
10 | "Junij",
11 | "Julij",
12 | "Avgust",
13 | "Septemer",
14 | "Oktober",
15 | "November",
16 | "December"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Feb",
21 | "Mar",
22 | "Apr",
23 | "Maj",
24 | "Jun",
25 | "Jul",
26 | "Avg",
27 | "Sep",
28 | "Okt",
29 | "Nov",
30 | "Dec"
31 | ],
32 | "days": [
33 | "Nedelja",
34 | "Ponedeljek",
35 | "Torek",
36 | "Sreda",
37 | "Četrtek",
38 | "Petek",
39 | "Sobota"
40 | ],
41 | "shortDays": ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"],
42 | "toolbar": {
43 | "exportToSVG": "Prenesi SVG",
44 | "exportToPNG": "Prenesi PNG",
45 | "exportToCSV": "Prenesi CSV",
46 | "menu": "Menu",
47 | "selection": "Izbiranje",
48 | "selectionZoom": "Zoom: Izbira",
49 | "zoomIn": "Zoom: Približaj",
50 | "zoomOut": "Zoom: Oddalji",
51 | "pan": "Pomikanje",
52 | "reset": "Resetiraj"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/sq.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sq",
3 | "options": {
4 | "months": [
5 | "Janar",
6 | "Shkurt",
7 | "Mars",
8 | "Prill",
9 | "Maj",
10 | "Qershor",
11 | "Korrik",
12 | "Gusht",
13 | "Shtator",
14 | "Tetor",
15 | "Nëntor",
16 | "Dhjetor"
17 | ],
18 | "shortMonths": [
19 | "Jan",
20 | "Shk",
21 | "Mar",
22 | "Pr",
23 | "Maj",
24 | "Qer",
25 | "Korr",
26 | "Gush",
27 | "Sht",
28 | "Tet",
29 | "Nën",
30 | "Dhj"
31 | ],
32 | "days": [
33 | "e Dielë",
34 | "e Hënë",
35 | "e Martë",
36 | "e Mërkurë",
37 | "e Enjte",
38 | "e Premte",
39 | "e Shtunë"
40 | ],
41 | "shortDays": ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"],
42 | "toolbar": {
43 | "exportToSVG": "Shkarko SVG",
44 | "exportToPNG": "Shkarko PNG",
45 | "exportToCSV": "Shkarko CSV",
46 | "menu": "Menu",
47 | "selection": "Seleksiono",
48 | "selectionZoom": "Seleksiono Zmadhim",
49 | "zoomIn": "Zmadho",
50 | "zoomOut": "Zvogëlo",
51 | "pan": "Spostoje",
52 | "reset": "Rikthe dimensionin"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/th.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "th",
3 | "options": {
4 | "months": [
5 | "มกราคม",
6 | "กุมภาพันธ์",
7 | "มีนาคม",
8 | "เมษายน",
9 | "พฤษภาคม",
10 | "มิถุนายน",
11 | "กรกฎาคม",
12 | "สิงหาคม",
13 | "กันยายน",
14 | "ตุลาคม",
15 | "พฤศจิกายน",
16 | "ธันวาคม"
17 | ],
18 | "shortMonths": [
19 | "ม.ค.",
20 | "ก.พ.",
21 | "มี.ค.",
22 | "เม.ย.",
23 | "พ.ค.",
24 | "มิ.ย.",
25 | "ก.ค.",
26 | "ส.ค.",
27 | "ก.ย.",
28 | "ต.ค.",
29 | "พ.ย.",
30 | "ธ.ค."
31 | ],
32 | "days": [
33 | "อาทิตย์",
34 | "จันทร์",
35 | "อังคาร",
36 | "พุธ",
37 | "พฤหัสบดี",
38 | "ศุกร์",
39 | "เสาร์"
40 | ],
41 | "shortDays": ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
42 | "toolbar": {
43 | "exportToSVG": "ดาวน์โหลด SVG",
44 | "exportToPNG": "ดาวน์โหลด PNG",
45 | "exportToCSV": "ดาวน์โหลด CSV",
46 | "menu": "เมนู",
47 | "selection": "เลือก",
48 | "selectionZoom": "เลือกจุดที่จะซูม",
49 | "zoomIn": "ซูมเข้า",
50 | "zoomOut": "ซูมออก",
51 | "pan": "ปรากฎว่า",
52 | "reset": "รีเซ็ตการซูม"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/tr.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tr",
3 | "options": {
4 | "months": [
5 | "Ocak",
6 | "Şubat",
7 | "Mart",
8 | "Nisan",
9 | "Mayıs",
10 | "Haziran",
11 | "Temmuz",
12 | "Ağustos",
13 | "Eylül",
14 | "Ekim",
15 | "Kasım",
16 | "Aralık"
17 | ],
18 | "shortMonths": [
19 | "Oca",
20 | "Şub",
21 | "Mar",
22 | "Nis",
23 | "May",
24 | "Haz",
25 | "Tem",
26 | "Ağu",
27 | "Eyl",
28 | "Eki",
29 | "Kas",
30 | "Ara"
31 | ],
32 | "days": [
33 | "Pazar",
34 | "Pazartesi",
35 | "Salı",
36 | "Çarşamba",
37 | "Perşembe",
38 | "Cuma",
39 | "Cumartesi"
40 | ],
41 | "shortDays": ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"],
42 | "toolbar": {
43 | "exportToSVG": "SVG İndir",
44 | "exportToPNG": "PNG İndir",
45 | "exportToCSV": "CSV İndir",
46 | "menu": "Menü",
47 | "selection": "Seçim",
48 | "selectionZoom": "Seçim Yakınlaştır",
49 | "zoomIn": "Yakınlaştır",
50 | "zoomOut": "Uzaklaştır",
51 | "pan": "Kaydır",
52 | "reset": "Yakınlaştırmayı Sıfırla"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/ua.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ua",
3 | "options": {
4 | "months": [
5 | "Січень",
6 | "Лютий",
7 | "Березень",
8 | "Квітень",
9 | "Травень",
10 | "Червень",
11 | "Липень",
12 | "Серпень",
13 | "Вересень",
14 | "Жовтень",
15 | "Листопад",
16 | "Грудень"
17 | ],
18 | "shortMonths": [
19 | "Січ",
20 | "Лют",
21 | "Бер",
22 | "Кві",
23 | "Тра",
24 | "Чер",
25 | "Лип",
26 | "Сер",
27 | "Вер",
28 | "Жов",
29 | "Лис",
30 | "Гру"
31 | ],
32 | "days": [
33 | "Неділя",
34 | "Понеділок",
35 | "Вівторок",
36 | "Середа",
37 | "Четвер",
38 | "П'ятниця",
39 | "Субота"
40 | ],
41 | "shortDays": ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
42 | "toolbar": {
43 | "exportToSVG": "Зберегти SVG",
44 | "exportToPNG": "Зберегти PNG",
45 | "exportToCSV": "Зберегти CSV",
46 | "menu": "Меню",
47 | "selection": "Вибір",
48 | "selectionZoom": "Вибір із збільшенням",
49 | "zoomIn": "Збільшити",
50 | "zoomOut": "Зменшити",
51 | "pan": "Переміщення",
52 | "reset": "Скинути збільшення"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/zh-cn.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "zh-cn",
3 | "options": {
4 | "months": [
5 | "一月",
6 | "二月",
7 | "三月",
8 | "四月",
9 | "五月",
10 | "六月",
11 | "七月",
12 | "八月",
13 | "九月",
14 | "十月",
15 | "十一月",
16 | "十二月"
17 | ],
18 | "shortMonths": [
19 | "一月",
20 | "二月",
21 | "三月",
22 | "四月",
23 | "五月",
24 | "六月",
25 | "七月",
26 | "八月",
27 | "九月",
28 | "十月",
29 | "十一月",
30 | "十二月"
31 | ],
32 | "days": [
33 | "星期天",
34 | "星期一",
35 | "星期二",
36 | "星期三",
37 | "星期四",
38 | "星期五",
39 | "星期六"
40 | ],
41 | "shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
42 | "toolbar": {
43 | "exportToSVG": "下载 SVG",
44 | "exportToPNG": "下载 PNG",
45 | "exportToCSV": "下载 CSV",
46 | "menu": "菜单",
47 | "selection": "选择",
48 | "selectionZoom": "选择缩放",
49 | "zoomIn": "放大",
50 | "zoomOut": "缩小",
51 | "pan": "平移",
52 | "reset": "重置缩放"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Public/locales/zh-tw.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "zh-tw",
3 | "options": {
4 | "months": [
5 | "一月",
6 | "二月",
7 | "三月",
8 | "四月",
9 | "五月",
10 | "六月",
11 | "七月",
12 | "八月",
13 | "九月",
14 | "十月",
15 | "十一月",
16 | "十二月"
17 | ],
18 | "shortMonths": [
19 | "一月",
20 | "二月",
21 | "三月",
22 | "四月",
23 | "五月",
24 | "六月",
25 | "七月",
26 | "八月",
27 | "九月",
28 | "十月",
29 | "十一月",
30 | "十二月"
31 | ],
32 | "days": [
33 | "星期日",
34 | "星期一",
35 | "星期二",
36 | "星期三",
37 | "星期四",
38 | "星期五",
39 | "星期六"
40 | ],
41 | "shortDays": ["週日", "週一", "週二", "週三", "週四", "週五", "週六"],
42 | "toolbar": {
43 | "exportToSVG": "下載 SVG",
44 | "exportToPNG": "下載 PNG",
45 | "exportToCSV": "下載 CSV",
46 | "menu": "菜單",
47 | "selection": "選擇",
48 | "selectionZoom": "選擇縮放",
49 | "zoomIn": "放大",
50 | "zoomOut": "縮小",
51 | "pan": "平移",
52 | "reset": "重置縮放"
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Support/DatasetClass.php:
--------------------------------------------------------------------------------
1 | name = $name;
22 | $this->type = $type;
23 | $this->data = $data;
24 |
25 | return $this;
26 | }
27 |
28 | public function type(string $type): DatasetClass
29 | {
30 | $this->type = $type;
31 |
32 | return $this;
33 | }
34 |
35 | public function data(array|Collection $data): DatasetClass
36 | {
37 | if ($data instanceof Collection) {
38 | $data = $data->toArray();
39 | }
40 |
41 | $this->data = $data;
42 |
43 | return $this;
44 | }
45 |
46 | public function options(array|Collection $options, bool $overwrite = false): DatasetClass
47 | {
48 | if ($overwrite) {
49 | $this->options = $options;
50 | } else {
51 | $this->options = array_replace_recursive($this->options, $options);
52 | }
53 |
54 | return $this;
55 | }
56 |
57 | /**
58 | * Matches the data of the dataset with the given number.
59 | */
60 | public function matchdata(int $data, bool $strict = false): void
61 | {
62 | while (count($this->data) < $data) {
63 | array_push($this->data, 0);
64 | }
65 |
66 | if ($strict) {
67 | $this->data = array_slice($this->data, 0, $data);
68 | }
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/Traits/Formatter.php:
--------------------------------------------------------------------------------
1 | json($this->toVue());
13 | }
14 |
15 | public function toVue(): array
16 | {
17 | return [
18 | 'id' => $this->getId(),
19 | 'height' => $this->getHeight(),
20 | 'width' => $this->getWidth() ?? '100%',
21 | 'type' => $this->getType(),
22 | 'options' => json_decode($this->getOptions(), true),
23 | 'series' => $this->getSeries(),
24 | ];
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Traits/Types.php:
--------------------------------------------------------------------------------
1 | setType('area');
15 | }
16 |
17 | public function addArea(string $name, array|Collection $data): Area
18 | {
19 | $type = $this->getType();
20 |
21 | return $this->setDataset($name, $type, $data);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Types/Bar.php:
--------------------------------------------------------------------------------
1 | setType('bar');
15 | }
16 |
17 | public function addBar(string $name, array|Collection $data): Bar
18 | {
19 | $type = $this->getType();
20 |
21 | return $this->setDataset($name, $type, $data);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Types/Donut.php:
--------------------------------------------------------------------------------
1 | setType('donut');
14 | }
15 |
16 | public function addPieces(array $data): Donut
17 | {
18 | return $this->setSeries($data);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Types/HeatMap.php:
--------------------------------------------------------------------------------
1 | setType('heatmap');
15 | }
16 |
17 | public function addHeat(string $name, array|Collection $data): HeatMap
18 | {
19 | $type = $this->getType();
20 |
21 | return $this->setDataset($name, $type, $data);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Types/HorizontalBar.php:
--------------------------------------------------------------------------------
1 | setType('bar');
15 |
16 | $this->setHorizontal(true);
17 | }
18 |
19 | public function addBar(string $name, array|Collection $data): HorizontalBar
20 | {
21 | $type = $this->getType();
22 |
23 | return $this->setDataset($name, $type, $data);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Types/Line.php:
--------------------------------------------------------------------------------
1 | setType('line');
15 | }
16 |
17 | public function addLine(string $name, array|Collection $data): Line
18 | {
19 | $type = $this->getType();
20 |
21 | return $this->setDataset($name, $type, $data);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Types/Pie.php:
--------------------------------------------------------------------------------
1 | setType('pie');
14 | }
15 |
16 | public function addPieces(array $data): Pie
17 | {
18 | return $this->setSeries($data);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Types/PolarArea.php:
--------------------------------------------------------------------------------
1 | setType('polarArea');
14 | }
15 |
16 | public function addPolarAreas(array $data): PolarArea
17 | {
18 | return $this->setSeries($data);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Types/Radar.php:
--------------------------------------------------------------------------------
1 | setType('radar');
15 | }
16 |
17 | public function addArea(string $name, array|Collection $data): Radar
18 | {
19 | $type = $this->getType();
20 |
21 | return $this->setDataset($name, $type, $data);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Types/Radial.php:
--------------------------------------------------------------------------------
1 | setType('radialBar');
14 | }
15 |
16 | public function addRings(array $data): Radial
17 | {
18 | return $this->setSeries($data);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Views/container.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Views/script.blade.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/tests/Feature/ChartsTest.php:
--------------------------------------------------------------------------------
1 | setTitle('Users Test Chart');
13 |
14 | $this->assertEquals($chart, $chart->script()['chart']);
15 | $this->assertEquals('line', $chart->getType());
16 | }
17 |
18 | public function testPieChart()
19 | {
20 | $chart = (new Chart)->setType('pie')
21 | ->setTitle('Posts')
22 | ->setSubtitle('From January To March')
23 | ->setLabels(['Product One', 'Product Two', 'Product Three'])
24 | ->setSeries(['Jan', 'Feb', 'Mar'])
25 | ->setDataset('Posts', 'pie', [150, 120]);
26 |
27 | $this->assertEquals($chart, $chart->script()['chart']);
28 | $this->assertEquals('pie', $chart->getType());
29 | }
30 |
31 | public function testDonutChart()
32 | {
33 | $chart = (new Chart)->setType('donut')
34 | ->setTitle('Posts')
35 | ->setSeries(['Jan', 'Feb', 'Mar'])
36 | ->setDataset('Posts', 'donut', [150, 120]);
37 |
38 | $this->assertEquals($chart, $chart->script()['chart']);
39 | $this->assertEquals('donut', $chart->getType());
40 | }
41 |
42 | public function testRadialChart()
43 | {
44 | $chart = (new Chart)->setType('radial')
45 | ->setTitle('Products with more profit')
46 | ->setSeries(['Jan', 'Feb', 'Mar'])
47 | ->setDataset('Products', 'radial', [60, 40, 79]);
48 |
49 | $this->assertEquals($chart, $chart->script()['chart']);
50 | $this->assertEquals('radial', $chart->getType());
51 | }
52 |
53 | public function testPolarChart()
54 | {
55 | $chart = (new Chart)->setType('polarArea')
56 | ->setTitle('Products with more profit')
57 | ->setSeries(['Jan', 'Feb', 'Mar'])
58 | ->setDataset('Products', 'polarArea', [60, 40, 79]);
59 |
60 | $this->assertEquals($chart, $chart->script()['chart']);
61 | $this->assertEquals('polarArea', $chart->getType());
62 | }
63 |
64 | public function testLineChart()
65 | {
66 | $chart = (new Chart)->setType('line')
67 | ->setTitle('Total Users Monthly')
68 | ->setSubtitle('From January to March')
69 | ->setSeries([
70 | 'Jan', 'Feb', 'Mar'
71 | ])
72 | ->setDataset('Users', 'line', [
73 | [
74 | 'name' => 'Active Users',
75 | 'data' => [250, 700, 1200]
76 | ]
77 | ])
78 | ->setHeight(250)
79 | ->setGridShow(true)
80 | ->setStrokeShow(true);
81 |
82 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
83 | $this->assertEquals($chart, $chart->script()['chart']);
84 | $this->assertEquals('line', $chart->getType());
85 | }
86 |
87 | public function testAreaChart()
88 | {
89 | $chart = (new Chart)->setType('area')
90 | ->setTitle('Total Users Monthly')
91 | ->setSubtitle('From January to March')
92 | ->setSeries([
93 | 'Jan', 'Feb', 'Mar'
94 | ])
95 | ->setDataset('Users', 'area', [
96 | [
97 | 'name' => 'Active Users',
98 | 'data' => [250, 700, 1200]
99 | ],
100 | [
101 | 'name' => 'New Users',
102 | 'data' => [1000, 1124, 2000]
103 | ]
104 | ]);
105 |
106 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
107 | $this->assertEquals($chart, $chart->script()['chart']);
108 | $this->assertEquals('area', $chart->getType());
109 | }
110 |
111 | public function testBarChart()
112 | {
113 | $chart = (new Chart)->setType('bar')
114 | ->setTitle('Net Profit')
115 | ->setSeries(['Jan', 'Feb', 'Mar'])
116 | ->setDataset('Net Profit', 'bar', [
117 | [
118 | 'name' => 'Company A',
119 | 'data' => [500, 1000, 1900]
120 | ],
121 | [
122 | 'name' => 'Company B',
123 | 'data' => [300, 900, 1400]
124 | ],
125 | [
126 | 'name' => 'Company C',
127 | 'data' => [430, 245, 500]
128 | ],
129 | [
130 | 'name' => 'Company D',
131 | 'data' => [200, 245, 700]
132 | ],
133 | [
134 | 'name' => 'Company E',
135 | 'data' => [120, 45, 610]
136 | ],
137 | [
138 | 'name' => 'Company F',
139 | 'data' => [420, 280, 400]
140 | ]
141 | ]);
142 |
143 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
144 | $this->assertEquals($chart, $chart->script()['chart']);
145 | $this->assertEquals('bar', $chart->getType());
146 | }
147 |
148 | public function testHorizontalBarChart()
149 | {
150 | $chart = (new Chart)->setType('bar')
151 | ->setTitle('Net Profit')
152 | ->setHorizontal(true)
153 | ->setSeries(['Jan', 'Feb', 'Mar'])
154 | ->setDataset('Net Profit', 'bar', [
155 | [
156 | 'name' => 'Company A',
157 | 'data' => [500, 1000, 1900]
158 | ],
159 | [
160 | 'name' => 'Company B',
161 | 'data' => [300, 900, 1400]
162 | ],
163 | [
164 | 'name' => 'Company C',
165 | 'data' => [430, 245, 500]
166 | ]
167 | ]);
168 |
169 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
170 | $this->assertEquals($chart, $chart->script()['chart']);
171 | $this->assertEquals('bar', $chart->getType());
172 | $this->assertTrue($chart->getHorizontal());
173 | }
174 |
175 | public function testHeatmapChart()
176 | {
177 | $chart = (new Chart)->setType('heatmap')
178 | ->setTitle('Total Users')
179 | ->setSeries([
180 | 'Jan', 'Feb', 'Mar'
181 | ])
182 | ->setDataset('Users', 'heatmap', [
183 | [
184 | 'name' => 'Users of Basic Plan',
185 | 'data' => [250, 700, 1200]
186 | ],
187 | [
188 | 'name' => 'Users of Premium Plan',
189 | 'data' => [1000, 1124, 2000]
190 | ]
191 | ]);
192 |
193 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
194 | $this->assertEquals($chart, $chart->script()['chart']);
195 | $this->assertEquals('heatmap', $chart->getType());
196 | }
197 |
198 | public function testRadarChart()
199 | {
200 | $chart = (new Chart)->setType('radar')
201 | ->setTitle('Total Users')
202 | ->setSeries([
203 | 'Jan', 'Feb', 'Mar'
204 | ])
205 | ->setDataset('Users', 'radar', [
206 | [
207 | 'name' => 'Users of Basic Plan',
208 | 'data' => [250, 700, 1200]
209 | ],
210 | [
211 | 'name' => 'Users of Premium Plan',
212 | 'data' => [1000, 1124, 2000]
213 | ]
214 | ]);
215 |
216 | $this->assertEquals($chart->getId(), $chart->container()['chart']->getId());
217 | $this->assertEquals($chart, $chart->script()['chart']);
218 | $this->assertEquals('radar', $chart->getType());
219 | }
220 |
221 | public function testToVue()
222 | {
223 | $chart = (new Chart)->setType('line')
224 | ->setTitle('Total Users Monthly')
225 | ->setSubtitle('From January to March')
226 | ->setSeries([
227 | 'Jan', 'Feb', 'Mar'
228 | ])
229 | ->setDataset('Users', 'line', [
230 | [
231 | 'name' => 'Active Users',
232 | 'data' => [250, 700, 1200]
233 | ]
234 | ])
235 | ->setHeight(250)
236 | ->setGridShow(true)
237 | ->setStrokeShow(true);
238 |
239 | $this->assertEquals([
240 | 'id',
241 | 'height',
242 | 'width',
243 | 'type',
244 | 'options',
245 | 'series',
246 | ], array_keys($chart->toVue()));
247 | }
248 |
249 | public function testToJson()
250 | {
251 | $chart = (new Chart)->setType('line')
252 | ->setTitle('Total Users Monthly')
253 | ->setSubtitle('From January to March')
254 | ->setSeries([
255 | 'Jan', 'Feb', 'Mar'
256 | ])
257 | ->setDataset('Users', 'line', [
258 | [
259 | 'name' => 'Active Users',
260 | 'data' => [250, 700, 1200]
261 | ]
262 | ])
263 | ->setHeight(250)
264 | ->setGridShow(true)
265 | ->setStrokeShow(true);
266 |
267 | $response = $chart->toJson();
268 |
269 | $this->assertEquals([
270 | 'id',
271 | 'height',
272 | 'width',
273 | 'type',
274 | 'options',
275 | 'series',
276 | ], array_keys(json_decode($response->content(), true)));
277 | }
278 | }
279 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 |