@kws3/ui 4.4.0-alpha.2 → 4.4.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,10 @@ The following functions are returned in `event.detail`:
32
32
  class="kws-file-upload {klass} is-{color} is-{size} is-{_error
33
33
  ? 'danger'
34
34
  : ''} {disabled ? 'is-disabled' : ''} {_is_finished ? 'is-success' : ''}">
35
- <div class="file-upload-inner">
35
+ <div
36
+ class="file-upload-inner input is-{color} is-{size} is-{_error
37
+ ? 'danger'
38
+ : ''}">
36
39
  <div class="up-icon">
37
40
  {#if _is_uploading}
38
41
  <span class="loader" />
@@ -42,7 +45,7 @@ The following functions are returned in `event.detail`:
42
45
  <Icon size="" icon="upload" class="fa-lg" />
43
46
  {/if}
44
47
  </div>
45
- <div class="file">
48
+ <div class="file-target">
46
49
  {#if _is_uploading}
47
50
  <div class="upload-progress">
48
51
  <div class="progress-inner">
@@ -51,9 +54,9 @@ The following functions are returned in `event.detail`:
51
54
  </div>
52
55
  <div class="progress-caption">{_progress}% - Uploading...</div>
53
56
  {:else if _is_finished}
54
- <div class="filename">Upload complete!</div>
57
+ <div class="file-name">Upload complete!</div>
55
58
  {:else}
56
- <div class="filename"><span>{_filename}</span></div>
59
+ <div class="file-name"><span>{_filename}</span></div>
57
60
  {/if}
58
61
  </div>
59
62
  <input
@@ -127,7 +127,7 @@ This will be overridden if `min` is higher, or `max` is lower, Default: `0`
127
127
  $: {
128
128
  let range = max - min;
129
129
  let position = ((value - min) / range) * 100;
130
- let positionOffset = Math.round(position * 0.4);
130
+ let positionOffset = Math.round(position * 0.5);
131
131
  computedStyle = `left:calc(${position}% - ${positionOffset}px`;
132
132
  }
133
133
 
@@ -29,12 +29,6 @@ This property can be bound to, to fetch the current value, Default: `false`
29
29
  </div>
30
30
  </div>
31
31
 
32
- <style lang="scss">
33
- .disabled {
34
- opacity: 0.5;
35
- }
36
- </style>
37
-
38
32
  <script>
39
33
  import { createEventDispatcher } from "svelte";
40
34
 
@@ -43,8 +43,7 @@ This property can be bound to, to fetch the current value, Default: `null`
43
43
  (option.active_class ? option.active_class : active_class)
44
44
  : option.inactive_class
45
45
  ? option.inactive_class
46
- : inactive_class}"
47
- style="height:auto">
46
+ : inactive_class}">
48
47
  <span>
49
48
  {#if option.icon}
50
49
  <Icon icon={option.icon} size="small" class="marginless" />
@@ -62,46 +61,6 @@ This property can be bound to, to fetch the current value, Default: `null`
62
61
  {/each}
63
62
  </div>
64
63
 
65
- <style lang="scss">
66
- .kws-toggle-buttons {
67
- .button,
68
- .button:focus {
69
- :global(.icon) {
70
- margin: 0;
71
- }
72
- box-shadow: none;
73
- &.is-active {
74
- box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.3) inset !important;
75
- }
76
- }
77
- .button {
78
- position: relative;
79
- .option-subtitle {
80
- font-size: 0.7em;
81
- display: block;
82
- margin-top: -0.3em;
83
- opacity: 0.7;
84
- }
85
- .count {
86
- position: absolute;
87
- font-weight: 600;
88
- font-size: 0.8em;
89
- border-radius: 999px;
90
- padding: 0.15em 0.2em;
91
- min-width: 1.8em;
92
- min-height: 1.5em;
93
- top: -0.75em;
94
- right: 0.2em;
95
- display: inline-flex;
96
- align-items: center;
97
- justify-content: center;
98
- background: #ca0303;
99
- color: #fff;
100
- }
101
- }
102
- }
103
- </style>
104
-
105
64
  <script>
106
65
  import { createEventDispatcher } from "svelte";
