ublo-lib 1.24.4 → 1.25.0

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 (330) hide show
  1. package/es/common/components/admin-links/admin-links.js +95 -52
  2. package/es/common/components/admin-links/index.js +1 -1
  3. package/es/common/components/breadcrumb.js +78 -21
  4. package/es/common/components/cross-selling-editor/cross-selling-editor.js +52 -0
  5. package/es/common/components/cross-selling-editor/cross-selling-editor.module.css +6 -0
  6. package/es/common/components/cross-selling-editor/editor.js +98 -0
  7. package/es/common/components/cross-selling-editor/editor.module.css +23 -0
  8. package/es/common/components/cross-selling-editor/hooks/use-custom-offers.js +52 -0
  9. package/es/common/components/cross-selling-editor/hooks/use-tunnel-offers.js +35 -0
  10. package/es/common/components/cross-selling-editor/index.js +2 -0
  11. package/es/common/components/cross-selling-editor/override-trigger-form.js +156 -0
  12. package/es/common/components/cross-selling-editor/override-trigger-form.module.css +58 -0
  13. package/es/common/components/cross-selling-editor/override.js +124 -0
  14. package/es/common/components/cross-selling-editor/override.module.css +65 -0
  15. package/es/common/components/cross-selling-editor/overrides-list.js +111 -0
  16. package/es/common/components/cross-selling-editor/overrides-list.module.css +56 -0
  17. package/es/common/components/cross-selling-editor/rule.js +105 -0
  18. package/es/common/components/cross-selling-editor/rule.module.css +37 -0
  19. package/es/common/components/cross-selling-editor/rules.js +84 -0
  20. package/es/common/components/cross-selling-editor/rules.module.css +39 -0
  21. package/es/common/components/cross-selling-editor/services/api.js +36 -0
  22. package/es/common/components/cross-selling-editor/services/utils.js +199 -0
  23. package/es/common/components/cross-selling-editor/tester-tunnel-offer.js +53 -0
  24. package/es/common/components/cross-selling-editor/tester-tunnel-offer.module.css +18 -0
  25. package/es/common/components/cross-selling-editor/tester.js +188 -0
  26. package/es/common/components/cross-selling-editor/tester.module.css +106 -0
  27. package/es/common/components/cross-selling-editor/types.js +1 -0
  28. package/es/common/components/custom-contact-form/custom-contact-form.js +147 -75
  29. package/es/common/components/date-picker/calendar.js +1 -1
  30. package/es/common/components/gesco-contact-form/gesco-contact-form.js +243 -91
  31. package/es/common/components/gesco-contact-form/hooks/use-params.js +35 -20
  32. package/es/common/components/gesco-contact-form/index.js +1 -1
  33. package/es/common/components/gesco-contact-form/phone-code-select.js +76 -56
  34. package/es/common/components/gesco-contact-form/services/api.js +7 -8
  35. package/es/common/components/gesco-contact-form/services/form.js +39 -25
  36. package/es/common/components/gesco-contact-form/services/messages.js +68 -65
  37. package/es/common/components/gesco-contact-form/services/plausible.js +8 -10
  38. package/es/common/components/gesco-contact-form/types.js +1 -1
  39. package/es/common/components/instant-search/hooks/use-constant.js +8 -6
  40. package/es/common/components/instant-search/hooks/use-debounced-search.js +14 -5
  41. package/es/common/components/instant-search/hooks/use-search.js +10 -6
  42. package/es/common/components/instant-search/index.js +1 -1
  43. package/es/common/components/instant-search/input.js +75 -45
  44. package/es/common/components/instant-search/instant-search.js +124 -73
  45. package/es/common/components/instant-search/links.js +74 -23
  46. package/es/common/components/instant-search/no-product.js +81 -4
  47. package/es/common/components/instant-search/products.js +118 -31
  48. package/es/common/components/instant-search/results.js +121 -32
  49. package/es/common/components/instant-search/services/api.js +12 -10
  50. package/es/common/components/instant-search/services/messages.js +3 -3
  51. package/es/common/components/instant-search/services/utils.js +34 -34
  52. package/es/common/components/msem-preset-editor/components/facet-selector.js +39 -22
  53. package/es/common/components/msem-preset-editor/components/form.js +54 -5
  54. package/es/common/components/msem-preset-editor/components/stay-picker.js +72 -33
  55. package/es/common/components/msem-preset-editor/components/widget-list-item.js +130 -42
  56. package/es/common/components/msem-preset-editor/components/widget-list.js +54 -29
  57. package/es/common/components/msem-preset-editor/editor-dialog.js +68 -21
  58. package/es/common/components/msem-preset-editor/editors/elloha.js +102 -69
  59. package/es/common/components/msem-preset-editor/editors/index.js +6 -6
  60. package/es/common/components/msem-preset-editor/editors/lodgings.js +316 -184
  61. package/es/common/components/msem-preset-editor/editors/ski-passes.js +267 -180
  62. package/es/common/components/msem-preset-editor/editors/standard-products.js +84 -56
  63. package/es/common/components/msem-preset-editor/editors/vakario.js +239 -171
  64. package/es/common/components/msem-preset-editor/msem-preset-editor.js +215 -129
  65. package/es/common/components/msem-preset-editor/services/api.js +69 -42
  66. package/es/common/components/msem-preset-editor/services/offers.js +61 -35
  67. package/es/common/components/msem-preset-editor/services/preset.js +22 -14
  68. package/es/common/components/msem-preset-editor/services/url-params.js +24 -24
  69. package/es/common/components/msem-preset-linker/components/actions.js +52 -40
  70. package/es/common/components/msem-preset-linker/components/overlays.js +57 -41
  71. package/es/common/components/msem-preset-linker/components/resort-selector.js +21 -11
  72. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.js +43 -31
  73. package/es/common/components/msem-preset-linker/index.js +1 -1
  74. package/es/common/components/msem-preset-linker/msem-preset-linker.js +71 -42
  75. package/es/common/components/msem-preset-linker/services/url-params.js +10 -13
  76. package/es/common/components/plausible/hooks/use-plausible.js +22 -18
  77. package/es/common/components/plausible/index.js +1 -1
  78. package/es/common/components/plausible/plausible.js +23 -14
  79. package/es/common/components/plausible/services/callback.js +164 -115
  80. package/es/common/components/plausible/services/load.js +4 -6
  81. package/es/common/components/plausible/services/send-goal.js +6 -3
  82. package/es/common/components/scroll-spy.js +56 -43
  83. package/es/common/components/scrolling-carousel/index.js +1 -1
  84. package/es/common/components/scrolling-carousel/scrolling-carousel.js +94 -55
  85. package/es/common/components/tabbed-zones.js +100 -47
  86. package/es/common/hooks/use-faq.js +37 -36
  87. package/es/common/hooks/use-in-view.js +74 -74
  88. package/es/common/hooks/use-scroll-direction.js +37 -32
  89. package/es/common/hooks/use-stay.js +16 -13
  90. package/es/common/hooks/use-sticky.js +35 -35
  91. package/es/common/hooks/use-tunnel.js +42 -30
  92. package/es/common/hooks/use-update-effect.js +9 -9
  93. package/es/common/hooks/use-window-sizes.js +27 -28
  94. package/es/common/utils/cms.js +15 -17
  95. package/es/common/utils/cookies.js +10 -11
  96. package/es/common/utils/copy.js +11 -11
  97. package/es/common/utils/dates.js +8 -10
  98. package/es/common/utils/elements.js +14 -15
  99. package/es/common/utils/events.js +4 -19
  100. package/es/common/utils/file-manager.js +12 -10
  101. package/es/common/utils/load-js.js +10 -11
  102. package/es/common/utils/msem-widget.js +30 -23
  103. package/es/common/utils/url-parameters.js +11 -7
  104. package/es/esf/components/magic-box/index.js +1 -1
  105. package/es/esf/components/magic-box/magic-box.js +164 -102
  106. package/es/esf/components/parcours-esf/index.js +1 -1
  107. package/es/esf/components/parcours-esf/parcours-esf.js +45 -30
  108. package/es/esf/components/period-picker/period-picker.js +5 -5
  109. package/es/lbm/components/lumiplan/api.js +35 -18
  110. package/es/lbm/components/lumiplan/domain.js +96 -20
  111. package/es/lbm/components/lumiplan/i18n/translations.js +24 -15
  112. package/es/lbm/components/lumiplan/index.js +1 -1
  113. package/es/lbm/components/lumiplan/lumiplan.js +130 -102
  114. package/es/lbm/components/lumiplan/opening.js +116 -38
  115. package/es/lbm/components/lumiplan/pois.js +270 -161
  116. package/es/lbm/components/lumiplan/resort-selector.js +58 -36
  117. package/es/lbm/components/lumiplan/road-condition.js +100 -19
  118. package/es/lbm/components/lumiplan/todays-tips.js +45 -16
  119. package/es/lbm/components/lumiplan/types.js +1 -1
  120. package/es/lbm/components/lumiplan/weather/avalanche-risk.js +33 -8
  121. package/es/lbm/components/lumiplan/weather/index.js +1 -1
  122. package/es/lbm/components/lumiplan/weather/snow-data.js +71 -5
  123. package/es/lbm/components/lumiplan/weather/weather-data.js +126 -7
  124. package/es/lbm/components/lumiplan/weather/weather-days.js +76 -48
  125. package/es/lbm/components/lumiplan/weather/weather-icon.js +23 -20
  126. package/es/lbm/components/lumiplan/weather/weather-zones.js +71 -42
  127. package/es/lbm/components/lumiplan/weather/weather.js +90 -28
  128. package/package.json +4 -10
  129. package/es/common/components/admin-links/admin-links.d.ts +0 -11
  130. package/es/common/components/admin-links/admin-links.d.ts.map +0 -1
  131. package/es/common/components/admin-links/index.d.ts +0 -3
  132. package/es/common/components/admin-links/index.d.ts.map +0 -1
  133. package/es/common/components/breadcrumb.d.ts +0 -16
  134. package/es/common/components/breadcrumb.d.ts.map +0 -1
  135. package/es/common/components/custom-contact-form/custom-contact-form.d.ts +0 -25
  136. package/es/common/components/custom-contact-form/custom-contact-form.d.ts.map +0 -1
  137. package/es/common/components/gesco-contact-form/gesco-contact-form.d.ts +0 -17
  138. package/es/common/components/gesco-contact-form/gesco-contact-form.d.ts.map +0 -1
  139. package/es/common/components/gesco-contact-form/hooks/use-params.d.ts +0 -15
  140. package/es/common/components/gesco-contact-form/hooks/use-params.d.ts.map +0 -1
  141. package/es/common/components/gesco-contact-form/index.d.ts +0 -3
  142. package/es/common/components/gesco-contact-form/index.d.ts.map +0 -1
  143. package/es/common/components/gesco-contact-form/phone-code-select.d.ts +0 -7
  144. package/es/common/components/gesco-contact-form/phone-code-select.d.ts.map +0 -1
  145. package/es/common/components/gesco-contact-form/services/api.d.ts +0 -30
  146. package/es/common/components/gesco-contact-form/services/api.d.ts.map +0 -1
  147. package/es/common/components/gesco-contact-form/services/form.d.ts +0 -31
  148. package/es/common/components/gesco-contact-form/services/form.d.ts.map +0 -1
  149. package/es/common/components/gesco-contact-form/services/messages.d.ts +0 -34
  150. package/es/common/components/gesco-contact-form/services/messages.d.ts.map +0 -1
  151. package/es/common/components/gesco-contact-form/services/plausible.d.ts +0 -3
  152. package/es/common/components/gesco-contact-form/services/plausible.d.ts.map +0 -1
  153. package/es/common/components/gesco-contact-form/types.d.ts +0 -34
  154. package/es/common/components/gesco-contact-form/types.d.ts.map +0 -1
  155. package/es/common/components/instant-search/hooks/use-constant.d.ts +0 -2
  156. package/es/common/components/instant-search/hooks/use-constant.d.ts.map +0 -1
  157. package/es/common/components/instant-search/hooks/use-debounced-search.d.ts +0 -7
  158. package/es/common/components/instant-search/hooks/use-debounced-search.d.ts.map +0 -1
  159. package/es/common/components/instant-search/hooks/use-search.d.ts +0 -16
  160. package/es/common/components/instant-search/hooks/use-search.d.ts.map +0 -1
  161. package/es/common/components/instant-search/index.d.ts +0 -3
  162. package/es/common/components/instant-search/index.d.ts.map +0 -1
  163. package/es/common/components/instant-search/input.d.ts +0 -15
  164. package/es/common/components/instant-search/input.d.ts.map +0 -1
  165. package/es/common/components/instant-search/instant-search.d.ts +0 -14
  166. package/es/common/components/instant-search/instant-search.d.ts.map +0 -1
  167. package/es/common/components/instant-search/links.d.ts +0 -12
  168. package/es/common/components/instant-search/links.d.ts.map +0 -1
  169. package/es/common/components/instant-search/no-product.d.ts +0 -6
  170. package/es/common/components/instant-search/no-product.d.ts.map +0 -1
  171. package/es/common/components/instant-search/products.d.ts +0 -14
  172. package/es/common/components/instant-search/products.d.ts.map +0 -1
  173. package/es/common/components/instant-search/results.d.ts +0 -76
  174. package/es/common/components/instant-search/results.d.ts.map +0 -1
  175. package/es/common/components/instant-search/services/api.d.ts +0 -2
  176. package/es/common/components/instant-search/services/api.d.ts.map +0 -1
  177. package/es/common/components/instant-search/services/messages.d.ts +0 -2
  178. package/es/common/components/instant-search/services/messages.d.ts.map +0 -1
  179. package/es/common/components/instant-search/services/utils.d.ts +0 -4
  180. package/es/common/components/instant-search/services/utils.d.ts.map +0 -1
  181. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts +0 -6
  182. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts.map +0 -1
  183. package/es/common/components/msem-preset-editor/components/form.d.ts +0 -8
  184. package/es/common/components/msem-preset-editor/components/form.d.ts.map +0 -1
  185. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts +0 -14
  186. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts.map +0 -1
  187. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts +0 -12
  188. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts.map +0 -1
  189. package/es/common/components/msem-preset-editor/components/widget-list.d.ts +0 -17
  190. package/es/common/components/msem-preset-editor/components/widget-list.d.ts.map +0 -1
  191. package/es/common/components/msem-preset-editor/editor-dialog.d.ts +0 -30
  192. package/es/common/components/msem-preset-editor/editor-dialog.d.ts.map +0 -1
  193. package/es/common/components/msem-preset-editor/editors/elloha.d.ts +0 -15
  194. package/es/common/components/msem-preset-editor/editors/elloha.d.ts.map +0 -1
  195. package/es/common/components/msem-preset-editor/editors/index.d.ts +0 -14
  196. package/es/common/components/msem-preset-editor/editors/index.d.ts.map +0 -1
  197. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts +0 -17
  198. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts.map +0 -1
  199. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts +0 -16
  200. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts.map +0 -1
  201. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts +0 -16
  202. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts.map +0 -1
  203. package/es/common/components/msem-preset-editor/editors/vakario.d.ts +0 -15
  204. package/es/common/components/msem-preset-editor/editors/vakario.d.ts.map +0 -1
  205. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts +0 -28
  206. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts.map +0 -1
  207. package/es/common/components/msem-preset-editor/services/api.d.ts +0 -15
  208. package/es/common/components/msem-preset-editor/services/api.d.ts.map +0 -1
  209. package/es/common/components/msem-preset-editor/services/offers.d.ts +0 -47
  210. package/es/common/components/msem-preset-editor/services/offers.d.ts.map +0 -1
  211. package/es/common/components/msem-preset-editor/services/preset.d.ts +0 -40
  212. package/es/common/components/msem-preset-editor/services/preset.d.ts.map +0 -1
  213. package/es/common/components/msem-preset-editor/services/url-params.d.ts +0 -3
  214. package/es/common/components/msem-preset-editor/services/url-params.d.ts.map +0 -1
  215. package/es/common/components/msem-preset-linker/components/actions.d.ts +0 -11
  216. package/es/common/components/msem-preset-linker/components/actions.d.ts.map +0 -1
  217. package/es/common/components/msem-preset-linker/components/overlays.d.ts +0 -8
  218. package/es/common/components/msem-preset-linker/components/overlays.d.ts.map +0 -1
  219. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts +0 -6
  220. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts.map +0 -1
  221. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts +0 -4
  222. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts.map +0 -1
  223. package/es/common/components/msem-preset-linker/index.d.ts +0 -3
  224. package/es/common/components/msem-preset-linker/index.d.ts.map +0 -1
  225. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts +0 -30
  226. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts.map +0 -1
  227. package/es/common/components/msem-preset-linker/services/url-params.d.ts +0 -2
  228. package/es/common/components/msem-preset-linker/services/url-params.d.ts.map +0 -1
  229. package/es/common/components/plausible/hooks/use-plausible.d.ts +0 -12
  230. package/es/common/components/plausible/hooks/use-plausible.d.ts.map +0 -1
  231. package/es/common/components/plausible/index.d.ts +0 -8
  232. package/es/common/components/plausible/index.d.ts.map +0 -1
  233. package/es/common/components/plausible/plausible.d.ts +0 -7
  234. package/es/common/components/plausible/plausible.d.ts.map +0 -1
  235. package/es/common/components/plausible/services/callback.d.ts +0 -24
  236. package/es/common/components/plausible/services/callback.d.ts.map +0 -1
  237. package/es/common/components/plausible/services/load.d.ts +0 -2
  238. package/es/common/components/plausible/services/load.d.ts.map +0 -1
  239. package/es/common/components/plausible/services/send-goal.d.ts +0 -7
  240. package/es/common/components/plausible/services/send-goal.d.ts.map +0 -1
  241. package/es/common/components/scroll-spy.d.ts +0 -14
  242. package/es/common/components/scroll-spy.d.ts.map +0 -1
  243. package/es/common/components/scrolling-carousel/index.d.ts +0 -3
  244. package/es/common/components/scrolling-carousel/index.d.ts.map +0 -1
  245. package/es/common/components/scrolling-carousel/scrolling-carousel.d.ts +0 -8
  246. package/es/common/components/scrolling-carousel/scrolling-carousel.d.ts.map +0 -1
  247. package/es/common/components/tabbed-zones.d.ts +0 -12
  248. package/es/common/components/tabbed-zones.d.ts.map +0 -1
  249. package/es/common/hooks/use-faq.d.ts +0 -3
  250. package/es/common/hooks/use-faq.d.ts.map +0 -1
  251. package/es/common/hooks/use-in-view.d.ts +0 -5
  252. package/es/common/hooks/use-in-view.d.ts.map +0 -1
  253. package/es/common/hooks/use-scroll-direction.d.ts +0 -11
  254. package/es/common/hooks/use-scroll-direction.d.ts.map +0 -1
  255. package/es/common/hooks/use-stay.d.ts +0 -4
  256. package/es/common/hooks/use-stay.d.ts.map +0 -1
  257. package/es/common/hooks/use-sticky.d.ts +0 -4
  258. package/es/common/hooks/use-sticky.d.ts.map +0 -1
  259. package/es/common/hooks/use-tunnel.d.ts +0 -8
  260. package/es/common/hooks/use-tunnel.d.ts.map +0 -1
  261. package/es/common/hooks/use-update-effect.d.ts +0 -2
  262. package/es/common/hooks/use-update-effect.d.ts.map +0 -1
  263. package/es/common/hooks/use-window-sizes.d.ts +0 -7
  264. package/es/common/hooks/use-window-sizes.d.ts.map +0 -1
  265. package/es/common/utils/cms.d.ts +0 -4
  266. package/es/common/utils/cms.d.ts.map +0 -1
  267. package/es/common/utils/cookies.d.ts +0 -2
  268. package/es/common/utils/cookies.d.ts.map +0 -1
  269. package/es/common/utils/copy.d.ts +0 -2
  270. package/es/common/utils/copy.d.ts.map +0 -1
  271. package/es/common/utils/dates.d.ts +0 -2
  272. package/es/common/utils/dates.d.ts.map +0 -1
  273. package/es/common/utils/elements.d.ts +0 -5
  274. package/es/common/utils/elements.d.ts.map +0 -1
  275. package/es/common/utils/events.d.ts +0 -4
  276. package/es/common/utils/events.d.ts.map +0 -1
  277. package/es/common/utils/file-manager.d.ts +0 -13
  278. package/es/common/utils/file-manager.d.ts.map +0 -1
  279. package/es/common/utils/load-js.d.ts +0 -3
  280. package/es/common/utils/load-js.d.ts.map +0 -1
  281. package/es/common/utils/msem-widget.d.ts +0 -16
  282. package/es/common/utils/msem-widget.d.ts.map +0 -1
  283. package/es/common/utils/url-parameters.d.ts +0 -2
  284. package/es/common/utils/url-parameters.d.ts.map +0 -1
  285. package/es/esf/components/magic-box/index.d.ts +0 -3
  286. package/es/esf/components/magic-box/index.d.ts.map +0 -1
  287. package/es/esf/components/magic-box/magic-box.d.ts +0 -22
  288. package/es/esf/components/magic-box/magic-box.d.ts.map +0 -1
  289. package/es/esf/components/parcours-esf/index.d.ts +0 -3
  290. package/es/esf/components/parcours-esf/index.d.ts.map +0 -1
  291. package/es/esf/components/parcours-esf/parcours-esf.d.ts +0 -14
  292. package/es/esf/components/parcours-esf/parcours-esf.d.ts.map +0 -1
  293. package/es/lbm/components/lumiplan/api.d.ts +0 -8
  294. package/es/lbm/components/lumiplan/api.d.ts.map +0 -1
  295. package/es/lbm/components/lumiplan/domain.d.ts +0 -8
  296. package/es/lbm/components/lumiplan/domain.d.ts.map +0 -1
  297. package/es/lbm/components/lumiplan/i18n/translations.d.ts +0 -7
  298. package/es/lbm/components/lumiplan/i18n/translations.d.ts.map +0 -1
  299. package/es/lbm/components/lumiplan/index.d.ts +0 -3
  300. package/es/lbm/components/lumiplan/index.d.ts.map +0 -1
  301. package/es/lbm/components/lumiplan/lumiplan.d.ts +0 -2
  302. package/es/lbm/components/lumiplan/lumiplan.d.ts.map +0 -1
  303. package/es/lbm/components/lumiplan/opening.d.ts +0 -9
  304. package/es/lbm/components/lumiplan/opening.d.ts.map +0 -1
  305. package/es/lbm/components/lumiplan/pois.d.ts +0 -8
  306. package/es/lbm/components/lumiplan/pois.d.ts.map +0 -1
  307. package/es/lbm/components/lumiplan/resort-selector.d.ts +0 -12
  308. package/es/lbm/components/lumiplan/resort-selector.d.ts.map +0 -1
  309. package/es/lbm/components/lumiplan/road-condition.d.ts +0 -8
  310. package/es/lbm/components/lumiplan/road-condition.d.ts.map +0 -1
  311. package/es/lbm/components/lumiplan/todays-tips.d.ts +0 -8
  312. package/es/lbm/components/lumiplan/todays-tips.d.ts.map +0 -1
  313. package/es/lbm/components/lumiplan/types.d.ts +0 -285
  314. package/es/lbm/components/lumiplan/types.d.ts.map +0 -1
  315. package/es/lbm/components/lumiplan/weather/avalanche-risk.d.ts +0 -4
  316. package/es/lbm/components/lumiplan/weather/avalanche-risk.d.ts.map +0 -1
  317. package/es/lbm/components/lumiplan/weather/index.d.ts +0 -3
  318. package/es/lbm/components/lumiplan/weather/index.d.ts.map +0 -1
  319. package/es/lbm/components/lumiplan/weather/snow-data.d.ts +0 -8
  320. package/es/lbm/components/lumiplan/weather/snow-data.d.ts.map +0 -1
  321. package/es/lbm/components/lumiplan/weather/weather-data.d.ts +0 -9
  322. package/es/lbm/components/lumiplan/weather/weather-data.d.ts.map +0 -1
  323. package/es/lbm/components/lumiplan/weather/weather-days.d.ts +0 -7
  324. package/es/lbm/components/lumiplan/weather/weather-days.d.ts.map +0 -1
  325. package/es/lbm/components/lumiplan/weather/weather-icon.d.ts +0 -23
  326. package/es/lbm/components/lumiplan/weather/weather-icon.d.ts.map +0 -1
  327. package/es/lbm/components/lumiplan/weather/weather-zones.d.ts +0 -6
  328. package/es/lbm/components/lumiplan/weather/weather-zones.d.ts.map +0 -1
  329. package/es/lbm/components/lumiplan/weather/weather.d.ts +0 -8
  330. package/es/lbm/components/lumiplan/weather/weather.d.ts.map +0 -1
