@tekkare/auriga 0.1.72 → 0.1.73

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.
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.0.0"
6
6
  },
7
- "version": "0.1.72"
7
+ "version": "0.1.73"
8
8
  }
@@ -0,0 +1,89 @@
1
+ <template>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ :viewBox="map.viewBox"
5
+ :aria-label="map.label"
6
+ class="svg-map"
7
+ >
8
+ <slot name="before" />
9
+ <path
10
+ v-for="(location, index) in map.locations"
11
+ :id="location.id"
12
+ :key="location.id"
13
+ :name="location.name"
14
+ :d="location.path"
15
+ class="svg-map__location"
16
+ :class="
17
+ isLocationClassFunction ? locationClass(location, index) : locationClass
18
+ "
19
+ :tabindex="
20
+ isLocationTabindexFunction
21
+ ? locationTabindex(location, index)
22
+ : locationTabindex
23
+ "
24
+ :role="locationRole"
25
+ :aria-label="location.name"
26
+ :aria-checked="isLocationSelected && isLocationSelected(location, index)"
27
+ v-bind="getLocationCustomProperties(location)"
28
+ />
29
+ <slot name="after" />
30
+ </svg>
31
+ </template>
32
+
33
+ <script>
34
+ import {
35
+ computed,
36
+ defineComponent
37
+ } from "vue";
38
+ const LOCATION_DEFAULT_PROPERTIES = ["id", "name", "path"];
39
+ export default defineComponent({
40
+ name: "SvgMap",
41
+ props: {
42
+ map: {
43
+ type: Object,
44
+ required: true,
45
+ validator(map) {
46
+ return typeof map.viewBox === "string" && Array.isArray(map.locations) && map.locations.every(
47
+ (location) => typeof location.path === "string" && typeof location.id === "string"
48
+ );
49
+ }
50
+ },
51
+ locationClass: {
52
+ type: [String, Function],
53
+ default: null
54
+ },
55
+ locationTabindex: {
56
+ type: [String, Function],
57
+ default: null
58
+ },
59
+ locationRole: {
60
+ type: String,
61
+ default: null
62
+ },
63
+ isLocationSelected: {
64
+ type: Function,
65
+ default: null
66
+ }
67
+ },
68
+ setup(props, { emit }) {
69
+ const isLocationClassFunction = computed(() => {
70
+ return typeof props.locationClass === "function";
71
+ });
72
+ const isLocationTabindexFunction = computed(() => {
73
+ return typeof props.locationTabindex === "function";
74
+ });
75
+ function getLocationCustomProperties(location) {
76
+ return Object.fromEntries(
77
+ Object.entries(location).filter(
78
+ ([key]) => !LOCATION_DEFAULT_PROPERTIES.includes(key)
79
+ )
80
+ );
81
+ }
82
+ return {
83
+ isLocationClassFunction,
84
+ isLocationTabindexFunction,
85
+ getLocationCustomProperties
86
+ };
87
+ }
88
+ });
89
+ </script>
@@ -0,0 +1,57 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ map: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ validator(map: unknown): any;
6
+ };
7
+ locationClass: {
8
+ type: (StringConstructor | FunctionConstructor)[];
9
+ default: null;
10
+ };
11
+ locationTabindex: {
12
+ type: (StringConstructor | FunctionConstructor)[];
13
+ default: null;
14
+ };
15
+ locationRole: {
16
+ type: StringConstructor;
17
+ default: null;
18
+ };
19
+ isLocationSelected: {
20
+ type: FunctionConstructor;
21
+ default: null;
22
+ };
23
+ }, {
24
+ isLocationClassFunction: import("vue").ComputedRef<boolean>;
25
+ isLocationTabindexFunction: import("vue").ComputedRef<boolean>;
26
+ getLocationCustomProperties: (location: any) => {
27
+ [k: string]: unknown;
28
+ };
29
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
30
+ map: {
31
+ type: ObjectConstructor;
32
+ required: true;
33
+ validator(map: unknown): any;
34
+ };
35
+ locationClass: {
36
+ type: (StringConstructor | FunctionConstructor)[];
37
+ default: null;
38
+ };
39
+ locationTabindex: {
40
+ type: (StringConstructor | FunctionConstructor)[];
41
+ default: null;
42
+ };
43
+ locationRole: {
44
+ type: StringConstructor;
45
+ default: null;
46
+ };
47
+ isLocationSelected: {
48
+ type: FunctionConstructor;
49
+ default: null;
50
+ };
51
+ }>>, {
52
+ locationClass: string | Function;
53
+ locationTabindex: string | Function;
54
+ locationRole: string;
55
+ isLocationSelected: Function;
56
+ }, {}>;
57
+ export default _default;
@@ -0,0 +1,277 @@
1
+ <template>
2
+ <div>
3
+ <div class="oip_card">
4
+ <div class="oip_subtitle" style="display: flex">
5
+ <slot></slot>
6
+ </div>
7
+ <div style="width: 50px; text-align: center"></div>
8
+ <div class="map_class">
9
+ <svg-map
10
+ :style="`width: ${width};`"
11
+ class=""
12
+ :map="getMapsName()"
13
+ :data="state_table"
14
+ :location-class="getLocationClass"
15
+ @mouseover="pointLocation"
16
+ @mouseout="unpointLocation"
17
+ @mousemove="moveOnLocation"
18
+ ></svg-map>
19
+ </div>
20
+ <!-- Tooltip -->
21
+ <div class="oip_maps_tooltip" :style="tooltipStyle">
22
+ <h3>{{ pointedLocation }}</h3>
23
+ <div class="legend-value">
24
+ <div
25
+ v-if="
26
+ typeof value === 'number' ||
27
+ typeof value1 !== 'undefined' ||
28
+ typeof value2 !== 'undefined' ||
29
+ typeof value3 !== 'undefined'
30
+ "
31
+ >
32
+ <div v-if="typeof value === 'number'">
33
+ <slot name="value"></slot
34
+ >{{
35
+ value.toLocaleString(undefined, {
36
+ minimumFractionDigits: 0,
37
+ maximumFractionDigits: pourcentage ? 1 : 0,
38
+ })
39
+ }}<span v-if="pourcentage === true">%</span>
40
+ </div>
41
+ <div v-if="!checkTypeOf(value1)">
42
+ <slot name="value1"></slot>{{ value1 }}
43
+ </div>
44
+ <div v-if="!checkTypeOf(value2)">
45
+ <slot name="value2"></slot>{{ value2 }}
46
+ </div>
47
+ <div v-if="!checkTypeOf(value3)">
48
+ <slot name="value3"></slot>{{ value3 }}
49
+ </div>
50
+ </div>
51
+ <div v-else>No data</div>
52
+ </div>
53
+ </div>
54
+
55
+ <!-- Legend -->
56
+ <div class="legend_scale">
57
+ <div class="legend-divider-1"></div>
58
+ <div class="legend-divider-2"></div>
59
+ </div>
60
+ <div class="legend_value">
61
+ <div
62
+ v-if="typeof minValue !== 'undefined' && minValue !== null"
63
+ class="legend-left"
64
+ >
65
+ {{
66
+ minValue === 0
67
+ ? "0"
68
+ : minValue.toLocaleString(undefined, {
69
+ minimumFractionDigits: 0,
70
+ maximumFractionDigits: pourcentage ? 1 : 0,
71
+ })
72
+ }}<span v-if="pourcentage === true">%</span>
73
+ </div>
74
+ <div
75
+ v-if="typeof rangeTable[3] !== 'undefined' && rangeTable[3] !== null"
76
+ class="legend-center1"
77
+ >
78
+ {{
79
+ rangeTable[3].toLocaleString(undefined, {
80
+ minimumFractionDigits: 0,
81
+ maximumFractionDigits: pourcentage ? 1 : 0,
82
+ })
83
+ }}<span v-if="pourcentage === true">%</span>
84
+ </div>
85
+ <div
86
+ v-if="typeof rangeTable[6] !== 'undefined' && rangeTable[6] !== null"
87
+ class="legend-center2"
88
+ >
89
+ {{
90
+ rangeTable[6].toLocaleString(undefined, {
91
+ minimumFractionDigits: 0,
92
+ maximumFractionDigits: pourcentage ? 1 : 0,
93
+ })
94
+ }}<span v-if="pourcentage === true">%</span>
95
+ </div>
96
+ <div
97
+ v-if="typeof maxValue !== 'undefined' && maxValue !== null"
98
+ class="legend-right"
99
+ >
100
+ {{
101
+ maxValue.toLocaleString(undefined, {
102
+ minimumFractionDigits: 0,
103
+ maximumFractionDigits: pourcentage ? 1 : 0,
104
+ })
105
+ }}<span v-if="pourcentage === true">%</span>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </template>
111
+
112
+ <script>
113
+ import {
114
+ onMounted,
115
+ ref,
116
+ computed,
117
+ watch,
118
+ defineComponent
119
+ } from "vue";
120
+ import _ from "lodash";
121
+ import Usa from "@svg-maps/usa";
122
+ import UsaCounties from "@svg-maps/usa.counties";
123
+ import France from "@svg-maps/france.regions";
124
+ import SvgMap from "./SvgMap.vue";
125
+ export default defineComponent({
126
+ name: "argMaps",
127
+ components: { SvgMap },
128
+ props: {
129
+ state_table: {
130
+ type: Array,
131
+ required: true
132
+ },
133
+ country: { type: String, default: "Usa" },
134
+ width: { type: String, default: "80%" },
135
+ pourcentage: { type: Boolean, default: false }
136
+ },
137
+ setup(props) {
138
+ const table = ref([]);
139
+ const number = ref({});
140
+ const data = ref([]);
141
+ const indicator_series = ref([]);
142
+ const period_list = ref([]);
143
+ const value = ref(null);
144
+ const value1 = ref(null);
145
+ const value2 = ref(null);
146
+ const value3 = ref(null);
147
+ const display_index = ref(false);
148
+ const pointedLocation = ref(null);
149
+ const tooltipStyle = ref(null);
150
+ const search = ref("");
151
+ const maxValue = ref(null);
152
+ const minValue = ref(null);
153
+ const rangeTable = ref([]);
154
+ function checkTypeOf(value4) {
155
+ return typeof value4 === "undefined";
156
+ }
157
+ onMounted(() => {
158
+ updateTableRange();
159
+ });
160
+ watch(
161
+ () => props.state_table,
162
+ (new_state_table) => {
163
+ updateTableRange();
164
+ }
165
+ );
166
+ function getMapsName() {
167
+ if (props.country === "Usa")
168
+ return Usa;
169
+ if (props.country === "France")
170
+ return France;
171
+ if (props.country === "UsaCounties")
172
+ return UsaCounties;
173
+ return null;
174
+ }
175
+ function getLocationName(node) {
176
+ return node && node.attributes?.name?.value;
177
+ }
178
+ function updateTableRange() {
179
+ rangeTable.value = [];
180
+ const valueCountTable = [];
181
+ props.state_table.map((state) => {
182
+ if (typeof state.value === "number")
183
+ valueCountTable.push(state.value);
184
+ return true;
185
+ });
186
+ maxValue.value = Math.max(...valueCountTable);
187
+ minValue.value = Math.min(...valueCountTable);
188
+ const dynamicRange = (maxValue.value - minValue.value) / 10 * 1e3 / 1e3;
189
+ rangeTable.value.push(minValue.value);
190
+ for (let i = 1; i <= 10; i += 1) {
191
+ rangeTable.value.push(dynamicRange * i + minValue.value);
192
+ }
193
+ }
194
+ function pointLocation(event) {
195
+ pointedLocation.value = getLocationName(event.target);
196
+ let data2 = props.state_table;
197
+ const selectstate = pointedLocation.value;
198
+ data2 = _.map(data2, (i) => {
199
+ if (i.state === selectstate)
200
+ return i;
201
+ return false;
202
+ });
203
+ data2 = _.without(data2, void 0);
204
+ data2 = _.find(data2, (o) => o.value + 1);
205
+ value.value = _.get(data2, "value");
206
+ value1.value = _.get(data2, "value1");
207
+ value2.value = _.get(data2, "value2");
208
+ value3.value = _.get(data2, "value3");
209
+ }
210
+ function unpointLocation() {
211
+ pointedLocation.value = null;
212
+ tooltipStyle.value = { display: "none" };
213
+ }
214
+ function moveOnLocation(event) {
215
+ tooltipStyle.value = {
216
+ display: "block",
217
+ top: `${event.clientY + 10}px`,
218
+ left: `${event.clientX - 100}px`
219
+ };
220
+ }
221
+ function getLocationClass(location) {
222
+ return props.state_table.map((state) => {
223
+ if (state.state === location.name) {
224
+ const closest = rangeTable.value.reduce((prev, curr) => {
225
+ const prevDiff = Math.abs(prev - state.value);
226
+ const currDiff = Math.abs(curr - state.value);
227
+ if (typeof state.value === "number" && prevDiff === currDiff) {
228
+ return prevDiff > currDiff ? prev : curr;
229
+ }
230
+ return currDiff < prevDiff ? curr : prev;
231
+ }, rangeTable.value[0]);
232
+ return `svg-map__location svg-map__location--heat${rangeTable.value.indexOf(
233
+ closest
234
+ )}`;
235
+ }
236
+ return null;
237
+ });
238
+ }
239
+ const filterdStates = computed(() => {
240
+ return props.state_table.filter(
241
+ (row) => row.state.toLowerCase().match(search.value)
242
+ );
243
+ });
244
+ return {
245
+ getMapsName,
246
+ getLocationName,
247
+ updateTableRange,
248
+ pointLocation,
249
+ unpointLocation,
250
+ moveOnLocation,
251
+ getLocationClass,
252
+ filterdStates,
253
+ table,
254
+ number,
255
+ data,
256
+ indicator_series,
257
+ period_list,
258
+ value,
259
+ value1,
260
+ value2,
261
+ value3,
262
+ display_index,
263
+ pointedLocation,
264
+ tooltipStyle,
265
+ search,
266
+ maxValue,
267
+ minValue,
268
+ rangeTable,
269
+ checkTypeOf
270
+ };
271
+ }
272
+ });
273
+ </script>
274
+
275
+ <style>
276
+ .oip_maps_tooltip>h3{color:(--independence);font-size:18px;font-weight:700}.number_table{flex:none;flex-grow:0;font-family:Figtree,sans-serif;font-size:14px;font-style:normal;font-weight:400;height:45px;left:71px;line-height:180%;margin:0;order:0;position:static;top:10px;width:200px}.oip_maps_tooltip{background-color:var(--white);border:1px solid #dedfe9;border-radius:10px;box-shadow:var(--overlay-shadow);box-sizing:border-box;margin:0 auto;min-width:200px;padding:16px;position:fixed;text-align:left;z-index:2}.svg-map{height:auto;width:100%;stroke:var(--darkest);stroke-width:.7;stroke-linecap:round;stroke-linejoin:round}.svg-map__location{fill:var(--demi-fond);cursor:pointer}.svg-map__location:focus,.svg-map__location:hover{fill:#e4e9f3;filter:brightness(90%);outline:0}.svg-map__location[aria-checked=true]{fill:#f4bc44}.svg-map__location--heat0{fill:#e4e9f3!important}.svg-map__location--heat1{fill:#cfd8eb!important}.svg-map__location--heat2{fill:#bbc7e2!important}.svg-map__location--heat3{fill:#a7b6da!important}.svg-map__location--heat4{fill:#93a5d1!important}.svg-map__location--heat5{fill:#8194c8!important}.svg-map__location--heat6{fill:#6e84bf!important}.svg-map__location--heat7{fill:#5b74b6!important}.svg-map__location--heat8{fill:#4864ad!important}.svg-map__location--heat9{fill:#3454a3!important}.svg-map__location--heat10{fill:#243a72!important}.svg-map__location--heat-none{fill:var(--medium)!important}.legend_scale{background:linear-gradient(90deg,#e4e9f3,#243a72);display:grid;left:25%;width:45%}.legend_scale,.legend_value{content:"";height:20px;position:relative;top:90%}.legend_value{display:flex;justify-content:space-between;left:24%;width:47%}.legend-divider-1{left:33%}.legend-divider-1,.legend-divider-2{background-color:var(--white);content:"";height:100%;position:absolute;width:1px}.legend-divider-2{left:66%}.legend-value{margin-top:14px}.legend-value>div{display:flex;flex-flow:column;gap:6px}.map_class{display:flex;justify-content:center;margin:auto;padding:0 0 15px}
277
+ </style>
@@ -0,0 +1,92 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ state_table: {
3
+ type: {
4
+ (arrayLength: number): any[];
5
+ (...items: any[]): any[];
6
+ new (arrayLength: number): any[];
7
+ new (...items: any[]): any[];
8
+ isArray(arg: any): arg is any[];
9
+ readonly prototype: any[];
10
+ from<T>(arrayLike: ArrayLike<T>): T[];
11
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
12
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
13
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
14
+ of<T_4>(...items: T_4[]): T_4[];
15
+ readonly [Symbol.species]: ArrayConstructor;
16
+ };
17
+ required: true;
18
+ };
19
+ country: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ width: {
24
+ type: StringConstructor;
25
+ default: string;
26
+ };
27
+ pourcentage: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }, {
32
+ getMapsName: () => any;
33
+ getLocationName: (node: any) => any;
34
+ updateTableRange: () => void;
35
+ pointLocation: (event: any) => void;
36
+ unpointLocation: () => void;
37
+ moveOnLocation: (event: any) => void;
38
+ getLocationClass: (location: any) => (string | null)[];
39
+ filterdStates: import("vue").ComputedRef<any[]>;
40
+ table: import("vue").Ref<any>;
41
+ number: import("vue").Ref<object>;
42
+ data: import("vue").Ref<any>;
43
+ indicator_series: import("vue").Ref<any>;
44
+ period_list: import("vue").Ref<any>;
45
+ value: import("vue").Ref<any>;
46
+ value1: import("vue").Ref<any>;
47
+ value2: import("vue").Ref<any>;
48
+ value3: import("vue").Ref<any>;
49
+ display_index: import("vue").Ref<boolean>;
50
+ pointedLocation: import("vue").Ref<any>;
51
+ tooltipStyle: import("vue").Ref<any>;
52
+ search: import("vue").Ref<string>;
53
+ maxValue: import("vue").Ref<any>;
54
+ minValue: import("vue").Ref<any>;
55
+ rangeTable: import("vue").Ref<any>;
56
+ checkTypeOf: (value: any) => boolean;
57
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
58
+ state_table: {
59
+ type: {
60
+ (arrayLength: number): any[];
61
+ (...items: any[]): any[];
62
+ new (arrayLength: number): any[];
63
+ new (...items: any[]): any[];
64
+ isArray(arg: any): arg is any[];
65
+ readonly prototype: any[];
66
+ from<T>(arrayLike: ArrayLike<T>): T[];
67
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
68
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
69
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
70
+ of<T_4>(...items: T_4[]): T_4[];
71
+ readonly [Symbol.species]: ArrayConstructor;
72
+ };
73
+ required: true;
74
+ };
75
+ country: {
76
+ type: StringConstructor;
77
+ default: string;
78
+ };
79
+ width: {
80
+ type: StringConstructor;
81
+ default: string;
82
+ };
83
+ pourcentage: {
84
+ type: BooleanConstructor;
85
+ default: boolean;
86
+ };
87
+ }>>, {
88
+ width: string;
89
+ country: string;
90
+ pourcentage: boolean;
91
+ }, {}>;
92
+ export default _default;
@@ -6,7 +6,7 @@
6
6
  <arg-simple-label
