@tekkare/auriga 0.2.140 → 0.2.141

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.
@@ -0,0 +1,101 @@
1
+ import type { PropType } from "vue";
2
+ import { RegionsNz } from "./maps/interfaces";
3
+ type dataRegion = {
4
+ name: RegionsNz;
5
+ value: number;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
+ data: {
9
+ type: PropType<dataRegion[]>;
10
+ default: null;
11
+ required: true;
12
+ };
13
+ title: {
14
+ type: PropType<string | null>;
15
+ default: null;
16
+ required: false;
17
+ };
18
+ source: {
19
+ type: PropType<string | null>;
20
+ default: null;
21
+ };
22
+ haveCustomTitle: {
23
+ type: PropType<string | null>;
24
+ default: null;
25
+ required: false;
26
+ };
27
+ uniqueID: {
28
+ type: PropType<string | null>;
29
+ default: null;
30
+ required: false;
31
+ };
32
+ lang: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ required: false;
36
+ };
37
+ }>, {
38
+ getColor: (value?: number) => "var(--lightest)" | "#3F1151" | "#432974" | "#404A85" | "#3F668A" | "#43808C" | "#4C9C8A" | "#5FB57E" | "#85CB68" | "#BDDD51" | "#F9E855" | undefined;
39
+ handleHover: (region: RegionsNz) => void;
40
+ handleMouseLeave: () => void;
41
+ RegionsNz: typeof RegionsNz;
42
+ hoveredRegion: import("vue").Ref<RegionsNz | null, RegionsNz | null>;
43
+ tooltipPosition: import("vue").Ref<{
44
+ x: number;
45
+ y: number;
46
+ width: number;
47
+ }, {
48
+ x: number;
49
+ y: number;
50
+ width: number;
51
+ } | {
52
+ x: number;
53
+ y: number;
54
+ width: number;
55
+ }>;
56
+ scale: import("vue").Ref<number[], number[]>;
57
+ openSource: () => void;
58
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "openSource"[], "openSource", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
59
+ data: {
60
+ type: PropType<dataRegion[]>;
61
+ default: null;
62
+ required: true;
63
+ };
64
+ title: {
65
+ type: PropType<string | null>;
66
+ default: null;
67
+ required: false;
68
+ };
69
+ source: {
70
+ type: PropType<string | null>;
71
+ default: null;
72
+ };
73
+ haveCustomTitle: {
74
+ type: PropType<string | null>;
75
+ default: null;
76
+ required: false;
77
+ };
78
+ uniqueID: {
79
+ type: PropType<string | null>;
80
+ default: null;
81
+ required: false;
82
+ };
83
+ lang: {
84
+ type: StringConstructor;
85
+ default: string;
86
+ required: false;
87
+ };
88
+ }>> & Readonly<{
89
+ onOpenSource?: ((...args: any[]) => any) | undefined;
90
+ }>, {
91
+ data: dataRegion[];
92
+ lang: string;
93
+ source: string | null;
94
+ title: string | null;
95
+ haveCustomTitle: string | null;
96
+ uniqueID: string | null;
97
+ }, {}, {
98
+ oneRegionNz: any;
99
+ ArgSourceContainer: any;
100
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
+ export default _default;
@@ -0,0 +1,232 @@
1
+ <template>
2
+ <div
3
+ class="oip_table_card map_card-container"
4
+ :id="`container_map-${title}-${uniqueID}`"
5
+ >
6
+ <div class="p-24">
7
+ <slot name="customTitle" v-if="haveCustomTitle" />
8
+ <div v-else class="oip_subtitle">
9
+ {{ title ? title : "Your map title" }}
10
+ </div>
11
+ <ArgSourceContainer @click="openSource">
12
+ {{ source ? source : "Your source" }}
13
+ </ArgSourceContainer>
14
+ </div>
15
+ <div
16
+ v-if="hoveredRegion !== null"
17
+ :id="`tooltip_map-${title}`"
18
+ class="tooltip_container"
19
+ :style="{
20
+ top: tooltipPosition.y + 'px',
21
+ left: tooltipPosition.x + 'px',
22
+ width: tooltipPosition.width + 'px',
23
+ }"
24
+ >
25
+ <div class="tooltip">
26
+ <p class="card_title">{{ hoveredRegion }}</p>
27
+ <div class="card_text">
28
+ <slot
29
+ name="Tooltip"
30
+ v-bind:value="{
31
+ name: hoveredRegion,
32
+ value: data.find((x) => x.name == hoveredRegion)?.value,
33
+ }"
34
+ />
35
+ </div>
36
+ </div>
37
+ </div>
38
+ <div class="p24">
39
+ <svg
40
+ class="map"
41
+ width="auto"
42
+ height="500"
43
+ viewBox="0 0 600 700"
44
+ fill="none"
45
+ xmlns="http://www.w3.org/2000/svg"
46
+ >
47
+ <OneRegionPl
48
+ v-for="region in RegionsPl"
49
+ :key="region"
50
+ :data="{
51
+ color: getColor(data.find((x) => x.name == region)?.value),
52
+ value: data.find((x) => x.name == region)?.value,
53
+ }"
54
+ :current-region="region"
55
+ :title="title"
56
+ :hoveredRegion="hoveredRegion"
57
+ @hover="handleHover(region)"
58
+ @mouseleave="handleMouseLeave"
59
+ />
60
+ </svg>
61
+ <div class="legend">
62
+ <div class="scale" />
63
+ <div class="legend-text">
64
+ <p v-for="value in scale" :key="value">
65
+ {{ Math.ceil(value)?.toLocaleString("fr-FR") }}
66
+ </p>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <slot name="Subcontent" />
71
+ </div>
72
+ </template>
73
+
74
+ <script>
75
+ import { onMounted, ref, watch, defineComponent, nextTick } from "vue";
76
+ import { RegionsPl } from "./maps/interfaces";
77
+ import ArgSourceContainer from "./argSourceContainer.vue";
78
+ import OneRegionPl from "./oneRegionPl.vue";
79
+ export default defineComponent({
80
+ name: "argMapsPoland",
81
+ components: { OneRegionPl, ArgSourceContainer },
82
+ props: {
83
+ data: {
84
+ type: Array,
85
+ default: null,
86
+ required: true
87
+ },
88
+ title: {
89
+ type: [String, null],
90
+ default: null,
91
+ required: false
92
+ },
93
+ source: {
94
+ type: [String, null],
95
+ default: null
96
+ },
97
+ haveCustomTitle: {
98
+ type: [String, null],
99
+ default: null,
100
+ required: false
101
+ },
102
+ uniqueID: {
103
+ type: [String, null],
104
+ default: null,
105
+ required: false
106
+ },
107
+ lang: {
108
+ type: String,
109
+ default: "en",
110
+ required: false
111
+ }
112
+ },
113
+ emits: ["openSource"],
114
+ setup(props, { emit }) {
115
+ const minimalValue = ref(null);
116
+ const maximalValue = ref(null);
117
+ const hoveredRegion = ref(null);
118
+ const tooltipPosition = ref({ x: 0, y: 0, width: 0 });
119
+ const scale = ref([]);
120
+ function getColor(value) {
121
+ if (!value) return "var(--lightest)";
122
+ if (value >= scale.value[9]) {
123
+ return "#3F1151";
124
+ } else if (value >= scale.value[8]) {
125
+ return "#432974";
126
+ } else if (value >= scale.value[7]) {
127
+ return "#404A85";
128
+ } else if (value >= scale.value[6]) {
129
+ return "#3F668A";
130
+ } else if (value >= scale.value[5]) {
131
+ return "#43808C";
132
+ } else if (value >= scale.value[4]) {
133
+ return "#4C9C8A";
134
+ } else if (value >= scale.value[3]) {
135
+ return "#5FB57E";
136
+ } else if (value >= scale.value[2]) {
137
+ return "#85CB68";
138
+ } else if (value >= scale.value[1]) {
139
+ return "#BDDD51";
140
+ } else if (value >= scale.value[0]) {
141
+ return "#F9E855";
142
+ }
143
+ }
144
+ function handleHover(region) {
145
+ hoveredRegion.value = region;
146
+ }
147
+ function handleMouseLeave() {
148
+ hoveredRegion.value = null;
149
+ }
150
+ function openSource() {
151
+ emit("openSource");
152
+ }
153
+ function setupScale() {
154
+ minimalValue.value = Math.floor(
155
+ Math.min(...props.data.map((x) => x.value))
156
+ );
157
+ maximalValue.value = Math.ceil(
158
+ Math.max(...props.data.map((x) => x.value))
159
+ );
160
+ const step = (maximalValue.value - minimalValue.value) / 10;
161
+ if (minimalValue.value !== null) {
162
+ scale.value = Array.from(
163
+ { length: 10 },
164
+ (_, i) => (minimalValue.value !== null ? minimalValue.value : 0) + i * step
165
+ );
166
+ }
167
+ }
168
+ onMounted(() => {
169
+ setupScale();
170
+ });
171
+ watch(
172
+ () => props.data,
173
+ () => {
174
+ setupScale();
175
+ }
176
+ );
177
+ watch(
178
+ () => hoveredRegion.value,
179
+ () => {
180
+ if (hoveredRegion.value) {
181
+ const selectedRegion = document.getElementById(
182
+ `interactiveMap-${props.title}-${hoveredRegion.value}`
183
+ )?.getBoundingClientRect();
184
+ const containerPosition = document.getElementById(`container_map-${props.title}-${props.uniqueID}`)?.getBoundingClientRect();
185
+ if (!selectedRegion || !containerPosition) return;
186
+ tooltipPosition.value = {
187
+ x: selectedRegion?.x - containerPosition?.x,
188
+ y: selectedRegion?.top - containerPosition?.top - 60,
189
+ width: selectedRegion?.width
190
+ };
191
+ }
192
+ }
193
+ );
194
+ watch(
195
+ () => hoveredRegion.value,
196
+ async () => {
197
+ if (hoveredRegion.value) {
198
+ await nextTick();
199
+ const selectedRegion = document.getElementById(
200
+ `interactiveMap-${props.title}-${hoveredRegion.value}`
201
+ )?.getBoundingClientRect();
202
+ const containerPosition = document.getElementById(`container_map-${props.title}`)?.getBoundingClientRect();
203
+ const tooltipElement = document.getElementById(
204
+ `tooltip_map-${props.title}`
205
+ );
206
+ const tooltipHeight = tooltipElement ? tooltipElement.getBoundingClientRect().height : 60;
207
+ if (!selectedRegion || !containerPosition) return;
208
+ tooltipPosition.value = {
209
+ x: selectedRegion?.x - containerPosition?.x,
210
+ y: selectedRegion?.top - containerPosition?.top - tooltipHeight,
211
+ width: selectedRegion?.width
212
+ };
213
+ }
214
+ }
215
+ );
216
+ return {
217
+ getColor,
218
+ handleHover,
219
+ handleMouseLeave,
220
+ RegionsPl,
221
+ hoveredRegion,
222
+ tooltipPosition,
223
+ scale,
224
+ openSource
225
+ };
226
+ }
227
+ });
228
+ </script>
229
+
230
+ <style scoped>
231
+ .map{margin-top:24px;width:100%}.p24{padding:24px}.map path{stroke-width:2px;stroke:rgba(0,0,0,.2);max-height:400px;position:relative}.map path:hover{transition:all .2s}.map_card-container{display:flex;flex-direction:column;gap:8px;min-width:400px;position:relative;width:100%}.test{margin-bottom:200px}.tooltip_container{align-items:center;display:flex;flex-direction:column;justify-content:center;left:0;min-width:-moz-fit-content;min-width:fit-content;position:absolute;top:0;z-index:96}.tooltip{background:#fff;border:1px solid var(--light);border-radius:4px;box-shadow:var(--medium-shadow);color:var(--darkest);font-size:12px}.card_title{background-color:var(--light);border-radius:4px 4px 0 0;font-size:14px;font-weight:600;padding:2px 8px;text-transform:capitalize;width:calc(100% - 15px)}.card_text{color:var(--dark);font-size:12px;font-weight:400;line-height:160%;padding:8px;width:100%}.legend{display:flex;flex-direction:column;gap:8px;margin:auto;width:50%}.scale{background:linear-gradient(45deg,#3f1151,#432974,#404a85,#3f668a,#43808c,#4c9c8a,#5fb57e,#85cb68,#bddd51,#f9e855);height:10px;transform:rotate(180deg)}.legend-text{align-items:center;color:var(--dark);display:flex;font-size:12px;font-weight:400;justify-content:space-between;line-height:160%}.p-24{padding:0 24px}
232
+ </style>
@@ -0,0 +1,101 @@
1
+ import type { PropType } from "vue";
2
+ import { RegionsPl } from "./maps/interfaces";
3
+ type dataRegion = {
4
+ name: RegionsPl;
5
+ value: number;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
+ data: {
9
+ type: PropType<dataRegion[]>;
10
+ default: null;
11
+ required: true;
12
+ };
13
+ title: {
14
+ type: PropType<string | null>;
15
+ default: null;
16
+ required: false;
17
+ };
18
+ source: {
19
+ type: PropType<string | null>;
20
+ default: null;
21
+ };
22
+ haveCustomTitle: {
23
+ type: PropType<string | null>;
24
+ default: null;
25
+ required: false;
26
+ };
27
+ uniqueID: {
28
+ type: PropType<string | null>;
29
+ default: null;
30
+ required: false;
31
+ };
32
+ lang: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ required: false;
36
+ };
37
+ }>, {
38
+ getColor: (value?: number) => "var(--lightest)" | "#3F1151" | "#432974" | "#404A85" | "#3F668A" | "#43808C" | "#4C9C8A" | "#5FB57E" | "#85CB68" | "#BDDD51" | "#F9E855" | undefined;
39
+ handleHover: (region: RegionsPl) => void;
40
+ handleMouseLeave: () => void;
41
+ RegionsPl: typeof RegionsPl;
42
+ hoveredRegion: import("vue").Ref<RegionsPl | null, RegionsPl | null>;
43
+ tooltipPosition: import("vue").Ref<{
44
+ x: number;
45
+ y: number;
46
+ width: number;
47
+ }, {
48
+ x: number;
49
+ y: number;
50
+ width: number;
51
+ } | {
52
+ x: number;
53
+ y: number;
54
+ width: number;
55
+ }>;
56
+ scale: import("vue").Ref<number[], number[]>;
57
+ openSource: () => void;
58
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "openSource"[], "openSource", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
59
+ data: {
60
+ type: PropType<dataRegion[]>;
61
+ default: null;
62
+ required: true;
63
+ };
64
+ title: {
65
+ type: PropType<string | null>;
66
+ default: null;
67
+ required: false;
68
+ };
69
+ source: {
70
+ type: PropType<string | null>;
71
+ default: null;
72
+ };
73
+ haveCustomTitle: {
74
+ type: PropType<string | null>;
75
+ default: null;
76
+ required: false;
77
+ };
78
+ uniqueID: {
79
+ type: PropType<string | null>;
80
+ default: null;
81
+ required: false;
82
+ };
83
+ lang: {
84
+ type: StringConstructor;
85
+ default: string;
86
+ required: false;
87
+ };
88
+ }>> & Readonly<{
89
+ onOpenSource?: ((...args: any[]) => any) | undefined;
90
+ }>, {
91
+ data: dataRegion[];
92
+ lang: string;
93
+ source: string | null;
94
+ title: string | null;
95
+ haveCustomTitle: string | null;
96
+ uniqueID: string | null;
97
+ }, {}, {
98
+ OneRegionPl: any;
99
+ ArgSourceContainer: any;
100
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
+ export default _default;
@@ -18,6 +18,24 @@ export declare enum Regions {
18
18
  PaysDeLaLoire = "Pays de la Loire",
19
19
  ProvenceAlpesCoteDazur = "Provence-Alpes-C\u00F4te d'Azur"
20
20
  }
21
+ export declare enum RegionsPl {
22
+ Kuwjawsko = "kujawsko-pomorskie",
23
+ Lubuskie = "lubuskie",
24
+ Lodzkie = "\u0142\u00F3dzkie",
25
+ Opolskie = "opolskie",
26
+ Podkarpackie = "podkarpackie",
27
+ Podlaskie = "podlaskie",
28
+ Lubelskie = "lubelskie",
29
+ Maloposlkie = "ma\u0142opolskie",
30
+ Mazowieckie = "mazowieckie",
31
+ Swietokryzskie = "\u015Bwi\u0119tokrzyskie",
32
+ Wielkopolskie = "wielkopolskie",
33
+ Dolnoslaskie = "dolno\u015Bl\u0105skie",
34
+ Zachodniopomorskie = "zachodniopomorskie",
35
+ Pomorskie = "pomorskie",
36
+ Slaskie = "\u015Bl\u0105skie",
37
+ Warlinsko = "warmi\u0144sko-mazurskie"
38
+ }
21
39
  export declare enum RegionsDe {
22
40
  BadenWurttemberg = "Baden-Wurttemberg",
23
41
  Bavaria = "Bavaria",
@@ -94,6 +112,126 @@ export declare enum RegionsDk {
94
112
  Syddanmark = "Syddanmark"
95
113
  }
96
114
  export declare const GroupedRegions: Record<RegionGroupsNo, RegionsNo[]>;
115
+ export declare enum RegionsJpJp {
116
+ Hokkaido = "\u5317\u6D77\u9053",
117
+ Aomori = "\u9752\u68EE",
118
+ Iwate = "\u5CA9\u624B",
119
+ Miyagi = "\u5BAE\u57CE",
120
+ Akita = "\u79CB\u7530",
121
+ Yamagata = "\u5C71\u5F62",
122
+ Fukushima = "\u798F\u5CF6",
123
+ Ibaraki = "\u8328\u57CE",
124
+ Tochigi = "\u6803\u6728",
125
+ Gunma = "\u7FA4\u99AC",
126
+ Saitama = "\u57FC\u7389",
127
+ Chiba = "\u5343\u8449",
128
+ Tokyo = "\u6771\u4EAC",
129
+ Kanagawa = "\u795E\u5948\u5DDD",
130
+ Niigata = "\u65B0\u6F5F",
131
+ Toyama = "\u5BCC\u5C71",
132
+ Ishikawa = "\u77F3\u5DDD",
133
+ Fukui = "\u798F\u4E95",
134
+ Yamanashi = "\u5C71\u68A8",
135
+ Nagano = "\u9577\u91CE",
136
+ Gifu = "\u5C90\u961C",
137
+ Shizuoka = "\u9759\u5CA1",
138
+ Aichi = "\u611B\u77E5",
139
+ Mie = "\u4E09\u91CD",
140
+ Shiga = "\u6ECB\u8CC0",
141
+ Kyoto = "\u4EAC\u90FD",
142
+ Osaka = "\u5927\u962A",
143
+ Hyogo = "\u5175\u5EAB",
144
+ Nara = "\u5948\u826F",
145
+ Wakayama = "\u548C\u6B4C\u5C71",
146
+ Tottori = "\u9CE5\u53D6",
147
+ Shimane = "\u5CF6\u6839",
148
+ Okayama = "\u5CA1\u5C71",
149
+ Hiroshima = "\u5E83\u5CF6",
150
+ Yamaguchi = "\u5C71\u53E3",
151
+ Tokushima = "\u5FB3\u5CF6",
152
+ Kagawa = "\u9999\u5DDD",
153
+ Ehime = "\u611B\u5A9B",
154
+ Kochi = "\u9AD8\u77E5",
155
+ Fukuoka = "\u798F\u5CA1",
156
+ Saga = "\u4F50\u8CC0",
157
+ Nagasaki = "\u9577\u5D0E",
158
+ Kumamoto = "\u718A\u672C",
159
+ Oita = "\u5927\u5206",
160
+ Miyazaki = "\u5BAE\u5D0E",
161
+ Kagoshima = "\u9E7F\u5150\u5CF6",
162
+ Okinawa = "\u6C96\u7E04"
163
+ }
164
+ export declare enum RegionsJp {
165
+ Hokkaido = "Hokkaido",
166
+ Aomori = "Aomori",
167
+ Iwate = "Iwate",
168
+ Miyagi = "Miyagi",
169
+ Akita = "Akita",
170
+ Yamagata = "Yamagata",
171
+ Fukushima = "Fukushima",
172
+ Ibaraki = "Ibaraki",
173
+ Tochigi = "Tochigi",
174
+ Gunma = "Gunma",
175
+ Saitama = "Saitama",
176
+ Chiba = "Chiba",
177
+ Tokyo = "Tokyo",
178
+ Kanagawa = "Kanagawa",
179
+ Niigata = "Niigata",
180
+ Toyama = "Toyama",
181
+ Ishikawa = "Ishikawa",
182
+ Fukui = "Fukui",
183
+ Yamanashi = "Yamanashi",
184
+ Nagano = "Nagano",
185
+ Gifu = "Gifu",
186
+ Shizuoka = "Shizuoka",
187
+ Aichi = "Aichi",
188
+ Mie = "Mie",
189
+ Shiga = "Shiga",
190
+ Kyoto = "Kyoto",
191
+ Osaka = "Osaka",
192
+ Hyogo = "Hyogo",
193
+ Nara = "Nara",
194
+ Wakayama = "Wakayama",
195
+ Tottori = "Tottori",
196
+ Shimane = "Shimane",
197
+ Okayama = "Okayama",
198
+ Hiroshima = "Hiroshima",
199
+ Yamaguchi = "Yamaguchi",
200
+ Tokushima = "Tokushima",
201
+ Kagawa = "Kagawa",
202
+ Ehime = "Ehime",
203
+ Kochi = "Kochi",
204
+ Fukuoka = "Fukuoka",
205
+ Saga = "Saga",
206
+ Nagasaki = "Nagasaki",
207
+ Kumamoto = "Kumamoto",
208
+ Oita = "Oita",
209
+ Miyazaki = "Miyazaki",
210
+ Kagoshima = "Kagoshima",
211
+ Okinawa = "Okinawa"
212
+ }
213
+ export declare enum RegionsNz {
214
+ Auckland = "Auckland",
215
+ BayOfPlenty = "Bay of Plenty",
216
+ Canterbury = "Canterbury",
217
+ CapitalAndCoast = "Capital & Coast",
218
+ CountiesManukau = "Counties Manukau",
219
+ HawkesBay = "Hawke's Bay",
220
+ HuttValley = "Hutt Valley",
221
+ Lakes = "Lakes",
222
+ MidCentral = "MidCentral",
223
+ NelsonMarlborough = "Nelson Marlborough",
224
+ Northland = "Northland",
225
+ SouthCanterbury = "South Canterbury",
226
+ Southern = "Southern",
227
+ Tairawhiti = "Tairawhiti",
228
+ Taranaki = "Taranaki",
229
+ Waikato = "Waikato",
230
+ Wairarapa = "Wairarapa",
231
+ Waitemata = "Waitemata",
232
+ WestCoast = "West Coast",
233
+ Whanganui = "Whanganui"
234
+ }
97
235
  export declare enum RegionsKr {
98
236
  NorthChungcheong = "Chungcheongbuk-do",
99
237
  SouthChungcheong = "Chungcheongnam-do",