@@ -1,23 +1,40 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import * as React from "react";
2
2
  import Select from "dt-design-system/es/select";
3
- export default function FacetSelector({ facet, setFacet, setPreset }) {
4
- const updateFacet = (newValue) => {
5
- setPreset((current) => {
6
- if (!newValue) {
7
- return null;
8
- }
9
- else {
10
- return {
11
- ...current,
12
- options: { ...(current?.options || {}), facet: Number(newValue) },
13
- };
14
- }
15
- });
16
- setFacet(newValue);
17
- };
18
- return (_jsx(Select, { value: facet, onValueChange: updateFacet, label: "Facette", options: [
19
- { label: "Sélectionnez une facette pour continuer", value: "" },
20
- { label: "Hiver", value: "0" },
21
- { label: "Eté", value: "1" },
22
- ] }));
23
- }
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function FacetSelector({
5
+ facet,
6
+ setFacet,
7
+ setPreset
8
+ }) {
9
+ const updateFacet = newValue => {
10
+ setPreset(current => {
11
+ if (!newValue) {
12
+ return null;
13
+ } else {
14
+ return {
15
+ ...current,
16
+ options: {
17
+ ...(current?.options || {}),
18
+ facet: Number(newValue)
19
+ }
20
+ };
21
+ }
22
+ });
23
+ setFacet(newValue);
24
+ };
25
+ return _jsx(Select, {
26
+ value: facet,
27
+ onValueChange: updateFacet,
28
+ label: "Facette",
29
+ options: [{
30
+ label: "Sélectionnez une facette pour continuer",
31
+ value: ""
32
+ }, {
33
+ label: "Hiver",
34
+ value: "0"
35
+ }, {
36
+ label: "Eté",
37
+ value: "1"
38
+ }]
39
+ });
40
+ }
@@ -1,9 +1,58 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import * as React from "react";
2
2
  import Button from "dt-design-system/es/button";