7
7
  :disabled="disabled"
8
8
  :show_amount="show_amount"
9
- :amount_value="selected_items.length"
9
+ :amount_value="nested ? getNestedLength : selected_items.length"
10
10
  @click="changeDisplay()"
11
11
  :class="isDisplay ? 'open' : ''"
12
12
  >
@@ -402,13 +402,20 @@ export default defineComponent({
402
402
  } else
403
403
  return props.empty_content_msg;
404
404
  });
405
+ const getNestedLength = computed(() => {
406
+ let length = 0;
407
+ for (let i = 0; i < selected_nested.value.length; i++) {
408
+ length += selected_nested.value[i].elements.length;
409
+ }
410
+ return length;
411
+ });
405
412
  const getAllSelect = computed(() => {
406
413
  const fullSelect = props.nested ? selected_nested.value : selected_items.value;
407
414
  let filterFill = ``;
408
415
  for (let i = 0; i < fullSelect.length; i++) {
409
416
  if (props.nested) {
410
417
  for (let j = 0; j < fullSelect[i].elements.length; j++) {
411
- if (i === 0) {
418
+ if (j === 0 && filterFill.length === 0) {
412
419
  filterFill = fullSelect[i].elements[j];
413
420
  } else {
414
421
  filterFill = `${filterFill}, ${fullSelect[i].elements[j]}`;
@@ -631,7 +638,7 @@ export default defineComponent({
631
638
  selected_nested.value.map((a) => a)
632
639
  );
633
640
  }
634
- function del_nested_elements(index, elem) {
641
+ function del_nested_element(index, elem) {
635
642
  selected_all.value = false;
636
643
  if (selectedCats.value.includes(index)) {
637
644
  selectedCats.value.splice(
@@ -763,11 +770,12 @@ export default defineComponent({
763
770
  document.removeEventListener("click", close);
764
771
  });
765
772
  return {
773
+ getNestedLength,
766
774
  del_all,
767
775
  del_all_cat,
768
776
  add_all_cat,
769
777
  add_all,
770
- del_nested_elements,
778
+ del_nested_element,
771
779
  add_nested_element,
772
780
  del_element,
773
781
  add_element,
@@ -109,11 +109,12 @@ declare const _default: import("vue").DefineComponent<{
109
109
  default: null;
110
110
  };
111
111
  }, {
112
+ getNestedLength: import("vue").ComputedRef<number>;
112
113
  del_all: () => void;
113
114
  del_all_cat: (index: number) => void;
114
115
  add_all_cat: (index: number) => void;
115
116
  add_all: () => void;
116
- del_nested_elements: (index: number, elem: string) => void;
117
+ del_nested_element: (index: number, elem: string) => void;
117
118
  add_nested_element: (index: number, elem: any) => void;
118
119
  del_element: (element: string, index: number) => void;
119
120
  add_element: (element: string, index: number) => void;
@@ -84,5 +84,5 @@ export default defineComponent({
84
84
  </script>
85
85
 
86
86
  <style>
87
- .prmt_switch_pause{vertical-align:baseline!important;fill:var(--light)!important;color:var(--light)!important;margin:0 0 5% 11%;stroke-width:0px!important}.prmt_switch_text{font-size:14px;font-weight:600;line-height:16px;transition:all .3s ease}.prmt_switch_text.prmt_switch_is_inactive{color:var(--medium)}.prmt_switch_text.prmt_switch_is_active{color:var(--darkest)}.prmt_switch{border-radius:35.7px;height:18px;padding:0 2px;transition:all .3s ease;width:36px}.prmt_switch.prmt_switch_is_active,.prmt_switch.prmt_switch_is_inactive{background-color:var(--accent);border:1px solid var(--accent)}.prmt_switch_round.prmt_switch_is_active{left:0}.prmt_switch_round.prmt_switch_is_inactive{transform:translateX(100%)}.prmt_switch_round{background-color:var(--white);border:.5px solid var(--light);border-radius:50%;box-shadow:var(--button-big-shadow);height:16px;margin-bottom:2px;transition:all .3s ease;width:16px}.prmt_parent_switch{align-items:center;background-color:var(--white);border:1.5px solid var(--light);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 17px;width:-moz-fit-content;width:fit-content}.prmt_parent_switch:focus-within{border:1.5px solid var(--primary)!important;box-shadow:0 0 0 4px rgba(33,118,255,.1)!important}
87
+ .prmt_switch_pause{vertical-align:baseline!important;fill:var(--light)!important;color:var(--light)!important;margin:0 0 5% 11%;stroke-width:0px!important}.prmt_switch_text{font-size:14px;font-weight:600;line-height:16px;transition:all .3s ease}.prmt_switch_text.prmt_switch_is_inactive{color:var(--medium)}.prmt_switch_text.prmt_switch_is_active{color:var(--darkest)}.prmt_switch{border-radius:35.7px;height:18px;padding:0 2px;position:relative;transition:all .3s ease;width:36px}.prmt_switch.prmt_switch_is_active,.prmt_switch.prmt_switch_is_inactive{background-color:var(--accent);border:1px solid var(--accent)}.prmt_switch_round.prmt_switch_is_active{left:0;position:absolute}.prmt_switch_round.prmt_switch_is_inactive{transform:translateX(100%)}.prmt_switch_round{background-color:var(--white);border:.5px solid var(--light);border-radius:50%;box-shadow:var(--button-big-shadow);height:16px;margin-bottom:2px;transition:all .3s ease;width:16px}.prmt_parent_switch{align-items:center;background-color:var(--white);border:1.5px solid var(--light);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 17px;width:-moz-fit-content;width:fit-content}.prmt_parent_switch:focus-within{border:1.5px solid var(--primary)!important;box-shadow:0 0 0 4px rgba(33,118,255,.1)!important}
88
88
  </style>
@@ -663,5 +663,5 @@ export default defineComponent({
663
663
  </script>
664
664
 
665
665
  <style scoped>
666
- .empty_table{align-items:center;display:flex;justify-content:center;width:100%}.filter_tooltip{cursor:pointer}.sort_up_icon{position:relative;top:3px}.sort_down_icon{position:relative;top:-2px}.table_input{align-self:stretch!important;margin:0 24px!important;width:auto!important}.oip_column{display:table-cell;padding-left:0}.scroll_table .rcd_scrollTable{gap:8px;overflow-x:auto;padding-top:8px}td{font-size:14px}tr{position:relative}table{border-collapse:collapse;padding:0;width:100%}thead tr th{background-color:transparent;height:35px}td,th{padding:10px 24px}th,tr{height:43px;text-align:start}th{flex-grow:0;font-size:12px;font-weight:700;line-height:14px;order:0}td:last-child,th:last-child div.rcd-table-header{justify-content:end;text-align:end}.rcd-table-header{align-items:center;display:flex;flex-direction:row;margin-left:24px}.rcd-col-title{align-items:center;gap:4px}.rcd-col-title,.rcd-table-sort{display:flex;justify-content:center}.rcd-table-sort{cursor:pointer;flex-direction:column;-moz-text-align-last:right;text-align-last:right}.rcd-NA{color:var(--independance);font-style:italic;font-weight:400}.rcd-pagination{align-items:center;background:transparent;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-style:normal;font-weight:700;gap:10px;justify-content:center;line-height:normal;padding:10px 16px}.rcd-pagination:hover{color:var(--primary)!important}.rcd-pagination-navigate{cursor:pointer}.rcd-pagination-navigate:hover svg{color:var(--primary)!important}.rcd-current:hover{color:var(--white)!important}.rcd-datas{align-items:center;display:flex;gap:10px;margin:10px 10px 15px}.align-left{justify-content:left}.align-center{justify-content:center}.align-right,.rcd-rows{justify-content:right}.rcd-rows{align-items:center;display:flex}.rcd-current{background:var(--primary);box-shadow:4px 7px 12px 0 rgba(33,118,255,.2);color:var(--white)}.hideInput{display:none;visibility:hidden}.showInput{display:flex;visibility:visible}.rcd-search{cursor:pointer;margin-right:5px}.column_align.left{justify-content:left!important;text-align:left!important}.column_align.center{justify-content:center!important;text-align:center!important}.column_align.right{justify-content:right!important;text-align:right!important}.show_full_table{align-items:center;display:flex;justify-content:center;width:100%}.flex-table{align-items:flex-start;display:flex;flex-direction:column;gap:12px;width:100%}.rcd_scrollTable{width:100%}.more_section{padding:24px;text-align:start!important;width:100%}.more_row{border-bottom:1px solid var(--light,#ececf2);border-top:1px solid var(--light,#ececf2)}.grey_bg,.grey_bg>td{background:var(--demi-fond)!important}.white_bg,.white_bg>td{background:var(--white)!important}.icon-show-more{cursor:pointer;transition:transform .3s}.icon-show-more:hover,.icon_rotate{color:var(--primary)!important}.icon_rotate{transform:rotate(90deg)}.scroll_table .rcd_scrollTable table thead,.scroll_table .rcd_scrollTable table thead tr,.scroll_table .rcd_scrollTable table thead tr th{position:sticky!important;top:0!important}.scroll_table .rcd_scrollTable thead{background:var(--white)!important;z-index:10}.scroll_table .rcd_scrollTable{overflow-y:scroll;padding-top:0!important}.full{width:100%}.hidden{display:none!important}.scroll_table .rcd_scrollTable::-webkit-scrollbar{width:5px!important}.modal_content::-webkit-scrollbar-thumb,.scroll_table .rcd_scrollTable::-webkit-scrollbar-thumb{background:var(--medium);border-radius:15px}.modal_content::-webkit-scrollbar-thumb:hover,.scroll_table .rcd_scrollTable::-webkit-scrollbar-thumb:hover{background:var(--medium)!important}
666
+ .empty_table{align-items:center;display:flex;justify-content:center;width:100%}.filter_tooltip{cursor:pointer}.sort_up_icon{position:relative;top:3px}.sort_down_icon{position:relative;top:-2px}.table_input{align-self:stretch!important;margin:0 24px!important;width:auto!important}.oip_column{display:table-cell;padding-left:0}.scroll_table .rcd_scrollTable{gap:8px;overflow-x:auto;padding-top:8px}td{font-size:14px}tr{position:relative}table{border-collapse:collapse;padding:0;width:100%}thead tr th{background-color:transparent;height:35px}td,th{padding:10px 24px}th,tr{height:43px;text-align:start}th{flex-grow:0;font-size:12px;font-weight:700;line-height:14px;order:0}td:last-child,th:last-child div.rcd-table-header{justify-content:end;text-align:end}.rcd-table-header{align-items:center;display:flex;flex-direction:row;margin-left:24px}.rcd-col-title{align-items:center;gap:4px}.rcd-col-title,.rcd-table-sort{display:flex;justify-content:center}.rcd-table-sort{cursor:pointer;flex-direction:column;-moz-text-align-last:right;text-align-last:right}.rcd-NA{color:var(--independance);font-style:italic;font-weight:400}.rcd-pagination{align-items:center;background:transparent;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-style:normal;font-weight:700;gap:10px;justify-content:center;line-height:normal;padding:10px 16px}.rcd-pagination:hover{color:var(--primary)!important}.rcd-pagination-navigate{cursor:pointer}.rcd-pagination-navigate:hover svg{color:var(--primary)!important}.rcd-current:hover{color:var(--white)!important}.rcd-datas{align-items:center;display:flex;gap:10px;margin:10px 10px 15px}.align-left{justify-content:left}.align-center{justify-content:center}.align-right,.rcd-rows{justify-content:right}.rcd-rows{align-items:center;display:flex}.rcd-current{background:var(--primary);box-shadow:4px 7px 12px 0 rgba(33,118,255,.2);color:var(--white)}.hideInput{display:none;visibility:hidden}.showInput{display:flex;visibility:visible}.rcd-search{cursor:pointer;margin-right:5px}.column_align.left{justify-content:left!important;text-align:left!important}.column_align.center{justify-content:center!important;text-align:center!important}.column_align.right{justify-content:right!important;text-align:right!important}.show_full_table{align-items:center;display:flex;justify-content:center;width:100%}.flex-table{align-items:flex-start;display:flex;flex-direction:column;gap:12px;width:100%}.rcd_scrollTable{width:100%}.more_section{padding:24px;text-align:start!important;width:100%}.more_row{border-bottom:1px solid var(--light,#ececf2);border-top:1px solid var(--light,#ececf2)}.grey_bg,.grey_bg>td{background:var(--demi-fond)!important}.white_bg,.white_bg>td{background:var(--white)!important}.icon-show-more{cursor:pointer;transition:transform .3s}.icon-show-more:hover,.icon_rotate{color:var(--primary)!important}.icon_rotate{transform:rotate(90deg)}.scroll_table .rcd_scrollTable table thead,.scroll_table .rcd_scrollTable table thead tr,.scroll_table .rcd_scrollTable table thead tr th{position:sticky!important;top:0!important}.scroll_table .rcd_scrollTable thead{background:var(--white)!important;z-index:10}.scroll_table .rcd_scrollTable{overflow-y:scroll;padding-top:0!important}.full{width:100%}.hidden{display:none!important}.scroll_table .rcd_scrollTable::-webkit-scrollbar{height:5px!important;width:5px!important}.modal_content::-webkit-scrollbar-thumb,.scroll_table .rcd_scrollTable::-webkit-scrollbar-thumb{background:var(--medium);border-radius:12px!important}.modal_content::-webkit-scrollbar-thumb:hover,.scroll_table .rcd_scrollTable::-webkit-scrollbar-thumb:hover{background:var(--medium)!important}
667
667
  </style>
@@ -0,0 +1,4 @@
1
+ declare module 'lodash'
2
+ declare module '@svg-maps/usa'
3
+ declare module '@svg-maps/usa.counties'
4
+ declare module '@svg-maps/france.regions'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekkare/auriga",
3
- "version": "0.1.72",
3
+ "version": "0.1.73",
4
4
  "description": "Aurgia is a UI kit developped by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,7 +31,11 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@nuxt/kit": "^3.7.3",
34
+ "@svg-maps/france.regions": "^1.1.1",
35
+ "@svg-maps/usa": "^1.1.1",
36
+ "@svg-maps/usa.counties": "^1.1.2",
34
37
  "apexcharts": "^3.43.0",
38
+ "lodash": "^4.17.21",
35
39
  "vue-apexcharts": "^1.6.2",
36
40
  "vue3-apexcharts": "^1.4.4"
37
41
  },
@@ -41,6 +45,7 @@
41
45
  "@nuxt/module-builder": "^0.5.1",
42
46
  "@nuxt/schema": "^3.7.3",
43
47
  "@nuxt/test-utils": "^3.7.3",
48
+ "@types/lodash": "^4.14.202",
44
49
  "@types/node": "^18.17.17",
45
50
  "changelogen": "^0.5.5",
46
51
  "eslint": "^8.49.0",