@geotrekce/geotrek-rando-widget 0.4.6 → 0.4.7

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.
Files changed (158) hide show
  1. package/dist/cjs/grw-app.cjs.entry.js +1 -1
  2. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  3. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  4. package/dist/cjs/grw-filter.cjs.entry.js +1 -1
  5. package/dist/cjs/grw-filter.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-filter.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-filters_16.cjs.entry.js +8 -4
  8. package/dist/cjs/grw-filters_16.cjs.entry.js.br +0 -0
  9. package/dist/cjs/grw-filters_16.cjs.entry.js.gz +0 -0
  10. package/dist/cjs/grw-filters_16.cjs.entry.js.map +1 -1
  11. package/dist/cjs/grw-information-desk_6.cjs.entry.js +1 -1
  12. package/dist/cjs/grw-information-desk_6.cjs.entry.js.br +0 -0
  13. package/dist/cjs/grw-information-desk_6.cjs.entry.js.gz +0 -0
  14. package/dist/cjs/{utils-aafb9447.js → utils-f0196a2f.js} +2 -1
  15. package/dist/cjs/utils-f0196a2f.js.br +0 -0
  16. package/dist/cjs/utils-f0196a2f.js.gz +0 -0
  17. package/dist/cjs/utils-f0196a2f.js.map +1 -0
  18. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  19. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  20. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  21. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  22. package/dist/collection/store/grw-trek-provider.js +6 -2
  23. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  24. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  25. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  26. package/dist/collection/store/store.js +1 -0
  27. package/dist/collection/store/store.js.br +0 -0
  28. package/dist/collection/store/store.js.gz +0 -0
  29. package/dist/collection/store/store.js.map +1 -1
  30. package/dist/collection/stories/App.stories.js +2 -2
  31. package/dist/collection/stories/App.stories.js.br +0 -0
  32. package/dist/collection/stories/App.stories.js.gz +0 -0
  33. package/dist/collection/stories/TrekMap.stories.js +2 -2
  34. package/dist/collection/stories/TrekMap.stories.js.br +0 -0
  35. package/dist/collection/stories/TrekMap.stories.js.gz +0 -0
  36. package/dist/collection/stories/TreksMap.stories.js +2 -2
  37. package/dist/collection/stories/TreksMap.stories.js.br +0 -0
  38. package/dist/collection/stories/TreksMap.stories.js.gz +0 -0
  39. package/dist/collection/types/types.js.map +1 -1
  40. package/dist/esm/grw-app.entry.js +1 -1
  41. package/dist/esm/grw-app.entry.js.br +0 -0
  42. package/dist/esm/grw-app.entry.js.gz +0 -0
  43. package/dist/esm/grw-filter.entry.js +1 -1
  44. package/dist/esm/grw-filter.entry.js.br +0 -0
  45. package/dist/esm/grw-filter.entry.js.gz +0 -0
  46. package/dist/esm/grw-filters_16.entry.js +8 -4
  47. package/dist/esm/grw-filters_16.entry.js.br +0 -0
  48. package/dist/esm/grw-filters_16.entry.js.gz +0 -0
  49. package/dist/esm/grw-filters_16.entry.js.map +1 -1
  50. package/dist/esm/grw-information-desk_6.entry.js +1 -1
  51. package/dist/esm/grw-information-desk_6.entry.js.br +0 -0
  52. package/dist/esm/grw-information-desk_6.entry.js.gz +0 -0
  53. package/dist/esm/{utils-6441a08a.js → utils-2e80d729.js} +2 -1
  54. package/dist/esm/utils-2e80d729.js.br +0 -0
  55. package/dist/esm/utils-2e80d729.js.gz +0 -0
  56. package/dist/esm/utils-2e80d729.js.map +1 -0
  57. package/dist/esm-es5/grw-app.entry.js +1 -1
  58. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  59. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  60. package/dist/esm-es5/grw-filter.entry.js +1 -1
  61. package/dist/esm-es5/grw-filter.entry.js.br +0 -0
  62. package/dist/esm-es5/grw-filter.entry.js.gz +0 -0
  63. package/dist/esm-es5/grw-filters_16.entry.js +2 -2
  64. package/dist/esm-es5/grw-filters_16.entry.js.br +0 -0
  65. package/dist/esm-es5/grw-filters_16.entry.js.gz +0 -0
  66. package/dist/esm-es5/grw-filters_16.entry.js.map +1 -1
  67. package/dist/esm-es5/grw-information-desk_6.entry.js +1 -1
  68. package/dist/esm-es5/grw-information-desk_6.entry.js.br +0 -0
  69. package/dist/esm-es5/grw-information-desk_6.entry.js.gz +0 -0
  70. package/dist/esm-es5/utils-2e80d729.js +2 -0
  71. package/dist/esm-es5/utils-2e80d729.js.br +0 -0
  72. package/dist/esm-es5/utils-2e80d729.js.gz +0 -0
  73. package/dist/esm-es5/utils-2e80d729.js.map +1 -0
  74. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  75. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  76. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  77. package/dist/geotrek-rando-widget/{p-ff607e4b.entry.js → p-0eb7003a.entry.js} +2 -2
  78. package/dist/geotrek-rando-widget/p-0eb7003a.entry.js.br +0 -0
  79. package/dist/geotrek-rando-widget/p-0eb7003a.entry.js.gz +0 -0
  80. package/dist/geotrek-rando-widget/p-20f93123.system.js +2 -0
  81. package/dist/geotrek-rando-widget/p-20f93123.system.js.br +0 -0
  82. package/dist/geotrek-rando-widget/p-20f93123.system.js.gz +0 -0
  83. package/dist/geotrek-rando-widget/p-20f93123.system.js.map +1 -0
  84. package/dist/geotrek-rando-widget/{p-06412985.entry.js → p-34b0e7b0.entry.js} +2 -2
  85. package/dist/geotrek-rando-widget/p-34b0e7b0.entry.js.br +0 -0
  86. package/dist/geotrek-rando-widget/p-34b0e7b0.entry.js.gz +0 -0
  87. package/dist/geotrek-rando-widget/{p-ebadf1e2.system.entry.js → p-6f966493.system.entry.js} +2 -2
  88. package/dist/geotrek-rando-widget/p-6f966493.system.entry.js.br +0 -0
  89. package/dist/geotrek-rando-widget/p-6f966493.system.entry.js.gz +0 -0
  90. package/dist/geotrek-rando-widget/{p-0d8a3c86.system.entry.js → p-c7fe0141.system.entry.js} +2 -2
  91. package/dist/geotrek-rando-widget/p-c7fe0141.system.entry.js.br +0 -0
  92. package/dist/geotrek-rando-widget/p-c7fe0141.system.entry.js.gz +0 -0
  93. package/dist/geotrek-rando-widget/p-cc8a7df2.system.js +1 -1
  94. package/dist/geotrek-rando-widget/p-cc8a7df2.system.js.br +0 -0
  95. package/dist/geotrek-rando-widget/p-cc8a7df2.system.js.gz +0 -0
  96. package/dist/geotrek-rando-widget/{p-01f5ed45.system.entry.js → p-cfb59fc0.system.entry.js} +3 -3
  97. package/dist/geotrek-rando-widget/p-cfb59fc0.system.entry.js.br +0 -0
  98. package/dist/geotrek-rando-widget/p-cfb59fc0.system.entry.js.gz +0 -0
  99. package/dist/geotrek-rando-widget/p-cfb59fc0.system.entry.js.map +1 -0
  100. package/dist/geotrek-rando-widget/p-d24cca7d.js +2 -0
  101. package/dist/geotrek-rando-widget/p-d24cca7d.js.br +0 -0
  102. package/dist/geotrek-rando-widget/p-d24cca7d.js.gz +0 -0
  103. package/dist/geotrek-rando-widget/p-d24cca7d.js.map +1 -0
  104. package/dist/geotrek-rando-widget/{p-e9caba62.entry.js → p-ec3f78e6.entry.js} +3 -3
  105. package/dist/geotrek-rando-widget/p-ec3f78e6.entry.js.br +0 -0
  106. package/dist/geotrek-rando-widget/p-ec3f78e6.entry.js.gz +0 -0
  107. package/dist/geotrek-rando-widget/p-ec3f78e6.entry.js.map +1 -0
  108. package/dist/geotrek-rando-widget/{p-1cfb837f.entry.js → p-f6f46632.entry.js} +2 -2
  109. package/dist/geotrek-rando-widget/p-f6f46632.entry.js.br +0 -0
  110. package/dist/geotrek-rando-widget/p-f6f46632.entry.js.gz +0 -0
  111. package/dist/geotrek-rando-widget/{p-73278096.system.entry.js → p-fe94e7fd.system.entry.js} +2 -2
  112. package/dist/geotrek-rando-widget/p-fe94e7fd.system.entry.js.br +0 -0
  113. package/dist/geotrek-rando-widget/p-fe94e7fd.system.entry.js.gz +0 -0
  114. package/dist/types/store/store.d.ts +3 -1
  115. package/dist/types/types/types.d.ts +6 -0
  116. package/package.json +1 -1
  117. package/dist/cjs/utils-aafb9447.js.br +0 -0
  118. package/dist/cjs/utils-aafb9447.js.gz +0 -0
  119. package/dist/cjs/utils-aafb9447.js.map +0 -1
  120. package/dist/esm/utils-6441a08a.js.br +0 -0
  121. package/dist/esm/utils-6441a08a.js.gz +0 -0
  122. package/dist/esm/utils-6441a08a.js.map +0 -1
  123. package/dist/esm-es5/utils-6441a08a.js +0 -2
  124. package/dist/esm-es5/utils-6441a08a.js.br +0 -0
  125. package/dist/esm-es5/utils-6441a08a.js.gz +0 -0
  126. package/dist/esm-es5/utils-6441a08a.js.map +0 -1
  127. package/dist/geotrek-rando-widget/p-01f5ed45.system.entry.js.br +0 -0
  128. package/dist/geotrek-rando-widget/p-01f5ed45.system.entry.js.gz +0 -0
  129. package/dist/geotrek-rando-widget/p-01f5ed45.system.entry.js.map +0 -1
  130. package/dist/geotrek-rando-widget/p-06412985.entry.js.br +0 -0
  131. package/dist/geotrek-rando-widget/p-06412985.entry.js.gz +0 -0
  132. package/dist/geotrek-rando-widget/p-0d8a3c86.system.entry.js.br +0 -0
  133. package/dist/geotrek-rando-widget/p-0d8a3c86.system.entry.js.gz +0 -0
  134. package/dist/geotrek-rando-widget/p-1cfb837f.entry.js.br +0 -0
  135. package/dist/geotrek-rando-widget/p-1cfb837f.entry.js.gz +0 -0
  136. package/dist/geotrek-rando-widget/p-6f7916db.system.js +0 -2
  137. package/dist/geotrek-rando-widget/p-6f7916db.system.js.br +0 -0
  138. package/dist/geotrek-rando-widget/p-6f7916db.system.js.gz +0 -0
  139. package/dist/geotrek-rando-widget/p-6f7916db.system.js.map +0 -1
  140. package/dist/geotrek-rando-widget/p-73278096.system.entry.js.br +0 -0
  141. package/dist/geotrek-rando-widget/p-73278096.system.entry.js.gz +0 -0
  142. package/dist/geotrek-rando-widget/p-bcac98e0.js +0 -2
  143. package/dist/geotrek-rando-widget/p-bcac98e0.js.br +0 -0
  144. package/dist/geotrek-rando-widget/p-bcac98e0.js.gz +0 -0
  145. package/dist/geotrek-rando-widget/p-bcac98e0.js.map +0 -1
  146. package/dist/geotrek-rando-widget/p-e9caba62.entry.js.br +0 -0
  147. package/dist/geotrek-rando-widget/p-e9caba62.entry.js.gz +0 -0
  148. package/dist/geotrek-rando-widget/p-e9caba62.entry.js.map +0 -1
  149. package/dist/geotrek-rando-widget/p-ebadf1e2.system.entry.js.br +0 -0
  150. package/dist/geotrek-rando-widget/p-ebadf1e2.system.entry.js.gz +0 -0
  151. package/dist/geotrek-rando-widget/p-ff607e4b.entry.js.br +0 -0
  152. package/dist/geotrek-rando-widget/p-ff607e4b.entry.js.gz +0 -0
  153. /package/dist/geotrek-rando-widget/{p-ff607e4b.entry.js.map → p-0eb7003a.entry.js.map} +0 -0
  154. /package/dist/geotrek-rando-widget/{p-06412985.entry.js.map → p-34b0e7b0.entry.js.map} +0 -0
  155. /package/dist/geotrek-rando-widget/{p-ebadf1e2.system.entry.js.map → p-6f966493.system.entry.js.map} +0 -0
  156. /package/dist/geotrek-rando-widget/{p-0d8a3c86.system.entry.js.map → p-c7fe0141.system.entry.js.map} +0 -0
  157. /package/dist/geotrek-rando-widget/{p-1cfb837f.entry.js.map → p-f6f46632.entry.js.map} +0 -0
  158. /package/dist/geotrek-rando-widget/{p-73278096.system.entry.js.map → p-fe94e7fd.system.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"utils-6441a08a.js","mappings":"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","names":[],"sources":["./node_modules/@stencil/store/dist/index.mjs","./src/store/store.ts","./src/utils/utils.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport { LatLngBounds } from 'leaflet';\nimport {\n Accessibilities,\n accessibilitiesLevel,\n Difficulties,\n Durations,\n InformationDesks,\n Labels,\n Pois,\n PoiTypes,\n Practices,\n Routes,\n SensitiveAreas,\n Sources,\n Themes,\n Cities,\n Trek,\n Treks,\n Lengths,\n Elevations,\n Districts,\n TouristicContents,\n TouristicContentCategories,\n TouristicContent,\n TouristicEvents,\n TouristicEventTypes,\n TouristicEvent,\n Ratings,\n} from 'types/types';\n\nconst { state, onChange, reset } = createStore<{\n mode: string;\n api: string;\n languages: string[];\n language: string;\n treks: Treks;\n treksWithinBounds: Treks;\n currentMapBounds: LatLngBounds;\n currentTreks: Treks;\n difficulties: Difficulties;\n routes: Routes;\n practices: Practices;\n themes: Themes;\n cities: Cities;\n durations: Durations;\n lengths: Lengths;\n elevations: Elevations;\n labels: Labels;\n districts: Districts;\n sources: Sources;\n ratings: Ratings;\n accessibilities: Accessibilities;\n accessibilitiesLevel: accessibilitiesLevel;\n poiTypes: PoiTypes;\n currentTrek: Trek;\n currentSensitiveAreas: SensitiveAreas;\n currentPois: Pois;\n currentInformationDesks: InformationDesks;\n treksNetworkError: boolean;\n trekNetworkError: boolean;\n searchValue: string;\n selectedActivitiesFilters: number;\n selectedThemesFilters: number;\n selectedLocationFilters: number;\n selectedTrekId: number;\n parentTrekId: number;\n parentTrek: Trek;\n currentTrekSteps: Treks;\n selectedStepId: number;\n trekTouristicContents: TouristicContents;\n touristicContents: TouristicContents;\n currentTouristicContents: TouristicContents;\n touristicContentsWithinBounds: TouristicContents;\n touristicContentCategories: TouristicContentCategories;\n currentTouristicContent: TouristicContent;\n touristicEvents: TouristicEvents;\n currentTouristicEvents: TouristicEvents;\n touristicEventsWithinBounds: TouristicEvents;\n touristicEventTypes: TouristicEventTypes;\n currentTouristicEvent: TouristicEvent;\n selectedTouristicContentId: number;\n selectedTouristicEventId: number;\n}>({\n mode: null,\n api: null,\n languages: null,\n language: null,\n treks: null,\n currentTreks: null,\n treksWithinBounds: null,\n currentMapBounds: null,\n difficulties: null,\n routes: null,\n practices: null,\n themes: null,\n cities: null,\n durations: null,\n lengths: null,\n elevations: null,\n currentSensitiveAreas: null,\n labels: null,\n districts: null,\n sources: null,\n ratings: null,\n accessibilities: null,\n accessibilitiesLevel: null,\n poiTypes: null,\n currentTrek: null,\n currentPois: null,\n currentInformationDesks: null,\n treksNetworkError: false,\n trekNetworkError: false,\n searchValue: null,\n selectedActivitiesFilters: 0,\n selectedThemesFilters: 0,\n selectedLocationFilters: 0,\n selectedTrekId: null,\n parentTrekId: null,\n parentTrek: null,\n currentTrekSteps: null,\n selectedStepId: null,\n trekTouristicContents: null,\n touristicContents: null,\n currentTouristicContents: null,\n touristicContentsWithinBounds: null,\n touristicContentCategories: null,\n currentTouristicContent: null,\n touristicEvents: null,\n currentTouristicEvents: null,\n touristicEventsWithinBounds: null,\n touristicEventTypes: null,\n currentTouristicEvent: null,\n selectedTouristicContentId: null,\n selectedTouristicEventId: null,\n});\n\nexport { onChange, reset };\n\nexport default state;\n","import state from 'store/store';\nimport { TouristicContents, TouristicContentsFilters, TouristicEvents, TouristicEventsFilters, TrekFilters, Treks } from 'types/types';\n\nexport function formatDuration(duration: number) {\n let formattedDuration;\n if (duration < 24) {\n formattedDuration = `${Math.floor(duration)}h`;\n if (duration % 1 > 0) {\n formattedDuration += `${Math.round(60 * (duration % 1))}min`;\n }\n } else {\n formattedDuration = `${duration / 24}j`;\n }\n return formattedDuration;\n}\n\nexport function formatLength(length: number) {\n return `${Math.round(length / 1000)}km`;\n}\n\nexport function formatAscent(ascent: number) {\n return `${ascent}m`;\n}\n\nexport const treksFilters: TrekFilters = [\n { property: 'practices', trekProperty: 'practice', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'difficulties', trekProperty: 'difficulty', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'durations', trekProperty: 'duration', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'lengths', trekProperty: 'length_2d', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'elevations', trekProperty: 'ascent', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'routes', trekProperty: 'route', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'accessibilities', trekProperty: 'accessibilities', trekPropertyIsArray: true, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'labels', trekProperty: 'labels', trekPropertyIsArray: true, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'themes', trekProperty: 'themes', trekPropertyIsArray: true, type: 'include', segment: 'selectedThemesFilters' },\n { property: 'cities', trekProperty: 'cities', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', trekProperty: 'districts', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport const touristicContentsFilters: TouristicContentsFilters = [\n { property: 'touristicContentCategories', touristicContentProperty: 'category', touristicContentPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'cities', touristicContentProperty: 'cities', touristicContentPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', touristicContentProperty: 'districts', touristicContentPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport const touristicEventsFilters: TouristicEventsFilters = [\n { property: 'touristicEventTypes', touristicEventProperty: 'type', touristicEventPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'cities', touristicEventProperty: 'cities', touristicEventPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', touristicEventProperty: 'districts', touristicEventPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport function handleTreksFiltersAndSearch(): Treks {\n let isUsingFilter = false;\n let filtersTreks = [];\n for (const filter of treksFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n if (currentFiltersId.length > 0) {\n if (filtersTreks.length > 0) {\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...filtersTreks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...filtersTreks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTreks = [\n ...filtersTreks.filter(trek => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (trek[filter.trekProperty] >= currentFilter.minValue && trek[filter.trekProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...state.treks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty] >= minValue && trek[filter.trekProperty] <= maxValue)];\n }\n }\n }\n }\n\n const searchTreks = isUsingFilter ? filtersTreks : state.treks;\n return Boolean(state.searchValue) ? searchTreks.filter(currentTrek => currentTrek.name.toLowerCase().includes(state.searchValue.toLowerCase())) : searchTreks;\n}\n\nexport function handleTouristicContentsFiltersAndSearch(): TouristicContents {\n let isUsingFilter = false;\n let filtersTouristicContents = [];\n for (const filter of touristicContentsFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n\n if (currentFiltersId.length > 0) {\n if (filtersTouristicContents.length > 0) {\n if (filter.type === 'include') {\n if (filter.touristicContentPropertyIsArray) {\n filtersTouristicContents = [\n ...filtersTouristicContents.filter(touristicContent =>\n touristicContent[filter.touristicContentProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicContents = [...filtersTouristicContents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicContentProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTouristicContents = [\n ...filtersTouristicContents.filter(touristicContent => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (touristicContent[filter.touristicContentProperty] >= currentFilter.minValue && touristicContent[filter.touristicContentProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.touristicContentPropertyIsArray) {\n filtersTouristicContents = [\n ...state.touristicContents.filter(touristicContent =>\n touristicContent[filter.touristicContentProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicContents = [...state.touristicContents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicContentProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTouristicContents = [\n ...state.touristicContents.filter(\n touristicContent => touristicContent[filter.touristicContentProperty] >= minValue && touristicContent[filter.touristicContentProperty] <= maxValue,\n ),\n ];\n }\n }\n }\n }\n const searchTouristicContents = isUsingFilter ? filtersTouristicContents : state.touristicContents;\n\n return Boolean(state.searchValue)\n ? searchTouristicContents.filter(currentTouristicContents => currentTouristicContents.name.toLowerCase().includes(state.searchValue.toLowerCase()))\n : searchTouristicContents;\n}\n\nexport function handleTouristicEventsFiltersAndSearch(): TouristicEvents {\n let isUsingFilter = false;\n let filtersTouristicEvents = [];\n for (const filter of touristicEventsFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n\n if (currentFiltersId.length > 0) {\n if (filtersTouristicEvents.length > 0) {\n if (filter.type === 'include') {\n if (filter.touristicEventPropertyIsArray) {\n filtersTouristicEvents = [\n ...filtersTouristicEvents.filter(touristicContent =>\n touristicContent[filter.touristicEventProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicEvents = [...filtersTouristicEvents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicEventProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTouristicEvents = [\n ...filtersTouristicEvents.filter(touristicContent => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (touristicContent[filter.touristicEventProperty] >= currentFilter.minValue && touristicContent[filter.touristicEventProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.touristicEventPropertyIsArray) {\n filtersTouristicEvents = [\n ...state.touristicContents.filter(touristicContent =>\n touristicContent[filter.touristicEventProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicEvents = [...state.touristicEvents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicEventProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTouristicEvents = [\n ...state.touristicEvents.filter(\n touristicEvent => touristicEvent[filter.touristicEventProperty] >= minValue && touristicEvent[filter.touristicEventProperty] <= maxValue,\n ),\n ];\n }\n }\n }\n }\n const searchTouristicEvents = isUsingFilter ? filtersTouristicEvents : state.touristicEvents;\n return Boolean(state.searchValue)\n ? searchTouristicEvents.filter(currentTouristicEvent => currentTouristicEvent.name.toLowerCase().includes(state.searchValue.toLowerCase()))\n : searchTouristicEvents;\n}\n"],"version":3}