3
3
  import Tooltip from "dt-design-system/es/tooltip";
4
4
  import * as Icons from "dt-design-system/es/icons";
5
5
  import css from "./form.module.css";
6
- export default function Form({ title, width, preset, buttonsActions, children, }) {
7
- const { testPreset, cancelPreset, confirmPreset } = buttonsActions;
8
- return (_jsxs("div", { className: css.form, style: { width }, children: [_jsxs("div", { className: css.title, children: [_jsx(Icons.Tune, {}), title] }), _jsx("div", { className: css.inner, children: children }), _jsxs("div", { className: css.buttons, children: [_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) }), _jsx(Button, { type: "submit", variant: "secondary", className: css.button, onClick: cancelPreset, children: "Annuler" }), _jsx(Button, { type: "submit", variant: "primary", className: css.button, onClick: confirmPreset, disabled: !confirmPreset, children: "Confirmer" })] })] }));
9
- }
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ export default function Form({
9
+ title,
10
+ width,
11
+ preset,
12
+ buttonsActions,
13
+ children
14
+ }) {
15
+ const {
16
+ testPreset,
17
+ cancelPreset,
18
+ confirmPreset
19
+ } = buttonsActions;
20
+ return _jsxs("div", {
21
+ className: css.form,
22
+ style: {
23
+ width
24
+ },
25
+ children: [_jsxs("div", {
26
+ className: css.title,
27
+ children: [_jsx(Icons.Tune, {}), title]
28
+ }), _jsx("div", {
29
+ className: css.inner,
30
+ children: children
31
+ }), _jsxs("div", {
32
+ className: css.buttons,
33
+ children: [_jsx(Tooltip, {
34
+ content: "Tester dans le widget MseM",
35
+ children: _jsx(Button, {
36
+ variant: "secondary",
37
+ disabled: !preset?.widget,
38
+ className: css.testButton,
39
+ onClick: testPreset,
40
+ children: _jsx(Icons.OpenInBrowser, {})
41
+ })
42
+ }), _jsx(Button, {
43
+ type: "submit",
44
+ variant: "secondary",
45
+ className: css.button,
46
+ onClick: cancelPreset,
47
+ children: "Annuler"
48
+ }), _jsx(Button, {
49
+ type: "submit",
50
+ variant: "primary",
51
+ className: css.button,
52
+ onClick: confirmPreset,
53
+ disabled: !confirmPreset,
54
+ children: "Confirmer"
55
+ })]
56
+ })]
57
+ });
58
+ }
@@ -1,35 +1,74 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import * as React from "react";
2
2
  import Input from "dt-design-system/es/input";