107
66
  import { Icon } from "@kws3/ui";
@@ -151,7 +110,7 @@ This property can be bound to, to fetch the current value, Default: `null`
151
110
  /**
152
111
  * CSS classes to apply when a button is inactive (not pressed)
153
112
  */
154
- inactive_class = "is-outlined",
113
+ inactive_class = "",
155
114
  /**
156
115
  * Size of the Toggle Buttons
157
116
  * @type {SizeOptions}
@@ -65,7 +65,7 @@ Default value: `<span>{option.label}</span>`
65
65
  <button
66
66
  type="button"
67
67
  style="border: none;"
68
- class="button paddingless delete is-medium is-loading" />
68
+ class="button delete paddingless is-small is-loading" />
69
69
  {/if}
70
70
  {#if rootContainer}
71
71
  <div
@@ -1,9 +1,32 @@
1
1
  /**
2
- * @type {import("svelte/action").Action}
3
- */
4
- export let datepicker: import("svelte/action").Action;
2
+ * @typedef {import('@kws3/ui/types').ColorOptions} ColorOptions
3
+ *
4
+ * @typedef {import("svelte/action").Action<HTMLElement, {
5
+ * opts:object,
6
+ * value:string,
7
+ * placeholder:string,
8
+ * klass:string,
9
+ * style:string,
10
+ * disabled:boolean,
11
+ * color: ColorOptions
12
+ * }>} FlatpickerAction
13
+ */
5
14
  /**
6
- * @type {import("svelte/action").Action}
15
+ * @type {FlatpickerAction}
7
16
  */
8
- export let timepicker: import("svelte/action").Action;
17
+ export let datepicker: FlatpickerAction;
18
+ /**
19
+ * @type {FlatpickerAction}
20
+ */
21
+ export let timepicker: FlatpickerAction;
22
+ export type ColorOptions = import('@kws3/ui/types').ColorOptions;
23
+ export type FlatpickerAction = import("svelte/action").Action<HTMLElement, {
24
+ opts: object;
25
+ value: string;
26
+ placeholder: string;
27
+ klass: string;
28
+ style: string;
29
+ disabled: boolean;
30
+ color: ColorOptions;
31
+ }>;
9
32
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["actions.js"],"names":[],"mappings":"AAiHA;;GAEG;AACH,uBAFU,OAAO,eAAe,EAAE,MAAM,CAUtC;AAEF;;GAEG;AACH,uBAFU,OAAO,eAAe,EAAE,MAAM,CAYtC"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["actions.js"],"names":[],"mappings":"AAiHA;;;;;;;;;;;;EAYE;AAEF;;GAEG;AACH,uBAFU,gBAAgB,CAUxB;AAEF;;EAEE;AACF,uBAFU,gBAAgB,CAYxB;2BAvCW,OAAO,gBAAgB,EAAE,YAAY;+BAErC,OAAO,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE;IACxD,IAAM,EAAC,MAAM,CAAC;IACd,KAAO,EAAC,MAAM,CAAC;IACf,WAAa,EAAC,MAAM,CAAC;IACrB,KAAO,EAAC,MAAM,CAAC;IACf,KAAO,EAAC,MAAM,CAAC;IACf,QAAU,EAAC,OAAO,CAAC;IACnB,KAAO,EAAE,YAAY,CAAA;CAClB,CAAC"}
package/forms/actions.js CHANGED
@@ -4,7 +4,7 @@ function createFlatpickrAction(defaultOpts, hooks, type) {
4
4
  return function (
5
5
  node,
6
6
  // eslint-disable-next-line no-unused-vars
7
- { opts, value, placeholder, klass, style, disabled, color }
7
+ { opts, value, placeholder, klass, style, disabled, color },
8
8
  ) {
9
9
  const _opts = {};
10
10
 
@@ -47,7 +47,7 @@ function createFlatpickrAction(defaultOpts, hooks, type) {
47
47
  node.dispatchEvent(
48
48
  new CustomEvent(name, {
49
49
  detail: [selectedDates, dateStr, instance],
50
- })
50
+ }),
51
51
  );
52
52
  };
53
53
  }
@@ -112,7 +112,21 @@ function createFlatpickrAction(defaultOpts, hooks, type) {
112
112
  }