@@ -1,2 +0,0 @@
1
- var __spreadArray=this&&this.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,s;n<i;n++){if(s||!(n in t)){if(!s)s=Array.prototype.slice.call(t,0,n);s[n]=t[n]}}return e.concat(s||Array.prototype.slice.call(t))};import{c as getRenderingRef,f as forceUpdate}from"./index-d5cacae4.js";var appendToMap=function(e,t,r){var n=e.get(t);if(!n){e.set(t,[r])}else if(!n.includes(r)){n.push(r)}};var debounce=function(e,t){var r;return function(){var n=[];for(var i=0;i<arguments.length;i++){n[i]=arguments[i]}if(r){clearTimeout(r)}r=setTimeout((function(){r=0;e.apply(void 0,n)}),t)}};var isConnected=function(e){return!("isConnected"in e)||e.isConnected};var cleanupElements=debounce((function(e){for(var t=0,r=e.keys();t<r.length;t++){var n=r[t];e.set(n,e.get(n).filter(isConnected))}}),2e3);var stencilSubscription=function(){if(typeof getRenderingRef!=="function"){return{}}var e=new Map;return{dispose:function(){return e.clear()},get:function(t){var r=getRenderingRef();if(r){appendToMap(e,t,r)}},set:function(t){var r=e.get(t);if(r){e.set(t,r.filter(forceUpdate))}cleanupElements(e)},reset:function(){e.forEach((function(e){return e.forEach(forceUpdate)}));cleanupElements(e)}}};var unwrap=function(e){return typeof e==="function"?e():e};var createObservableMap=function(e,t){if(t===void 0){t=function(e,t){return e!==t}}var r=unwrap(e);var n=new Map(Object.entries(r!==null&&r!==void 0?r:{}));var i={dispose:[],get:[],set:[],reset:[]};var s=function(){var t;n=new Map(Object.entries((t=unwrap(e))!==null&&t!==void 0?t:{}));i.reset.forEach((function(e){return e()}))};var o=function(){i.dispose.forEach((function(e){return e()}));s()};var u=function(e){i.get.forEach((function(t){return t(e)}));return n.get(e)};var a=function(e,r){var s=n.get(e);if(t(r,s,e)){n.set(e,r);i.set.forEach((function(t){return t(e,r,s)}))}};var l=typeof Proxy==="undefined"?{}:new Proxy(r,{get:function(e,t){return u(t)},ownKeys:function(e){return Array.from(n.keys())},getOwnPropertyDescriptor:function(){return{enumerable:true,configurable:true}},has:function(e,t){return n.has(t)},set:function(e,t,r){a(t,r);return true}});var c=function(e,t){i[e].push(t);return function(){removeFromArray(i[e],t)}};var f=function(t,r){var n=c("set",(function(e,n){if(e===t){r(n)}}));var i=c("reset",(function(){return r(unwrap(e)[t])}));return function(){n();i()}};var p=function(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var r=e.reduce((function(e,t){if(t.set){e.push(c("set",t.set))}if(t.get){e.push(c("get",t.get))}if(t.reset){e.push(c("reset",t.reset))}if(t.dispose){e.push(c("dispose",t.dispose))}return e}),[]);return function(){return r.forEach((function(e){return e()}))}};var y=function(e){var t=n.get(e);i.set.forEach((function(r){return r(e,t,t)}))};return{state:l,get:u,set:a,on:c,onChange:f,use:p,dispose:o,reset:s,forceUpdate:y}};var removeFromArray=function(e,t){var r=e.indexOf(t);if(r>=0){e[r]=e[e.length-1];e.length--}};var createStore=function(e,t){var r=createObservableMap(e,t);r.use(stencilSubscription());return r};var _b=createStore({mode:null,api:null,languages:null,language:null,treks:null,currentTreks:null,treksWithinBounds:null,currentMapBounds:null,difficulties:null,routes:null,practices:null,themes:null,cities:null,durations:null,lengths:null,elevations:null,currentSensitiveAreas:null,labels:null,districts:null,sources:null,ratings:null,accessibilities:null,accessibilitiesLevel:null,poiTypes:null,currentTrek:null,currentPois:null,currentInformationDesks:null,treksNetworkError:false,trekNetworkError:false,searchValue:null,selectedActivitiesFilters:0,selectedThemesFilters:0,selectedLocationFilters:0,selectedTrekId:null,parentTrekId:null,parentTrek:null,currentTrekSteps:null,selectedStepId:null,trekTouristicContents:null,touristicContents:null,currentTouristicContents:null,touristicContentsWithinBounds:null,touristicContentCategories:null,currentTouristicContent:null,touristicEvents:null,currentTouristicEvents:null,touristicEventsWithinBounds:null,touristicEventTypes:null,currentTouristicEvent:null,selectedTouristicContentId:null,selectedTouristicEventId:null}),state=_b.state,onChange=_b.onChange,reset=_b.reset;function formatDuration(e){var t;if(e<24){t="".concat(Math.floor(e),"h");if(e%1>0){t+="".concat(Math.round(60*(e%1)),"min")}}else{t="".concat(e/24,"j")}return t}function formatLength(e){return"".concat(Math.round(e/1e3),"km")}function formatAscent(e){return"".concat(e,"m")}var treksFilters=[{property:"practices",trekProperty:"practice",trekPropertyIsArray:false,type:"include",segment:"selectedActivitiesFilters"},{property:"difficulties",trekProperty:"difficulty",trekPropertyIsArray:false,type:"include",segment:"selectedActivitiesFilters"},{property:"durations",trekProperty:"duration",trekPropertyIsArray:false,type:"interval",segment:"selectedActivitiesFilters"},{property:"lengths",trekProperty:"length_2d",trekPropertyIsArray:false,type:"interval",segment:"selectedActivitiesFilters"},{property:"elevations",trekProperty:"ascent",trekPropertyIsArray:false,type:"interval",segment:"selectedActivitiesFilters"},{property:"routes",trekProperty:"route",trekPropertyIsArray:false,type:"include",segment:"selectedActivitiesFilters"},{property:"accessibilities",trekProperty:"accessibilities",trekPropertyIsArray:true,type:"include",segment:"selectedActivitiesFilters"},{property:"labels",trekProperty:"labels",trekPropertyIsArray:true,type:"include",segment:"selectedActivitiesFilters"},{property:"themes",trekProperty:"themes",trekPropertyIsArray:true,type:"include",segment:"selectedThemesFilters"},{property:"cities",trekProperty:"cities",trekPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"},{property:"districts",trekProperty:"districts",trekPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"}];var touristicContentsFilters=[{property:"touristicContentCategories",touristicContentProperty:"category",touristicContentPropertyIsArray:false,type:"include",segment:"selectedActivitiesFilters"},{property:"cities",touristicContentProperty:"cities",touristicContentPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"},{property:"districts",touristicContentProperty:"districts",touristicContentPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"}];var touristicEventsFilters=[{property:"touristicEventTypes",touristicEventProperty:"type",touristicEventPropertyIsArray:false,type:"include",segment:"selectedActivitiesFilters"},{property:"cities",touristicEventProperty:"cities",touristicEventPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"},{property:"districts",touristicEventProperty:"districts",touristicEventPropertyIsArray:true,type:"include",segment:"selectedLocationFilters"}];function handleTreksFiltersAndSearch(){var e=false;var t=[];var r=function(r){var n=state[r.property].filter((function(e){return e.selected})).map((function(e){return e.id}));if(n.length>0){if(t.length>0){if(r.type==="include"){if(r.trekPropertyIsArray){t=__spreadArray([],t.filter((function(e){return e[r.trekProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],t.filter((function(e){return n.includes(e[r.trekProperty])})),true)}}else if(r.type==="interval"){t=__spreadArray([],t.filter((function(e){var t=function(t){var n=state[r.property].find((function(e){return e.id===t}));if(e[r.trekProperty]>=n.minValue&&e[r.trekProperty]<=n.maxValue){return{value:true}}};for(var i=0,s=n;i<s.length;i++){var o=s[i];var u=t(o);if(typeof u==="object")return u.value}return false})),true)}}else{if(!e){e=true}if(r.type==="include"){if(r.trekPropertyIsArray){t=__spreadArray([],state.treks.filter((function(e){return e[r.trekProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],state.treks.filter((function(e){return n.includes(e[r.trekProperty])})),true)}}else if(r.type==="interval"){var i;var s;var o=function(e){var t=state[r.property].find((function(t){return t.id===e}));if(isNaN(i)||t.minValue<i){i=t.minValue}if(isNaN(s)||t.maxValue>s){s=t.maxValue}};for(var u=0,a=n;u<a.length;u++){var l=a[u];o(l)}t=__spreadArray([],state.treks.filter((function(e){return e[r.trekProperty]>=i&&e[r.trekProperty]<=s})),true)}}}};for(var n=0,i=treksFilters;n<i.length;n++){var s=i[n];r(s)}var o=e?t:state.treks;return Boolean(state.searchValue)?o.filter((function(e){return e.name.toLowerCase().includes(state.searchValue.toLowerCase())})):o}function handleTouristicContentsFiltersAndSearch(){var e=false;var t=[];var r=function(r){var n=state[r.property].filter((function(e){return e.selected})).map((function(e){return e.id}));if(n.length>0){if(t.length>0){if(r.type==="include"){if(r.touristicContentPropertyIsArray){t=__spreadArray([],t.filter((function(e){return e[r.touristicContentProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],t.filter((function(e){return n.includes(e[r.touristicContentProperty])})),true)}}else if(r.type==="interval"){t=__spreadArray([],t.filter((function(e){var t=function(t){var n=state[r.property].find((function(e){return e.id===t}));if(e[r.touristicContentProperty]>=n.minValue&&e[r.touristicContentProperty]<=n.maxValue){return{value:true}}};for(var i=0,s=n;i<s.length;i++){var o=s[i];var u=t(o);if(typeof u==="object")return u.value}return false})),true)}}else{if(!e){e=true}if(r.type==="include"){if(r.touristicContentPropertyIsArray){t=__spreadArray([],state.touristicContents.filter((function(e){return e[r.touristicContentProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],state.touristicContents.filter((function(e){return n.includes(e[r.touristicContentProperty])})),true)}}else if(r.type==="interval"){var i;var s;var o=function(e){var t=state[r.property].find((function(t){return t.id===e}));if(isNaN(i)||t.minValue<i){i=t.minValue}if(isNaN(s)||t.maxValue>s){s=t.maxValue}};for(var u=0,a=n;u<a.length;u++){var l=a[u];o(l)}t=__spreadArray([],state.touristicContents.filter((function(e){return e[r.touristicContentProperty]>=i&&e[r.touristicContentProperty]<=s})),true)}}}};for(var n=0,i=touristicContentsFilters;n<i.length;n++){var s=i[n];r(s)}var o=e?t:state.touristicContents;return Boolean(state.searchValue)?o.filter((function(e){return e.name.toLowerCase().includes(state.searchValue.toLowerCase())})):o}function handleTouristicEventsFiltersAndSearch(){var e=false;var t=[];var r=function(r){var n=state[r.property].filter((function(e){return e.selected})).map((function(e){return e.id}));if(n.length>0){if(t.length>0){if(r.type==="include"){if(r.touristicEventPropertyIsArray){t=__spreadArray([],t.filter((function(e){return e[r.touristicEventProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],t.filter((function(e){return n.includes(e[r.touristicEventProperty])})),true)}}else if(r.type==="interval"){t=__spreadArray([],t.filter((function(e){var t=function(t){var n=state[r.property].find((function(e){return e.id===t}));if(e[r.touristicEventProperty]>=n.minValue&&e[r.touristicEventProperty]<=n.maxValue){return{value:true}}};for(var i=0,s=n;i<s.length;i++){var o=s[i];var u=t(o);if(typeof u==="object")return u.value}return false})),true)}}else{if(!e){e=true}if(r.type==="include"){if(r.touristicEventPropertyIsArray){t=__spreadArray([],state.touristicContents.filter((function(e){return e[r.touristicEventProperty].some((function(e){return n.includes(e)}))})),true)}else{t=__spreadArray([],state.touristicEvents.filter((function(e){return n.includes(e[r.touristicEventProperty])})),true)}}else if(r.type==="interval"){var i;var s;var o=function(e){var t=state[r.property].find((function(t){return t.id===e}));if(isNaN(i)||t.minValue<i){i=t.minValue}if(isNaN(s)||t.maxValue>s){s=t.maxValue}};for(var u=0,a=n;u<a.length;u++){var l=a[u];o(l)}t=__spreadArray([],state.touristicEvents.filter((function(e){return e[r.touristicEventProperty]>=i&&e[r.touristicEventProperty]<=s})),true)}}}};for(var n=0,i=touristicEventsFilters;n<i.length;n++){var s=i[n];r(s)}var o=e?t:state.touristicEvents;return Boolean(state.searchValue)?o.filter((function(e){return e.name.toLowerCase().includes(state.searchValue.toLowerCase())})):o}export{touristicContentsFilters as a,handleTouristicContentsFiltersAndSearch as b,touristicEventsFilters as c,handleTouristicEventsFiltersAndSearch as d,formatLength as e,formatDuration as f,formatAscent as g,handleTreksFiltersAndSearch as h,onChange as o,reset as r,state as s,treksFilters as t};
2
- //# sourceMappingURL=utils-6441a08a.js.map
Binary file
Binary file
@@ -1 +0,0 @@
1
- {"version":3,"names":["appendToMap","map","propName","value","items","get","set","includes","push","debounce","fn","ms","timeoutId","args","_i","arguments","length","clearTimeout","setTimeout","apply","isConnected","maybeElement","cleanupElements","_b","keys","key","filter","stencilSubscription","getRenderingRef","elmsToUpdate","Map","dispose","clear","elm","elements","forceUpdate","reset","forEach","elms","unwrap","val","createObservableMap","defaultState","shouldUpdate","a","b","unwrappedState","states","Object","entries","handlers","_a","cb","oldValue","state","Proxy","_","ownKeys","Array","from","getOwnPropertyDescriptor","enumerable","configurable","has","on","eventName","callback","removeFromArray","onChange","unSet","newValue","unReset","use","subscriptions","unsubs","reduce","subscription","unsub","array","item","index","indexOf","createStore","mode","api","languages","language","treks","currentTreks","treksWithinBounds","currentMapBounds","difficulties","routes","practices","themes","cities","durations","lengths","elevations","currentSensitiveAreas","labels","districts","sources","ratings","accessibilities","accessibilitiesLevel","poiTypes","currentTrek","currentPois","currentInformationDesks","treksNetworkError","trekNetworkError","searchValue","selectedActivitiesFilters","selectedThemesFilters","selectedLocationFilters","selectedTrekId","parentTrekId","parentTrek","currentTrekSteps","selectedStepId","trekTouristicContents","touristicContents","currentTouristicContents","touristicContentsWithinBounds","touristicContentCategories","currentTouristicContent","touristicEvents","currentTouristicEvents","touristicEventsWithinBounds","touristicEventTypes","currentTouristicEvent","selectedTouristicContentId","selectedTouristicEventId","formatDuration","duration","formattedDuration","concat","Math","floor","round","formatLength","formatAscent","ascent","treksFilters","property","trekProperty","trekPropertyIsArray","type","segment","touristicContentsFilters","touristicContentProperty","touristicContentPropertyIsArray","touristicEventsFilters","touristicEventProperty","touristicEventPropertyIsArray","handleTreksFiltersAndSearch","isUsingFilter","filtersTreks","currentFiltersId","currentFilter","selected","id","__spreadArray","trek","some","currentFilterId","find","minValue","maxValue","currentFiltersId_2","minValue_1","maxValue_1","isNaN","currentFiltersId_1","treksFilters_1","searchTreks","Boolean","name","toLowerCase","handleTouristicContentsFiltersAndSearch","filtersTouristicContents","touristicContent","currentFiltersId_4","minValue_2","maxValue_2","currentFiltersId_3","touristicContentsFilters_1","searchTouristicContents","handleTouristicEventsFiltersAndSearch","filtersTouristicEvents","currentFiltersId_6","minValue_3","maxValue_3","currentFiltersId_5","touristicEvent","touristicEventsFilters_1","searchTouristicEvents"],"sources":["node_modules/@stencil/store/dist/index.mjs","src/store/store.ts","src/utils/utils.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport { LatLngBounds } from 'leaflet';\nimport {\n Accessibilities,\n accessibilitiesLevel,\n Difficulties,\n Durations,\n InformationDesks,\n Labels,\n Pois,\n PoiTypes,\n Practices,\n Routes,\n SensitiveAreas,\n Sources,\n Themes,\n Cities,\n Trek,\n Treks,\n Lengths,\n Elevations,\n Districts,\n TouristicContents,\n TouristicContentCategories,\n TouristicContent,\n TouristicEvents,\n TouristicEventTypes,\n TouristicEvent,\n Ratings,\n} from 'types/types';\n\nconst { state, onChange, reset } = createStore<{\n mode: string;\n api: string;\n languages: string[];\n language: string;\n treks: Treks;\n treksWithinBounds: Treks;\n currentMapBounds: LatLngBounds;\n currentTreks: Treks;\n difficulties: Difficulties;\n routes: Routes;\n practices: Practices;\n themes: Themes;\n cities: Cities;\n durations: Durations;\n lengths: Lengths;\n elevations: Elevations;\n labels: Labels;\n districts: Districts;\n sources: Sources;\n ratings: Ratings;\n accessibilities: Accessibilities;\n accessibilitiesLevel: accessibilitiesLevel;\n poiTypes: PoiTypes;\n currentTrek: Trek;\n currentSensitiveAreas: SensitiveAreas;\n currentPois: Pois;\n currentInformationDesks: InformationDesks;\n treksNetworkError: boolean;\n trekNetworkError: boolean;\n searchValue: string;\n selectedActivitiesFilters: number;\n selectedThemesFilters: number;\n selectedLocationFilters: number;\n selectedTrekId: number;\n parentTrekId: number;\n parentTrek: Trek;\n currentTrekSteps: Treks;\n selectedStepId: number;\n trekTouristicContents: TouristicContents;\n touristicContents: TouristicContents;\n currentTouristicContents: TouristicContents;\n touristicContentsWithinBounds: TouristicContents;\n touristicContentCategories: TouristicContentCategories;\n currentTouristicContent: TouristicContent;\n touristicEvents: TouristicEvents;\n currentTouristicEvents: TouristicEvents;\n touristicEventsWithinBounds: TouristicEvents;\n touristicEventTypes: TouristicEventTypes;\n currentTouristicEvent: TouristicEvent;\n selectedTouristicContentId: number;\n selectedTouristicEventId: number;\n}>({\n mode: null,\n api: null,\n languages: null,\n language: null,\n treks: null,\n currentTreks: null,\n treksWithinBounds: null,\n currentMapBounds: null,\n difficulties: null,\n routes: null,\n practices: null,\n themes: null,\n cities: null,\n durations: null,\n lengths: null,\n elevations: null,\n currentSensitiveAreas: null,\n labels: null,\n districts: null,\n sources: null,\n ratings: null,\n accessibilities: null,\n accessibilitiesLevel: null,\n poiTypes: null,\n currentTrek: null,\n currentPois: null,\n currentInformationDesks: null,\n treksNetworkError: false,\n trekNetworkError: false,\n searchValue: null,\n selectedActivitiesFilters: 0,\n selectedThemesFilters: 0,\n selectedLocationFilters: 0,\n selectedTrekId: null,\n parentTrekId: null,\n parentTrek: null,\n currentTrekSteps: null,\n selectedStepId: null,\n trekTouristicContents: null,\n touristicContents: null,\n currentTouristicContents: null,\n touristicContentsWithinBounds: null,\n touristicContentCategories: null,\n currentTouristicContent: null,\n touristicEvents: null,\n currentTouristicEvents: null,\n touristicEventsWithinBounds: null,\n touristicEventTypes: null,\n currentTouristicEvent: null,\n selectedTouristicContentId: null,\n selectedTouristicEventId: null,\n});\n\nexport { onChange, reset };\n\nexport default state;\n","import state from 'store/store';\nimport { TouristicContents, TouristicContentsFilters, TouristicEvents, TouristicEventsFilters, TrekFilters, Treks } from 'types/types';\n\nexport function formatDuration(duration: number) {\n let formattedDuration;\n if (duration < 24) {\n formattedDuration = `${Math.floor(duration)}h`;\n if (duration % 1 > 0) {\n formattedDuration += `${Math.round(60 * (duration % 1))}min`;\n }\n } else {\n formattedDuration = `${duration / 24}j`;\n }\n return formattedDuration;\n}\n\nexport function formatLength(length: number) {\n return `${Math.round(length / 1000)}km`;\n}\n\nexport function formatAscent(ascent: number) {\n return `${ascent}m`;\n}\n\nexport const treksFilters: TrekFilters = [\n { property: 'practices', trekProperty: 'practice', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'difficulties', trekProperty: 'difficulty', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'durations', trekProperty: 'duration', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'lengths', trekProperty: 'length_2d', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'elevations', trekProperty: 'ascent', trekPropertyIsArray: false, type: 'interval', segment: 'selectedActivitiesFilters' },\n { property: 'routes', trekProperty: 'route', trekPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'accessibilities', trekProperty: 'accessibilities', trekPropertyIsArray: true, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'labels', trekProperty: 'labels', trekPropertyIsArray: true, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'themes', trekProperty: 'themes', trekPropertyIsArray: true, type: 'include', segment: 'selectedThemesFilters' },\n { property: 'cities', trekProperty: 'cities', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', trekProperty: 'districts', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport const touristicContentsFilters: TouristicContentsFilters = [\n { property: 'touristicContentCategories', touristicContentProperty: 'category', touristicContentPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'cities', touristicContentProperty: 'cities', touristicContentPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', touristicContentProperty: 'districts', touristicContentPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport const touristicEventsFilters: TouristicEventsFilters = [\n { property: 'touristicEventTypes', touristicEventProperty: 'type', touristicEventPropertyIsArray: false, type: 'include', segment: 'selectedActivitiesFilters' },\n { property: 'cities', touristicEventProperty: 'cities', touristicEventPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', touristicEventProperty: 'districts', touristicEventPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport function handleTreksFiltersAndSearch(): Treks {\n let isUsingFilter = false;\n let filtersTreks = [];\n for (const filter of treksFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n if (currentFiltersId.length > 0) {\n if (filtersTreks.length > 0) {\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...filtersTreks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...filtersTreks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTreks = [\n ...filtersTreks.filter(trek => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (trek[filter.trekProperty] >= currentFilter.minValue && trek[filter.trekProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...state.treks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty] >= minValue && trek[filter.trekProperty] <= maxValue)];\n }\n }\n }\n }\n\n const searchTreks = isUsingFilter ? filtersTreks : state.treks;\n return Boolean(state.searchValue) ? searchTreks.filter(currentTrek => currentTrek.name.toLowerCase().includes(state.searchValue.toLowerCase())) : searchTreks;\n}\n\nexport function handleTouristicContentsFiltersAndSearch(): TouristicContents {\n let isUsingFilter = false;\n let filtersTouristicContents = [];\n for (const filter of touristicContentsFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n\n if (currentFiltersId.length > 0) {\n if (filtersTouristicContents.length > 0) {\n if (filter.type === 'include') {\n if (filter.touristicContentPropertyIsArray) {\n filtersTouristicContents = [\n ...filtersTouristicContents.filter(touristicContent =>\n touristicContent[filter.touristicContentProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicContents = [...filtersTouristicContents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicContentProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTouristicContents = [\n ...filtersTouristicContents.filter(touristicContent => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (touristicContent[filter.touristicContentProperty] >= currentFilter.minValue && touristicContent[filter.touristicContentProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.touristicContentPropertyIsArray) {\n filtersTouristicContents = [\n ...state.touristicContents.filter(touristicContent =>\n touristicContent[filter.touristicContentProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicContents = [...state.touristicContents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicContentProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTouristicContents = [\n ...state.touristicContents.filter(\n touristicContent => touristicContent[filter.touristicContentProperty] >= minValue && touristicContent[filter.touristicContentProperty] <= maxValue,\n ),\n ];\n }\n }\n }\n }\n const searchTouristicContents = isUsingFilter ? filtersTouristicContents : state.touristicContents;\n\n return Boolean(state.searchValue)\n ? searchTouristicContents.filter(currentTouristicContents => currentTouristicContents.name.toLowerCase().includes(state.searchValue.toLowerCase()))\n : searchTouristicContents;\n}\n\nexport function handleTouristicEventsFiltersAndSearch(): TouristicEvents {\n let isUsingFilter = false;\n let filtersTouristicEvents = [];\n for (const filter of touristicEventsFilters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n\n if (currentFiltersId.length > 0) {\n if (filtersTouristicEvents.length > 0) {\n if (filter.type === 'include') {\n if (filter.touristicEventPropertyIsArray) {\n filtersTouristicEvents = [\n ...filtersTouristicEvents.filter(touristicContent =>\n touristicContent[filter.touristicEventProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicEvents = [...filtersTouristicEvents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicEventProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTouristicEvents = [\n ...filtersTouristicEvents.filter(touristicContent => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (touristicContent[filter.touristicEventProperty] >= currentFilter.minValue && touristicContent[filter.touristicEventProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.touristicEventPropertyIsArray) {\n filtersTouristicEvents = [\n ...state.touristicContents.filter(touristicContent =>\n touristicContent[filter.touristicEventProperty].some(touristicContentProperty => currentFiltersId.includes(touristicContentProperty)),\n ),\n ];\n } else {\n filtersTouristicEvents = [...state.touristicEvents.filter(touristicContent => currentFiltersId.includes(touristicContent[filter.touristicEventProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTouristicEvents = [\n ...state.touristicEvents.filter(\n touristicEvent => touristicEvent[filter.touristicEventProperty] >= minValue && touristicEvent[filter.touristicEventProperty] <= maxValue,\n ),\n ];\n }\n }\n }\n }\n const searchTouristicEvents = isUsingFilter ? filtersTouristicEvents : state.touristicEvents;\n return Boolean(state.searchValue)\n ? searchTouristicEvents.filter(currentTouristicEvent => currentTouristicEvent.name.toLowerCase().includes(state.searchValue.toLowerCase()))\n : searchTouristicEvents;\n}\n"],"mappings":"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"}