3
3
  import css from "./stay-picker.module.css";
4
- export default function StayPicker({ stay, setStay }) {
5
- const updateStay = (key) => (value) => {
6
- const isFrom = key === "from";
7
- const isTo = key === "to";
8
- if (isFrom) {
9
- if (!stay.to && !value) {
10
- window.sessionStorage.removeItem("stay");
11
- return setStay({ from: "", to: "" });
12
- }
13
- const from = new Date(value);
14
- const to = new Date(stay.to);
15
- if (from > to || !stay.to) {
16
- return setStay({ from: value, to: value });
17
- }
18
- return setStay({ ...stay, [key]: value });
19
- }
20
- if (isTo) {
21
- if (!stay.from && !value) {
22
- window.sessionStorage.removeItem("stay");
23
- return setStay({ from: "", to: "" });
24
- }
25
- const from = new Date(stay.from);
26
- const to = new Date(value);
27
- if (from > to || !stay.from) {
28
- return setStay({ to: value, from: value });
29
- }
30
- return setStay({ ...stay, [key]: value });
31
- }
32
- setStay({ ...stay, [key]: value });
33
- };
34
- return (_jsxs("div", { className: css.picker, children: [_jsx(Input, { type: "date", label: "Date de d\u00E9but", value: stay.from, onValueChange: updateStay("from") }), _jsx(Input, { type: "date", label: "Date de fin", value: stay.to, onValueChange: updateStay("to") })] }));
35
- }
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ export default function StayPicker({
7
+ stay,
8
+ setStay
9
+ }) {
10
+ const updateStay = key => value => {
11
+ const isFrom = key === "from";
12
+ const isTo = key === "to";
13
+ if (isFrom) {
14
+ if (!stay.to && !value) {
15
+ window.sessionStorage.removeItem("stay");
16
+ return setStay({
17
+ from: "",
18
+ to: ""
19
+ });
20
+ }
21
+ const from = new Date(value);
22
+ const to = new Date(stay.to);
23
+ if (from > to || !stay.to) {
24
+ return setStay({
25
+ from: value,
26
+ to: value
27
+ });
28
+ }
29
+ return setStay({
30
+ ...stay,
31
+ [key]: value
32
+ });
33
+ }
34
+ if (isTo) {
35
+ if (!stay.from && !value) {
36
+ window.sessionStorage.removeItem("stay");
37
+ return setStay({
38
+ from: "",
39
+ to: ""
40
+ });
41
+ }
42
+ const from = new Date(stay.from);
43
+ const to = new Date(value);
44
+ if (from > to || !stay.from) {
45
+ return setStay({
46
+ to: value,
47
+ from: value
48
+ });
49
+ }
50
+ return setStay({
51
+ ...stay,
52
+ [key]: value
53
+ });
54
+ }
55
+ setStay({
56
+ ...stay,
57
+ [key]: value
58
+ });
59
+ };
60
+ return _jsxs("div", {
61
+ className: css.picker,
62
+ children: [_jsx(Input, {
63
+ type: "date",
64
+ label: "Date de d\xE9but",
65
+ value: stay.from,
66
+ onValueChange: updateStay("from")
67
+ }), _jsx(Input, {
68
+ type: "date",
69
+ label: "Date de fin",
70
+ value: stay.to,
71
+ onValueChange: updateStay("to")
72
+ })]
73
+ });
74
+ }
@@ -1,49 +1,137 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import * as React from "react";
3
2
  import classNames from "classnames";
