@davi-ai/retorik-map 3.0.2 → 4.0.1

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/package.json CHANGED
@@ -1,50 +1,32 @@
1
1
  {
2
2
  "name": "@davi-ai/retorik-map",
3
- "version": "3.0.2",
3
+ "version": "4.0.1",
4
4
  "description": "Retorik map package",
5
5
  "author": "DAVI",
6
6
  "license": "MIT",
7
7
  "repository": "none",
8
8
  "main": "dist/index.js",
9
- "module": "dist/index.modern.js",
10
9
  "types": "dist/index.d.ts",
11
- "source": "src/index_module.tsx",
12
- "targets": {
13
- "module": {
14
- "context": "browser",
15
- "outputFormat": "esmodule",
16
- "distDir": "dist"
17
- }
18
- },
10
+ "source": "src/index.tsx",
19
11
  "peerDependencies": {
20
- "@davi-ai/retorik-framework": "latest",
21
- "@davi-ai/retorik-framework-hospitality": "^1.0.3",
22
12
  "react": "^18.2.0",
23
13
  "react-dom": "^18.2.0"
24
14
  },
25
15
  "dependencies": {
26
- "@reduxjs/toolkit": "^1.9.3",
27
- "@swc/helpers": "^0.5.0",
28
- "@turf/boolean-point-in-polygon": "^6.5.0",
29
- "@turf/helpers": "^6.5.0",
30
- "@turf/meta": "^6.5.0",
31
- "@turf/turf": "^6.5.0",
32
16
  "graphql": "16.8.1",
33
17
  "graphql-request": "6.1.0",
34
18
  "leaflet": "^1.9.3",
35
19
  "leaflet.markercluster": "^1.5.3",
36
20
  "leaflet.markercluster.freezable": "^1.0.0",
37
- "markdown-it": "14.1.0",
38
- "mime": "^3.0.0",
21
+ "markdown-it": "^14.1.0",
22
+ "postcss-url": "^10.1.3",
39
23
  "qrcode": "^1.5.4",
40
24
  "react-leaflet": "^4.2.1",
41
- "react-leaflet-cluster": "^2.1.0",
42
- "react-redux": "^8.0.5"
25
+ "react-leaflet-cluster": "^2.1.0"
43
26
  },
44
27
  "scripts": {
45
- "start": "parcel watch",
46
- "build": "parcel build",
47
- "parcel-build": "parcel build"
28
+ "start": "vite build --watch",
29
+ "build": "vite build"
48
30
  },
49
31
  "browserslist": {
50
32
  "production": [
@@ -59,19 +41,6 @@
59
41
  ]
60
42
  },
61
43
  "devDependencies": {
62
- "@babel/core": "^7.21.0",
63
- "@davi-ai/retorik-framework": "latest",
64
- "@davi-ai/retorik-framework-hospitality": "1.0.3",
65
- "@parcel/packager-ts": "^2.13.3",
66
- "@parcel/resolver-glob": "^2.13.3",
67
- "@parcel/transformer-sass": "^2.13.3",
68
- "@parcel/transformer-typescript-types": "^2.13.3",
69
- "@parcel/validator-eslint": "^2.13.3",
70
- "@parcel/validator-typescript": "^2.13.3",
71
- "@testing-library/jest-dom": "^5.11.9",
72
- "@testing-library/react": "^13.3.0",
73
- "@testing-library/user-event": "^12.6.3",
74
- "@types/jest": "^26.0.24",
75
44
  "@types/leaflet": "^1.9.1",
76
45
  "@types/node": "^22.10.2",
77
46
  "@types/react": "^18.0.28",
@@ -79,10 +48,7 @@
79
48
  "@types/react-leaflet-markercluster": "^3.0.1",
80
49
  "@typescript-eslint/eslint-plugin": "^8.19.0",
81
50
  "@typescript-eslint/parser": "^8.19.0",
82
- "babel-eslint": "^10.0.3",
83
- "babel-loader": "^8.2.5",
84
- "buffer": "^5.7.1",
85
- "crypto-browserify": "^3.12.0",
51
+ "ajv": "^8.17.1",
86
52
  "eslint": "^9.16.0",
87
53
  "eslint-config-prettier": "^9.1.0",
88
54
  "eslint-config-standard": "^17.1.0",
@@ -92,29 +58,15 @@
92
58
  "eslint-plugin-prettier": "^5.2.1",
93
59
  "eslint-plugin-promise": "^7.2.1",
94
60
  "eslint-plugin-react": "^7.37.2",
95
- "https-browserify": "^1.0.0",
96
- "parcel": "^2.13.3",
97
61
  "postcss": "^8.4.21",
98
62
  "postcss-custom-properties": "^14.0.4",
99
63
  "postcss-import": "^16.1.0",
100
64
  "postcss-nested-import": "^0.2.0",
101
- "postcss-url": "^10.1.3",
102
65
  "prettier": "^2.8.4",
103
- "process": "^0.11.10",
104
- "punycode": "^1.4.1",
105
- "querystring-es3": "^0.2.1",
106
- "react": "^18.2.0",
107
- "react-dom": "^18.2.0",
108
- "react-test-renderer": "^18.2.0",
109
66
  "sass": "^1.58.3",
110
- "stream-browserify": "^3.0.0",
111
- "stream-http": "^3.2.0",
112
67
  "typescript": "5.3.2",
113
- "url": "^0.11.0",
114
- "util": "^0.12.5"
115
- },
116
- "@parcel/transformer-css": {
117
- "errorRecovery": true
68
+ "vite": "^6.3.7",
69
+ "vite-plugin-dts": "^4.5.4"
118
70
  },
119
71
  "files": [
120
72
  "dist"
@@ -1 +0,0 @@
1
- {"mappings":"ACCI;;;;;;;;;AAQA;;;;;;;;;;;;;;AAYI;;;;;ACpBN;;;;AAGA;;;;;;;AAWE;;;;AAIF;;;;;;;;;;;;;AAYA;;;;AAGA;;;;AAGA;;;;;;;;;;;AAUE;;;;;;AAMA;;;;;;;;;;;AASE;;;;;;;;;;;;;AAaA;;;;AAGA;;;;AAKF;;;;AAGE;;;;AAMF;;;;;;AAKA;;;;;;AAMA;;;;;;;;AAOE;;;;;;;AAME;;;;;;;AAQF;;;;;;;AAME;;;;;;;;;;AAUA;;;;;;;;;AAWJ;;;;;;;;;AAQE;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;;;;;;AASE;;;;;;AAKE;;;;;;;;AAOE;;;;;;;AAME;;;;;;;AAOA;;;;;;;AAMA;;;;AAGA;;;;AAKF;;;;;;;AAME;;;;;AAKA;;;;AAMN;;;;AAMF;;;;;;;;;;;;;;;;;;AAmBF;;;;;;;;;;;;;;;;AAeE;;;;;;;;AAOE;;;;;;;AAUN;;;;;;AAMA;;;;;;;;AAME;;;;;;;;;AAWF;;;;;;;;;;;;;;AAeA;;;;;;;;AAOA;;;;;;;;;AAUE;;;;;;;;AAOE;;;;;;;;;;;;;AAaE;;;;;;AAYF;;;;;;;;;;;;;;;;;;AAoBF;EACE;;;;EAGA;;;;EAGA;;;;;EAIA;;;;;;;EAMA;;;;;;;;;;AAYA;;;;;;;;;EAOA;;;;;;;;;AAUA;;;;;;;;;EAOA;;;;;;;AAQA;;;;;;;;;EAOA;;;;;EAIA;;;;;;;;;;;EAYF;;;;EAGA;;;;EAGE;;;;;;;AAQJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClgBA;;;;;;;;;AAOE;;;;AAOA;;;;;;;;;;;;;AAWE;;;;;;;;AAME;;;;;;;;;;;;AAYA;;;;AAGA;;;;AAKE;;;;AAGA;;;;AAMN;;;;;;;;;;;;;AAaE;;;;;;;;;;;AAcE;;;;AAGA;;;;;;;;;;;;AAWA;;;;AAGA;;;;;AAIA;;;;;AAKF;;;;;;AAUA;;;;;AAMA;;;;AAIA;;;;;AAIA;;;;AAIF;;;;;;;;;AAUE;;;;;;AAME;;;;;;AAKA;;;;;;;;;AAQA;;;;;;AAKA;;;;;;;;;AAQA;;;;;AASN;EACE;;;;EAGI;;;;;EAMA;;;;EAIA;;;;;EAIA;;;;EAIF;;;;;;;;;EAUE;;;;;;EAME;;;;;;EAKA;;;;;;;;;EAQA;;;;;;EAKA;;;;;;;;;EAQA;;;;;;AAUR;EAEI;;;;EAGA;;;;EAEE;;;;EAKF;;;;;;;;;EASE;;;;;;EAME;;;;;;EAKA;;;;;;;;;EAQA;;;;;;EAKA;;;;;;;;;EAQA;;;;;;AAUR;EAEI;;;;EAGA;;;;EAEE;;;;EAKF;;;;EAGA;;;;;EAIE;;;;;;;;EAQE;;;;;;EAKA;;;;;;;;;EAQA;;;;;;EAKA;;;;;;;;;EAQA;;;;;;AAUR;EAEI;;;;EAGA;;;;EAEE;;;;EAKF;;;;EAGA;;;;;EAIE;;;;;;;;EAOE;;;;;;EAKA;;;;;;;;;EAQA;;;;;;EAKA;;;;;;;;;EAQA;;;;;;AAUR;EAEI;;;;;EAIA;;;;;;;EAMA;;;;EAGA;;;;;;;EAME;;;;;;;EAME;;;;;;EAKA;;;;;;;;;EAQA;;;;;;EAKA;;;;;;;;;EAQA;;;;;;AC5fV;;;;AAIA;;;;;;AAMA;;;;;AAMA;;;;;;;;;;;;;;;;AAgBA;;;;;AAKA;EACE","sources":["c21ba856c7480275","src/styles/components/BotPOIExtensionDisplay.scss","src/styles/components/Map.scss","src/styles/components/MapFilter.scss","src/styles/pages/home.scss"],"sourcesContent":["@import \"e1e5b492a5157813\";\n@import \"2690d54b908ddc51\";\n@import \"14e332cd0b82f55d\";\n@import \"aa8f8f40ee0d6b28\";\n","#retorik-shadow{\r\n #POIButtonContainer{\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n align-items: end;\r\n justify-content: center;\r\n z-index: 999;\r\n }\r\n .buttonPOI{\r\n margin-bottom: 30px;\r\n z-index: 99;\r\n color: black;\r\n border-radius: 5px;\r\n border: 1px solid black;\r\n padding: 5px 20px;\r\n cursor: pointer;\r\n transition: all 0.5s;\r\n font-weight: bold;\r\n font-size: 1.25em;\r\n background: white;\r\n &:hover{\r\n color:white;\r\n background: rgba(0, 0, 0, 0.74);\r\n }\r\n }\r\n}","#retorik-shadow {\r\n textarea {\r\n background: transparent;\r\n }\r\n .mapContainer {\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n z-index: 0;\r\n }\r\n .leaflet-container {\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n z-index: 0;\r\n .leaflet-pane {\r\n z-index: 0;\r\n }\r\n }\r\n .custom-marker-cluster {\r\n background: #00beff80;\r\n border-radius: 50%;\r\n color: #000000;\r\n height: 33px;\r\n line-height: 37px;\r\n text-align: center;\r\n width: 33px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .leaflet-marker-icon {\r\n transition: all 0.2s ease-in-out;\r\n }\r\n .leaflet-popup {\r\n bottom: 20px !important;\r\n }\r\n .infoPOIPane, .infoPOIPaneWidget {\r\n position: absolute;\r\n z-index: 99;\r\n background: white;\r\n padding: 1rem;\r\n box-shadow: 0px 3px 6px #00000029;\r\n border-radius: 5px;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n .poiTitle {\r\n font-size: 1.25rem;\r\n font-weight: bold;\r\n line-height: 1.6rem;\r\n }\r\n\r\n .poiClose {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n display: block;\r\n width: 40px;\r\n height: 40px;\r\n font-size: 0;\r\n cursor: pointer;\r\n &:before,\r\n &:after {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 2px;\r\n height: 17px;\r\n background-color: #000;\r\n transform: rotate(45deg) translate(-50%, -50%);\r\n transform-origin: top left;\r\n transition: all 420ms;\r\n content: '';\r\n }\r\n &:after {\r\n transform: rotate(-45deg) translate(-50%, -50%);\r\n }\r\n &:hover:before,\r\n &:hover:after {\r\n background-color: #000;\r\n }\r\n }\r\n .white {\r\n color: white;\r\n\r\n &:before,\r\n &:after {\r\n background-color: white;\r\n }\r\n }\r\n\r\n .poiAddress {\r\n padding-top: 1rem;\r\n font-size: 0.8rem;\r\n line-height: 0.7rem;\r\n }\r\n .poiPhone {\r\n padding-top: 0.5rem;\r\n font-size: 0.8rem;\r\n line-height: 0.7rem;\r\n }\r\n\r\n .poiPhotoAndDescription {\r\n padding-top: 1rem;\r\n padding-bottom: 1rem;\r\n display: flex;\r\n flex-direction: row;\r\n gap: 1rem;\r\n\r\n .poiPhoto {\r\n flex: 0 0 9rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n img {\r\n object-fit: cover;\r\n width: 9rem;\r\n height: 9rem;\r\n border-radius: 50%;\r\n }\r\n }\r\n\r\n .poiDescriptionAndButton {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1rem;\r\n overflow: hidden;\r\n\r\n .poiDesc {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n display: -webkit-box;\r\n line-clamp: 4;\r\n -webkit-line-clamp: 4;\r\n -webkit-box-orient: vertical;\r\n white-space: pre-wrap;\r\n }\r\n \r\n .poiButton {\r\n width: fit-content;\r\n padding: 0.5rem;\r\n border-radius: 10px;\r\n font-weight: bold;\r\n border-width: 2px;\r\n border-style: solid;\r\n }\r\n }\r\n }\r\n\r\n .routes-container {\r\n width: 100%;\r\n height: 4rem;\r\n display: flex;\r\n flex-direction: row;\r\n gap: 1rem;\r\n justify-content: center;\r\n\r\n .route-index {\r\n z-index: 1;\r\n }\r\n\r\n .route-icon {\r\n height: 2rem;\r\n width: 2rem;\r\n }\r\n\r\n .route-icon-medium {\r\n height: 1.25rem;\r\n width: 1.25rem;\r\n }\r\n\r\n .route-icon-small {\r\n height: 1.5rem;\r\n width: 1.5rem;\r\n }\r\n\r\n .route-icon-verysmall {\r\n height: 0.75rem;\r\n width: 0.75rem;\r\n }\r\n\r\n .route-icon-smallest {\r\n height: 0.5rem;\r\n width: 0.5rem;\r\n }\r\n\r\n .routes-data {\r\n display: grid;\r\n grid-template-columns: repeat(3, max-content);\r\n padding: 0.5rem 1rem 0.5rem 1.5rem;\r\n gap: 1rem;\r\n border-radius: 0.5rem;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n\r\n .route-item-container {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-end;\r\n\r\n .route-item {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n gap: 0.75rem;\r\n align-items: center;\r\n\r\n .route-item-icon {\r\n position: relative;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .route-item-icon-circle {\r\n position: absolute;\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n border-radius: 100%;\r\n }\r\n\r\n .route-item-icon-triangle {\r\n position: absolute;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n }\r\n .route-item-icon-triangle-car {\r\n top: -1.15rem;\r\n }\r\n .route-item-icon-triangle-other {\r\n top: -0.75rem;\r\n }\r\n }\r\n\r\n .route-item-text {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n\r\n .route-item-duration {\r\n white-space: nowrap;\r\n font-weight: bold;\r\n }\r\n\r\n .route-item-distance {\r\n white-space: nowrap;\r\n }\r\n }\r\n }\r\n }\r\n .route-item-container:hover {\r\n cursor: pointer;\r\n }\r\n\r\n }\r\n \r\n .route-button {\r\n aspect-ratio: 1;\r\n width: 15%;\r\n min-width: 15%;\r\n max-width: 15%;\r\n overflow-y: hidden;\r\n padding: 0.25rem;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-evenly;\r\n align-items: center;\r\n border: 2px solid #000;\r\n border-radius: 0.5rem;\r\n font-weight: bold;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n }\r\n }\r\n\r\n .qrcode-container {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n z-index: 40;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1rem;\r\n color: #FFF;\r\n background-color: rgba(18, 18, 18, 0.7);\r\n\r\n .qrcode-text-and-icon {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n gap: 0.25rem;\r\n font-style: italic;\r\n\r\n .qrcode-text {\r\n width: fit-content;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .infoPOIPaneWidget {\r\n bottom: 135px;\r\n width: 100%;\r\n max-width: 27rem;\r\n }\r\n\r\n .leaflet-control-zoom {\r\n right: 1rem;\r\n border: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n .leaflet-control-zoom-in,\r\n .leaflet-control-zoom-out {\r\n width: 50px;\r\n height: 50px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 50% !important;\r\n }\r\n }\r\n\r\n #around-me {\r\n margin-right: 10px;\r\n right: 1rem;\r\n position: absolute;\r\n width: 50px;\r\n height: 50px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n /* UI Properties */\r\n background: #FFF 0% 0% no-repeat padding-box;\r\n border-radius: 70px;\r\n opacity: 1;\r\n }\r\n\r\n .leaflet-div-icon {\r\n width: 36px !important;\r\n height: 50px !important;\r\n background-color: transparent;\r\n border-style: none;\r\n animation: fadeIn 0.5s ease-in-out;\r\n }\r\n .markerSelected {\r\n filter: drop-shadow(var(--pointerColorHightlight, #ffffffff) 0px 0px 10px);\r\n margin-left: -37.5px !important;\r\n margin-top: -65px !important;\r\n transition: all 0.2s ease-in-out;\r\n width: 57px !important;\r\n height: 80px !important;\r\n }\r\n\r\n .loader-container {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n .loader {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n display: inline-block;\r\n width: 50px;\r\n height: 50px;\r\n border: 3px solid rgba(255, 255, 255, 0.3);\r\n border-radius: 50%;\r\n border-top-color: #fff;\r\n animation: spin 1s ease-in-out infinite;\r\n -webkit-animation: spin 1s ease-in-out infinite;\r\n \r\n @keyframes spin {\r\n to {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n }\r\n @-webkit-keyframes spin {\r\n to {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n }\r\n }\r\n\r\n .exit-loader {\r\n position: absolute;\r\n top: calc(50% + 5px);\r\n left: calc(50% + 5px);\r\n width: 40px;\r\n height: 40px;\r\n cursor: pointer;\r\n color: #000;\r\n background-color: rgba(255, 255, 255, 0.3);\r\n border-radius: 50%;\r\n font-size: 30px;\r\n line-height: 30px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 1;\r\n }\r\n }\r\n\r\n //Small\r\n @media only screen and (max-width: 600px) {\r\n #around-me {\r\n bottom: 25em;\r\n }\r\n .leaflet-control-zoom {\r\n bottom: 19em;\r\n }\r\n .infoPOIPane {\r\n bottom: 135px;\r\n width: 100%;\r\n }\r\n .leaflet-div-icon {\r\n width: 28px !important;\r\n height: 40px !important;\r\n background-color: transparent;\r\n border-style: none;\r\n }\r\n .markerSelected {\r\n filter: drop-shadow(var(--pointerColorHightlight, #ffffffff) 0px 0px 10px);\r\n margin-left: -37.5px !important;\r\n margin-top: -65px !important;\r\n transition: all 0.2s ease-in-out;\r\n width: 38px !important;\r\n height: 54px !important;\r\n }\r\n }\r\n\r\n //Medium\r\n @media only screen and (min-width: 601px) and (max-width: 999px) {\r\n #around-me {\r\n bottom: 25em;\r\n }\r\n .leaflet-control-zoom {\r\n bottom: 19em;\r\n }\r\n .infoPOIPane {\r\n bottom: 16rem;\r\n right: 50%;\r\n left: 50%;\r\n transform: translate(-50%, 0);\r\n width: 40rem;\r\n }\r\n }\r\n\r\n //Large\r\n @media only screen and (min-width: 1000px) and (orientation: landscape) {\r\n #around-me {\r\n bottom: 25em;\r\n }\r\n .leaflet-control-zoom {\r\n bottom: 19em;\r\n }\r\n .infoPOIPane {\r\n bottom: 16rem;\r\n right: 7rem;\r\n width: 27rem;\r\n }\r\n }\r\n\r\n //Borne\r\n @media only screen and (min-width: 1921px) and (orientation: landscape) {\r\n #around-me {\r\n bottom: 29em;\r\n }\r\n .leaflet-control-zoom {\r\n bottom: 25em;\r\n }\r\n .leaflet-div-icon {\r\n background-color: transparent;\r\n border-style: none;\r\n }\r\n .markerSelected {\r\n filter: drop-shadow(var(--pointerColorHightlight, #ffffffff) 0px 0px 10px);\r\n transition: all 0.2s ease-in-out;\r\n }\r\n .infoPOIPane {\r\n bottom: 21rem;\r\n }\r\n }\r\n\r\n //Borne Vertical\r\n @media only screen and (min-width: 1000px) and (orientation: portrait) {\r\n #around-me {\r\n bottom: 25em;\r\n }\r\n .leaflet-control-zoom {\r\n bottom: 19em;\r\n }\r\n .infoPOIPane {\r\n bottom: 30%;\r\n right: 7rem;\r\n width: 30rem;\r\n }\r\n }\r\n\r\n #map-target {\r\n margin: 10px;\r\n }\r\n\r\n .fadeIn {\r\n animation: fadeIn 0.5s ease-in-out;\r\n -webkit-animation: fadeIn 0.5s ease-in-out;\r\n }\r\n \r\n @keyframes fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n \r\n .fadeOut {\r\n animation: fadeOut 0.5s ease-in-out;\r\n -webkit-animation: fadeOut 0.5s ease-in-out;\r\n }\r\n \r\n @keyframes fadeOut {\r\n from {\r\n opacity: 1;\r\n }\r\n to {\r\n opacity: 0;\r\n }\r\n }\r\n}\r\n\r\n#weathermap {\r\n height: 100%;\r\n}\r\n","#retorik-shadow {\r\n .filterContainer, .filterContainerWidget {\r\n display: flex;\r\n position: absolute;\r\n bottom: 0;\r\n width: 100%;\r\n flex-direction: column;\r\n z-index: 51;\r\n &.show {\r\n transition: all 0.3s ease-in-out;\r\n }\r\n &.hide {\r\n transition: all 0.3s ease-in-out;\r\n }\r\n\r\n .filterToggler {\r\n border-radius: 10px 10px 0 0;\r\n cursor: pointer;\r\n background: #edeef2;\r\n color: #575f6b;\r\n z-index: 999;\r\n width: fit-content;\r\n padding: 10px 30px;\r\n box-shadow: 0px -4px 5px 0px rgb(36 65 93 / 11%);\r\n display: flex;\r\n align-items: center;\r\n .arrow {\r\n position: relative;\r\n display: inline-block;\r\n width: 10px;\r\n height: 10px;\r\n padding-left: 17px;\r\n &:before,\r\n &:after {\r\n position: absolute;\r\n top: calc(50% - 1px);\r\n right: auto;\r\n width: 10px;\r\n height: 3px;\r\n background: #000;\r\n content: '';\r\n will-change: transform;\r\n transition: all 0.2s ease;\r\n }\r\n &:before {\r\n transform: rotate(45deg) translate(1px, -1px);\r\n }\r\n &:after {\r\n transform: rotate(-45deg) translate(-3px, -3px);\r\n }\r\n\r\n &.active {\r\n &:before {\r\n transform: rotate(45deg) translate(-2px, 2px);\r\n }\r\n &:after {\r\n transform: rotate(-45deg) translate(2px, 2px);\r\n }\r\n }\r\n }\r\n }\r\n .filterMenu {\r\n display: flex;\r\n\r\n width: 100%;\r\n z-index: 401;\r\n bottom: 0px;\r\n border-radius: 0px;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 20px;\r\n background: #edeef2 0% 0% no-repeat padding-box;\r\n box-shadow: 3px 3px 20px #24415d4d;\r\n\r\n .filterCategory {\r\n cursor: pointer;\r\n box-shadow: 3px 3px 10px #24415d14;\r\n background: transparent\r\n linear-gradient(307deg, #f2f3f6 0%, #e5e6ec 100%) 0% 0% no-repeat\r\n padding-box;\r\n\r\n border-radius: 10px;\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n\r\n gap: 10px;\r\n\r\n ion-img {\r\n border-radius: 50%;\r\n }\r\n .checkbox {\r\n position: absolute;\r\n border: 2px solid #fff;\r\n border-radius: 20px;\r\n background-color: #575f6b;\r\n color: #fff;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n visibility: hidden;\r\n }\r\n .checkbox-selected {\r\n visibility: visible;\r\n }\r\n .image {\r\n aspect-ratio: 1;\r\n border-radius: 50%;\r\n }\r\n .imageFile {\r\n height: 100%;\r\n width: 100%;\r\n }\r\n }\r\n div:not(.selectedFilter) span {\r\n transition: all 0.5s;\r\n color: #575f6b;\r\n font-weight: 400 !important;\r\n }\r\n }\r\n }\r\n\r\n .filterContainerWidget {\r\n &.show {\r\n .filterMenu {\r\n transition: all 0.3s ease-in-out;\r\n height: 90px;\r\n }\r\n }\r\n &.hide {\r\n .filterMenu,\r\n .filterToggler {\r\n background: #edeef2;\r\n }\r\n .filterMenu {\r\n transition: all 0.3s ease-in-out;\r\n height: 10px;\r\n }\r\n .filterCategory {\r\n display: none;\r\n }\r\n }\r\n .filterMenu {\r\n z-index: 19;\r\n\r\n display: flex;\r\n flex-wrap: wrap;\r\n overflow-x: auto;\r\n white-space: nowrap;\r\n display: flex;\r\n flex-direction: column;\r\n width: unset;\r\n .filterCategory {\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n height: 50px;\r\n padding: 10px;\r\n\r\n ion-img {\r\n padding: 5%;\r\n width: 36.5px;\r\n height: 36.5px;\r\n }\r\n .checkbox {\r\n left: 40px;\r\n top: 5px;\r\n height: 12px;\r\n width: 12px;\r\n font-size: 12px;\r\n padding-top: 1px;\r\n }\r\n .image {\r\n padding: 5%;\r\n width: 36.5px;\r\n height: 36.5px;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n font-size: 15px;\r\n line-height: 18px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Small\r\n @media only screen and (max-width: 600px) {\r\n .filterContainer {\r\n bottom: 0px;\r\n &.show {\r\n .filterMenu {\r\n transition: all 0.3s ease-in-out;\r\n height: 90px;\r\n }\r\n }\r\n &.hide {\r\n .filterMenu,\r\n .filterToggler {\r\n background: #edeef2;\r\n }\r\n .filterMenu {\r\n transition: all 0.3s ease-in-out;\r\n height: 10px;\r\n }\r\n .filterCategory {\r\n display: none;\r\n }\r\n }\r\n .filterMenu {\r\n z-index: 19;\r\n\r\n display: flex;\r\n flex-wrap: wrap;\r\n overflow-x: auto;\r\n white-space: nowrap;\r\n display: flex;\r\n flex-direction: column;\r\n width: unset;\r\n .filterCategory {\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n height: 50px;\r\n padding: 10px;\r\n\r\n ion-img {\r\n padding: 5%;\r\n width: 36.5px;\r\n height: 36.5px;\r\n }\r\n .checkbox {\r\n left: 40px;\r\n top: 5px;\r\n height: 12px;\r\n width: 12px;\r\n font-size: 12px;\r\n padding-top: 1px;\r\n }\r\n .image {\r\n padding: 5%;\r\n width: 36.5px;\r\n height: 36.5px;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n font-size: 15px;\r\n line-height: 18px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Medium\r\n @media only screen and (min-width: 601px) and (max-width: 999px) {\r\n .filterContainer {\r\n &.show {\r\n bottom: 0px;\r\n }\r\n &.hide {\r\n bottom: -80px;\r\n .filterMenu,\r\n .filterToggler {\r\n background: #edeef2;\r\n }\r\n }\r\n .filterMenu {\r\n height: 90px;\r\n display: flex;\r\n flex-wrap: wrap;\r\n overflow-x: auto;\r\n white-space: nowrap;\r\n display: flex;\r\n flex-direction: column;\r\n width: unset;\r\n .filterCategory {\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n height: 50px;\r\n padding: 10px;\r\n\r\n ion-img {\r\n padding: 5%;\r\n width: 48px;\r\n height: 48px;\r\n }\r\n .checkbox {\r\n left: 50px;\r\n top: 0px;\r\n height: 17px;\r\n width: 17px;\r\n font-size: 17px;\r\n padding-top: 2px;\r\n }\r\n .image {\r\n padding: 5%;\r\n width: 48px;\r\n height: 48px;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n font-size: 15px;\r\n line-height: 18px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Large\r\n @media only screen and (min-width: 1000px) and (orientation: landscape) {\r\n .filterContainer {\r\n &.show {\r\n bottom: 0px;\r\n }\r\n &.hide {\r\n bottom: -185px;\r\n .filterMenu,\r\n .filterToggler {\r\n background: #edeef2;\r\n }\r\n }\r\n .filterToggler {\r\n margin-left: 100px;\r\n }\r\n .filterMenu {\r\n height: 200px;\r\n flex-wrap: nowrap;\r\n flex-direction: row;\r\n .filterCategory {\r\n width: 150px;\r\n height: 130px;\r\n // min-width: 10rem;\r\n flex-direction: column;\r\n padding-top: 1.5rem;\r\n justify-content: flex-start;\r\n\r\n ion-img {\r\n max-width: 60px;\r\n max-height: 60px;\r\n padding: 7%;\r\n }\r\n .checkbox {\r\n right: 25%;\r\n top: 17%;\r\n height: 20px;\r\n width: 20px;\r\n font-size: 20px;\r\n padding-top: 2px;\r\n }\r\n .image {\r\n max-width: 60px;\r\n max-height: 60px;\r\n padding: 7%;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n font-size: 15px;\r\n line-height: 18px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Borne\r\n @media only screen and (min-width: 1921px) and (orientation: landscape) {\r\n .filterContainer {\r\n &.show {\r\n bottom: 0px;\r\n }\r\n &.hide {\r\n bottom: -285px;\r\n .filterMenu,\r\n .filterToggler {\r\n background: #edeef2;\r\n }\r\n }\r\n .filterToggler {\r\n margin-left: 100px;\r\n }\r\n .filterMenu {\r\n height: 300px;\r\n flex-wrap: nowrap;\r\n flex-direction: row;\r\n .filterCategory {\r\n width: 246px;\r\n height: 213px;\r\n flex-direction: column;\r\n padding: 1.5rem;\r\n justify-content: space-evenly;\r\n\r\n ion-img {\r\n max-width: 98.5px;\r\n max-height: 98.5px;\r\n padding: 8%;\r\n }\r\n .checkbox {\r\n right: 25%;\r\n top: 15%;\r\n height: 32px;\r\n width: 32px;\r\n font-size: 32px;\r\n padding-top: 8px;\r\n }\r\n .image {\r\n max-width: 98.5px;\r\n max-height: 98.5px;\r\n padding: 8%;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 700;\r\n font-size: 22px;\r\n line-height: 27px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Borne Vertical\r\n @media only screen and (min-width: 1000px) and (orientation: portrait) {\r\n .filterContainer {\r\n &.show {\r\n bottom: 15%;\r\n left: calc(50% - 500px);\r\n }\r\n .filterToggler {\r\n width: 900px !important;\r\n margin-left: 0px;\r\n justify-content: center;\r\n left: calc(50% - 500px);\r\n }\r\n .arrow {\r\n display: none !important;\r\n }\r\n .filterMenu {\r\n height: 130px;\r\n width: 900px;\r\n flex-wrap: nowrap;\r\n flex-direction: row;\r\n border-radius: 0px 0px 10px 10px;\r\n .filterCategory {\r\n width: 125px;\r\n height: 110px;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n ion-img {\r\n max-width: 48px;\r\n max-height: 48px;\r\n padding: 7%;\r\n }\r\n .checkbox {\r\n right: 25%;\r\n top: 17%;\r\n height: 20px;\r\n width: 20px;\r\n font-size: 20px;\r\n padding-top: 2px;\r\n }\r\n .image {\r\n max-width: 48px;\r\n max-height: 48px;\r\n padding: 7%;\r\n }\r\n span {\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n font-size: 14px;\r\n line-height: 16px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n &.selectedFilter {\r\n transition: all 0.5s;\r\n box-shadow: inset -3px -3px 16px #ffffff;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","ion-button.confirm {\r\n background-color: #1999B1;\r\n}\r\n\r\nion-button.dismiss {\r\n --border-color: #1999B1;\r\n --border-radius : 10px;\r\n color: #1999B1;\r\n}\r\n\r\nion-content {--overflow: hidden}\r\n\r\nion-content{\r\n --background: #4747478c\r\n}\r\n\r\nion-modal {\r\n display:flex;\r\n --justify-content: space-around !important;\r\n align-items: center;\r\n margin:auto;\r\n text-align: center;\r\n width: 500px;\r\n height: 200px;\r\n --width: 100%;\r\n --height: 100%;\r\n --background: transparent linear-gradient(308deg, #F2F3F6 0%, #E5E6EC 100%) 0% 0% no-repeat padding-box;\r\n box-shadow: -3px -3px 20px #2B27276A;\r\n border-radius: 10px;\r\n opacity: 1 ;\r\n}\r\n\r\n#ion-react-wrapper {\r\n display:flex !important;\r\n justify-content: space-around !important;\r\n}\r\n\r\n@media (max-width: 600px) { \r\n ion-modal {\r\n display:flex;\r\n justify-content: space-between;\r\n margin:auto;\r\n width: 80%;\r\n height: 200px;\r\n --width: 100%;\r\n --height: 100%;\r\n background: #FFFFFF 0% 0% no-repeat padding-box;\r\n box-shadow: -3px -3px 20px #2B27276A;\r\n border-radius: 10px;\r\n opacity: 1;\r\n }\r\n}\r\n"],"names":[],"version":3,"file":"index.css.map"}
@@ -1 +0,0 @@
1
- {"mappings":";ACyCA;IACE,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AExCD;;;;GAIG;AACH;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxC;AAED;;;;;GAKG;AACH;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED;;;;;;GAMG;AACH;IACE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH;IACE,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAClC,qBAAqB,CAAC,EAAE;QACtB,UAAU,CAAC,EAAE,mBAAmB,CAAA;QAChC,MAAM,CAAC,EAAE,mBAAmB,CAAA;QAC5B,KAAK,CAAC,EAAE,mBAAmB,CAAA;QAC3B,WAAW,CAAC,EAAE,mBAAmB,CAAA;QACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAC9B,CAAA;IACD,UAAU,CAAC,EAAE,KAAK,CAAC,OAAkB,CAAC,CAAA;CACvC;AAED;;GAEG;AACH;IACE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AEzED;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AILD,OAAA,MAAM,eAAc,WAoEnB,CAAA;ACtED,OAAO,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCZ,CAAA;A2BfD;;;;;;;;;GASG;AACH;IACE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAYD,OAAA,MAAM,uGAQH,QAAQ,KAAG,WA6Eb,CAAA","sources":["src/src/features/authSlice.ts","src/src/models/POI.ts","src/src/features/poiSlice.ts","src/src/models/Map.ts","src/src/features/mapSlice.ts","src/src/models/Tenant.ts","src/src/features/tenantSlice.ts","src/src/features/botSlice.ts","src/src/stores/globalStore.ts","src/src/components/Icons/MapIcon.tsx","src/src/translations/labels.ts","src/src/components/BotPOIExtensionDisplay.tsx","src/src/styles/icons/dataUrlIcons.ts","src/src/utils/botUtils.ts","src/src/models/constants.ts","src/src/components/MapFilterItem.tsx","src/src/components/MapFilter.tsx","src/src/utils/MarkerIcons.ts","src/src/components/LocationMarker.tsx","src/src/utils/globalUtils.ts","src/src/utils/routeUtils.ts","src/src/components/Icons/CyclingRegularIcon.tsx","src/src/components/Icons/DrivingCarIcon.tsx","src/src/components/Icons/FootWalkingIcon.tsx","src/src/components/Icons/OpenLocationIcon.tsx","src/src/components/Icons/RoundIcon.tsx","src/src/components/Icons/TriangleIcon.tsx","src/src/components/Icons/index.ts","src/src/components/RoutesItem.tsx","src/src/components/Routes.tsx","src/src/components/QRCodeComponent.tsx","src/src/components/POIDetail.tsx","src/src/components/CustomLoader.tsx","src/src/components/Map.tsx","src/src/utils/poiUtils.ts","src/src/services/tenantService.ts","src/src/components/POILoader.tsx","src/src/index_module.tsx","src/index_module.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import React, { useMemo } from 'react'\r\nimport { Provider } from 'react-redux'\r\nimport L from 'leaflet'\r\nimport type { LatLngExpression } from 'leaflet'\r\nimport { BotPOIExtensionDisplay } from './components/BotPOIExtensionDisplay'\r\nimport type { Tenant } from './models/Tenant'\r\nimport { MapDisplay } from './components/Map'\r\nimport { POILoader } from './components/POILoader'\r\nimport { setupStore } from './stores/globalStore'\r\nimport { hospitalityImages } from './styles/icons/dataUrlIcons'\r\n\r\nimport {\r\n iconRestaurant,\r\n iconAFaire,\r\n iconHebergement,\r\n iconAVoir,\r\n iconProduit,\r\n iconService,\r\n createGenericIcon\r\n} from './utils/MarkerIcons'\r\n\r\nimport './styles/module.scss'\r\nimport type { MapLabel, MapSettings } from './models/Map'\r\nimport { HospitalityPOIType as POIType } from './models/POI'\r\nimport { defaultColor } from './models/constants'\r\n\r\n/**\r\n * Interactive map's props\r\n * @param {string | undefined} activeTenant the key of the active tenant defined in tenantList\r\n * @param {boolean | undefined} isDevTenant using a dev tenant ?\r\n * @param {Record<string, Tenant>} tenantList list of the tenants with their data that can be used in this instance of interactive map\r\n * @param {LatLngExpression | undefined} userLocation position of the user\r\n * @param {LatLngExpression | undefined} mapCenter position of the center of the map\r\n * @param {number | undefined} limitAroundCenter limit the map around the center, default 200km. Min zoom will be set depending on this number with 3 breakpoints : 0->199 / 200->599 / 599->?\r\n * @param {MapSettings | undefined} settings categogy settings\r\n */\r\ninterface MapProps {\r\n activeTenant?: string\r\n isDevTenant?: boolean\r\n tenantList: Record<string, Tenant>\r\n userLocation?: LatLngExpression\r\n mapCenter?: LatLngExpression\r\n limitAroundCenter?: number\r\n settings?: MapSettings\r\n}\r\n\r\nconst defaultHospitalityIcons: { [name: string]: L.Icon } = {\r\n restaurant: iconRestaurant,\r\n afaire: iconAFaire,\r\n avoir: iconAVoir,\r\n hebergement: iconHebergement,\r\n produit: iconProduit,\r\n service: iconService\r\n}\r\n\r\nconst store = setupStore()\r\nconst Map = ({\r\n activeTenant,\r\n isDevTenant,\r\n tenantList,\r\n userLocation,\r\n mapCenter,\r\n limitAroundCenter,\r\n settings\r\n}: MapProps): JSX.Element => {\r\n const hospitalityCategories = useMemo<Array<string>>(() => {\r\n if (settings?.categories) {\r\n if (settings?.hospitalityCategories) {\r\n return Object.keys(settings.hospitalityCategories).filter(\r\n (key) => settings.hospitalityCategories?.[key]?.display\r\n )\r\n }\r\n } else if (settings?.hospitalityCategories) {\r\n return Object.keys(settings.hospitalityCategories).filter(\r\n (key) => settings.hospitalityCategories?.[key]?.display\r\n )\r\n } else if (settings?.showFilter) {\r\n return settings.showFilter\r\n }\r\n\r\n // By default return all hospitality categories\r\n return Object.keys(POIType)\r\n }, [settings])\r\n\r\n const leafletIcons = useMemo<{ [type: string]: L.Icon }>(() => {\r\n const tempIcons = { ...defaultHospitalityIcons }\r\n\r\n // Create pin icons for categories\r\n if (settings?.categories) {\r\n settings.categories.forEach((category) => {\r\n const icon = createGenericIcon(\r\n category.color || defaultColor,\r\n category.filter?.iconUrl\r\n )\r\n tempIcons[category.name] = icon\r\n })\r\n }\r\n\r\n // Modify pin icons for hospitality categories that have their default color changed\r\n if (settings?.hospitalityCategories) {\r\n Object.entries(settings.hospitalityCategories).forEach(\r\n ([type, values]) => {\r\n if (values.display && values.color) {\r\n const icon = createGenericIcon(\r\n values.color,\r\n hospitalityImages[type]\r\n )\r\n tempIcons[type] = icon\r\n }\r\n }\r\n )\r\n }\r\n\r\n return tempIcons\r\n }, [settings])\r\n\r\n return (\r\n <React.Fragment>\r\n {activeTenant && (\r\n <Provider store={store}>\r\n <MapDisplay\r\n activeTenant={activeTenant}\r\n isDevTenant={isDevTenant}\r\n tenantList={tenantList}\r\n userLocation={userLocation}\r\n mapCenter={mapCenter}\r\n limitAroundCenter={limitAroundCenter}\r\n settings={settings}\r\n icons={leafletIcons}\r\n />\r\n <POILoader\r\n retorikName={tenantList[activeTenant].retorikName}\r\n useDevTenant={!!isDevTenant}\r\n customCategories={settings?.categories}\r\n hospitalityCategories={hospitalityCategories}\r\n />\r\n <BotPOIExtensionDisplay />\r\n </Provider>\r\n )}\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport { MapIcon } from './components/Icons/MapIcon'\r\nexport { Map, POIType }\r\nexport { labels } from './translations/labels'\r\nexport type { MapSettings, MapLabel }\r\nexport type { Tenant } from './models/Tenant'\r\n"],"names":[],"version":3,"file":"index.d.ts.map"}