113
113
 
114
114
  /**
115
- * @type {import("svelte/action").Action}
115
+ * @typedef {import('@kws3/ui/types').ColorOptions} ColorOptions
116
+ *
117
+ * @typedef {import("svelte/action").Action<HTMLElement, {
118
+ * opts:object,
119
+ * value:string,
120
+ * placeholder:string,
121
+ * klass:string,
122
+ * style:string,
123
+ * disabled:boolean,
124
+ * color: ColorOptions
125
+ * }>} FlatpickerAction
126
+ */
127
+
128
+ /**
129
+ * @type {FlatpickerAction}
116
130
  */
117
131
  export let datepicker = createFlatpickrAction(
118
132
  {
@@ -121,12 +135,12 @@ export let datepicker = createFlatpickrAction(
121
135
  dateFormat: "Y-m-d",
122
136
  },
123
137
  ["onOpen", "onClose", "onMonthChange", "onYearChange", "onReady"],
124
- "date"
138
+ "date",
125
139
  );
126
140
 
127
141
  /**
128
- * @type {import("svelte/action").Action}
129
- */
142
+ * @type {FlatpickerAction}
143
+ */
130
144
  export let timepicker = createFlatpickrAction(
131
145
  {
132
146
  altInput: true,
@@ -136,5 +150,5 @@ export let timepicker = createFlatpickrAction(
136
150
  noCalendar: true,
137
151
  },
138
152
  ["onOpen", "onClose", "onReady"],
139
- "time"
153
+ "time",
140
154
  );
@@ -15,7 +15,7 @@ This property can be bound to, to fetch the current colour, Default: `"000000"`
15
15
  - `change` - Triggered when color changes
16
16
 
17
17
  -->
18
- <div class="color-picker-wrapper">
18
+ <div class="kws-color-picker">
19
19
  <div class="field">
20
20
  <div
21
21
  class="control {mini ? 'mini' : 'has-icons-left'} {dragover &&
@@ -11,7 +11,7 @@
11
11
  **Examples:** `10px` | `5rem`, Default: `"0px"`
12
12
  @param {boolean} [circle=false] - Whether the Skeleton should be rendered as a circle.
13
13
  If this is set to `true`, the `radius` property will be ignored., Default: `false`
14
- @param {ColorOptions} [color=] - Color of the Skeleton lines, Default: ``
14
+ @param {ExtendedColorOptions} [color=] - Color of the Skeleton lines, Default: ``
15
15
  @param {string} [class=""] - CSS class for Skeleton, Default: `""`
16
16
 
17
17
  -->
@@ -26,7 +26,7 @@ If this is set to `true`, the `radius` property will be ignored., Default: `fals
26
26
 
27
27
  <script>
28
28
  /**
29
- * @typedef {import('@kws3/ui/types').ColorOptions} ColorOptions
29
+ * @typedef {import('@kws3/ui/types').ExtendedColorOptions} ExtendedColorOptions
30
30
  */
31
31
  export let /**
32
32
  * Number of lines of text to display.
@@ -54,7 +54,7 @@ If this is set to `true`, the `radius` property will be ignored., Default: `fals
54
54
  circle = false,
55
55
  /**
56
56
  * Color of the Skeleton lines
57
- * @type {ColorOptions}
57
+ * @type {ExtendedColorOptions}
58
58
  */
59
59
  color = "";
60
60
 
@@ -23,14 +23,14 @@
23
23
  {/if}
24
24
  </div>
25
25
  <div class="kws-timeline-content">
26
- <span class="is-block has-text-grey"
26
+ <span class="is-block above-description"
27
27
  ><!--Optional text to be displayed above the main text--><slot
28
28
  name="above" /></span>
29
29
  <span class="is-block description">
30
30
  <!--Default slot containing the main text--><slot />
31
31
  </span>
32
32
 
33
- <span class="is-block has-text-grey">
33
+ <span class="is-block below-description">
34
34
  <!--Optional text to be displayed below the main text--><slot
35
35
  name="below" />
36
36
  </span>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kws3/ui",
3
- "version": "4.4.0-alpha.2",
3
+ "version": "4.4.0-alpha.4",
4
4
  "description": "UI components for use with Svelte v3 applications.",
5
5
  "main": "index.js",
6
6
  "svelte": "index.js",
@@ -39,5 +39,5 @@
39
39
  "devDependencies": {
40
40
  "typescript": "^5.2.2"
41
41
  },
42
- "gitHead": "67ef949462d49fde55b07a24d2a484f9840771dd"
42
+ "gitHead": "4273214f77bd46fe7d02867a47646f5ab8fac962"
43
43
  }
@@ -1,9 +1,9 @@
1
1
  @use "bulma/sass/utilities/css-variables" as cv;
2
2
  @use "bulma/sass/utilities/mixins" as mx;
3
3
 
4
- $kws-actionsheet-background: #{cv.getVar("background")} !default;
5
- $kws-actionsheet-box-shadow: #{cv.getVar("card-shadow")} !default;
6
- $kws-actionsheet-box-radius: #{cv.getVar("radius")} !default;
4
+ $background: cv.getVar("background") !default;
5
+ $box-shadow: cv.getVar("shadow") !default;
6
+ $box-radius: cv.getVar("radius") !default;
7
7
 
8
8
  .kws-action-sheet-outer {
9
9
  display: flex;
@@ -16,16 +16,17 @@ $kws-actionsheet-box-radius: #{cv.getVar("radius")} !default;
16
16
  }
17
17
  }