4
3
  import Button from "dt-design-system/es/button";
5
4
  import Tooltip from "dt-design-system/es/tooltip";
6
5
  import * as Icons from "dt-design-system/es/icons";
7
6
  import css from "./widget-list-item.module.css";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const ALLOW_PRESETS_ON_WIDGETS = ["lodging", "skiPass", "elloha", "vakario"];
9
- export default function WidgetListItem({ item, preset, updatePreset, removePreset, setShowPresetDialog, }) {
10
- const [opened, setOpened] = React.useState(false);
11
- const { widget, logo, name, items: subs } = item;
12
- const toggleItem = () => {
13
- setOpened(!opened);
14
- };
15
- const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
16
- const isSelected = preset?.name === name && preset?.widget === widget;
17
- const hasSubs = subs && subs.length > 0;
18
- const allowAdvancedPresets = ALLOW_PRESETS_ON_WIDGETS.includes(widget);
19
- const showEditButton = isSelected && allowAdvancedPresets;
20
- const showRemoveButton = isSelected;
21
- const classes = classNames(css.item, {
22
- [css.selected]: isSelected,
23
- [css.opened]: opened,
24
- });
25
- const handleItemClick = () => {
26
- if (!isSelected) {
27
- updatePreset(item);
28
- }
29
- };
30
- return (_jsxs("div", { className: classes, children: [_jsxs(Button, { variant: "transparent", className: css.button, onClick: handleItemClick, children: [_jsx("div", { className: css.logo, children: _jsx("img", { src: logo, alt: name }) }), _jsx("div", { className: css.name, children: name })] }), (hasSubs || showEditButton || showRemoveButton) && (_jsxs("div", { className: css.actions, children: [showEditButton && (_jsx(Tooltip, { content: "Modifier", children: _jsx(Button, { variant: "primary", className: css.action, onClick: () => setShowPresetDialog(true), compact: true, children: _jsx(Icons.Edit, {}) }) })), showRemoveButton && (_jsx(Tooltip, { content: "Supprimer", children: _jsx(Button, { variant: "danger", className: css.action, onClick: removePreset, compact: true, children: _jsx(Icons.Trash, {}) }) })), hasSubs && (_jsx(Tooltip, { content: "Afficher les sous-marchands", children: _jsx(Button, { variant: "secondary", className: css.action, onClick: toggleItem, compact: true, children: _jsx(ToggleIcon, {}) }) }))] })), opened && subs && (_jsx("div", { className: css.list, children: subs.map((sub) => {
31
- const isSelected = preset?.name === sub.name;
32
- const allowedWidgets = [
33
- "otherProducts",
34
- ...ALLOW_PRESETS_ON_WIDGETS,
35
- ];
36
- const allowAdvancedPresets = allowedWidgets.includes(sub.widget);
37
- const showEditButton = isSelected && allowAdvancedPresets;
38
- const showButtons = showEditButton || isSelected;
39
- const classes = classNames(css.subButton, {
40
- [css.subButtonSelected]: isSelected,
41
- });
42
- const handleSubClick = () => {
43
- if (!isSelected) {
44
- updatePreset(item, sub);
45
- }
46
- };
47
- return (_jsxs("div", { className: css.sub, children: [_jsx(Button, { variant: "transparent", className: classes, onClick: handleSubClick, children: sub.name }), showButtons && (_jsxs("div", { className: css.subActions, children: [showEditButton && (_jsx(Tooltip, { content: "Modifier", children: _jsx(Button, { variant: "primary", className: css.action, onClick: () => setShowPresetDialog(true), compact: true, children: _jsx(Icons.Edit, {}) }) })), isSelected && (_jsx(Tooltip, { content: "Supprimer", children: _jsx(Button, { variant: "danger", className: css.action, onClick: removePreset, compact: true, children: _jsx(Icons.Trash, {}) }) }))] }))] }, sub.name));
48
- }) }))] }));
49
- }
10
+ export default function WidgetListItem({
11
+ item,
12
+ preset,
13
+ updatePreset,
14
+ removePreset,
15
+ setShowPresetDialog
16
+ }) {
17
+ const [opened, setOpened] = React.useState(false);
18
+ const {
19
+ widget,
20
+ logo,
21
+ name,
22
+ items: subs
23
+ } = item;
24
+ const toggleItem = () => {
25
+ setOpened(!opened);
26
+ };
27
+ const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
28
+ const isSelected = preset?.name === name && preset?.widget === widget;
29
+ const hasSubs = subs && subs.length > 0;
30
+ const allowAdvancedPresets = ALLOW_PRESETS_ON_WIDGETS.includes(widget);
31
+ const showEditButton = isSelected && allowAdvancedPresets;
32
+ const showRemoveButton = isSelected;
33
+ const classes = classNames(css.item, {
34
+ [css.selected]: isSelected,
35
+ [css.opened]: opened
36
+ });
37
+ const handleItemClick = () => {
38
+ if (!isSelected) {
39
+ updatePreset(item);
40
+ }
41
+ };
42
+ return _jsxs("div", {
43
+ className: classes,
44
+ children: [_jsxs(Button, {
45
+ variant: "transparent",
46
+ className: css.button,
47
+ onClick: handleItemClick,
48
+ children: [_jsx("div", {
49
+ className: css.logo,
50
+ children: _jsx("img", {
51
+ src: logo,
52
+ alt: name
53
+ })
54
+ }), _jsx("div", {
55
+ className: css.name,
56
+ children: name
57
+ })]
58
+ }), (hasSubs || showEditButton || showRemoveButton) && _jsxs("div", {
59
+ className: css.actions,
60
+ children: [showEditButton && _jsx(Tooltip, {
61
+ content: "Modifier",
62
+ children: _jsx(Button, {
63
+ variant: "primary",
64
+ className: css.action,
65
+ onClick: () => setShowPresetDialog(true),
66
+ compact: true,
67
+ children: _jsx(Icons.Edit, {})
68
+ })
69
+ }), showRemoveButton && _jsx(Tooltip, {
70
+ content: "Supprimer",
71
+ children: _jsx(Button, {
72
+ variant: "danger",
73
+ className: css.action,
74
+ onClick: removePreset,
75
+ compact: true,
76
+ children: _jsx(Icons.Trash, {})
77
+ })
78
+ }), hasSubs && _jsx(Tooltip, {
79
+ content: "Afficher les sous-marchands",
80
+ children: _jsx(Button, {
81
+ variant: "secondary",
82
+ className: css.action,
83
+ onClick: toggleItem,
84
+ compact: true,
85
+ children: _jsx(ToggleIcon, {})
86
+ })
87
+ })]
88
+ }), opened && subs && _jsx("div", {
89
+ className: css.list,
90
+ children: subs.map(sub => {
91
+ const isSelected = preset?.name === sub.name;
92
+ const allowedWidgets = ["otherProducts", ...ALLOW_PRESETS_ON_WIDGETS];
93
+ const allowAdvancedPresets = allowedWidgets.includes(sub.widget);
94
+ const showEditButton = isSelected && allowAdvancedPresets;
95
+ const showButtons = showEditButton || isSelected;
96
+ const classes = classNames(css.subButton, {
97
+ [css.subButtonSelected]: isSelected
98
+ });
99
+ const handleSubClick = () => {
100
+ if (!isSelected) {
101
+ updatePreset(item, sub);
102
+ }
103
+ };
104
+ return _jsxs("div", {
105
+ className: css.sub,
106
+ children: [_jsx(Button, {
107
+ variant: "transparent",
108
+ className: classes,
109
+ onClick: handleSubClick,
110
+ children: sub.name
111
+ }), showButtons && _jsxs("div", {
112
+ className: css.subActions,
113
+ children: [showEditButton && _jsx(Tooltip, {
114
+ content: "Modifier",
115
+ children: _jsx(Button, {
116
+ variant: "primary",
117
+ className: css.action,
118
+ onClick: () => setShowPresetDialog(true),
119
+ compact: true,
120
+ children: _jsx(Icons.Edit, {})
121
+ })
122
+ }), isSelected && _jsx(Tooltip, {
123
+ content: "Supprimer",
124
+ children: _jsx(Button, {
125
+ variant: "danger",
126
+ className: css.action,
127
+ onClick: removePreset,
128
+ compact: true,
129
+ children: _jsx(Icons.Trash, {})
130
+ })
131
+ })]
132
+ })]
133
+ }, sub.name);
134
+ })
135
+ })]
136
+ });
137
+ }
@@ -1,34 +1,59 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import * as React from "react";
3
2
  import Loader from "dt-design-system/es/loader";