18
18
  .kws-action-sheet {
19
- border-radius: $kws-actionsheet-box-radius $kws-actionsheet-box-radius 0 0;
20
- box-shadow: $kws-actionsheet-box-shadow;
19
+ border-radius: $box-radius $box-radius 0 0;
20
+ box-shadow: $box-shadow;
21
21
  position: fixed;
22
22
  bottom: 0;
23
23
  width: 100%;
24
24
  max-height: 90%;
25
+ min-height: -moz-fit-content;
25
26
  min-height: fit-content;
26
27
  max-width: 650px;
27
28
  margin: 0 auto;
28
- background: $kws-actionsheet-background;
29
+ background: $background;
29
30
  transition: all 0.3s;
30
31
  z-index: 50;
31
32
  padding: 1.25em 1.5em;
@@ -1,41 +1,36 @@
1
1
  @use "bulma/sass/utilities/css-variables" as cv;
2
2
  @use "bulma/sass/utilities/derived-variables" as dv;
3
- @use "bulma/sass/utilities/functions" as fn;
4
3
 
5
- $kws-theme-colors: dv.$colors !default;
6
- $kws-autocomplete-radius: #{cv.getVar("radius")} !default;
7
- $kws-autocomplete-border-color: #{cv.getVar("border")} !default;
8
- $kws-autocomplete-box-shadow:
9
- 0 0.5em 1em -0.125em rgb(10 10 10 / 10%),
10
- 0 0px 0 1px rgb(10 10 10 / 2%) !default;
11
- $kws-autocomplete-focus-border-color: #{cv.getVar("input-focus-border-color")} !default;
12
- $kws-autocomplete-focus-box-shadow-size: #{cv.getVar("focus-shadow-size")} !default;
13
- $kws-autocomplete-focus-box-shadow-color: hsl(
14
- #{cv.getVar("focus-h")},
15
- #{cv.getVar("focus-s")},
16
- #{cv.getVar("focus-l")},
17
- #{cv.getVar("focus-shadow-alpha")}
4
+ $theme-colors: dv.$colors !default;
5
+ $radius: cv.getVar("radius") !default;
6
+ $border-color: cv.getVar("border") !default;
7
+ $box-shadow: cv.getVar("shadow") !default;
8
+ $focus-border-color: cv.getVar("input-focus-border-color") !default;
9
+ $focus-box-shadow-size: cv.getVar("focus-shadow-size") !default;
10
+ $focus-box-shadow-color: hsl(
11
+ cv.getVar("focus-h"),
12
+ cv.getVar("focus-s"),
13
+ cv.getVar("focus-l"),
14
+ cv.getVar("focus-shadow-alpha")
18
15
  ) !default;
19
- $kws-autocomplete-disabled-background-color: #{cv.getVar(
20
- "input-disabled-background-color"
21
- )} !default;
22
- $kws-autocomplete-disabled-border-color: #{cv.getVar(
23
- "input-disabled-border-color"
24
- )} !default;
25
- $kws-autocomplete-disabled-color: #{cv.getVar("input-disabled-color")} !default;
26
- $kws-autocomplete-selecting-color: #{cv.getVar("primary-invert")} !default;
27
- $kws-autocomplete-selecting-background: #{cv.getVar("primary")} !default;
28
- $kws-autocomplete-text-matches-color: currentColor !default;
29
- $kws-autocomplete-text-matches-background: transparent !default;
30
- $kws-autocomplete-text-matches-font-weight: #{cv.getVar("weight-bold")} !default;
31
- $kws-autocomplete-options-background: #{cv.getVar("scheme-main-ter")} !default;
16
+ $disabled-background-color: cv.getVar(
17
+ "input-disabled-background-color"
18
+ ) !default;
19
+ $disabled-border-color: cv.getVar("input-disabled-border-color") !default;
20
+ $disabled-color: cv.getVar("input-disabled-color") !default;
21
+ $selecting-color: cv.getVar("primary-invert") !default;
22
+ $selecting-background: cv.getVar("primary") !default;
23
+ $text-matches-color: currentColor !default;
24
+ $text-matches-background: transparent !default;
25
+ $text-matches-font-weight: cv.getVar("weight-bold") !default;
26
+ $options-background: cv.getVar("scheme-main-ter") !default;
32
27
 
33
28
  $__modal-z: 41 !default;
34
29
  @if variable-exists("modal-z") {
35
30
  $__modal-z: $modal-z;
36
31
  }
37
32
 
38
- $kws-autocomplete-options-z-index: $__modal-z + 1 !default;
33
+ $options-z-index: $__modal-z + 1 !default;
39
34
 
40
35
  .kws-autocomplete {
41
36
  position: relative;
@@ -47,14 +42,13 @@ $kws-autocomplete-options-z-index: $__modal-z + 1 !default;
47
42
  padding-top: calc(0.4em - 1px);
48
43
  padding-bottom: calc(0.4em - 1px);
49
44
  &:focus-within {
50
- border-color: $kws-autocomplete-focus-border-color;
51
- box-shadow: $kws-autocomplete-focus-box-shadow-size
52
- $kws-autocomplete-focus-box-shadow-color;
45
+ border-color: $focus-border-color;
46
+ box-shadow: $focus-box-shadow-size $focus-box-shadow-color;
53
47
  }
54
48
  &.is-disabled {
55
- background-color: $kws-autocomplete-disabled-background-color;
56
- border-color: $kws-autocomplete-disabled-border-color;
57
- color: $kws-autocomplete-disabled-color;
49
+ background-color: $disabled-background-color;
50
+ border-color: $disabled-border-color;
51
+ color: $disabled-color;
58
52
  cursor: not-allowed;
59
53
  }
60
54
  &.is-readonly {
@@ -80,14 +74,14 @@ $kws-autocomplete-options-z-index: $__modal-z + 1 !default;
80
74
  padding: 0;
81
75
  cursor: pointer;
82
76
  overflow: auto;
83
- background: $kws-autocomplete-options-background;
84
- border: 1px solid $kws-autocomplete-border-color;
85
- box-shadow: $kws-autocomplete-box-shadow;
77
+ background: $options-background;
78
+ border: 1px solid $border-color;
79
+ box-shadow: $box-shadow;
86
80
  position: relative;
81
+ border-radius: 0 0 $radius $radius;
87
82
  z-index: 4;
88
83
  &[data-popper-placement="top"] {
89
- border-radius: $kws-autocomplete-radius $kws-autocomplete-radius 0 0;
90
- box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.4);
84
+ border-radius: $radius $radius 0 0;
91
85
  }
92
86
  &.hidden {
93
87
  display: none;
@@ -99,29 +93,29 @@ $kws-autocomplete-options-z-index: $__modal-z + 1 !default;
99
93
  word-break: break-all;
100
94
  &.active {
101
95
  // keyboard focused item
102
- color: $kws-autocomplete-selecting-color;
103
- background: $kws-autocomplete-selecting-background;
96
+ color: $selecting-color;
97
+ background: $selecting-background;
104
98
  }
105
99
  span.h {
106
100
  // highlight text matches
107
- font-weight: $kws-autocomplete-text-matches-font-weight;
108
- color: $kws-autocomplete-text-matches-color;
109
- background: $kws-autocomplete-text-matches-background;
101
+ font-weight: $text-matches-font-weight;
102
+ color: $text-matches-color;
103
+ background: $text-matches-background;
110
104
  }
111
105
  }
112
106
  }