4
3
  import WidgetListItem from "./widget-list-item";
5
4
  import * as Offers from "../services/offers";
6
5
  import css from "./widget-list.module.css";
7
- export default function WidgetList({ lang, channel, resort, facet, preset, updatePreset, removePreset, setError, setShowPresetDialog, }) {
8
- const [offers, setOffers] = React.useState(null);
9
- const [loading, setLoading] = React.useState(false);
10
- React.useEffect(() => {
11
- const runEffect = async () => {
12
- setError(null);
13
- setOffers(null);
14
- setLoading(true);
15
- try {
16
- const offers = (await Offers.get(lang, channel, resort, facet));
17
- const filteredOffers = offers.filter(({ kind }) => {
18
- return kind !== "FFS" && kind !== "ASSU";
19
- });
20
- setOffers(filteredOffers);
21
- }
22
- catch (e) {
23
- setError("Une erreur est survenue lors de la récupération des offres");
24
- }
25
- finally {
26
- setLoading(false);
27
- }
28
- };
29
- runEffect();
30
- }, [channel, facet, lang, resort, setError]);
31
- return (_jsxs("div", { className: css.list, children: [loading && _jsx(Loader, { className: css.loader }), offers?.length === 0 && !loading && (_jsx("div", { className: css.empty, children: "Aucun widget disponible" })), offers?.map((offer, i) => {
32
- return (_jsx(WidgetListItem, { item: offer, preset: preset, updatePreset: updatePreset, removePreset: removePreset, setShowPresetDialog: setShowPresetDialog }, i));
33
- })] }));
34
- }
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ export default function WidgetList({
9
+ lang,
10
+ channel,
11
+ resort,
12
+ facet,
13
+ preset,
14
+ updatePreset,
15
+ removePreset,
16
+ setError,
17
+ setShowPresetDialog
18
+ }) {
19
+ const [offers, setOffers] = React.useState(null);
20
+ const [loading, setLoading] = React.useState(false);
21
+ React.useEffect(() => {
22
+ const runEffect = async () => {
23
+ setError(null);
24
+ setOffers(null);
25
+ setLoading(true);
26
+ try {
27
+ const offers = await Offers.get(lang, channel, resort, facet);
28
+ const filteredOffers = offers.filter(({
29
+ kind
30
+ }) => {
31
+ return kind !== "FFS" && kind !== "ASSU";
32
+ });
33
+ setOffers(filteredOffers);
34
+ } catch (e) {
35
+ setError("Une erreur est survenue lors de la récupération des offres");
36
+ } finally {
37
+ setLoading(false);
38
+ }
39
+ };
40
+ runEffect();
41
+ }, [channel, facet, lang, resort, setError]);
42
+ return _jsxs("div", {
43
+ className: css.list,
44
+ children: [loading && _jsx(Loader, {
45
+ className: css.loader
46
+ }), offers?.length === 0 && !loading && _jsx("div", {
47
+ className: css.empty,
48
+ children: "Aucun widget disponible"
49
+ }), offers?.map((offer, i) => {
50
+ return _jsx(WidgetListItem, {
51
+ item: offer,
52
+ preset: preset,
53
+ updatePreset: updatePreset,
54
+ removePreset: removePreset,
55
+ setShowPresetDialog: setShowPresetDialog
56
+ }, i);
57
+ })]
58
+ });
59
+ }
@@ -1,27 +1,74 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import * as React from "react";
3
2
  import Dialog from "dt-design-system/es/dialog";
4
3
  import Button from "dt-design-system/es/button";
5
4
  import * as Icons from "dt-design-system/es/icons";
6
5
  import MseMPresetEditor from "./msem-preset-editor";
7
6
  import css from "./editor-dialog.module.css";
8
- export default function EditorDialog({ lang, options, urls, target, updatePreset, closeEditor, removeObsoletePreset, noLodgingPage, children, }) {
9
- const selectedPreset = target?.getAttribute("data-msem-preset");
10
- const [preset, setPreset] = React.useState(selectedPreset ? JSON.parse(selectedPreset) : null);
11
- const hasObsoletePreset = target?.hasAttribute("data-config");
12
- React.useEffect(() => {
13
- if (selectedPreset) {
14
- setPreset(JSON.parse(selectedPreset));
15
- }
16
- }, [selectedPreset]);
17
- const updateNewPreset = React.useCallback(() => {
18
- const anchorHasHref = target
19
- ?.querySelector(":scope > a")
20
- ?.hasAttribute("href");
21
- if (!anchorHasHref && preset?.url && !preset?.openPage) {
22
- delete preset.url;
23
- }
24
- updatePreset(preset);
25
- }, [preset, updatePreset, target]);
26
- return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, container: null, close: closeEditor, closeOnBackdropClick: false, showAsModal: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur la section selectionn\u00E9e." }), _jsx(MseMPresetEditor, { lang: lang, options: options, urls: urls, selectedPreset: selectedPreset, onChange: setPreset, noLodgingPage: noLodgingPage, children: children }), _jsxs("div", { className: css.buttons, children: [hasObsoletePreset && (_jsxs(Button, { variant: "danger", className: css.removeObsolete, onClick: removeObsoletePreset, children: [_jsx(Icons.CleaningServices, {}), "Nettoyer le preset obsol\u00E8te"] })), _jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updateNewPreset, children: "Valider" })] })] }));
27
- }
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ export default function EditorDialog({
10
+ lang,
11
+ options,
12
+ urls,
13
+ target,
14
+ updatePreset,
15
+ closeEditor,
16
+ removeObsoletePreset,
17
+ noLodgingPage,
18
+ children
19
+ }) {
20
+ const selectedPreset = target?.getAttribute("data-msem-preset");
21
+ const [preset, setPreset] = React.useState(selectedPreset ? JSON.parse(selectedPreset) : null);
22
+ const hasObsoletePreset = target?.hasAttribute("data-config");
23
+ React.useEffect(() => {
24
+ if (selectedPreset) {
25
+ setPreset(JSON.parse(selectedPreset));
26
+ }
27
+ }, [selectedPreset]);
28
+ const updateNewPreset = React.useCallback(() => {
29
+ const anchorHasHref = target?.querySelector(":scope > a")?.hasAttribute("href");
30
+ if (!anchorHasHref && preset?.url && !preset?.openPage) {
31
+ delete preset.url;
32
+ }
33
+ updatePreset(preset);
34
+ }, [preset, updatePreset, target]);
35
+ return _jsxs(Dialog, {
36
+ className: css.dialog,
37
+ isOpened: !!target,
38
+ container: null,
39
+ close: closeEditor,
40
+ closeOnBackdropClick: false,
41
+ showAsModal: false,
42
+ children: [_jsx("div", {
43
+ className: css.title,
44
+ children: "Choisissez un widget"
45
+ }), _jsx("div", {
46
+ className: css.subtitle,
47
+ children: "Ce dernier s'ouvrira au clic sur la section selectionn\xE9e."
48
+ }), _jsx(MseMPresetEditor, {
49
+ lang: lang,
50
+ options: options,
51
+ urls: urls,
52
+ selectedPreset: selectedPreset,
53
+ onChange: setPreset,
54
+ noLodgingPage: noLodgingPage,
55
+ children: children
56
+ }), _jsxs("div", {
57
+ className: css.buttons,
58
+ children: [hasObsoletePreset && _jsxs(Button, {
59
+ variant: "danger",
60
+ className: css.removeObsolete,
61
+ onClick: removeObsoletePreset,
62
+ children: [_jsx(Icons.CleaningServices, {}), "Nettoyer le preset obsol\xE8te"]
63
+ }), _jsx(Button, {
64
+ variant: "secondary",
65
+ onClick: closeEditor,
66
+ children: "Annuler"
67
+ }), _jsx(Button, {
68
+ variant: "primary",
69
+ onClick: updateNewPreset,
70
+ children: "Valider"
71
+ })]
72
+ })]
73
+ });
74
+ }