113
107
  }
114
108
 
115
- @each $name, $pair in $kws-theme-colors {
116
- $color: nth($pair, 1);
117
- $color-invert: fn.bulmaFindColorInvert($color);
118
- $color-light: fn.bulmaFindLightColor($color);
119
- $color-dark: fn.bulmaFindDarkColor($color);
109
+ @each $name, $pair in $theme-colors {
110
+ $color: cv.getVar($name);
111
+ $color-invert: cv.getVar($name, "", "-invert");
112
+ $color-light: cv.getVar($name, "", "-light");
113
+ $color-dark: cv.getVar($name, "", "-dark");
120
114
  .kws-autocomplete {
121
115
  &.is-#{$name} {
122
116
  border-color: $color;
123
117
  &:focus-within {
124
- box-shadow: $kws-autocomplete-focus-box-shadow-size
118
+ box-shadow: $focus-box-shadow-size
125
119
  hsla(
126
120
  cv.getVar($name, "", "-h"),
127
121
  cv.getVar($name, "", "-s"),
@@ -148,6 +142,6 @@ $kws-autocomplete-options-z-index: $__modal-z + 1 !default;
148
142
  #kws-overlay-root {
149
143
  .kws-autocomplete {
150
144
  position: absolute;
151
- z-index: $kws-autocomplete-options-z-index;
145
+ z-index: $options-z-index;
152
146
  }
153
147
  }
@@ -1,5 +1,4 @@
1
1
  @use "bulma/sass/utilities/css-variables" as cv;
2
- @use "bulma/sass/utilities/initial-variables" as iv;
3
2
 
4
3
  :root {
5
4
  --kws-peninput-height: 350px;
@@ -24,7 +23,7 @@
24
23
  position: absolute;
25
24
  width: 100%;
26
25
  min-height: var(--kws-peninput-controls-height);
27
- background: transparentize(iv.$grey-light, 0.5);
26
+ background: cv.getVar("grey-lighter");
28
27
  padding: 0.25rem;
29
28
  margin: 0 auto;
30
29
  .control {
@@ -60,9 +59,9 @@
60
59
  &.expanded {
61
60
  z-index: 999;
62
61
  position: relative;
63
- box-shadow: cv.getVar("card-shadow");
62
+ box-shadow: cv.getVar("shadow");
64
63
  .kws-pen-controls {
65
- background: iv.$grey-lighter;
64
+ background: cv.getVar("grey-lighter");
66
65
  }
67
66
  }
68
67
  }
package/styles/Chart.scss CHANGED
@@ -1,17 +1,17 @@
1
1
  @use "bulma/sass/utilities/css-variables" as cv;
2
2
 
3
- $kws-chart-tooltip-background-color: #{cv.getVar("scheme-main")} !default;
4
- $kws-chart-tooltip-foreground-color: #{cv.getVar("scheme-invert-ter")} !default;
3
+ $background-color: cv.getVar("scheme-main") !default;
4
+ $foreground-color: cv.getVar("text") !default;
5
5
 
6
6
  .kws-chart {
7
7
  .apexcharts-tooltip {
8
8
  display: flex;
9
9
  border: 0;
10
- background: $kws-chart-tooltip-background-color;
10
+ background: $background-color;
11
11
  border-radius: 0;
12
12
  .apexcharts-tooltip-title {
13
- background: $kws-chart-tooltip-background-color;
14
- color: $kws-chart-tooltip-foreground-color;
13
+ background: $background-color;
14
+ color: $foreground-color;
15
15
  border: none;
16
16
  }
17
17
  .apexcharts-tooltip-series-group.apexcharts-active,