From 17ded1734928160c648f3c69a5fe73194b080309 Mon Sep 17 00:00:00 2001 From: Woody Wordpress Date: Thu, 9 Feb 2023 09:48:55 +0100 Subject: [PATCH] Version 1.43.15 - Updated from Woody-Library PRO --- WoodyLibrary.php | 40 +-- assets/js/_index.js | 2 + assets/js/headnavs.js | 10 - assets/js/hero.js | 18 +- assets/js/maps.js | 32 ++- assets/js/medias.js | 34 +++ assets/js/menus_v2.js | 7 +- .../modules/interactiveMap/interactiveMap.js | 107 +++++++ assets/js/modules/woodyGallery/wgContent.js | 3 +- assets/js/modules/woodyGallery/wgImage.js | 4 +- assets/js/profiles.js | 11 + assets/js/summary/ext_accordion.js | 20 +- assets/js/summary/summary.js | 138 ++++----- assets/js/swipers.js | 21 +- assets/js/woodyFairguestBadge.js | 58 ++++ assets/scss/addons/cookies.scss | 14 + assets/scss/components/_index.scss | 2 + assets/scss/components/details.scss | 44 +++ assets/scss/components/pwa.scss | 104 +++++++ assets/scss/components/swipers.scss | 98 ++----- assets/scss/components/videoObjects.scss | 75 +++++ assets/scss/groundwork/_index.scss | 2 + assets/scss/groundwork/cursors.scss | 3 + assets/scss/groundwork/grids.scss | 8 + assets/scss/groundwork/keyframes.scss | 6 + assets/scss/groundwork/layout.scss | 4 + assets/scss/groundwork/shadows.scss | 23 ++ assets/scss/hawwwai/_index.scss | 2 + assets/scss/hawwwai/playlist/_index.scss | 0 assets/scss/hawwwai/sheet/_index.scss | 4 + .../scss/hawwwai/sheet/components/_index.scss | 9 + .../scss/hawwwai/sheet/components/chains.scss | 5 + .../hawwwai/sheet/components/favorites.scss | 9 + .../hawwwai/sheet/components/ratings.scss | 17 ++ .../scss/hawwwai/sheet/components/reveal.scss | 38 +++ .../sheet/components/special-labels.scss | 5 + .../hawwwai/sheet/components/summary.scss | 7 + .../scss/hawwwai/sheet/components/tabs.scss | 30 ++ .../hawwwai/sheet/components/tagCorner.scss | 37 +++ .../sheet/components/territory-labels.scss | 5 + assets/scss/hawwwai/sheet/global/_index.scss | 5 + .../scss/hawwwai/sheet/global/dropdown.scss | 27 ++ assets/scss/hawwwai/sheet/global/links.scss | 28 ++ .../scss/hawwwai/sheet/global/separator.scss | 3 + assets/scss/hawwwai/sheet/global/table.scss | 5 + .../scss/hawwwai/sheet/global/typography.scss | 66 +++++ assets/scss/hawwwai/sheet/parts/_index.scss | 14 + assets/scss/hawwwai/sheet/parts/area.scss | 16 ++ .../scss/hawwwai/sheet/parts/capacities.scss | 7 + assets/scss/hawwwai/sheet/parts/covid.scss | 6 + .../hawwwai/sheet/parts/documentation.scss | 5 + .../scss/hawwwai/sheet/parts/environment.scss | 7 + .../scss/hawwwai/sheet/parts/equipments.scss | 12 + assets/scss/hawwwai/sheet/parts/hero.scss | 17 ++ assets/scss/hawwwai/sheet/parts/labels.scss | 43 +++ .../hawwwai/sheet/parts/payment-methods.scss | 8 + assets/scss/hawwwai/sheet/parts/prices.scss | 25 ++ assets/scss/hawwwai/sheet/parts/sidebar.scss | 1 + .../hawwwai/sheet/parts/sidebar/_index.scss | 6 + .../sheet/parts/sidebar/covid-status.scss | 19 ++ .../hawwwai/sheet/parts/sidebar/event.scss | 46 +++ .../hawwwai/sheet/parts/sidebar/global.scss | 23 ++ .../hawwwai/sheet/parts/sidebar/opening.scss | 12 + .../sheet/parts/sidebar/social-networks.scss | 13 + .../hawwwai/sheet/parts/sidebar/tariff.scss | 13 + .../sheet/parts/sit-source_footer.scss | 28 ++ assets/scss/hawwwai/sheet/parts/teaser.scss | 7 + .../sheet/parts/thematic-description.scss | 31 ++ assets/scss/hawwwai/sheet/vars/_index.scss | 1 + assets/scss/hawwwai/sheet/vars/colors.scss | 9 + assets/scss/mixins/basics.scss | 49 +++- assets/scss/plugins/flowchart/flowchart.scss | 39 ++- assets/scss/plugins/menus_v2/menu_burger.scss | 18 +- assets/scss/plugins/snowflake.scss | 8 + .../tourism/components/3-layout/_layout.scss | 2 - .../4-features/media-gallery/_mosaic.scss | 1 + assets/scss/tourism/sheet/_index.scss | 1 - assets/scss/vars/_index.scss | 2 + assets/scss/vars/card.scss | 8 + assets/scss/vars/claims.scss | 2 + assets/scss/vars/color.scss | 31 +- assets/scss/vars/events_hawwwai.scss | 2 + assets/scss/vars/globals.scss | 5 + assets/scss/vars/hero.scss | 1 + assets/scss/woody.scss | 1 + assets/scss/woodyGallery/_index.scss | 16 ++ assets/scss/woody_components/_index.scss | 1 + assets/scss/woody_components/all.scss | 5 +- assets/scss/woody_components/card.scss | 56 +++- assets/scss/woody_components/claim_block.scss | 75 +++-- .../scss/woody_components/events_hawwwai.scss | 16 ++ assets/scss/woody_components/feature.scss | 16 ++ assets/scss/woody_components/focus.scss | 163 ++++++++++- assets/scss/woody_components/geomap.scss | 36 +-- assets/scss/woody_components/hero.scss | 53 +++- assets/scss/woody_components/page_teaser.scss | 32 +-- assets/scss/woody_components/tabs.scss | 92 +++--- composer.json | 4 +- rector.php | 44 +++ views/_objects/bgParamsObject.twig | 7 +- views/_objects/buttonBlock.twig | 21 +- views/_objects/buttonMenu.twig | 18 +- views/_objects/buttonObject.twig | 20 +- views/_objects/favoriteTeaserObject.twig | 2 +- views/_objects/genericBlocTitles.twig | 2 + views/_objects/gridObject.twig | 30 +- views/_objects/imageObject.twig | 8 +- views/_objects/markerObject.twig | 4 +- views/_objects/titlesObject.twig | 267 +++++++++--------- views/_objects/titlesObject_2.twig | 6 +- views/_objects/titlesObject_3.twig | 6 +- views/_objects/titlesObject_4.twig | 3 +- views/_objects/titlesObject_5.twig | 8 +- views/_objects/videoObject.twig | 4 +- views/_objects/visualModifier.twig | 14 +- views/blocks/accordion/tpl_01/conf.json | 1 + views/blocks/accordion/tpl_01/thumbnail.png | Bin 5514 -> 5290 bytes views/blocks/accordion/tpl_01/tpl.twig | 10 +- views/blocks/audio/tpl_01/conf.json | 1 + views/blocks/audio/tpl_01/thumbnail.png | Bin 1280 -> 5925 bytes views/blocks/audio/tpl_01/tpl.twig | 2 + views/blocks/call_to_action/tpl_01/conf.json | 1 + views/blocks/call_to_action/tpl_02/conf.json | 1 + .../call_to_action/tpl_02/thumbnail.png | Bin 8156 -> 8326 bytes views/blocks/call_to_action/tpl_03/conf.json | 1 + .../call_to_action/tpl_03/thumbnail.png | Bin 8244 -> 8354 bytes views/blocks/claims/tpl_07/conf.json | 12 + views/blocks/claims/tpl_07/thumbnail.png | Bin 0 -> 9145 bytes views/blocks/claims/tpl_07/tpl.twig | 24 ++ views/blocks/claims/tpl_08/conf.json | 12 + views/blocks/claims/tpl_08/thumbnail.png | Bin 0 -> 9145 bytes views/blocks/claims/tpl_08/tpl.twig | 24 ++ views/blocks/claims/tpl_09/conf.json | 12 + views/blocks/claims/tpl_09/thumbnail.png | Bin 0 -> 9145 bytes views/blocks/claims/tpl_09/tpl.twig | 24 ++ views/blocks/custom_text/tpl_01/tpl.twig | 15 +- views/blocks/custom_text/tpl_02/thumbnail.png | Bin 1124 -> 5260 bytes views/blocks/custom_text/tpl_02/tpl.twig | 17 +- views/blocks/feature/tpl_01/conf.json | 1 + views/blocks/feature/tpl_04/conf.json | 1 + .../_objects/featureFooterObject.twig | 2 +- .../feature_v2/_objects/tpl_01/tpl.twig | 9 +- .../feature_v2/_objects/tpl_02/tpl.twig | 1 + .../feature_v2/_objects/tpl_04/tpl.twig | 1 + views/blocks/feature_v2/tpl_101/conf.json | 1 + views/blocks/feature_v2/tpl_101/tpl.twig | 30 +- views/blocks/feature_v2/tpl_102/conf.json | 1 + views/blocks/feature_v2/tpl_103/conf.json | 1 + views/blocks/feature_v2/tpl_104/conf.json | 1 + views/blocks/feature_v2/tpl_201/conf.json | 1 + views/blocks/feature_v2/tpl_201/tpl.twig | 2 +- views/blocks/feature_v2/tpl_202/conf.json | 1 + views/blocks/feature_v2/tpl_203/conf.json | 1 + views/blocks/feature_v2/tpl_204/conf.json | 1 + views/blocks/feature_v2/tpl_301/conf.json | 1 + views/blocks/feature_v2/tpl_301/tpl.twig | 2 +- views/blocks/feature_v2/tpl_302/conf.json | 1 + views/blocks/feature_v2/tpl_303/conf.json | 1 + views/blocks/feature_v2/tpl_304/conf.json | 1 + views/blocks/feature_v2/tpl_401/conf.json | 1 + views/blocks/feature_v2/tpl_401/tpl.twig | 2 +- views/blocks/feature_v2/tpl_402/conf.json | 1 + views/blocks/feature_v2/tpl_403/conf.json | 1 + views/blocks/feature_v2/tpl_501/conf.json | 1 + views/blocks/feature_v2/tpl_501/tpl.twig | 2 +- views/blocks/feature_v2/tpl_502/conf.json | 1 + views/blocks/feature_v2/tpl_503/conf.json | 1 + views/blocks/feature_v2/tpl_504/conf.json | 1 + views/blocks/feature_v2/tpl_601/conf.json | 1 + views/blocks/feature_v2/tpl_601/tpl.twig | 2 +- views/blocks/feature_v2/tpl_602/conf.json | 1 + views/blocks/feature_v2/tpl_603/conf.json | 1 + views/blocks/feature_v2/tpl_604/conf.json | 1 + .../blocks/focus/_objects/focus_buttons.twig | 26 +- views/blocks/focus/_objects/headerObject.twig | 4 +- views/blocks/focus/_objects/oddEven.twig | 6 +- views/blocks/focus/tpl_102/conf.json | 1 + views/blocks/focus/tpl_104/conf.json | 1 + views/blocks/focus/tpl_107/conf.json | 1 + views/blocks/focus/tpl_113/conf.json | 25 -- views/blocks/focus/tpl_113/thumbnail.png | Bin 12392 -> 0 bytes views/blocks/focus/tpl_113/tpl.twig | 6 - views/blocks/focus/tpl_302/tpl.twig | 6 +- views/blocks/focus/tpl_309/conf.json | 1 + views/blocks/focus/tpl_348/thumbnail.png | Bin 9636 -> 0 bytes views/blocks/focus/tpl_348/tpl.twig | 5 - .../focus/{tpl_416 => tpl_352}/conf.json | 9 +- views/blocks/focus/tpl_352/thumbnail.png | Bin 0 -> 7336 bytes views/blocks/focus/tpl_352/tpl.twig | 4 + .../focus/{tpl_417 => tpl_353}/conf.json | 9 +- views/blocks/focus/tpl_353/thumbnail.png | Bin 0 -> 7331 bytes views/blocks/focus/tpl_353/tpl.twig | 4 + .../focus/{tpl_348 => tpl_354}/conf.json | 9 +- views/blocks/focus/tpl_354/thumbnail.png | Bin 0 -> 7260 bytes views/blocks/focus/tpl_354/tpl.twig | 4 + views/blocks/focus/tpl_367/conf.json | 39 +++ views/blocks/focus/tpl_367/thumbnail.png | Bin 0 -> 10177 bytes views/blocks/focus/tpl_367/tpl.twig | 4 + views/blocks/focus/tpl_402/conf.json | 1 + views/blocks/focus/tpl_402/tpl.twig | 4 +- views/blocks/focus/tpl_413/conf.json | 34 --- views/blocks/focus/tpl_413/thumbnail.png | Bin 8471 -> 0 bytes views/blocks/focus/tpl_413/tpl.twig | 5 - views/blocks/focus/tpl_415/conf.json | 1 + views/blocks/focus/tpl_416/thumbnail.png | Bin 7037 -> 0 bytes views/blocks/focus/tpl_416/tpl.twig | 3 - views/blocks/focus/tpl_417/thumbnail.png | Bin 6951 -> 0 bytes views/blocks/focus/tpl_417/tpl.twig | 3 - views/blocks/focus/tpl_501/conf.json | 1 + views/blocks/focus/tpl_501/tpl.twig | 8 +- views/blocks/focus/tpl_504/conf.json | 1 + views/blocks/focus/tpl_504/tpl.twig | 4 +- views/blocks/focus/tpl_507/conf.json | 1 + views/blocks/focus/tpl_511/conf.json | 1 + .../hero_smart_grids/grid_2_cells.twig | 32 +++ .../hero_smart_grids/grid_3_cells.twig | 32 +++ .../hero_smart_grids/grid_4_cells.twig | 45 +++ .../blocks/hero/_objects/more_imgs_list.twig | 27 +- views/blocks/hero/tpl_01/conf.json | 1 + views/blocks/hero/tpl_01/tpl.twig | 70 +++-- views/blocks/hero/tpl_02/conf.json | 1 + views/blocks/hero/tpl_02/tpl.twig | 1 + views/blocks/hero/tpl_08/conf.json | 1 + views/blocks/hero/tpl_09/conf.json | 31 -- views/blocks/hero/tpl_09/thumbnail.png | Bin 9459 -> 0 bytes views/blocks/hero/tpl_09/tpl.twig | 15 - views/blocks/hero/tpl_10/conf.json | 31 -- views/blocks/hero/tpl_10/thumbnail.png | Bin 13023 -> 0 bytes views/blocks/hero/tpl_10/tpl.twig | 14 - views/blocks/hero/tpl_11/conf.json | 31 -- views/blocks/hero/tpl_11/thumbnail.png | Bin 11631 -> 0 bytes views/blocks/hero/tpl_11/tpl.twig | 15 - views/blocks/hero/tpl_12/conf.json | 31 -- views/blocks/hero/tpl_12/thumbnail.png | Bin 11734 -> 0 bytes views/blocks/hero/tpl_12/tpl.twig | 14 - views/blocks/hero/tpl_14/conf.json | 31 -- views/blocks/hero/tpl_14/thumbnail.png | Bin 12200 -> 0 bytes views/blocks/hero/tpl_14/tpl.twig | 15 - views/blocks/hero/tpl_15/conf.json | 32 --- views/blocks/hero/tpl_15/thumbnail.png | Bin 8790 -> 0 bytes views/blocks/hero/tpl_15/tpl.twig | 81 ------ views/blocks/hero/tpl_16/conf.json | 32 --- views/blocks/hero/tpl_16/thumbnail.png | Bin 8713 -> 0 bytes views/blocks/hero/tpl_16/tpl.twig | 23 -- .../infolive/custom_blocks/flash_info.twig | 1 - views/blocks/links/tpl_01/tpl.twig | 18 +- .../_objects/galleryFooterObject.twig | 18 +- .../_objects/simpleGalleryGrid.twig | 11 +- views/blocks/media_gallery/tpl_401/conf.json | 20 +- .../minisheet/_objects/anchorObject.twig | 2 + .../_objects/bookingLabelObject.twig | 2 + .../blocks/minisheet/_objects/imgObject.twig | 2 + .../page_teaser/_objects/backgroundImage.twig | 8 + views/blocks/page_teaser/_objects/links.twig | 4 +- views/blocks/page_teaser/_objects/profil.twig | 5 +- views/blocks/page_teaser/tpl_01/conf.json | 1 + views/blocks/page_teaser/tpl_01/thumbnail.png | Bin 6338 -> 6236 bytes views/blocks/page_teaser/tpl_01/tpl.twig | 2 +- views/blocks/page_teaser/tpl_03/conf.json | 1 + views/blocks/page_teaser/tpl_03/thumbnail.png | Bin 9076 -> 9940 bytes views/blocks/page_teaser/tpl_03/tpl.twig | 13 +- views/blocks/page_teaser/tpl_06/conf.json | 19 -- views/blocks/page_teaser/tpl_06/thumbnail.png | Bin 3085 -> 0 bytes views/blocks/page_teaser/tpl_06/tpl.twig | 4 - views/blocks/page_teaser/tpl_07/conf.json | 19 -- views/blocks/page_teaser/tpl_07/thumbnail.png | Bin 11625 -> 0 bytes views/blocks/page_teaser/tpl_07/tpl.twig | 43 --- views/blocks/page_teaser/tpl_08/conf.json | 19 -- views/blocks/page_teaser/tpl_08/thumbnail.png | Bin 1740 -> 0 bytes views/blocks/page_teaser/tpl_08/tpl.twig | 31 -- views/blocks/quote/tpl_01/conf.json | 1 + views/blocks/quote/tpl_02/conf.json | 1 + views/blocks/quote/tpl_02/thumbnail.png | Bin 8863 -> 7180 bytes views/blocks/quote/tpl_03/conf.json | 1 + views/blocks/quote/tpl_04/conf.json | 1 + views/blocks/quote/tpl_04/thumbnail.png | Bin 8936 -> 7326 bytes views/blocks/quote/tpl_05/conf.json | 14 - views/blocks/quote/tpl_05/thumbnail.png | Bin 7856 -> 0 bytes views/blocks/quote/tpl_05/tpl.twig | 15 - views/blocks/quote/tpl_06/conf.json | 14 - views/blocks/quote/tpl_06/thumbnail.png | Bin 7951 -> 0 bytes views/blocks/quote/tpl_06/tpl.twig | 5 - views/blocks/semantic_view/tpl_03/conf.json | 1 + .../blocks/semantic_view/tpl_03/thumbnail.png | Bin 16288 -> 15264 bytes .../blocks/summary/_objects/geomapObject.twig | 2 + views/blocks/tabs/tpl_03/conf.json | 1 + views/blocks/tabs/tpl_03/thumbnail.png | Bin 10524 -> 10661 bytes views/blocks/tabs/tpl_06/conf.json | 8 - views/blocks/tabs/tpl_06/thumbnail.png | Bin 10517 -> 0 bytes views/blocks/tabs/tpl_06/tpl.twig | 3 - views/blocks/tabs/tpl_07/conf.json | 8 - views/blocks/tabs/tpl_07/thumbnail.png | Bin 10524 -> 0 bytes views/blocks/tabs/tpl_07/tpl.twig | 3 - views/blocks/tabs/tpl_08/conf.json | 8 - views/blocks/tabs/tpl_08/thumbnail.png | Bin 10437 -> 0 bytes views/blocks/tabs/tpl_08/tpl.twig | 3 - views/blocks/tabs/tpl_09/conf.json | 8 - views/blocks/tabs/tpl_09/thumbnail.png | Bin 10517 -> 0 bytes views/blocks/tabs/tpl_09/tpl.twig | 3 - views/blocks/tabs/tpl_10/conf.json | 8 - views/blocks/tabs/tpl_10/thumbnail.png | Bin 10437 -> 0 bytes views/blocks/tabs/tpl_10/tpl.twig | 3 - views/cards/basic_card/tpl_01/tpl.twig | 16 +- views/cards/basic_card/tpl_02/tpl.twig | 3 - views/cards/media_card/tpl_01/tpl.twig | 189 +++++++------ views/cards/overlayed_card/tpl_01/tpl.twig | 2 +- views/cards/profile_card/tpl_01/tpl.twig | 3 + views/cards/split_card/tpl_01/tpl.twig | 10 +- views/cards/split_card/tpl_03/tpl.twig | 4 +- views/grids_basic/grid_1_cols/tpl_01/tpl.twig | 4 +- views/grids_basic/grid_2_cols/tpl_01/tpl.twig | 2 +- views/grids_basic/grid_2_cols/tpl_02/tpl.twig | 4 +- views/grids_basic/grid_2_cols/tpl_03/tpl.twig | 4 +- views/grids_basic/grid_2_cols/tpl_06/tpl.twig | 4 +- views/grids_basic/grid_3_cols/tpl_01/tpl.twig | 2 +- views/grids_basic/grid_4_cols/tpl_01/tpl.twig | 2 +- views/grids_basic/grid_5_cols/tpl_01/tpl.twig | 2 +- views/grids_basic/grid_6_cols/tpl_01/tpl.twig | 2 +- .../user-reviews/_content-reviews.twig | 72 +++-- .../partials/widgets/sidebar-fg-widget.twig | 44 ++- views/lists/bases_grid/tpl_101/tpl.twig | 7 +- views/lists/bases_grid/tpl_201/tpl.twig | 5 +- views/lists/bases_grid/tpl_301/tpl.twig | 14 +- views/lists/bases_grid/tpl_401/tpl.twig | 7 +- views/lists/bases_grid/tpl_501/tpl.twig | 7 +- views/lists/bases_grid/tpl_601/tpl.twig | 7 +- views/lists/list_grids/tpl_204/conf.json | 1 + views/lists/list_grids/tpl_209/conf.json | 21 -- views/lists/list_grids/tpl_209/thumbnail.png | Bin 19534 -> 0 bytes views/lists/list_grids/tpl_209/tpl.twig | 9 - views/lists/list_grids/tpl_210/conf.json | 1 + views/lists/list_grids/tpl_304/conf.json | 1 + views/lists/list_grids/tpl_402/conf.json | 24 -- views/lists/list_grids/tpl_402/thumbnail.png | Bin 7358 -> 0 bytes views/lists/list_grids/tpl_402/tpl.twig | 9 - views/pages_parts/header/tpl_01/tpl.twig | 3 + views/section/section_full/tpl_01/tpl.twig | 62 ++-- views/section/section_header/tpl_01/conf.json | 2 +- views/section/section_header/tpl_01/tpl.twig | 12 +- views/swipers/_objects/swiperObject.twig | 14 +- views/swipers/_objects/thumbsObject.twig | 2 + views/swipers/basic_swiper/tpl_01/tpl.twig | 2 +- .../swipers/landing_swipers/tpl_01/conf.json | 1 + views/swipers/landing_swipers/tpl_01/tpl.twig | 32 ++- .../swipers/landing_swipers/tpl_02/conf.json | 1 + .../swipers/landing_swipers/tpl_07/conf.json | 24 -- .../landing_swipers/tpl_07/thumbnail.png | Bin 9145 -> 0 bytes views/swipers/landing_swipers/tpl_07/tpl.twig | 83 ------ .../swipers/landing_swipers/tpl_08/conf.json | 24 -- .../landing_swipers/tpl_08/thumbnail.png | Bin 11008 -> 0 bytes views/swipers/landing_swipers/tpl_08/tpl.twig | 25 -- .../swipers/landing_swipers/tpl_09/conf.json | 24 -- .../landing_swipers/tpl_09/thumbnail.png | Bin 5156 -> 0 bytes views/swipers/landing_swipers/tpl_09/tpl.twig | 20 -- .../woody_widgets/breadcrumb/tpl_01/tpl.twig | 40 +-- 355 files changed, 3107 insertions(+), 1930 deletions(-) create mode 100644 assets/js/modules/interactiveMap/interactiveMap.js create mode 100644 assets/js/profiles.js create mode 100644 assets/js/woodyFairguestBadge.js create mode 100644 assets/scss/components/details.scss create mode 100644 assets/scss/components/pwa.scss create mode 100644 assets/scss/groundwork/cursors.scss create mode 100644 assets/scss/groundwork/shadows.scss create mode 100644 assets/scss/hawwwai/_index.scss create mode 100644 assets/scss/hawwwai/playlist/_index.scss create mode 100644 assets/scss/hawwwai/sheet/_index.scss create mode 100644 assets/scss/hawwwai/sheet/components/_index.scss create mode 100644 assets/scss/hawwwai/sheet/components/chains.scss create mode 100644 assets/scss/hawwwai/sheet/components/favorites.scss create mode 100644 assets/scss/hawwwai/sheet/components/ratings.scss create mode 100644 assets/scss/hawwwai/sheet/components/reveal.scss create mode 100644 assets/scss/hawwwai/sheet/components/special-labels.scss create mode 100644 assets/scss/hawwwai/sheet/components/summary.scss create mode 100644 assets/scss/hawwwai/sheet/components/tabs.scss create mode 100644 assets/scss/hawwwai/sheet/components/tagCorner.scss create mode 100644 assets/scss/hawwwai/sheet/components/territory-labels.scss create mode 100644 assets/scss/hawwwai/sheet/global/_index.scss create mode 100644 assets/scss/hawwwai/sheet/global/dropdown.scss create mode 100644 assets/scss/hawwwai/sheet/global/links.scss create mode 100644 assets/scss/hawwwai/sheet/global/separator.scss create mode 100644 assets/scss/hawwwai/sheet/global/table.scss create mode 100644 assets/scss/hawwwai/sheet/global/typography.scss create mode 100644 assets/scss/hawwwai/sheet/parts/_index.scss create mode 100644 assets/scss/hawwwai/sheet/parts/area.scss create mode 100644 assets/scss/hawwwai/sheet/parts/capacities.scss create mode 100644 assets/scss/hawwwai/sheet/parts/covid.scss create mode 100644 assets/scss/hawwwai/sheet/parts/documentation.scss create mode 100644 assets/scss/hawwwai/sheet/parts/environment.scss create mode 100644 assets/scss/hawwwai/sheet/parts/equipments.scss create mode 100644 assets/scss/hawwwai/sheet/parts/hero.scss create mode 100644 assets/scss/hawwwai/sheet/parts/labels.scss create mode 100644 assets/scss/hawwwai/sheet/parts/payment-methods.scss create mode 100644 assets/scss/hawwwai/sheet/parts/prices.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/_index.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/covid-status.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/event.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/global.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/opening.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/social-networks.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sidebar/tariff.scss create mode 100644 assets/scss/hawwwai/sheet/parts/sit-source_footer.scss create mode 100644 assets/scss/hawwwai/sheet/parts/teaser.scss create mode 100644 assets/scss/hawwwai/sheet/parts/thematic-description.scss create mode 100644 assets/scss/hawwwai/sheet/vars/_index.scss create mode 100644 assets/scss/hawwwai/sheet/vars/colors.scss create mode 100644 assets/scss/vars/claims.scss create mode 100644 assets/scss/vars/events_hawwwai.scss create mode 100644 assets/scss/woody_components/events_hawwwai.scss create mode 100644 rector.php mode change 100755 => 100644 views/blocks/accordion/tpl_01/thumbnail.png mode change 100755 => 100644 views/blocks/call_to_action/tpl_02/thumbnail.png mode change 100755 => 100644 views/blocks/call_to_action/tpl_03/thumbnail.png create mode 100644 views/blocks/claims/tpl_07/conf.json create mode 100644 views/blocks/claims/tpl_07/thumbnail.png create mode 100644 views/blocks/claims/tpl_07/tpl.twig create mode 100644 views/blocks/claims/tpl_08/conf.json create mode 100644 views/blocks/claims/tpl_08/thumbnail.png create mode 100644 views/blocks/claims/tpl_08/tpl.twig create mode 100644 views/blocks/claims/tpl_09/conf.json create mode 100644 views/blocks/claims/tpl_09/thumbnail.png create mode 100644 views/blocks/claims/tpl_09/tpl.twig delete mode 100644 views/blocks/focus/tpl_113/conf.json delete mode 100755 views/blocks/focus/tpl_113/thumbnail.png delete mode 100644 views/blocks/focus/tpl_113/tpl.twig delete mode 100755 views/blocks/focus/tpl_348/thumbnail.png delete mode 100644 views/blocks/focus/tpl_348/tpl.twig rename views/blocks/focus/{tpl_416 => tpl_352}/conf.json (77%) create mode 100644 views/blocks/focus/tpl_352/thumbnail.png create mode 100644 views/blocks/focus/tpl_352/tpl.twig rename views/blocks/focus/{tpl_417 => tpl_353}/conf.json (77%) create mode 100644 views/blocks/focus/tpl_353/thumbnail.png create mode 100644 views/blocks/focus/tpl_353/tpl.twig rename views/blocks/focus/{tpl_348 => tpl_354}/conf.json (76%) create mode 100644 views/blocks/focus/tpl_354/thumbnail.png create mode 100644 views/blocks/focus/tpl_354/tpl.twig create mode 100644 views/blocks/focus/tpl_367/conf.json create mode 100644 views/blocks/focus/tpl_367/thumbnail.png create mode 100644 views/blocks/focus/tpl_367/tpl.twig delete mode 100644 views/blocks/focus/tpl_413/conf.json delete mode 100755 views/blocks/focus/tpl_413/thumbnail.png delete mode 100644 views/blocks/focus/tpl_413/tpl.twig delete mode 100644 views/blocks/focus/tpl_416/thumbnail.png delete mode 100644 views/blocks/focus/tpl_416/tpl.twig delete mode 100644 views/blocks/focus/tpl_417/thumbnail.png delete mode 100644 views/blocks/focus/tpl_417/tpl.twig create mode 100644 views/blocks/hero/_objects/hero_smart_grids/grid_2_cells.twig create mode 100644 views/blocks/hero/_objects/hero_smart_grids/grid_3_cells.twig create mode 100644 views/blocks/hero/_objects/hero_smart_grids/grid_4_cells.twig delete mode 100644 views/blocks/hero/tpl_09/conf.json delete mode 100644 views/blocks/hero/tpl_09/thumbnail.png delete mode 100644 views/blocks/hero/tpl_09/tpl.twig delete mode 100644 views/blocks/hero/tpl_10/conf.json delete mode 100644 views/blocks/hero/tpl_10/thumbnail.png delete mode 100644 views/blocks/hero/tpl_10/tpl.twig delete mode 100644 views/blocks/hero/tpl_11/conf.json delete mode 100644 views/blocks/hero/tpl_11/thumbnail.png delete mode 100644 views/blocks/hero/tpl_11/tpl.twig delete mode 100644 views/blocks/hero/tpl_12/conf.json delete mode 100644 views/blocks/hero/tpl_12/thumbnail.png delete mode 100644 views/blocks/hero/tpl_12/tpl.twig delete mode 100644 views/blocks/hero/tpl_14/conf.json delete mode 100644 views/blocks/hero/tpl_14/thumbnail.png delete mode 100644 views/blocks/hero/tpl_14/tpl.twig delete mode 100644 views/blocks/hero/tpl_15/conf.json delete mode 100644 views/blocks/hero/tpl_15/thumbnail.png delete mode 100644 views/blocks/hero/tpl_15/tpl.twig delete mode 100644 views/blocks/hero/tpl_16/conf.json delete mode 100644 views/blocks/hero/tpl_16/thumbnail.png delete mode 100644 views/blocks/hero/tpl_16/tpl.twig mode change 100755 => 100644 views/blocks/page_teaser/tpl_01/thumbnail.png mode change 100755 => 100644 views/blocks/page_teaser/tpl_03/thumbnail.png delete mode 100644 views/blocks/page_teaser/tpl_06/conf.json delete mode 100644 views/blocks/page_teaser/tpl_06/thumbnail.png delete mode 100644 views/blocks/page_teaser/tpl_06/tpl.twig delete mode 100644 views/blocks/page_teaser/tpl_07/conf.json delete mode 100755 views/blocks/page_teaser/tpl_07/thumbnail.png delete mode 100644 views/blocks/page_teaser/tpl_07/tpl.twig delete mode 100644 views/blocks/page_teaser/tpl_08/conf.json delete mode 100644 views/blocks/page_teaser/tpl_08/thumbnail.png delete mode 100644 views/blocks/page_teaser/tpl_08/tpl.twig mode change 100755 => 100644 views/blocks/quote/tpl_02/thumbnail.png mode change 100755 => 100644 views/blocks/quote/tpl_04/thumbnail.png delete mode 100644 views/blocks/quote/tpl_05/conf.json delete mode 100644 views/blocks/quote/tpl_05/thumbnail.png delete mode 100644 views/blocks/quote/tpl_05/tpl.twig delete mode 100644 views/blocks/quote/tpl_06/conf.json delete mode 100644 views/blocks/quote/tpl_06/thumbnail.png delete mode 100644 views/blocks/quote/tpl_06/tpl.twig mode change 100755 => 100644 views/blocks/semantic_view/tpl_03/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_06/conf.json delete mode 100644 views/blocks/tabs/tpl_06/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_06/tpl.twig delete mode 100644 views/blocks/tabs/tpl_07/conf.json delete mode 100644 views/blocks/tabs/tpl_07/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_07/tpl.twig delete mode 100644 views/blocks/tabs/tpl_08/conf.json delete mode 100644 views/blocks/tabs/tpl_08/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_08/tpl.twig delete mode 100644 views/blocks/tabs/tpl_09/conf.json delete mode 100644 views/blocks/tabs/tpl_09/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_09/tpl.twig delete mode 100644 views/blocks/tabs/tpl_10/conf.json delete mode 100644 views/blocks/tabs/tpl_10/thumbnail.png delete mode 100644 views/blocks/tabs/tpl_10/tpl.twig delete mode 100644 views/lists/list_grids/tpl_209/conf.json delete mode 100755 views/lists/list_grids/tpl_209/thumbnail.png delete mode 100644 views/lists/list_grids/tpl_209/tpl.twig delete mode 100644 views/lists/list_grids/tpl_402/conf.json delete mode 100644 views/lists/list_grids/tpl_402/thumbnail.png delete mode 100644 views/lists/list_grids/tpl_402/tpl.twig delete mode 100644 views/swipers/landing_swipers/tpl_07/conf.json delete mode 100755 views/swipers/landing_swipers/tpl_07/thumbnail.png delete mode 100644 views/swipers/landing_swipers/tpl_07/tpl.twig delete mode 100644 views/swipers/landing_swipers/tpl_08/conf.json delete mode 100644 views/swipers/landing_swipers/tpl_08/thumbnail.png delete mode 100644 views/swipers/landing_swipers/tpl_08/tpl.twig delete mode 100644 views/swipers/landing_swipers/tpl_09/conf.json delete mode 100755 views/swipers/landing_swipers/tpl_09/thumbnail.png delete mode 100644 views/swipers/landing_swipers/tpl_09/tpl.twig diff --git a/WoodyLibrary.php b/WoodyLibrary.php index aa0062b..b33aded 100644 --- a/WoodyLibrary.php +++ b/WoodyLibrary.php @@ -20,6 +20,7 @@ */ use Symfony\Component\Finder\Finder; +use JsonException; /** * @@ -32,6 +33,7 @@ public static function getTemplatesDirname() if (function_exists('apply_filters')) { $dirs = apply_filters('woody_library_templates_directories', $dirs); // Filter to add directory } + return $dirs; } @@ -39,11 +41,9 @@ public static function getTemplatesByAcfGroup($components, $id) { $return = []; foreach ($components as $component => $val) { - if (!empty($val['acf_groups'])) { - if (in_array($id, $val['acf_groups'])) { - unset($val['acf_groups']); - $return[$component] = $val; - } + if (!empty($val['acf_groups']) && in_array($id, $val['acf_groups'])) { + unset($val['acf_groups']); + $return[$component] = $val; } } @@ -78,8 +78,7 @@ public static function getComponents() public static function getComponentsData($finder) { $components = []; - foreach ($finder as $key => $folder) { - + foreach ($finder as $folder) { // Foreach folder, get full and relative path $folder_path = $folder->getRealPath(); $folder_name = $folder->getRelativePathname(); @@ -90,25 +89,30 @@ public static function getComponentsData($finder) $jsonsFinder = new Finder(); $jsonsFinder->files()->name('*.json')->in($folder_path); - foreach ($jsonsFinder as $key => $json) { - $json_data = file_get_contents($json); - $php_data = json_decode($json_data, true); + foreach ($jsonsFinder as $json) { + try { + $json_data = file_get_contents($json); + $php_data = json_decode($json_data, true, 512, JSON_THROW_ON_ERROR); + } catch (JsonException $jsonException) { + wd(sprintf('%s : %s', $jsonException->getMessage(), $json), 'emergency'); + } if (empty($php_data['approved']) || $php_data['approved'] == false) { continue; } + if (!empty($php_data['acf_groups'])) { - foreach ($php_data['acf_groups'] as $key => $acf_group) { + foreach ($php_data['acf_groups'] as $acf_group) { $components[$name]['acf_groups'][] = $acf_group; } } else { $components[$name]['acf_groups'][] = ''; } - $components[$name]['name'] = (!empty($php_data['name'])) ? $php_data['name'] : ''; - $components[$name]['description'] = (!empty($php_data['description'])) ? $php_data['description'] : ''; - $components[$name]['display'] = (!empty($php_data['display'])) ? $php_data['display'] : ''; - $components[$name]['creation'] = (!empty($php_data['creation'])) ? $php_data['creation'] : ''; + $components[$name]['name'] = (empty($php_data['name'])) ? '' : $php_data['name']; + $components[$name]['description'] = (empty($php_data['description'])) ? '' : $php_data['description']; + $components[$name]['display'] = (empty($php_data['display'])) ? '' : $php_data['display']; + $components[$name]['creation'] = (empty($php_data['creation'])) ? '' : $php_data['creation']; } // Get all images files (.png) in the targeted folder @@ -124,10 +128,12 @@ public static function getComponentsData($finder) if ($keep == true) { $url[] = $path_part; } - if ($path_part == 'views') { + + if ($path_part == 'views' || $path_part == 'Views') { $keep = true; } } + $components[$name]['thumbnails']['small'] = implode('/', $url); } @@ -144,4 +150,4 @@ public static function getComponentsData($finder) return $components; } -} \ No newline at end of file +} diff --git a/assets/js/_index.js b/assets/js/_index.js index 5e91dc3..e2b0d3e 100644 --- a/assets/js/_index.js +++ b/assets/js/_index.js @@ -20,6 +20,7 @@ import './mobile_menu'; import './page_teaser'; import './parallax'; import './phone_click'; +import './profiles'; import './responsive_focus'; import './reveals'; import './search'; @@ -34,4 +35,5 @@ import './tables'; import './tabs'; import './testimonials'; import './custom_text'; +import './woodyFairguestBadge'; import './woodyGallery'; diff --git a/assets/js/headnavs.js b/assets/js/headnavs.js index a44b452..c629c70 100644 --- a/assets/js/headnavs.js +++ b/assets/js/headnavs.js @@ -77,16 +77,6 @@ $('.woody-component-headnavs').each(function () { 'height': '100%', 'overflow': 'hidden' }); - visualPageTop.find('.imageObject:not(.thumb) .imageObject-img').css({ - 'position': 'absolute', - 'left': '50%', - 'top': '50%', - 'transform': 'translateX(-50%) translateY(-50%)', - 'min-height': '100%', - 'min-width': '100%', - 'width': 'auto', - 'max-width': 'none' - }); visualPageTop.find('.videoObject').css({ 'height': '100%', 'overflow': 'hidden' diff --git a/assets/js/hero.js b/assets/js/hero.js index 9cad479..8d03276 100644 --- a/assets/js/hero.js +++ b/assets/js/hero.js @@ -37,14 +37,16 @@ if(!!toggleHeroMoreImgs){ } updateHeight() { - var teaserHeight = this.teaser.getBoundingClientRect().height, - teaserOverflow = this.rootStyle.getPropertyValue('--hero-gradient-teaser-overflow'), - heroGradientSize = this.rootStyle.getPropertyValue('--hero-gradient-size'); - - if (teaserOverflow == 'true') { - this.heroMedia.style.setProperty('height', 'calc(100vh + ' + heroGradientSize + ' + ' + teaserHeight + 'px)'); - } else { - this.heroMedia.style.setProperty('height', 'calc(100vh + ' + heroGradientSize); + if(!!this.teaser && !!this.heroMedia){ + var teaserHeight = this.teaser.getBoundingClientRect().height, + teaserOverflow = this.rootStyle.getPropertyValue('--hero-gradient-teaser-overflow'), + heroGradientSize = this.rootStyle.getPropertyValue('--hero-gradient-size'); + + if (teaserOverflow == 'true') { + this.heroMedia.style.setProperty('height', 'calc(100vh + ' + heroGradientSize + ' + ' + teaserHeight + 'px)'); + } else { + this.heroMedia.style.setProperty('height', 'calc(100vh + ' + heroGradientSize); + } } } } diff --git a/assets/js/maps.js b/assets/js/maps.js index 7ba850c..60dd143 100644 --- a/assets/js/maps.js +++ b/assets/js/maps.js @@ -262,7 +262,7 @@ function getAndFitBounds() { $(document).on('lazybeforeunveil', function () { if (window.innerWidth < 1024) { $('.focus-map-basicCard, .focus-map-overlayedCard').each(function () { - const focusMapSwiperResp = $(this).find('.swResp'); + var focusMapSwiperResp = $(this).find('.swResp'); var markers = $(this).find('.focus-map-pane-element-toggler'); // Update slide on click @@ -271,22 +271,24 @@ $(document).on('lazybeforeunveil', function () { var swIndex = focusMapSwiperResp.find('[data-toggle-id="' + panId + '"]').index(); focusMapSwiperResp.data().swiper.slideTo(swIndex); }); - // Update marker with slide - focusMapSwiperResp.data().swiper.on('slideChangeTransitionStart', function () { - var slideActive = focusMapSwiperResp.find('.swiper-slide-active'); - slideActive.addClass('is-active'); - slideActive.siblings('.focus-map-pane-element').removeClass('is-active'); - var slideIndex = slideActive.data('toggle-id'); - - markers.removeClass('activePane'); - markers.each(function () { - var linkID = $(this).data('toggle'); - if (linkID == slideIndex) { - $(this).addClass('activePane'); - } + var slides = focusMapSwiperResp.find('.focus-map-pane-element'); + if(slides.length > 1) { + focusMapSwiperResp.data().swiper.on('slideChangeTransitionStart', function () { + var slideActive = focusMapSwiperResp.find('.swiper-slide-active'); + slideActive.addClass('is-active'); + slideActive.siblings('.focus-map-pane-element').removeClass('is-active'); + var slideIndex = slideActive.data('toggle-id'); + + markers.removeClass('activePane'); + markers.each(function () { + var linkID = $(this).data('toggle'); + if (linkID == slideIndex) { + $(this).addClass('activePane'); + } + }); }); - }); + } }); } }); diff --git a/assets/js/medias.js b/assets/js/medias.js index 969f350..91a5d06 100644 --- a/assets/js/medias.js +++ b/assets/js/medias.js @@ -249,7 +249,41 @@ class Medias { this.components.push(player); }); this.playPauseMultiple(); + + // Initialize sound control + Array.from(document.querySelectorAll('.videoObject-video.sound-control')).forEach(video => { + this.appendSoundControl(video); + }); } + + appendSoundControl(video){ + if(!!video){ + + let checkBox = document.createElement('input'); + checkBox.setAttribute('type', 'checkbox'); + + let slider = document.createElement('span'); + slider.setAttribute('class', 'slider'); + + let soundSwitch = document.createElement('label'); + soundSwitch.setAttribute('class', 'sound-switch'); + + soundSwitch.append(checkBox); + soundSwitch.append(slider); + + video.parentElement.append(soundSwitch); + + checkBox.addEventListener('change', function(){ + if(this.checked){ + video.muted = false; + } else { + video.muted = true; + } + }); + + } + } + // On Play, force others videos to be paused playPauseMultiple() { let self = this; diff --git a/assets/js/menus_v2.js b/assets/js/menus_v2.js index 1b59cd7..bbe8be9 100644 --- a/assets/js/menus_v2.js +++ b/assets/js/menus_v2.js @@ -20,8 +20,7 @@ if (body.classList.contains('menus-v2')) { }); } - let headerHeight = headnavs.offsetHeight; - let headerHeightFull = headerHeight + 30 + 'px'; + let headerHeight = headnavs.offsetHeight + 'px'; if (document.querySelectorAll('.submenu-wrapper').length > 0) { document.querySelectorAll('.submenu-wrapper').forEach(item => { @@ -30,13 +29,13 @@ if (body.classList.contains('menus-v2')) { }); if (slidingMenu !== null) { - item.style.setProperty('height', `calc(100vh - ${headerHeightFull})`); + item.style.setProperty('height', `calc(100vh - ${headerHeight})`); } }); } if (slidingMenu !== null) { - let slidingMenuPosition = headerHeight + 'px'; + let slidingMenuPosition = headerHeight; slidingMenu.style.setProperty('top', `${slidingMenuPosition}`); slidingMenu.style.setProperty('height', `calc(100vh - ${slidingMenuPosition})`); diff --git a/assets/js/modules/interactiveMap/interactiveMap.js b/assets/js/modules/interactiveMap/interactiveMap.js new file mode 100644 index 0000000..0a914d4 --- /dev/null +++ b/assets/js/modules/interactiveMap/interactiveMap.js @@ -0,0 +1,107 @@ +export function interactiveMap (inputOptions = {}) { + const defaultOptions = { + maps: '.interactive-map', + pins: '.map-pin', + card: '.card' + } + + const options = Object.assign({}, defaultOptions, inputOptions); + + const maps = document.querySelectorAll(options.maps); + + if (maps.length > 0) { + maps.forEach(map => { + let mapPins = map.querySelectorAll(options.pins); + + mapPins.forEach(pin => { + pin.addEventListener('click', () => { + let activePin = map.querySelector('.active') + activePin ? activePin.classList.remove('active') : ''; + pin.classList.add('active'); + + let id = pin.getAttribute('data-id') || pin.getAttribute('data-post-id'); + let card = map.querySelector(options.card); + + if (id && card) { + card.classList.remove('card-loaded'); + card.classList.add('skeleton-card'); + + fetch(`/wp-json/woody/page/preview?post=${id}`).then((response) => response.json()).then((post) => { + updateCard(post, card); + }).catch((err) => { + console.warn('Interactive map error : ', err); + }); + } + }); + }) + }); + } +} + +export function updateCard (post, card) { + let page_type = post.page_type; + let postId = post.post_id; + let url = (post.link.url) ? post.link.url : ''; + let img = post.img; + let icon = post.woody_icon; + let pretitle = post.pretitle; + let title = post.title; + let subtitle = post.subtitle; + let description = post.description; + description = (description && description.length > 180) ? description.slice(0, 180) + '...' : description; + let linkLabel = (post.link.link_label) ? post.link.link_label : ''; + + card.setAttribute('data-postid', postId); + card.querySelector('.card-link') ? card.querySelector('.card-link').setAttribute('href', url) : ''; + card.querySelector('.card-pretitle') ? card.querySelector('.card-pretitle').innerHTML = pretitle : ''; + card.querySelector('.card-title') ? card.querySelector('.card-title').innerHTML = title : ''; + card.querySelector('.card-subtitle') ? card.querySelector('.card-subtitle').innerHTML = subtitle : ''; + card.querySelector('.card-description') ? card.querySelector('.card-description').innerHTML = description : ''; + card.querySelector('.card-button') ? card.querySelector('.card-button').innerHTML = linkLabel : ''; + + if (card.querySelector('.card-wicon')) { + if (icon) { + card.querySelector('.card-wicon').setAttribute('class', `card-wicon wicon wicon-woody-icons ${icon}`); + } else { + card.querySelector('.card-wicon').setAttribute('class', `card-wicon wicon wicon-woody-icons`); + } + } + + let imgRatio = card.getAttribute('class').match(/\bratio[^\s]*/)[0]; + + if (!imgRatio) { + imgRatio = 'ratio_square'; + } + + if (!img.sizes) { + if (card.querySelector('.cardMediaWrapper img')) { + let currentImgHeight = card.querySelector('.cardMediaWrapper img').offsetHeight; + let currentImgWidth = card.querySelector('.cardMediaWrapper img').offsetWidth; + img.cleanImgUrl = img.url.replace('%width%/%height%', `${currentImgWidth}/${currentImgHeight}`); + } + } + + if (img) { + card.querySelector('.cardMediaWrapper') ? card.querySelector('.cardMediaWrapper').style.opacity = '1' : ''; + + if (card.querySelector('.cardMediaWrapper img')) { + let ratioSmall = `${imgRatio}_small`; + let ratioMedium = `${imgRatio}_medium`; + let ratioLarge = `${imgRatio}`; + card.querySelector('.cardMediaWrapper img').classList.remove('lazyloaded'); + if(img.sizes) { + card.querySelector('.cardMediaWrapper img').setAttribute('data-srcset', `${img.sizes[ratioSmall]} 360w, ${img.sizes[ratioMedium]} 640w, ${img.sizes[ratioLarge]} 1200w`); + card.querySelector('.cardMediaWrapper img').setAttribute('data-src', img.sizes[ratioLarge]); + } else { + card.querySelector('.cardMediaWrapper img').setAttribute('data-srcset', `${img.cleanImgUrl} 360w, ${img.cleanImgUrl} 640w, ${img.cleanImgUrl} 1200w`); + card.querySelector('.cardMediaWrapper img').setAttribute('data-src', img.cleanImgUrl); + } + card.querySelector('.cardMediaWrapper img').classList.add('lazyload'); + img.alt ? card.querySelector('.cardMediaWrapper img').setAttribute('alt', img.alt) : ''; + } + } else { + card.querySelector('.cardMediaWrapper') ? card.querySelector('.cardMediaWrapper').style.opacity = '0' : ''; + } + + card.classList.add('card-loaded'); +} diff --git a/assets/js/modules/woodyGallery/wgContent.js b/assets/js/modules/woodyGallery/wgContent.js index 96db67a..df6d590 100644 --- a/assets/js/modules/woodyGallery/wgContent.js +++ b/assets/js/modules/woodyGallery/wgContent.js @@ -9,11 +9,12 @@ export function wgContent(medias, wG) { let wrapper = document.querySelector('.wg-swiper-top .wg-swiper-wrapper'); medias.forEach((media) => { + let copyright = media.querySelector('.imageObject-caption') != null ? media.querySelector('.imageObject-caption').outerHTML : ''; if (media.dataset.wgtype === "video" || media.dataset.wgtype === "video-embed") { pluginwgVideo.wgVideo(media, wrapper); } else { - pluginwgImage.wgImage(media, wrapper); + pluginwgImage.wgImage(media, copyright, wrapper); } }); } diff --git a/assets/js/modules/woodyGallery/wgImage.js b/assets/js/modules/woodyGallery/wgImage.js index be07039..b3ce695 100644 --- a/assets/js/modules/woodyGallery/wgImage.js +++ b/assets/js/modules/woodyGallery/wgImage.js @@ -1,5 +1,5 @@ -export function wgImage(media, wrapper) { +export function wgImage(media, copyright, wrapper) { if (media.getAttribute('data-wgsrc')) { - wrapper.innerHTML += `
`; + wrapper.innerHTML += `
${copyright}
`; } } diff --git a/assets/js/profiles.js b/assets/js/profiles.js new file mode 100644 index 0000000..4608c9e --- /dev/null +++ b/assets/js/profiles.js @@ -0,0 +1,11 @@ +let profilesMailto = document.querySelectorAll('.profile-mailto'); +if(!!profilesMailto){ + profilesMailto.forEach(el => { + el.addEventListener('click', e => { + e.preventDefault(); + if(!!el.dataset.to){ + window.location.href = 'mailto:' + atob(el.dataset.to); + } + }) + }); +} diff --git a/assets/js/summary/ext_accordion.js b/assets/js/summary/ext_accordion.js index 7f8a841..d67e800 100644 --- a/assets/js/summary/ext_accordion.js +++ b/assets/js/summary/ext_accordion.js @@ -1,5 +1,5 @@ export default class SummaryAccordion { - constructor(el) { + constructor (el) { this.element = el; this.accordionHeader = this.element.querySelector('.summary-header'); this.summaryTitle = this.element.querySelector('.summary-title'); @@ -13,7 +13,7 @@ export default class SummaryAccordion { this.init(); } - init() { + init () { if (!!this.summaryTitle) this.manageTitle(); if (!!this.accordionHeader) this.manageAccordionHeader(); if (!!this.accordionHeader) this.manageClickOut(); @@ -22,14 +22,14 @@ export default class SummaryAccordion { this.manageScrollToSection(); } - manageTitle() { + manageTitle () { let self = this; if (window.innerWidth <= 1200) { self.summaryTitle.innerHTML = self.summaryTitle.dataset.title; // Ajoute le titre "Sommaire" <= 1200px si aucun titre n'est renseigné } } - manageAccordionHeader() { + manageAccordionHeader () { let self = this; self.accordionHeader.addEventListener('click', (event) => { self.element.classList.toggle('open'); @@ -46,7 +46,7 @@ export default class SummaryAccordion { }); } - manageClickOut() { + manageClickOut () { let self = this; document.addEventListener('click', function (e) { if (self.accordionHeader.classList.contains('open')) { @@ -64,7 +64,7 @@ export default class SummaryAccordion { }); } - manageAccordionClose() { + manageAccordionClose () { let self = this; self.element.addEventListener('click', (event) => { self.element.classList.remove('open'); @@ -78,7 +78,7 @@ export default class SummaryAccordion { }); } - manageFixedMapClose() { + manageFixedMapClose () { let self = this; document.addEventListener('click', (event) => { if (!event.target.closest('.fixed-map-wrapper') || event.target.closest('.summary-geomap-anchor')) { @@ -89,7 +89,7 @@ export default class SummaryAccordion { }); }; - manageFixedMapButton() { + manageFixedMapButton () { let self = this; this.fixedMapButton.addEventListener('click', (event) => { // Create a new event and dispatch it @@ -105,14 +105,14 @@ export default class SummaryAccordion { }); } - manageScrollToSection() { + manageScrollToSection () { if (window.innerWidth <= 1200) { let self = this; let summaryHeight = self.element.clientHeight; self.element.querySelectorAll('.summary-item > [data-section]').forEach(el => { el.addEventListener('click', (e) => { e.preventDefault(); - let target = document.querySelector(`.page-section${el.dataset.section}`); + let target = document.querySelector(`.page-section${el.dataset.section}`) || document.querySelector(`.sheet-part${el.dataset.section}`); window.scrollTo(0, target.offsetTop - summaryHeight); }, false); }); diff --git a/assets/js/summary/summary.js b/assets/js/summary/summary.js index 2b3d505..52bd20e 100644 --- a/assets/js/summary/summary.js +++ b/assets/js/summary/summary.js @@ -2,7 +2,7 @@ import WoodyFilter from '../filter'; import SummaryAccordion from './ext_accordion'; export default class Summary { - constructor(el) { + constructor (el) { this.element = el; this.offset = this.element.getBoundingClientRect().top + document.documentElement.scrollTop; this.summaryItems = this.element.querySelectorAll('.summary-item'); @@ -14,7 +14,7 @@ export default class Summary { this.init(); } - init() { + init () { this.trigger('summary:init'); this.setOffsetRatio(); this.manageSections(); @@ -26,15 +26,15 @@ export default class Summary { } // ******** Run Classes ******** - loadChildClasses() { + loadChildClasses () { if (this.element.classList.contains('summary-accordion')) new SummaryAccordion(this.element); } - setOffsetRatio() { + setOffsetRatio () { this.offsetRatio = window.innerHeight / 4; } - manageSections() { + manageSections () { let self = this; this.element.querySelectorAll('.summary-item > [data-section]').forEach(el => { self.sections.push({ @@ -44,7 +44,7 @@ export default class Summary { }) } - scrollEvent() { + scrollEvent () { //TODO: REFAC: This should be into a Singleton let self = this; let lastKnownScrollPosition = 0; @@ -62,7 +62,7 @@ export default class Summary { }); } - events() { + events () { let self = this; // On Scroll this.scrollEvent(); @@ -79,21 +79,21 @@ export default class Summary { } // Self class Events - on(event, callback) { + on (event, callback) { this.element.addEventListener(event, callback); } - trigger(event) { + trigger (event) { this.element.dispatchEvent(new Event(event)); } - scrolling() { + scrolling () { if (this.element.classList.contains('fixed-summary')) this.manageFixedSummary(); this.manageActiveSection(); this.trigger('summary:scrolling'); } - manageFixedSummary() { + manageFixedSummary () { let adminbar = document.querySelector('#wpadminbar') ? document.querySelector('#wpadminbar').offsetHeight : 0; let summary_offset_modifier = WoodyFilter.apply('summary_offset_modifier', 0); //Hook var if (this.scrollPos - summary_offset_modifier >= this.offset - adminbar) { @@ -107,25 +107,27 @@ export default class Summary { } } - manageActiveSection() { + manageActiveSection () { let self = this; let index = 0; this.sections.forEach(section => { - let screenOffset = section.element.getBoundingClientRect(); - if (screenOffset.top <= 0 + self.offsetRatio && screenOffset.bottom >= 0 + self.offsetRatio) { - if (self.currentSection !== section.id) { - self.currentSection = section.id; - let oldActive = self.element.querySelector('.summary-item [data-section].active'); - let newActive = self.element.querySelector('[data-section="' + section.id + '"]'); - if (!!oldActive) { - oldActive.classList.remove('active'); - oldActive.closest('.summary-item').classList.remove('active'); - } - if (!!newActive) { - newActive.classList.add('active'); - newActive.closest('.summary-item').classList.add('active'); - self.currentIndex = index; - self.trigger('summary:section:changed'); + if (section.element !== null) { + let screenOffset = section.element.getBoundingClientRect(); + if (screenOffset.top <= 0 + self.offsetRatio && screenOffset.bottom >= 0 + self.offsetRatio) { + if (self.currentSection !== section.id) { + self.currentSection = section.id; + let oldActive = self.element.querySelector('.summary-item [data-section].active'); + let newActive = self.element.querySelector('[data-section="' + section.id + '"]'); + if (!!oldActive) { + oldActive.classList.remove('active'); + oldActive.closest('.summary-item').classList.remove('active'); + } + if (!!newActive) { + newActive.classList.add('active'); + newActive.closest('.summary-item').classList.add('active'); + self.currentIndex = index; + self.trigger('summary:section:changed'); + } } } } @@ -133,16 +135,18 @@ export default class Summary { }) } - fixedSummarySize() { + fixedSummarySize () { if ((this.element.classList.contains('fixed-summary')) && (window.innerWidth >= 1200)) { // Si c'est un fixed-summary au dessus de 1200 OU un summary accordion en dessous de 1200 let summaryContainer = this.element.closest('.cell'); // Ajout de la height de base à son container pour éviter le saut du contenu au scroll - summaryContainer.style.height = summaryContainer.offsetHeight + 'px'; + if (summaryContainer !== null) { + summaryContainer.style.height = summaryContainer.offsetHeight + 'px'; + } } } - hideFixedSummary() { + hideFixedSummary () { // Dans le cas d'un fixed summary qui ne se fixe pas en haut de page if (this.element.classList.contains('fixed-summary') && !this.element.classList.contains('fixedTop')) { let self = this, @@ -172,7 +176,7 @@ export default class Summary { } } - isVisible(element) { + isVisible (element) { let bounding = element.getBoundingClientRect(); if ((bounding.top > 0 || bounding.bottom > 0) && bounding.top < (window.innerHeight || document.documentElement.clientHeight)) { @@ -182,17 +186,17 @@ export default class Summary { } } - manageScrollToSection() { + manageScrollToSection () { if (window.innerWidth >= 1200) { // Déclaration des variables globales let self = this, - allHeight = 0; + allHeight = 0; // Definition des fonctions globales - function getSummaryHeight() { + function getSummaryHeight () { return self.element.clientHeight; } - function getNavigationHeight() { + function getNavigationHeight () { return document.querySelector('.woody-component-headnavs').clientHeight; } @@ -202,33 +206,35 @@ export default class Summary { el.addEventListener('click', (e) => { // Récupération de l'ancre - let target = document.querySelector(`.page-section${el.dataset.section}`); + let target = document.querySelector(`.page-section${el.dataset.section}`) || document.querySelector(`.sheet-part${el.dataset.section}`); e.preventDefault(); - // Si scroll-down - if (document.querySelector('body.scrolling-down')) { - if (self.element.classList.contains('isFixed')) { - if (target.offsetTop < window.pageYOffset) { - allHeight = getSummaryHeight() + getNavigationHeight(); + if (target !== null) { + // Si scroll-down + if (document.querySelector('body.scrolling-down')) { + if (self.element.classList.contains('isFixed')) { + if (target.offsetTop < window.pageYOffset) { + allHeight = getSummaryHeight() + getNavigationHeight(); + } + else { + allHeight = getSummaryHeight(); + } } else { allHeight = getSummaryHeight(); } } - else { - allHeight = getSummaryHeight(); - } - } - // Si scroll-up - else if (document.querySelector('body.scrolling-up')) { - if (target.offsetTop > window.pageYOffset) { - allHeight = getSummaryHeight(); - } - else { - allHeight = getSummaryHeight() + getNavigationHeight(); + // Si scroll-up + else if (document.querySelector('body.scrolling-up')) { + if (target.offsetTop > window.pageYOffset) { + allHeight = getSummaryHeight(); + } + else { + allHeight = getSummaryHeight() + getNavigationHeight(); + } } + window.scrollTo(0, target.offsetTop - allHeight); } - window.scrollTo(0, target.offsetTop - allHeight); }); }); } @@ -239,25 +245,27 @@ export default class Summary { el.addEventListener('click', (e) => { // Récupération de l'ancre - let target = document.querySelector(`.page-section${el.dataset.section}`); + let target = document.querySelector(`.page-section${el.dataset.section}`) || document.querySelector(`.sheet-part${el.dataset.section}`); e.preventDefault(); - // Si scroll-down - if (document.querySelector('body.scrolling-down')) { - if (self.element.classList.contains('isFixed')) { - if (target.offsetTop < window.pageYOffset) { - allHeight = getNavigationHeight(); + if (target !== null) { + // Si scroll-down + if (document.querySelector('body.scrolling-down')) { + if (self.element.classList.contains('isFixed')) { + if (target.offsetTop < window.pageYOffset) { + allHeight = getNavigationHeight(); + } } } - } - // Si scroll-up - else if (document.querySelector('body.scrolling-up')) { - if (target.offsetTop < window.pageYOffset) { - allHeight = getNavigationHeight(); + // Si scroll-up + else if (document.querySelector('body.scrolling-up')) { + if (target.offsetTop < window.pageYOffset) { + allHeight = getNavigationHeight(); + } } + window.scrollTo(0, target.offsetTop - allHeight); } - window.scrollTo(0, target.offsetTop - allHeight); }); }); } diff --git a/assets/js/swipers.js b/assets/js/swipers.js index 42d0000..f90e1c5 100644 --- a/assets/js/swipers.js +++ b/assets/js/swipers.js @@ -145,21 +145,21 @@ $.fn.extend({ switch (paginationType) { case 'fraction': - var fraction = function renderFraction(currentClass, totalClass) { + var fraction = function renderFraction (currentClass, totalClass) { return '' + ''; }; paginationTypeOptions.renderFraction = fraction; break; case 'progressbar': - var progressbar = function renderProgressBar(progressbarFillClass) { + var progressbar = function renderProgressBar (progressbarFillClass) { return ''; }; paginationTypeOptions.renderProgressBar = progressbar; break; case 'loader': - var loader = function renderBullet(index) { + var loader = function renderBullet (index) { var autoplayIsActive = this.params.autoplay, autoplay = this.params.autoplay.delay, speed = this.params.speed, @@ -211,7 +211,7 @@ $('[data-tabs]').on("change.zf.tabs", function (e) { // Init woody-swipers only on large devices. Small devices goes with swResp classes if (window.innerWidth >= 1024) { // Basic Swipers - $("body:not(.single-touristic_sheet) .woody-swiper").initSwiper({ + $("body:not(.old-sheet) .woody-swiper").initSwiper({ preloadImages: false, watchSlidesProgress: true, watchSlidesVisibility: true, @@ -352,23 +352,25 @@ $(".focus-swiper-fullpage-overlayed .swiper-container").each(function () { $this.find(".swiper-wrapper .swiper-slide").each(function (i) { titles.push($(this).find(".focus-title").text()); - pretitles.push($(this).find(".focus-pretitle").text()); + // pretitles.push($(this).find(".focus-pretitle").text()); }); let pageIndex = index + 1; - if ( pageIndex < 10) { + if (pageIndex < 10) { pageIndex = '0' + pageIndex; } var paginationItem = ''; - if($this.find(".swiper-pagination")[0].classList.contains('hasActiveIndex')) { + if ($this.find(".swiper-pagination")[0].classList.contains('hasActiveIndex')) { let paginationIndex = '' + pageIndex + ''; - paginationItem += (index <= 4) ? paginationIndex + '' + pretitles[index] + '' + titles[index] + '' : ''; + // paginationItem += (index <= 4) ? paginationIndex + '' + pretitles[index] + '' + titles[index] + '' : ''; + paginationItem += (index <= 4) ? paginationIndex + '' + titles[index] + '' : ''; } else { - paginationItem += (index <= 4) ? '' + pretitles[index] + '' + titles[index] + '' : ''; + // paginationItem += (index <= 4) ? '' + pretitles[index] + '' + titles[index] + '' : ''; + paginationItem += (index <= 4) ? '' + titles[index] + '' : ''; paginationItem = (index <= 4) ? paginationItem + '' : paginationItem; } @@ -402,3 +404,4 @@ $(".woody-component-landswpr.tpl_08 .woody-landing-swiper").each(function () { }, }); }); + diff --git a/assets/js/woodyFairguestBadge.js b/assets/js/woodyFairguestBadge.js new file mode 100644 index 0000000..4a75c9e --- /dev/null +++ b/assets/js/woodyFairguestBadge.js @@ -0,0 +1,58 @@ +const fairguestGroup = 1; +let sheetIds = []; + +document.querySelectorAll('#woody-fairguest-badge').forEach(badge => { + let sheetId = badge.closest('.card').getAttribute('data-sheetid'); + + sheetId !== null && !sheetIds.includes(sheetId) ? sheetIds.push(sheetId) : ''; +}); + +if (fairguestGroup !== null && sheetIds.length > 0) { + fetch(`https://api.tourism-system.com/v2/fairguest/sheets/fairguest-ratings?ids=${sheetIds}&fairguestGroup=${fairguestGroup}`).then((response) => response.json()).then((sheetRatings) => { + if (Object.keys(sheetRatings).length !== 0) { + let finalRatings = {}; + + for (let sheetRating in sheetRatings) { + if (sheetRatings[sheetRating].weighted_rating_is_valid) { + let roundedRating = Math.round(sheetRatings[sheetRating].weighted_rating * 10) / 10; + finalRatings[sheetRating] = roundedRating; + } + } + + if (Object.keys(finalRatings).length !== 0) { + for (let sheetId in finalRatings) { + document.querySelectorAll(`.card[data-sheetid="${sheetId}"]`).forEach(card => { + let fairguestBadge = card.querySelector('#woody-fairguest-badge'); + let color = getFairguestColorMatchingReview(finalRatings[sheetId]); + fairguestBadge !== null ? fairguestBadge.innerHTML = `${finalRatings[sheetId]}` : ''; + fairguestBadge !== null ? fairguestBadge.classList.add('has-rating') : ''; + }); + } + } + } + }).catch((err) => { + console.warn('Erreur fairguest ratings : ', err); + }); +} + +function getFairguestColorMatchingReview (rating) { + switch (true) { + case rating < 0.1: + return '#7a7a7a'; + break + case rating < 4: + return '#ee622d'; + break + case rating < 7: + return '#ffc001'; + break + case rating < 8: + return '#9fbf04'; + break + case rating < 9: + return '#71a63e'; + break + default: + return '#277712'; + } +} diff --git a/assets/scss/addons/cookies.scss b/assets/scss/addons/cookies.scss index 1e22d9d..e3e5bba 100644 --- a/assets/scss/addons/cookies.scss +++ b/assets/scss/addons/cookies.scss @@ -218,6 +218,20 @@ animation: load8 1.1s infinite linear; } + .revoke-label { + font-size: 0; + + &::before { + display: block; + content: ''; + height: 25px; + width: 25px; + background-image: url('./../img/cookie.png'); + background-repeat: no-repeat; + background-size: 25px 25px; + } + } + @-webkit-keyframes load8 { 0% { -webkit-transform: rotate(0deg); diff --git a/assets/scss/components/_index.scss b/assets/scss/components/_index.scss index c792e7d..0a2a8ff 100644 --- a/assets/scss/components/_index.scss +++ b/assets/scss/components/_index.scss @@ -1,5 +1,6 @@ @import 'swipers'; @import 'backgroundsMedias'; +@import 'details'; @import 'imageObjects'; @import 'videoObjects'; @import 'titlesObjects'; @@ -26,4 +27,5 @@ @import 'accordion'; @import 'protected_post'; @import 'parallax'; +@import 'pwa'; @import 'sitemap'; diff --git a/assets/scss/components/details.scss b/assets/scss/components/details.scss new file mode 100644 index 0000000..4f7e73a --- /dev/null +++ b/assets/scss/components/details.scss @@ -0,0 +1,44 @@ +details { + summary { + display: block; + + &::marker { + display: none; + } + + &:focus { + outline: none; + } + } + + &[open] { + display: block; + padding-bottom: 30px; + + &+#hide-after-open-details { + display: none; + } + + summary { + position: absolute; + bottom: 0; + left: 0; + } + + #open-details { + display: none; + } + + #close-details { + display: block; + } + } + + #close-details { + display: none; + } +} + +::-webkit-details-marker { + display: none; +} diff --git a/assets/scss/components/pwa.scss b/assets/scss/components/pwa.scss new file mode 100644 index 0000000..254ca41 --- /dev/null +++ b/assets/scss/components/pwa.scss @@ -0,0 +1,104 @@ +#pwaInstallBanner { + box-shadow: 0 0 800px 800px rgba($black, .97); + border-radius: 10px; + left: 10px; + padding: 30px 15px; + position: fixed; + width: calc(100% - 20px); + z-index: 100000; + background-color: white; + gap: 12px; + opacity: 1; + top: 50%; + transition: opacity .1s, transform .3s ease-out; + transform: translateY(-50%); + overflow: hidden; + + &.invisible { + transform: translateY(-800px); + opacity: 0; + } + + .appicon { + width: 75px; + height: 75px; + } + + .appicon-wrapper { + box-shadow: 0 2px 4px rgba($black, .4); + border-radius: 18px; + position: relative; + + .appicon { + border-radius: 18px; + } + + &:before, + &:after { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + border-radius: 18px; + background-color: #e2e2e2; + top: 0; + } + + &:before { + right: calc(100% + 10px); + box-shadow: -85px 0 0 #e2e2e2; + } + + &:after { + left: calc(100% + 10px); + box-shadow: 85px 0 0 #e2e2e2; + } + } + + .title { + font-size: 36px; + font-weight: bold; + line-height: 40px; + margin: 20px auto; + } + + .desc { + max-width: 260px; + margin: 0 auto; + } + + .actions { + margin: 20px auto 0 auto; + width: 100%; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + .iosOnly { + width: calc(100% + 60px); + text-align: center; + background: #eee; + padding: 10px 5px; + margin: 0 -30px 30px -30px; + } + + .buttons { + gap: 15px; + } + } +} + +#triggerPwaInstall { + background: $primary-color; + color: set-color($primary-color); + padding: 5px 10px; + border-radius: 6px; +} + +#closePwaInstall { + color: rgba($black, .7); + font-size: 80%; +} diff --git a/assets/scss/components/swipers.scss b/assets/scss/components/swipers.scss index 8e08daf..058ac80 100644 --- a/assets/scss/components/swipers.scss +++ b/assets/scss/components/swipers.scss @@ -155,7 +155,7 @@ .swRespS, .swiper-slide { box-sizing: border-box; - @include xy-gutters($gutter-type: padding, $gutter-position:top right bottom left); + @include xy-gutters($gutter-type: padding, $gutter-position: top right bottom left); } } @@ -183,7 +183,8 @@ @include breakpoint(xmedium down) { padding: 0 30px !important; - .woody_bases_grid, .swRespW { + .woody_bases_grid, + .swRespW { margin-left: 0; } } @@ -214,27 +215,6 @@ } } -// Controls -/*.swiper-controls { - position: absolute; - width: 100%; - height: calc(100% + 50px); - top: auto; - bottom: 0; - left: 0; - - @include breakpoint(large) { - top: 0; - bottom: auto; - } -} - -.swiper-controls-offset { - .swiper-controls { - height: 100%; - } -}*/ - // Navigation .swiper-button-next, .swiper-button-prev { @@ -430,7 +410,7 @@ &.left { @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($right:false, $size:$swiper-size); + @include swiperOverflow($right: false, $size: $swiper-size); } } } @@ -438,7 +418,7 @@ &.right { @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($left:false, $size:$swiper-size); + @include swiperOverflow($left: false, $size: $swiper-size); } } } @@ -446,7 +426,7 @@ &.left.right { @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($size:$swiper-size); + @include swiperOverflow($size: $swiper-size); } } } @@ -467,7 +447,7 @@ &.left { @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($right:false, $size:$swiper-size, $context:contained); + @include swiperOverflow($right: false, $size: $swiper-size, $context: contained); } } } @@ -475,7 +455,7 @@ &.right { @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($left:false, $size:$swiper-size, $context:contained); + @include swiperOverflow($left: false, $size: $swiper-size, $context: contained); } } } @@ -484,7 +464,7 @@ @each $swiper-size in $swiper-sizes { &.#{$swiper-size} { - @include swiperOverflow($size:$swiper-size, $context:contained); + @include swiperOverflow($size: $swiper-size, $context: contained); } } } @@ -494,13 +474,14 @@ .section-layout-wrapper:not(.grid-container) { .swiperJustified { + @include breakpoint(large) { - margin-left: $justifiedSwiperBlankSpace; + margin-left: auto; max-width: calc(100vw - #{$justifiedSwiperBlankSpace}); } @include breakpoint(xlarge) { - margin-left: calc(#{$justifiedSwiperBlankSpace} - (#{map-get($grid-column-gutter, medium)} / 2)); + margin-left: auto; } } @@ -514,30 +495,15 @@ } } -.grid_1col_tpl_01>.cell { - // padding: 15px !important; -} - -.woody-swiper-grid-container { - // overflow: visible !important; - - // width: calc(100% + 10px) !important; - // width: 100vw !important; -} - // Responsive .swResp { - width: calc(100% + 25px) !important; - margin-left: -15px !important; - padding: 0 30px !important; - - // width: initial !important; - @include breakpoint(xmedium down) { - // &:not(.no-padding) { - // padding: 0 60px !important; - // } + width: calc(100% + 25px) !important; + margin-left: -15px !important; + padding: 0 30px !important; + } + @include breakpoint(xmedium down) { &.no-padding { @include wicon(025-suivant, after); @include wicon(026-precedent, before); @@ -580,33 +546,19 @@ } } -// @include breakpoint(xmedium down) { -// .section .section-layout-wrapper { -// .swResp { -// width: 100vw; -// } - -// &.grid-container { -// .swResp { -// margin-left:calc(#{map-get($grid-column-gutter, medium)} * -1); -// } -// } - -// &:not(.grid-container) { -// .grid-padding-x { -// .swResp { -// margin-left: calc(#{map-get($grid-column-gutter, small)} * -0.5); -// } -// } -// } -// } -// } - .swiperOut { @include breakpoint(large) { padding-left: 60px; padding-right: 60px; + &.swiperOut-left { + padding-right: unset; + } + + &.swiperOut-right { + padding-left: unset; + } + >.isRel { .swiper-button-prev { diff --git a/assets/scss/components/videoObjects.scss b/assets/scss/components/videoObjects.scss index 7c199bf..ef3a525 100644 --- a/assets/scss/components/videoObjects.scss +++ b/assets/scss/components/videoObjects.scss @@ -1,3 +1,78 @@ .videoObject-video { width: 100%; } + +.videoObject { + + .sound-switch { + position: absolute; + bottom: 15px; + right: 15px; + display: inline-block; + width: 60px; + height: 34px; + z-index: 10; + + @include breakpoint(xmedium) { + bottom: 30px; + right: 30px; + } + + input { + opacity: 0; + width: 0; + height: 0; + } + + .slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(black, .4); + transition: .4s; + border-radius: 34px; + + @include wicon(082-son-off, after); + + &:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + transition: .4s; + border-radius: 50%; + } + + &:after { + position: absolute; + left: 10px; + top: 5px; + transition: .4s; + } + } + + input:checked+.slider { + background-color: $primary-color; + @include wicon(083-son-on, after); + + &:after { + left: 35px; + transform: rotate(360deg); + } + } + + input:focus+.slider { + box-shadow: 0 0 1px $primary-color; + } + + input:checked+.slider:before { + transform: translateX(26px); + } + } +} diff --git a/assets/scss/groundwork/_index.scss b/assets/scss/groundwork/_index.scss index 33fa044..b0a128c 100644 --- a/assets/scss/groundwork/_index.scss +++ b/assets/scss/groundwork/_index.scss @@ -1,4 +1,5 @@ @import 'animations'; +@import 'cursors'; @import 'layout'; @import 'colors'; @import 'medias'; @@ -13,3 +14,4 @@ @import 'no_js'; @import '404'; @import 'equalizer'; +@import 'shadows'; diff --git a/assets/scss/groundwork/cursors.scss b/assets/scss/groundwork/cursors.scss new file mode 100644 index 0000000..01ee543 --- /dev/null +++ b/assets/scss/groundwork/cursors.scss @@ -0,0 +1,3 @@ +.cursor-pointer { + cursor: pointer; +} diff --git a/assets/scss/groundwork/grids.scss b/assets/scss/groundwork/grids.scss index 4ed5dd0..f84f9a8 100644 --- a/assets/scss/groundwork/grids.scss +++ b/assets/scss/groundwork/grids.scss @@ -35,3 +35,11 @@ .grid-borders { @include grid-borders; } + +.fullHeight { + height: 100%; +} + +.grid-gap-sm { + gap: map-get($grid-column-gutter, small); +} diff --git a/assets/scss/groundwork/keyframes.scss b/assets/scss/groundwork/keyframes.scss index 5fed867..cb24055 100644 --- a/assets/scss/groundwork/keyframes.scss +++ b/assets/scss/groundwork/keyframes.scss @@ -70,3 +70,9 @@ opacity: 1; } } + +@keyframes skeletonCard { + to { + background-position: right -35% top 0; + } +} diff --git a/assets/scss/groundwork/layout.scss b/assets/scss/groundwork/layout.scss index 7a81290..b5cf270 100644 --- a/assets/scss/groundwork/layout.scss +++ b/assets/scss/groundwork/layout.scss @@ -233,6 +233,10 @@ body .padd-all-none { padding: 0; } +body .marg-all-none { + margin: 0; +} + // === Paddings and margins with breakpoints // large-padd-top-sm || medium-padd-left-md || xmedium-padd || medium-marg-top || large-marge-bottom // large-down-padd-top-sm || medium-down-padd-left-md || xmedium-down-padd || medium-down-marg-top || large-down-marge-bottom diff --git a/assets/scss/groundwork/shadows.scss b/assets/scss/groundwork/shadows.scss new file mode 100644 index 0000000..57a1410 --- /dev/null +++ b/assets/scss/groundwork/shadows.scss @@ -0,0 +1,23 @@ +.shadow-sm { + box-shadow: 0 1px 2px 0 rgba($black, 0.05); +} + +.shadow { + box-shadow: 0 1px 3px 0 rgba($black, 0.1), 0 1px 2px -1px rgba($black, 0.1); +} + +.shadow-md { + box-shadow: 0 4px 6px -1px rgba($black, 0.1), 0 2px 4px -2px rgba($black, 0.1); +} + +.shadow-lg { + box-shadow: 0 10px 15px -3px rgba($black, 0.1), 0 4px 6px -4px rgba($black, 0.1); +} + +.shadow-xl { + box-shadow: 0 20px 25px -5px rgba($black, 0.1), 0 8px 10px -6px rgba($black, 0.1); +} + +.shadow-xxl { + box-shadow: 0 25px 50px -12px rgba($black, 0.25); +} diff --git a/assets/scss/hawwwai/_index.scss b/assets/scss/hawwwai/_index.scss new file mode 100644 index 0000000..245f4c2 --- /dev/null +++ b/assets/scss/hawwwai/_index.scss @@ -0,0 +1,2 @@ +@import 'playlist/_index'; +@import 'sheet/_index'; diff --git a/assets/scss/hawwwai/playlist/_index.scss b/assets/scss/hawwwai/playlist/_index.scss new file mode 100644 index 0000000..e69de29 diff --git a/assets/scss/hawwwai/sheet/_index.scss b/assets/scss/hawwwai/sheet/_index.scss new file mode 100644 index 0000000..5fcc91b --- /dev/null +++ b/assets/scss/hawwwai/sheet/_index.scss @@ -0,0 +1,4 @@ +@import 'vars/_index'; +@import 'components/_index'; +@import 'global/_index'; +@import 'parts/_index'; diff --git a/assets/scss/hawwwai/sheet/components/_index.scss b/assets/scss/hawwwai/sheet/components/_index.scss new file mode 100644 index 0000000..e12ce72 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/_index.scss @@ -0,0 +1,9 @@ +@import 'chains'; +@import 'favorites'; +@import 'ratings'; +@import 'reveal'; +@import 'special-labels'; +@import 'summary'; +@import 'tabs'; +@import 'tagCorner'; +@import 'territory-labels'; diff --git a/assets/scss/hawwwai/sheet/components/chains.scss b/assets/scss/hawwwai/sheet/components/chains.scss new file mode 100644 index 0000000..ff86592 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/chains.scss @@ -0,0 +1,5 @@ +.chains-list { + img { + height: 65px; + } +} diff --git a/assets/scss/hawwwai/sheet/components/favorites.scss b/assets/scss/hawwwai/sheet/components/favorites.scss new file mode 100644 index 0000000..13da0cf --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/favorites.scss @@ -0,0 +1,9 @@ +.favorites-container { + .button-add-to-favs:not(.add-favorites-button-link) { + margin-right: 4px; + + .wicon { + font-size: rem-calc(24); + } + } +} diff --git a/assets/scss/hawwwai/sheet/components/ratings.scss b/assets/scss/hawwwai/sheet/components/ratings.scss new file mode 100644 index 0000000..3ba011d --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/ratings.scss @@ -0,0 +1,17 @@ +.ratings-container { + padding-left: 10px; + + .rating-icon { + height: 12px; + width: 12px; + background-repeat: no-repeat; + background-size: contain; + background-position: center center; + filter: brightness(0%); + margin-right: 4px; + } + + .rating-type:not(:first-child) { + padding-left: 5px; + } +} diff --git a/assets/scss/hawwwai/sheet/components/reveal.scss b/assets/scss/hawwwai/sheet/components/reveal.scss new file mode 100644 index 0000000..b7cc1b1 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/reveal.scss @@ -0,0 +1,38 @@ +.sheet-reveal { + top: 50% !important; + bottom: initial !important; + left: 50% !important; + right: initial !important; + transform: translate(-50%, -50%); + margin: 0 !important; + + .flex-container { + height: initial; + } + + .sheet-reveal-list { + grid-gap: 20px; + + .sheet-reveal-item { + flex: 1 1 calc(50% - 40px); // 2x grid-gap (20px) + + a { + border: 1px solid lighten($medium-gray, 15%); + transition: 0.25s ease-in-out; + + &::after { + display: none; + } + + &:hover, + &:focus { + background-color: $light-gray; + } + } + } + + .wicon { + font-size: rem-calc(28); + } + } +} diff --git a/assets/scss/hawwwai/sheet/components/special-labels.scss b/assets/scss/hawwwai/sheet/components/special-labels.scss new file mode 100644 index 0000000..a416b8f --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/special-labels.scss @@ -0,0 +1,5 @@ +.special-labels-list { + img { + height: 65px; + } +} diff --git a/assets/scss/hawwwai/sheet/components/summary.scss b/assets/scss/hawwwai/sheet/components/summary.scss new file mode 100644 index 0000000..f5282d7 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/summary.scss @@ -0,0 +1,7 @@ +.sheet-v2 { + .woody-component-summary { + &:not(.isFixed) { + display: none; // On masque le sommaire dans le corps de la fiche quand il n'est pas fixé + } + } +} diff --git a/assets/scss/hawwwai/sheet/components/tabs.scss b/assets/scss/hawwwai/sheet/components/tabs.scss new file mode 100644 index 0000000..bcfefdf --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/tabs.scss @@ -0,0 +1,30 @@ +.woody-component-tabs.sheet-tabs { + .tabs { + @include breakpoint(xmedium) { + gap: 15px; + + .tabs-title { + &.is-active { + .tab-link { + color: $white !important; + background-color: $primary-color; + } + } + } + + .tab-link { + font-weight: bold; + border: 1px solid $primary-color; + + @if $global-radius !=0 { + border-radius: 30px; + } + } + } + } + + .tabs-panel { + padding-left: 0; + padding-right: 0; + } +} diff --git a/assets/scss/hawwwai/sheet/components/tagCorner.scss b/assets/scss/hawwwai/sheet/components/tagCorner.scss new file mode 100644 index 0000000..c9a4af3 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/tagCorner.scss @@ -0,0 +1,37 @@ +.sheet-tag-corner { + top: 7px; + left: 7px; + z-index: 20; + + &::before, + &::after { + display: block; + position: absolute; + content: ''; + border: 4px solid darken($primary-color, 20%); + z-index: -1; + } + + &::before { + right: 0; + } + + &::after { + bottom: 0; + } + + .corner { + float: left; + border-style: solid; + border-width: 0 0 75px 75px; + border-color: transparent transparent transparent $primary-color; + } + + .wicon { + color: $white; + font-size: rem-calc(24); + top: 4px; + left: 13px; + pointer-events: none; + } +} diff --git a/assets/scss/hawwwai/sheet/components/territory-labels.scss b/assets/scss/hawwwai/sheet/components/territory-labels.scss new file mode 100644 index 0000000..da35369 --- /dev/null +++ b/assets/scss/hawwwai/sheet/components/territory-labels.scss @@ -0,0 +1,5 @@ +.territory-labels-list { + img { + height: 65px; + } +} diff --git a/assets/scss/hawwwai/sheet/global/_index.scss b/assets/scss/hawwwai/sheet/global/_index.scss new file mode 100644 index 0000000..f1523e0 --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/_index.scss @@ -0,0 +1,5 @@ +@import 'dropdown'; +@import 'links'; +@import 'separator'; +@import 'table'; +@import 'typography'; diff --git a/assets/scss/hawwwai/sheet/global/dropdown.scss b/assets/scss/hawwwai/sheet/global/dropdown.scss new file mode 100644 index 0000000..9e444f3 --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/dropdown.scss @@ -0,0 +1,27 @@ +.button-pane { + cursor: pointer; + + &.has-icon { + &::after { + display: block; + position: absolute; + content: ''; + top: 50%; + right: 1rem; + transform: translateY(calc(-50% - 6px)); + height: 0; + width: 0; + border: inset 6px; + border-bottom-width: 0; + border-top-style: solid; + border-color: currentColor transparent transparent; + } + } +} + +.dropdown-pane { + width: initial; + border: none; + border-radius: 0 0 $global-radius $global-radius; + padding: 15px !important; +} diff --git a/assets/scss/hawwwai/sheet/global/links.scss b/assets/scss/hawwwai/sheet/global/links.scss new file mode 100644 index 0000000..e67581d --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/links.scss @@ -0,0 +1,28 @@ +.cta-sheet-link { + color: $primary-color; + display: inline-flex; + align-items: center; + font-weight: bold; + cursor: pointer; + transition: 0.25s ease-in-out; + + .wicon { + font-size: rem-calc(20); + margin-right: 4px; + } + + .cta-sheet-link-label { + text-decoration: currentColor underline; + text-underline-offset: 2px; + } + + &:hover { + color: darken($primary-color, 10%); + } +} + +button.cta-sheet-link { + text-decoration: none; + line-height: inherit; + cursor: pointer; +} diff --git a/assets/scss/hawwwai/sheet/global/separator.scss b/assets/scss/hawwwai/sheet/global/separator.scss new file mode 100644 index 0000000..7dd3569 --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/separator.scss @@ -0,0 +1,3 @@ +.sheet-separator { + border-bottom: 1px solid lighten($medium-gray, 15%); +} diff --git a/assets/scss/hawwwai/sheet/global/table.scss b/assets/scss/hawwwai/sheet/global/table.scss new file mode 100644 index 0000000..a2fe7db --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/table.scss @@ -0,0 +1,5 @@ +[class*="woody-component-sheet-"] { + table { + margin-bottom: 0; + } +} diff --git a/assets/scss/hawwwai/sheet/global/typography.scss b/assets/scss/hawwwai/sheet/global/typography.scss new file mode 100644 index 0000000..b495753 --- /dev/null +++ b/assets/scss/hawwwai/sheet/global/typography.scss @@ -0,0 +1,66 @@ +.sheet-part-title { + display: block; +} + +.sheet-part-subtitle { + display: block; + font-weight: bold; +} + +.criterias-review-wrapper { + margin-bottom: 10px; +} + +.criterias-list { + gap: 10px; + + li { + font-size: rem-calc(10); + font-weight: bold; + text-align: center; + text-transform: uppercase; + line-height: 1; + padding: 5px 10px; + } +} + +.teaser-container { + .h3 { + margin: 0; + } +} + +.more-content-anchor { + font-size: rem-calc(14); + text-decoration: currentColor underline; + text-underline-offset: 2px; + transition: 0.25s ease-in-out; + margin-top: 5px; + + &:hover, + &:focus { + text-decoration: currentColor underline; + } +} + +.opening-state { + &--text { + font-size: rem-calc(22); + } + + &-opened { + color: $success-color; + } + + &-closed { + color: $alert-color; + } + + &-soon { + color: $warning-color; + } + + &-undefined { + color: $medium-gray; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/_index.scss b/assets/scss/hawwwai/sheet/parts/_index.scss new file mode 100644 index 0000000..cbfa970 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/_index.scss @@ -0,0 +1,14 @@ +@import 'area'; +@import 'capacities'; +@import 'covid'; +@import 'documentation'; +@import 'environment'; +@import 'equipments'; +@import 'hero'; +@import 'labels'; +@import 'payment-methods'; +@import 'prices'; +@import 'sidebar'; +@import 'sit-source_footer'; +@import 'teaser'; +@import 'thematic-description'; diff --git a/assets/scss/hawwwai/sheet/parts/area.scss b/assets/scss/hawwwai/sheet/parts/area.scss new file mode 100644 index 0000000..3091579 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/area.scss @@ -0,0 +1,16 @@ +.woody-component-sheet-area { + + .woody-component-tabs, + .woody-component-focus { + background-color: transparent !important; + box-shadow: none !important; + } + + .woody-component-focus { + padding: 0; + + .swiper-wrapper { + height: initial; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/capacities.scss b/assets/scss/hawwwai/sheet/parts/capacities.scss new file mode 100644 index 0000000..229a16e --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/capacities.scss @@ -0,0 +1,7 @@ +.woody-component-sheet-capacities { + .capacity-item { + .wicon { + font-size: rem-calc(25); + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/covid.scss b/assets/scss/hawwwai/sheet/parts/covid.scss new file mode 100644 index 0000000..e177dc9 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/covid.scss @@ -0,0 +1,6 @@ +.woody-component-sheet-covid { + background-color: $sheet-message-color; + border-style: $bg-params-border-style; + border-width: $bg-params-border-width; + border-color: darken($sheet-message-color, 10%); +} diff --git a/assets/scss/hawwwai/sheet/parts/documentation.scss b/assets/scss/hawwwai/sheet/parts/documentation.scss new file mode 100644 index 0000000..03c2826 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/documentation.scss @@ -0,0 +1,5 @@ +.woody-component-sheet-documentation { + .button { + margin-bottom: 0; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/environment.scss b/assets/scss/hawwwai/sheet/parts/environment.scss new file mode 100644 index 0000000..c3fcaf4 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/environment.scss @@ -0,0 +1,7 @@ +.woody-component-sheet-environment { + .woody-component-geomap { + .leaflet-control-container { + display: none; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/equipments.scss b/assets/scss/hawwwai/sheet/parts/equipments.scss new file mode 100644 index 0000000..915cb7b --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/equipments.scss @@ -0,0 +1,12 @@ +.equipment-item { + .wicon { + font-size: rem-calc(30); + } +} + +// Style inside reveal +#show-all-equipments { + .equipment-description { + margin-top: 4px; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/hero.scss b/assets/scss/hawwwai/sheet/parts/hero.scss new file mode 100644 index 0000000..bff1984 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/hero.scss @@ -0,0 +1,17 @@ +.woody-component-sheet-hero { + .woody_base_grid_wrapper { + width: 100%; + } + + .more-medias-counter { + font-size: rem-calc(28); + font-weight: bold; + border-radius: $global-radius; + } + + .mediaCard { + .imageObject { + border-radius: $global-radius; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/labels.scss b/assets/scss/hawwwai/sheet/parts/labels.scss new file mode 100644 index 0000000..3b5a283 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/labels.scss @@ -0,0 +1,43 @@ +.woody-component-sheet-labels { + .label-item { + &:not(.specificity-label-item) { + border: 1px solid lighten($medium-gray, 15%); + } + + &.unavailable { + cursor: not-allowed; + + img { + filter: grayscale(100%); + opacity: 0.2; + } + } + + img { + height: auto; + max-width: 75px; + margin-top: auto; + margin-bottom: auto; + } + + .label-name { + font-size: rem-calc(14); + } + } + + .labels-list { + &.tourism_handicap { + img { + max-width: 50px; + } + } + + &.tourism_handicap_dordogne { + img { + max-height: 40px; + max-width: initial; + width: auto; + } + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/payment-methods.scss b/assets/scss/hawwwai/sheet/parts/payment-methods.scss new file mode 100644 index 0000000..ef79906 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/payment-methods.scss @@ -0,0 +1,8 @@ +.woody-component-sheet-payment-methods { + .payment-method-item { + img { + height: auto; + max-width: 50px; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/prices.scss b/assets/scss/hawwwai/sheet/parts/prices.scss new file mode 100644 index 0000000..e7a2a4c --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/prices.scss @@ -0,0 +1,25 @@ +.woody-component-sheet-prices { + .price-row { + @include breakpoint(medium) { + flex-direction: row; + justify-content: space-between; + align-items: center; + } + } + + .price-description { + font-size: rem-calc(14); + + @include breakpoint(medium) { + font-size: rem-calc(16); + } + } + + .price-value { + font-weight: bold; + + @include breakpoint(medium) { + font-size: rem-calc(20); + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar.scss b/assets/scss/hawwwai/sheet/parts/sidebar.scss new file mode 100644 index 0000000..6c4b7d4 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar.scss @@ -0,0 +1 @@ +@import 'sidebar/_index'; diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/_index.scss b/assets/scss/hawwwai/sheet/parts/sidebar/_index.scss new file mode 100644 index 0000000..aca33e9 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/_index.scss @@ -0,0 +1,6 @@ +@import 'covid-status'; +@import 'event'; +@import 'global'; +@import 'opening'; +@import 'social-networks'; +@import 'tariff'; diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/covid-status.scss b/assets/scss/hawwwai/sheet/parts/sidebar/covid-status.scss new file mode 100644 index 0000000..8b2b0d2 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/covid-status.scss @@ -0,0 +1,19 @@ +.sheet-sidebar-item-covid-status { + .covid-item { + font-weight: 500; + padding: 10px 30px; + letter-spacing: 0.2px; + + &:not(:last-child) { + margin-bottom: 10px; + } + } + + .covid-charterStatus { + background-color: $sheet-covid-charter-color; + } + + .covid-service { + background-color: $sheet-covid-service-color; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/event.scss b/assets/scss/hawwwai/sheet/parts/sidebar/event.scss new file mode 100644 index 0000000..720d7da --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/event.scss @@ -0,0 +1,46 @@ +.sheet-sidebar-item-event { + .date-item { + &:not(:nth-child(1)) { + margin-top: 15px; + } + } + + .date-format { + line-height: 1; + } + + .date-day-label { + font-size: rem-calc(14); + } + + .date-day-label, + .date-month { + text-transform: uppercase; + } + + .date-day-number { + font-size: rem-calc(34); + font-weight: bold; + } + + .date-month { + font-size: rem-calc(20); + } + + .date-separator { + font-size: 2rem; + color: $medium-gray; + } + + .date-oneday { + .date-day-number { + margin: 0 10px; + } + } + + .date-multipleday { + .date-day-number { + margin: 10px 0; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/global.scss b/assets/scss/hawwwai/sheet/parts/sidebar/global.scss new file mode 100644 index 0000000..c5187dc --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/global.scss @@ -0,0 +1,23 @@ +$sheet-sidebar-list-gap: 50px; + +.sheet-sidebar-list { + gap: $sheet-sidebar-list-gap; +} + +.sheet-sidebar-part { + &:not(:last-child) { + position: relative; + + &::after { + display: block; + content: ''; + position: absolute; + left: 50%; + bottom: calc((#{$sheet-sidebar-list-gap} / 2) * -1); // Gap of .sheet-sidebar-list / 2 for centering separator between 2 parts + transform: translateX(-50%); + height: 2px; + width: calc(100% + 60px); + background-color: $light-gray; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/opening.scss b/assets/scss/hawwwai/sheet/parts/sidebar/opening.scss new file mode 100644 index 0000000..dfccda4 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/opening.scss @@ -0,0 +1,12 @@ +.sheet-sidebar-item-opening { + .over-event-label { + font-weight: bold; + text-transform: uppercase; + background-color: $sheet-endedEvent-color; + border-radius: $global-radius $global-radius 0 0; + width: calc(100% + 60px); // Width of sidebar + 2 * 30px (padding-left + padding-right) + margin-top: -30px; + margin-left: -30px; + margin-right: -30px; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/social-networks.scss b/assets/scss/hawwwai/sheet/parts/sidebar/social-networks.scss new file mode 100644 index 0000000..688a0e5 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/social-networks.scss @@ -0,0 +1,13 @@ +.sheet-sidebar-item-social-networks { + li:not(:last-child) { + margin-right: 10px; + } + + a { + transition: 0.25s ease-in-out; + } + + .wicon { + font-size: rem-calc(24); + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sidebar/tariff.scss b/assets/scss/hawwwai/sheet/parts/sidebar/tariff.scss new file mode 100644 index 0000000..f8effd3 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sidebar/tariff.scss @@ -0,0 +1,13 @@ +.sheet-sidebar-item-tariff { + .fat-price { + font-size: rem-calc(45); + font-weight: bold; + line-height: 1; + } + + .free-price { + font-size: rem-calc(36); + font-weight: bold; + line-height: 1; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/sit-source_footer.scss b/assets/scss/hawwwai/sheet/parts/sit-source_footer.scss new file mode 100644 index 0000000..0d097d2 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/sit-source_footer.scss @@ -0,0 +1,28 @@ +.sit-source-footer { + border-top: 1px solid $black; + + @include breakpoint(xmedium) { + flex-direction: row; + justify-content: space-between; + } +} + +.sit-source-left-part { + @include breakpoint(xmedium) { + flex-direction: row; + } +} + +.sit-source-logo { + max-width: 200px; +} + +.sit-source-information { + font-style: italic; + + @include breakpoint(xmedium) { + text-align: left; + padding-right: 15px; + margin-bottom: 0; + } +} diff --git a/assets/scss/hawwwai/sheet/parts/teaser.scss b/assets/scss/hawwwai/sheet/parts/teaser.scss new file mode 100644 index 0000000..6cd23cb --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/teaser.scss @@ -0,0 +1,7 @@ +.woody-component-sheet-teaser { + .share-container { + @include breakpoint(large) { + justify-content: flex-end; + } + } +} diff --git a/assets/scss/hawwwai/sheet/parts/thematic-description.scss b/assets/scss/hawwwai/sheet/parts/thematic-description.scss new file mode 100644 index 0000000..846fbf5 --- /dev/null +++ b/assets/scss/hawwwai/sheet/parts/thematic-description.scss @@ -0,0 +1,31 @@ +.woody-component-sheet-thematic-description { + .thematic-item { + border-color: $primary-color; + border-style: $bg-params-border-style; + border-width: $bg-params-border-width; + } + + .thematic-title { + color: $primary-color; + } + + .thematic-item { + &[data-tiff="390.20.02.05.01"] { + border-color: $durable-tourism-color; + + .thematic-title { + color: $durable-tourism-color; + } + } + + &[data-tiff="418.20.02.05.02"] { + flex-direction: row-reverse; + justify-content: flex-end; + + .thematic-icon { + padding-left: 30px; + padding-right: 0; + } + } + } +} diff --git a/assets/scss/hawwwai/sheet/vars/_index.scss b/assets/scss/hawwwai/sheet/vars/_index.scss new file mode 100644 index 0000000..945c0c7 --- /dev/null +++ b/assets/scss/hawwwai/sheet/vars/_index.scss @@ -0,0 +1 @@ +@import 'colors'; diff --git a/assets/scss/hawwwai/sheet/vars/colors.scss b/assets/scss/hawwwai/sheet/vars/colors.scss new file mode 100644 index 0000000..4fb9155 --- /dev/null +++ b/assets/scss/hawwwai/sheet/vars/colors.scss @@ -0,0 +1,9 @@ +$sheet-message-color: #fff9f0; +$sheet-endedEvent-color: #dd4a4a; + +// Covid +$sheet-covid-charter-color: #2d6c99; +$sheet-covid-service-color: #e1a600; + +// Tourisme durable +$durable-tourism-color: #4dac54; diff --git a/assets/scss/mixins/basics.scss b/assets/scss/mixins/basics.scss index 8c2cc3f..5c0b0be 100644 --- a/assets/scss/mixins/basics.scss +++ b/assets/scss/mixins/basics.scss @@ -278,19 +278,19 @@ // UP @if $direction==up { &:before { - right: calc(0% - #{$w-tooltip-box-size} * 1.5); + left: 50%; bottom: calc(100% + #{$w-tooltip-box-size}); border-top: $w-tooltip-border; border-radius: $w-tooltip-radius; - transform: translateY(10px) scale(1.1); + transform: translateX(-50%) translateY(10px) scale(1.1); transform-origin: bottom center; } &:after { @include triangle($w-tooltip-box-size, $w-tooltip-bg, down); - right: 0; + left: 50%; bottom: calc(100% - #{$w-tooltip-box-size} / 2); - transform: translateY(10px) scale(1.1); + transform: translateX(-50%) translateY(10px) scale(1.1); transform-origin: bottom center; } } @@ -318,19 +318,19 @@ // DOWN @else if $direction==down { &:before { - right: calc(0% - #{$w-tooltip-box-size} * 1.5); + left: 50%; top: calc(100% + #{$w-tooltip-box-size}); border-bottom: $w-tooltip-border; border-radius: $w-tooltip-radius; - transform: translateY(-10px) scale(1.1); + transform: translateX(-50%) translateY(-10px) scale(1.1); transform-origin: top center; } &:after { @include triangle($w-tooltip-box-size, $w-tooltip-bg, up); - right: 0; + left: 50%; top: calc(100% - #{$w-tooltip-box-size} / 2); - transform: translateY(-10px) scale(1.1); + transform: translateX(-50%) translateY(-10px) scale(1.1); transform-origin: top center; } } @@ -365,6 +365,10 @@ &:after { opacity: 1; transform: translateX(0) scale(1); + + @if $direction==up or $direction==down { + transform: translateX(-50%) scale(1); + } } } } @@ -1066,16 +1070,22 @@ @mixin border($size: 1px, $type: solid, $color: $black, $opacity: .2, $side: all) { $opacity: $opacity * 100%; - @if $side == all { + + @if $side==all { border: $size $type mix($color, $white, $opacity); - } @else { + } + + @else { border-#{$side}: $size $type mix($color, $white, $opacity); } + @include root-bg($foundation-palette) { @if in_list($dark-list, $current-loop-color) { - @if $side == all { + @if $side==all { border-color: mix($white, $current-loop-hex, $opacity); - } @else { + } + + @else { border-#{$side}-color: mix($white, $current-loop-hex, $opacity); } } @@ -1087,3 +1097,18 @@ margin-top: -1px; margin-left: -1px; } + +@mixin positionInDiv ($alignmentY, $offsetValue, $offetSideX) { + + #{$offetSideX}: $offsetValue; + #{$alignmentY}: 0; + + @if $alignmentY==bottom { + top: initial; + } + + @if $alignmentY==top { + bottom: initial; + } + +} diff --git a/assets/scss/plugins/flowchart/flowchart.scss b/assets/scss/plugins/flowchart/flowchart.scss index 2f56f2b..d7aa986 100644 --- a/assets/scss/plugins/flowchart/flowchart.scss +++ b/assets/scss/plugins/flowchart/flowchart.scss @@ -57,6 +57,12 @@ background: rgba($primary-color, 0.07); } } + + .profile-result-complement { + font-size: rem-calc(12); + font-weight: $global-weight-normal; + color: darken($medium-gray, 10%); + } } } @@ -100,7 +106,6 @@ .flowchart-img { margin-top: -35px; - margin-bottom: 10px; @include breakpoint(large) { margin-top: -50px; @@ -207,19 +212,24 @@ } .link-profile { - font-size: rem-calc(13); color: $black; transition: 0.25s ease-in-out; - @include breakpoint(large) { - font-size: rem-calc(16); - } - &:hover { color: $primary-color; } } + .name { + display: block; + font-size: rem-calc(13); + margin-top: 15px; + + @include breakpoint(large) { + font-size: rem-calc(16); + } + } + .complement { font-size: rem-calc(11); font-weight: $global-weight-normal; @@ -230,6 +240,11 @@ } } + // On masque les catégories de profils dans .flowchart-item + [data-profile-taxo-hide="true"] { + display: none; + } + .more-profiles-button { cursor: pointer; display: flex; @@ -261,6 +276,13 @@ } } + // On masque les boutons d'action si le profil est de type "entity" + &[data-profile-type="entity"] { + .more-actions-button { + display: none; + } + } + &:hover, &.more-actions-list-is-opened { border-color: $primary-color; @@ -288,6 +310,11 @@ max-width: $flowchart-mini-item-img-size; margin-right: 5px; } + + // On masque les catégories de profils dans .flowchart-mini-item + [data-mini-profile-taxo-hide="true"] { + display: none; + } } .profile-terms-list { diff --git a/assets/scss/plugins/menus_v2/menu_burger.scss b/assets/scss/plugins/menus_v2/menu_burger.scss index fa1cf4c..d848a5e 100644 --- a/assets/scss/plugins/menus_v2/menu_burger.scss +++ b/assets/scss/plugins/menus_v2/menu_burger.scss @@ -186,16 +186,6 @@ button.menu-icon { position: relative; justify-content: $sliding-menu-item-justify-content; transition: $sliding-menu-item-transition; - - &.is-active { - .submenu-wrapper { - pointer-events: auto; - } - - .submenu-grid { - opacity: 1; - } - } } } @@ -206,6 +196,14 @@ body.menu-is-open { .menu-item { &.is-active { z-index: 1; + + .submenu-wrapper { + pointer-events: auto; + } + + .submenu-grid { + opacity: 1; + } } } diff --git a/assets/scss/plugins/snowflake.scss b/assets/scss/plugins/snowflake.scss index 62b936f..a9158f9 100644 --- a/assets/scss/plugins/snowflake.scss +++ b/assets/scss/plugins/snowflake.scss @@ -60,6 +60,10 @@ $snowflake--slope-black: #131313 !default; &.close { background-color: $snowflake--slope-red; } + + &.prepare { + background-color: $dark-gray; + } } } @@ -781,6 +785,10 @@ $hex in $foundation-palette { &.openning { background: $warning-color; } + + &.prepare { + background: $dark-gray; + } } } } diff --git a/assets/scss/tourism/components/3-layout/_layout.scss b/assets/scss/tourism/components/3-layout/_layout.scss index 1d77d98..ef341ce 100644 --- a/assets/scss/tourism/components/3-layout/_layout.scss +++ b/assets/scss/tourism/components/3-layout/_layout.scss @@ -31,8 +31,6 @@ ul { .sheet-model-v2.has-mosaic { .sheet-sidebar { - z-index: 1; - @media (min-width: 992px) { margin-top: -70px; } diff --git a/assets/scss/tourism/components/4-features/media-gallery/_mosaic.scss b/assets/scss/tourism/components/4-features/media-gallery/_mosaic.scss index 96a4808..1ad4bc9 100644 --- a/assets/scss/tourism/components/4-features/media-gallery/_mosaic.scss +++ b/assets/scss/tourism/components/4-features/media-gallery/_mosaic.scss @@ -145,6 +145,7 @@ flex-direction: column; position: relative; justify-content: center; + z-index: 0; .sheet-header-logos { margin-top: -25px; diff --git a/assets/scss/tourism/sheet/_index.scss b/assets/scss/tourism/sheet/_index.scss index a4edc0d..39ea307 100644 --- a/assets/scss/tourism/sheet/_index.scss +++ b/assets/scss/tourism/sheet/_index.scss @@ -17,7 +17,6 @@ @import 'old-api-front/_detail.scss'; @import 'old-api-front/responsive.scss'; - // not needed // @import 'old-api-front/account.scss'; // @import 'old-api-front/wishlist.scss'; diff --git a/assets/scss/vars/_index.scss b/assets/scss/vars/_index.scss index 506a60c..7a8d312 100644 --- a/assets/scss/vars/_index.scss +++ b/assets/scss/vars/_index.scss @@ -56,3 +56,5 @@ @import 'video'; @import 'custom_text'; @import 'hero'; +@import 'claims'; +@import 'events_hawwwai'; diff --git a/assets/scss/vars/card.scss b/assets/scss/vars/card.scss index 0b8004d..503eee9 100644 --- a/assets/scss/vars/card.scss +++ b/assets/scss/vars/card.scss @@ -128,3 +128,11 @@ $cardIndex-color : $white !default; $cardIndex-opacity : 1 !default; $cardIndex-font-size : 44 !default; $cardIndex-font-family : $header-font-family !default; +$cardIndex-font-weight : $global-weight-normal !default; + +// Fairguest badge +$cardFairguestBadge-offset: -38px !default; +$cardFairguestBadge-font-size: 20px !default; +$cardFairguestBadge-font-weight: normal !default; +$cardFairguestBadge-border-radius: 10px !default; +$cardFairguestBadge-padding: 9px 6px !default; diff --git a/assets/scss/vars/claims.scss b/assets/scss/vars/claims.scss new file mode 100644 index 0000000..76ff35b --- /dev/null +++ b/assets/scss/vars/claims.scss @@ -0,0 +1,2 @@ +$claimOffset: 10%; +$mobileClaimOffset: $claimOffset / 2; diff --git a/assets/scss/vars/color.scss b/assets/scss/vars/color.scss index 2a337cb..06a7572 100644 --- a/assets/scss/vars/color.scss +++ b/assets/scss/vars/color.scss @@ -1,14 +1,25 @@ :root { --primary-color: #{$primary-color}; --secondary-color: #{$secondary-color}; - --black:#{$black}; - --dark-gray:#{$dark-gray}; - --medium-gray:#{$medium-gray}; - --light-gray:#{$light-gray}; - --white:#{$white}; + --black: #{$black}; + --dark-gray: #{$dark-gray}; + --medium-gray: #{$medium-gray}; + --light-gray: #{$light-gray}; + --white: #{$white}; + --global-radius: #{$global-radius}; + + @if variable-exists('tertiary-color')==true { + --tertiary-color: #{$tertiary-color}; + } + + @if variable-exists('quaternary-color')==true { + --quaternary-color: #{$quaternary-color}; + } } -$dark-list: (black, dark-gray) !default; -$color_divider_width : 50px !default; -$color_divider_height : 5px !default; -$color_divider_margin_top : 15px !default; -$color_divider_margin_bottom : $color_divider_margin_top !default; + +$dark-list: (black, + dark-gray) !default; +$color_divider_width: 50px !default; +$color_divider_height: 5px !default; +$color_divider_margin_top: 15px !default; +$color_divider_margin_bottom: $color_divider_margin_top !default; diff --git a/assets/scss/vars/events_hawwwai.scss b/assets/scss/vars/events_hawwwai.scss new file mode 100644 index 0000000..00382e7 --- /dev/null +++ b/assets/scss/vars/events_hawwwai.scss @@ -0,0 +1,2 @@ +$events-hawwwai-border: 1px solid; +$events-hawwwai-border-color: $medium-gray; diff --git a/assets/scss/vars/globals.scss b/assets/scss/vars/globals.scss index 8ab28ae..501acbc 100644 --- a/assets/scss/vars/globals.scss +++ b/assets/scss/vars/globals.scss @@ -13,3 +13,8 @@ $body-shadow-curve: .2 !default; // Icons $duration-icon: 015-horloge !default; $distance-icon: 039-pin !default; + +// Variables CSS +:root { + --rc-global-radius: #{$global-radius}; // Useful for getting the value for the Fairguest widget +} diff --git a/assets/scss/vars/hero.scss b/assets/scss/vars/hero.scss index 1ccf3e2..84eb26c 100644 --- a/assets/scss/vars/hero.scss +++ b/assets/scss/vars/hero.scss @@ -38,6 +38,7 @@ $hero-more-imgs-col-right : 0 !default; $hero-more-imgs-col-left : auto !default; $hero-more-imgs-col-bottom : auto !default; $hero-more-imgs-col-width : 140px !default; +$hero-more-imgs-grid-gap : 10px !default; // Variables CSS :root { diff --git a/assets/scss/woody.scss b/assets/scss/woody.scss index 5ef3ebb..4b8bff3 100644 --- a/assets/scss/woody.scss +++ b/assets/scss/woody.scss @@ -6,3 +6,4 @@ @import 'woody_components/_index'; @import 'addons/_index'; @import 'woodyGallery/_index'; +@import 'hawwwai/_index'; diff --git a/assets/scss/woodyGallery/_index.scss b/assets/scss/woodyGallery/_index.scss index d1eb73a..9d191cf 100644 --- a/assets/scss/woodyGallery/_index.scss +++ b/assets/scss/woodyGallery/_index.scss @@ -138,4 +138,20 @@ body.wg-open { background-position: center; background-repeat: no-repeat; } + + .imageObject-caption { + left: 50%; + transform: translateX(-50%); + + &:before { + width: 100%; + background-color: rgba($black, .8); + } + + .imageObject-text { + font-size: 0.75rem; + opacity: 1; + transform: translateX(0); + } + } } diff --git a/assets/scss/woody_components/_index.scss b/assets/scss/woody_components/_index.scss index 2cefa00..cff768c 100644 --- a/assets/scss/woody_components/_index.scss +++ b/assets/scss/woody_components/_index.scss @@ -46,3 +46,4 @@ @import 'story'; @import 'deals'; @import 'sheet_summary'; +@import 'events_hawwwai'; diff --git a/assets/scss/woody_components/all.scss b/assets/scss/woody_components/all.scss index c2ea75e..814c738 100644 --- a/assets/scss/woody_components/all.scss +++ b/assets/scss/woody_components/all.scss @@ -1,7 +1,8 @@ -.woody-component{ +.woody-component, +.global-radius { border-radius: $global-radius; } -.woody-component-geomap{ +.woody-component-geomap { overflow: hidden; // Hide map outside radius } diff --git a/assets/scss/woody_components/card.scss b/assets/scss/woody_components/card.scss index c489abd..0552c7b 100644 --- a/assets/scss/woody_components/card.scss +++ b/assets/scss/woody_components/card.scss @@ -17,6 +17,7 @@ color: $cardIndex-color; font-size: rem-calc($cardIndex-font-size); font-family: $cardIndex-font-family; + font-weight: $cardIndex-font-weight; line-height: 1; opacity: $cardIndex-opacity; pointer-events: none; @@ -27,6 +28,30 @@ } } + &-fairguest-badge { + z-index: 10; + + &.has-rating { + margin-bottom: 10px; + + @include root('.basicCard') { + margin-top: $cardFairguestBadge-offset; + } + } + + span { + color: $white; + display: inline-block; + font-size: $cardFairguestBadge-font-size; + font-weight: $cardFairguestBadge-font-weight; + text-align: center; + line-height: 1; + min-width: 40px; + border-radius: $cardFairguestBadge-border-radius; + padding: $cardFairguestBadge-padding; + } + } + &-titles { &.has-icon-img img { max-width: $icon-img-max-width; @@ -171,10 +196,6 @@ } &.basicCard { - .card-link { - display: flex; - flex-direction: column; - } .card-section { display: flex; @@ -410,6 +431,33 @@ } } } + + &.skeleton-card { + &::before { + position: absolute; + content: ''; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; + background-color: #e2e5e7; + background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent); + background-repeat: no-repeat; + background-size: 25% 100%; + background-position: left -25% top 0; + animation: skeletonCard 0.75s ease infinite; + transition: 0.25s ease-in-out; + } + + &.card-loaded { + &::before { + pointer-events: none; + opacity: 0; + animation-play-state: paused; + } + } + } } .card.overlayedCard, diff --git a/assets/scss/woody_components/claim_block.scss b/assets/scss/woody_components/claim_block.scss index 9fbcdf3..9d4647a 100644 --- a/assets/scss/woody_components/claim_block.scss +++ b/assets/scss/woody_components/claim_block.scss @@ -20,11 +20,26 @@ right: 50%; transform: translateX(50%) translateY(50%); } + + .claim-wicon { + margin-top: -35px; + margin-bottom: 10px; + background-color: $white; + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + color: $black; + position: relative; + z-index: 2; + } } .claim { &-titles { - @include xy-gutters($gutter-type: padding, $gutter-position:top left right); + @include xy-gutters($gutter-type: padding, $gutter-position: top left right); } &-pretitle, @@ -47,25 +62,51 @@ @extend .h6 !optional; } - &-wicon { - margin-top: -35px; - margin-bottom: 10px; - background-color: $white; - width: 40px; - height: 40px; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - color: $black; - position: relative; - z-index: 2; - } + &-wicon {} &-button { @include xy-gutters($gutter-position: top left right); display: flex; - justify-content: center; + justify-content: center; + } + + //Claim in Section TPL 05 + &-section.bottomleftbox { + transform: translateX(0%) translateY(0%) translateZ(0); + width: 25%; + height: calc(100% / 3 * 2); + justify-content: center; + @include positionInDiv (bottom, $claimOffset, left); + + @include breakpoint(medium) { + padding: $global-padding; + } + + @include breakpoint(large down) { + width: 85%; + max-height: 70%; + @include positionInDiv (bottom, $mobileClaimOffset, left); + } + + &+.claim-button { + @include positionInDiv (bottom, $claimOffset, left); + + @include breakpoint(large down) { + @include positionInDiv (bottom, $mobileClaimOffset, left); + } + } + } + } + + // Tpl_07 (symétrie du tpl_06) + &.tpl_07 { + + .textsWrapper { + order: 1; + } + + .imageWrapper { + order: 2; } } @@ -105,7 +146,7 @@ body.fullScrolled { .woody-component-claims-block { transform: translateY(-50px); // To stay above cookie consent banner } - + .claim-content { @include breakpoint(large down) { font-size: 14px; diff --git a/assets/scss/woody_components/events_hawwwai.scss b/assets/scss/woody_components/events_hawwwai.scss new file mode 100644 index 0000000..2659e3e --- /dev/null +++ b/assets/scss/woody_components/events_hawwwai.scss @@ -0,0 +1,16 @@ +.woody-component-events { + .card { + &-tripInfos-wrapper { + right: 0; + } + } + .events { + &-item { + border-left: $events-hawwwai-border $events-hawwwai-border-color; + @include breakpoint(large down) { + border-left: none; + border-bottom: $events-hawwwai-border $events-hawwwai-border-color; + } + } + } +} diff --git a/assets/scss/woody_components/feature.scss b/assets/scss/woody_components/feature.scss index 830d45c..d5efde7 100644 --- a/assets/scss/woody_components/feature.scss +++ b/assets/scss/woody_components/feature.scss @@ -21,6 +21,13 @@ @extend h6 !optional; } } + + // Fix equalizer when visualModifier + .grid-x>.cell { + &>.visualModifier { + height: 100%; + } + } } .woody-component-feature { @@ -71,6 +78,15 @@ display: flex; flex-direction: column; } + + .feature-button { + //permet d'aligner le bouton aux textes (icone + textes alignement horizontal) + margin-left: calc(#{$feature-icon-size}px + #{map-get($grid-margin-gutters, small)} - 2px); + + @include breakpoint(medium) { + margin-left: calc(#{$feature-icon-size}px + #{map-get($grid-margin-gutters, medium)} - 2px); + } + } } } diff --git a/assets/scss/woody_components/focus.scss b/assets/scss/woody_components/focus.scss index a3718a4..6782c83 100644 --- a/assets/scss/woody_components/focus.scss +++ b/assets/scss/woody_components/focus.scss @@ -192,6 +192,19 @@ } } + &.tpl_155 { + + .card-section { + padding-right: 90px; + } + } + + &.remove-duplicated-margin { + .woody-component-button.padd-top-sm { + padding: unset; + } + } + &.tpl_502, &.tpl_503, &.tpl_605, @@ -344,20 +357,33 @@ &.tpl_323, &.tpl_319, &.tpl_326 { + .focus-header { - padding: $global-padding * 3; + padding: $global-padding * 2; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + @include breakpoint(xlarge) { - padding-right: $global-padding * 6; + padding-right: calc(39% + #{$global-padding} * 2 ); // C'est un peu arbitraire mais ça marche + } + + .focus-buttons { + padding-left: 0; + padding-right: 0; } } .woody-component-basic-swiper { - transform: translateY(-$swiper-offset-size); + transform: translateY(calc(-(100% / 3) / 2)); // calc(1/3 du swiper / 2 pour arriver à la moitié de la première card) + padding-top: $global-padding * 2; + padding-bottom: $global-padding * 2; @include breakpoint(xlarge) { - transform: translateX(-$swiper-offset-size) translateY(0); - width: calc(100% + #{$swiper-offset-size}); + transform: translateX(calc(-1 * (100% / 3) / 2)) translateY(0); + width: calc(100% + #{calc((100% / 3) / 2)}); } } } @@ -370,11 +396,20 @@ position: static; } + .swiper-container { + padding-top: unset; + } + .swiper-controls { position: absolute; display: flex; - left: calc((100% / 4) - 25px); - top: 25px; + top: unset; + bottom: 10px; + right: 30px; + + @include breakpoint(large down) { + display: none; + } .swiper-nav { position: relative; @@ -431,9 +466,9 @@ @include breakpoint(large) { padding-left: 120px; - .focus-buttons>.flex-container { - justify-content: flex-start; - } + // .focus-buttons>.flex-container { + // justify-content: flex-start; + // } } &.has-bgimg>.content .grid-x>.cell, @@ -540,6 +575,15 @@ } } + &.tpl_360, + &.tpl_361 { + + .card-section { + aspect-ratio: 4/3; + } + + } + &.tpl_502, &.tpl_503 { @@ -596,6 +640,65 @@ } } } + + &.tpl_154 { + + @include breakpoint(xmedium) { + + .controlsAbs { + // Repositionnement des flèches de navigation + + .swiper-container { + padding-top: unset; + } + + .swiper-controls, + .swiper-button-prev, + .swiper-button-next { + bottom: 0; + top: unset; + } + } + + .card-section { + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + } + + .focus-buttons { + padding-left: 0; + padding-right: 0; + + //Fix des marges des boutons suivant leur alignement + .align-right .woody-component-button:last-child { + margin-right: unset; + } + + .align-left .woody-component-button:first-child { + margin-left: unset; + } + + .align-bottom .woody-component-button { + margin-right: unset; + } + + .align-top .woody-component-button { + margin-left: unset; + } + } + } + } + + &.tpl_419 { + @include breakpoint(medium down) { + + .card-section { + flex-flow: column nowrap; + } + } + } } .woody-component-focus-map { @@ -673,13 +776,20 @@ } } - .card-link { + .card-link, + .has-not-card-link { @include breakpoint(xmedium down) { flex-direction: row !important; height: 80px; } } + .has-not-card-link { + @include breakpoint(xmedium down) { + display: flex; + } + } + .card-section { @include breakpoint(xmedium down) { background-color: $white !important; @@ -1025,3 +1135,34 @@ } } } + +//GRID OVERFLOW +.woody-component-focus.tpl { + + &_525, + &_526, + &_527, + &_528, + &_529 { + + .grid-padding-y>.grid-overflow { + // Décalage de la MEA au format carré + transform: translateX(-#{map-get($grid-padding-gutters, small)}); + + @include root('.section-layout-wrapper:not(.grid-container)') { + transform: translate(calc(#{map-get($grid-padding-gutters, medium)} * -2), calc(#{map-get($grid-padding-gutters, small)})); + } + + @include root('.section-layout-wrapper.grid-large-container') { + transform: translate(calc(#{map-get($grid-padding-gutters, small)} * -2), calc(#{map-get($grid-padding-gutters, small)} / 2)); + } + } + + .grid-overflow { + // Fix du décalage de la MEA au format carré quand les paddings sont désactivés + transform: translate(calc(-#{map-get($grid-padding-gutters, medium)} * 2), -18px); + } + + } + +} \ No newline at end of file diff --git a/assets/scss/woody_components/geomap.scss b/assets/scss/woody_components/geomap.scss index d00fcb9..a8fc3e9 100644 --- a/assets/scss/woody_components/geomap.scss +++ b/assets/scss/woody_components/geomap.scss @@ -3,6 +3,10 @@ .leaflet-popup { bottom: -10px !important; padding: 70px; + @include breakpoint(medium down) { + bottom: 75px !important; //leaflet popup display whole card + left: -245px !important; //leaflet popup display next to map controls + } } } @@ -20,6 +24,12 @@ transition: color .3s; } + &-section { + @include breakpoint(medium down) { //map translate 3D on leaflet popup short desc case + min-height: 275px; + } + } + a[target="_blank"].card-link:after { content: none; } @@ -69,29 +79,3 @@ } } -@include breakpoint(small down) { - - .leaflet-pane, - .leaflet-popup { - transform: translate3d(0px, 0px, 0px) !important; - } - - .leaflet-popup { - top: 0; - left: 0 !important; - width: 95vw; - - &-content { - width: 90% !important; - } - } - - .woody-component-geomap .leaflet-popup-pane .leaflet-popup { - padding: 0rem; - } - - .woody-component-geomap .leaflet-container a.leaflet-popup-close-button { - top: 5px; - right: 5px; - } -} diff --git a/assets/scss/woody_components/hero.scss b/assets/scss/woody_components/hero.scss index 1a99a5a..7a4ab14 100644 --- a/assets/scss/woody_components/hero.scss +++ b/assets/scss/woody_components/hero.scss @@ -57,7 +57,7 @@ body:not(.no-page-header) { .heroMediaWrapper .videoObject-video, .heroMediaWrapper.videoObject { - height: 100%; + height: 100% !important; } } @@ -71,6 +71,10 @@ body:not(.no-page-header) { } } + .imageObject { + height: 100%; + } + .tagslist { top: $hero-tagslist-top; bottom: $hero-tagslist-bottom; @@ -529,7 +533,7 @@ body:not(.no-page-header) { .more { color: $white; background-color: rgba($black, .7); - font-size: rem-calc(32); + font-size: rem-calc(16); pointer-events: none; } } @@ -540,4 +544,49 @@ body:not(.no-page-header) { left: $hero-more-imgs-col-left; bottom: $hero-more-imgs-col-bottom; width: $hero-more-imgs-col-width; + grid-gap: $hero-more-imgs-grid-gap; +} + +.mozaic-hero { + + .backgroundMedia, + .imageObject { + height: 100%; + } + + .hero-more-imgs { + bottom: 0px; + right: 15px; + height: 70px; + } +} + +.woody-component-hero.tpl_17>.grid-container { + @include breakpoint(xmedium down) { + padding: 20px; + + >.grid-x { + flex-direction: column-reverse; + grid-gap: 15px; + } + + .toggle-hero-more-imgs { + top: 30px; + right: 15px; + } + } + + @include breakpoint(xmedium) { + + .heroPlyr-wrapper, + .heroPlyr-wrapper iframe, + .videoObject, + .videoObject-video { + height: 100%; + } + } +} + +.woody-component-hero.tpl_17 .videoObject { + position: relative; } diff --git a/assets/scss/woody_components/page_teaser.scss b/assets/scss/woody_components/page_teaser.scss index 05289c0..e787c14 100644 --- a/assets/scss/woody_components/page_teaser.scss +++ b/assets/scss/woody_components/page_teaser.scss @@ -88,8 +88,13 @@ opacity: 0; } - .pageTeaserMedia:hover .imageObject-caption { - opacity: 1; + &.has-bgimg, + .pageTeaserMedia { + &:hover { + .imageObject-caption { + opacity: 1; + } + } } .shares-wrapper { @@ -209,7 +214,14 @@ } @include breakpoint(xmedium) { - height: calc(100vw / 3); + min-height: calc(100vw / 3); + } + + + .woody-component-breadcrumb { + @include breakpoint(medium down) { + padding: 15px 30px !important; + } } >.grid-container { @@ -220,26 +232,12 @@ } @include breakpoint(xmedium up) { - height: calc(100vw / 3); - position: absolute; - left: 50%; - bottom: 0; - transform: translateX(-50%); padding-bottom: 60px; - overflow: hidden; } .grid-x { margin-top: auto; } - - .woody-component-breadcrumb { - @include breakpoint(medium down) { - position: absolute; - top: 0; - left: 30px; - } - } } .profile-wrapper { diff --git a/assets/scss/woody_components/tabs.scss b/assets/scss/woody_components/tabs.scss index 75170c3..da34f63 100644 --- a/assets/scss/woody_components/tabs.scss +++ b/assets/scss/woody_components/tabs.scss @@ -2,9 +2,19 @@ @include tabs-title; } +// Evite le prev slide non-visible de dépasser sur le slide actif +.swiper-slide-prev:not(.swiper-slide-visible) { + transform: translateX(-1px); +} + +// Evite le next slide non-visible de dépasser sur le slide actif +.swiper-slide-next:not(.swiper-slide-visible) { + transform: translateX(1px); +} + .tabs-dlink-title, .tabs-title { - >.tab-link { + > .tab-link { display: flex; flex-direction: column; align-items: center; @@ -41,7 +51,6 @@ @include breakpoint(large) { margin-top: 10px; } - } } } @@ -79,13 +88,13 @@ } } - >li:nth-of-type(1) { + > li:nth-of-type(1) { .tab-link:before { display: none; } } - >li:nth-last-of-type(1) { + > li:nth-last-of-type(1) { .tab-link:after { display: none; } @@ -93,7 +102,7 @@ } .tabs-rail-bottom { - .tabs-title>.tab-link { + .tabs-title > .tab-link { color: $tabs-rail-color; } @@ -150,7 +159,7 @@ .tabs-title { @include padding(0, 0.25, 0, 0.25); - >.tab-link { + > .tab-link { flex-direction: row; } } @@ -184,7 +193,7 @@ &:not(:last-child) { a { &:before { - content: ''; + content: ""; position: absolute; top: 0; right: 0; @@ -196,7 +205,6 @@ } } } - } .is-active { @@ -213,7 +221,6 @@ } .tabs-swiper { - .swiper-container { padding: 0 50px !important; } @@ -227,9 +234,9 @@ } .tabs-button { - grid-gap: calc(#{map-get($grid-column-gutter, 'medium')} / 2); + grid-gap: calc(#{map-get($grid-column-gutter, "medium")} / 2); - .tabs-title>.tab-link { + .tabs-title > .tab-link { flex-direction: row; grid-gap: 5px; } @@ -242,32 +249,32 @@ .tabs-title.is-active a { background-color: $primary-color; border-color: $primary-color; - color: $white !important; + color: $white !important; @include root-bg(primary) { - background-color: $white !important; + background-color: $white !important; border-color: $white; - color: $primary-color !important; + color: $primary-color !important; } @include root-bg(secondary) { - background-color: $white !important; + background-color: $white !important; border-color: $white; - color: $primary-color !important; + color: $primary-color !important; } @include root-bg($dark-list) { - background-color: $white !important; + background-color: $white !important; border-color: $white; - color: $primary-color !important; + color: $primary-color !important; } } } } .woody-component-tabs { - @include breakpoint (large) { - &.tpl_05 { + @include breakpoint(large) { + &.tpl_vertical { display: flex; flex-direction: row; @@ -281,6 +288,15 @@ .tabs-vertical { flex-direction: column; + + .tab-link { + flex-direction: row; + } + } + } + + &.tpl_05 { + .tabs-vertical { align-items: stretch; .tabs-title:not(:first-child) { @@ -289,7 +305,7 @@ &:after { content: ""; position: absolute; - bottom:calc(100% - (#{$tabs-vertical-separator-height} / 2)); + bottom: calc(100% - (#{$tabs-vertical-separator-height} / 2)); left: $tabs-vertical-separator-left-position; height: $tabs-vertical-separator-height; width: $tabs-vertical-separator-width; @@ -298,8 +314,6 @@ } .tab-link { - flex-direction: row; - .wicon { margin-bottom: 0px; margin-right: 10px; @@ -312,24 +326,24 @@ // Classes for aligning blocks vertically in grids .tabs-alignment { &-align-middle { - &>.grid-x { + & > .grid-x { align-items: center; } } &-align-bottom { - &>.grid-x { + & > .grid-x { align-items: flex-end; } } &-align-stretch { - &>.grid-x { + & > .grid-x { align-items: stretch; } - .cell>.woody-component, - .woodyGallery>.woody-component-basic-swiper>.woody-component { + .cell > .woody-component, + .woodyGallery > .woody-component-basic-swiper > .woody-component { height: 100%; } } @@ -342,8 +356,6 @@ } } - - //RESPONSIVE -> SELECT .woody-component-tabs { @@ -385,7 +397,7 @@ } } - &>li { + & > li { z-index: -1; width: calc(100% + 4px); display: flex; @@ -464,7 +476,6 @@ .swiper-button-next, .swiper-button-prev { &.tooltip-visible { - .slide-tooltip-next, .slide-tooltip-prev { opacity: 1; @@ -488,12 +499,12 @@ top: 50%; transform: translateY(-50%); color: $black; - box-shadow: 0px 4px 4px rgba(0, 0, 0, .2); + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.2); .wicon { font-size: rem-calc(15); margin-right: 5px; - color: $black !important; + color: $black !important; } } @@ -503,4 +514,15 @@ .slide-tooltip-next { right: $tooltip-x-offset; -} \ No newline at end of file +} + +// Fix z-index on Safari +@include breakpoint(medium down) { + .woody-component-tabs .tabs-wrapper ul.tabs > li { + z-index: 0; + + &.is-active { + z-index: -1; + } + } +} diff --git a/composer.json b/composer.json index 8f1563d..fff3f56 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "woody-wordpress-pro/woody-library", "type": "wordpress-vendor", - "version": "1.37.0", + "version": "1.43.15", "description": "Catalogue of block and section templates for the Woody builder.", "license": "GPL-2.0", "authors": [ @@ -15,7 +15,7 @@ } ], "require": { - "php": "^7.3", + "php": "^7.3|^8.0", "symfony/finder": "^5.1", "twig/twig": "^1.0" }, diff --git a/rector.php b/rector.php new file mode 100644 index 0000000..167f8a0 --- /dev/null +++ b/rector.php @@ -0,0 +1,44 @@ +paths([ + __DIR__ + ]); + + // is there a file you need to skip? + $rectorConfig->skip([ + __DIR__ . '/node_modules', + __DIR__ . '/dist', + CallableThisArrayToAnonymousFunctionRector::class, + RenameForeachValueVariableToMatchExprVariableRector::class, // Foreach single var + ArrayThisCallToThisMethodCallRector::class, // Transform add_action + add_filter + RemoveUnusedPromotedPropertyRector::class, // Rule PHP8.0 + RemoveFinalFromConstRector::class, // Rule PHP8.1 + ]); + + // define sets of rules + $rectorConfig->sets([ + LevelSetList::UP_TO_PHP_74, + SetList::CODE_QUALITY, + SetList::DEAD_CODE, + SetList::CODING_STYLE, + SetList::NAMING, + + // PHP 8 Migration + // LevelSetList::UP_TO_PHP_81, + // SetList::TYPE_DECLARATION, + ]); +}; diff --git a/views/_objects/bgParamsObject.twig b/views/_objects/bgParamsObject.twig index c65edba..a1e510a 100644 --- a/views/_objects/bgParamsObject.twig +++ b/views/_objects/bgParamsObject.twig @@ -1,5 +1,4 @@ {% extends '_objects/visualModifier.twig' %} - {% block content %} {% if no_padding == 0 %} {% set spaceBetween = 30 %} @@ -7,6 +6,8 @@ {% set spaceBetween = 0 %} {% endif %} + {% block woodyComponentBeforeContent %}{% endblock %} + {% set component_classes = [ 'woody-component', 'woody-component-' ~ block('woodyBlockType'), @@ -32,17 +33,17 @@ {% endif %} {% if alert %} -
+

{{ alert|default }}

{% endif %} + {% block woodyComponentContent %}{% endblock %} {% if display.background_img %}
{% endif %} - {% endblock %} diff --git a/views/_objects/buttonBlock.twig b/views/_objects/buttonBlock.twig index 4f86251..51f6bd6 100644 --- a/views/_objects/buttonBlock.twig +++ b/views/_objects/buttonBlock.twig @@ -6,22 +6,29 @@ {% endif %} {% if block_buttons.links or attribute(_context, block_button_prefix ~ '_phone') %}
+ {% if block_buttons.alignement == 'horizontal' %} - {% if layout == 'centered' %} - {% set list_classes = 'align-center align-top wrap' %} + {% if block_buttons.justify == 'left' %} + {% set list_classes = 'align-left align-middle wrap grid-gap-sm' %} + {% elseif block_buttons.justify == 'right' %} + {% set list_classes = 'align-right align-middle wrap grid-gap-sm' %} {% else %} - {% set list_classes = 'align-left align-top wrap' %} + {% set list_classes = 'align-center align-middle wrap grid-gap-sm' %} {% endif %} + {% elseif block_buttons.alignement == 'vertical' %} - {% if layout == 'centered' %} - {% set list_classes = 'flex-dir-column align-center align-middle' %} + {% if block_buttons.justify == 'left' %} + {% set list_classes = 'flex-dir-column align-center align-top wrap grid-gap-sm' %} + {% elseif block_buttons.justify == 'right' %} + {% set list_classes = 'flex-dir-column align-center align-bottom wrap grid-gap-sm' %} {% else %} - {% set list_classes = 'flex-dir-column align-left align-top' %} + {% set list_classes = 'flex-dir-column align-center align-middle wrap grid-gap-sm' %} {% endif %} {% endif %} + {% block block_link %} {% if block_buttons.links|default %} -
    +
      {% for button in block_buttons.links %}
    • {% include '_objects/buttonObject.twig' %} diff --git a/views/_objects/buttonMenu.twig b/views/_objects/buttonMenu.twig index d315021..5dda275 100644 --- a/views/_objects/buttonMenu.twig +++ b/views/_objects/buttonMenu.twig @@ -1,3 +1,4 @@ +{% spaceless %} {% set datatoggle = 'main-menu' %} {% if is_mobile %} {% set datatoggle = 'mobile-main-menu' %} @@ -6,10 +7,15 @@
      {{ __('Menu', 'woody-theme') }}
      - + {% if menu_burger_custom_html|default %} + {{ menu_burger_custom_html|default }} + {% else %} + + {% endif %} +{% endspaceless %} diff --git a/views/_objects/buttonObject.twig b/views/_objects/buttonObject.twig index de411d8..24bbccd 100644 --- a/views/_objects/buttonObject.twig +++ b/views/_objects/buttonObject.twig @@ -1,6 +1,6 @@ {% spaceless %} {% set random_number = ''|random_number %} -
      +
      {% if button.button_type == 'link' and button.link.url|default %} {% if button.add_modal == true %} {% block button_thumbnail %} @@ -14,17 +14,17 @@
      {% endif %} {% endblock %} - -
      +
      - +
      {% else %} {{ block('button_thumbnail') }} - + {% if button.button_woody_icon|default %} @@ -44,9 +44,9 @@ {% endif %} {% elseif button.button_type == 'file' and button.file.url %} {{ block('button_thumbnail') }} - + {% if button.button_woody_icon|default %} - + {% endif %} {% if button.button_text %} {{ button.button_text }} @@ -57,9 +57,9 @@ {% elseif button.button_type == 'code' and button.widget|default %} {{ block('button_thumbnail') }} -
      {% endif %} +{% endspaceless %} diff --git a/views/_objects/gridObject.twig b/views/_objects/gridObject.twig index fa59b47..b479d75 100644 --- a/views/_objects/gridObject.twig +++ b/views/_objects/gridObject.twig @@ -1,17 +1,19 @@ -{% if is_list %} -
    • -{% endif %} - - {% if menu_part_title|default %} - - {% if menu_part_title_link|default %}{% endif %} - {{ menu_part_title }} - {% if menu_part_title_link|default %}{% endif %} - +{% spaceless %} + {% if is_list %} +
    • {% endif %} - {% block grid_items %}{% endblock %} + {% if menu_part_title|default %} + + {% if menu_part_title_link|default %}{% endif %} + {{ menu_part_title }} + {% if menu_part_title_link|default %}{% endif %} + + {% endif %} + + {% block grid_items %}{% endblock %} -{% if is_list %} -
    • -{% endif %} + {% if is_list %} + + {% endif %} +{% endspaceless %} diff --git a/views/_objects/imageObject.twig b/views/_objects/imageObject.twig index 14f4ac9..dc81346 100644 --- a/views/_objects/imageObject.twig +++ b/views/_objects/imageObject.twig @@ -77,14 +77,14 @@ {% set srcset = "#{ small_size } 360w, #{ medium_size } 640w, #{ original_size } 1200w" %} {% endif %} -
      +
      {% if img.lazy == 'disabled' %} {{ img.alt|default(img.filename) }} {% else %} - {{ img.alt|default(img.filename) }} + {{ img.alt|default(img.filename) }} {% endif %} {% if img.date %} @@ -95,7 +95,7 @@ {% block imageCaption %} {% if img.caption|default or img.attachment_more_data.author|default %} -
- {% endif %} - {% endblock %} - - {% endspaceless %} + {% endif %} + {% endblock %} + + {% endspaceless %} diff --git a/views/_objects/titlesObject_2.twig b/views/_objects/titlesObject_2.twig index d0ca285..6e67f59 100644 --- a/views/_objects/titlesObject_2.twig +++ b/views/_objects/titlesObject_2.twig @@ -1,6 +1,6 @@ {% spaceless %} -
-
+
+
{% if titles.pretitle|default %} {{ titles.pretitle }} {% endif %} @@ -12,7 +12,7 @@ {% endif %} {% endif %} {% if titles.icon_type == 'picto' and titles.woody_icon|default %} - + {% elseif titles.icon_type == 'img' and titles.icon_img %} {{ titles.icon_img.alt }} {% endif %} diff --git a/views/_objects/titlesObject_3.twig b/views/_objects/titlesObject_3.twig index 5d1085a..b3418c8 100644 --- a/views/_objects/titlesObject_3.twig +++ b/views/_objects/titlesObject_3.twig @@ -1,12 +1,11 @@ {% spaceless %} -
- +
+ {{ block("fairguestGrade", "_objects/titlesObject.twig") }} {{ block("cardIcon", "_objects/titlesObject.twig") }} {{ block("cardDates", "_objects/titlesObject.twig") }} {{ block("sheetLength", "_objects/titlesObject.twig") }} {{ block("sheetLocomotions", "_objects/titlesObject.twig") }} {{ block("cardTitles", "_objects/titlesObject.twig") }} - {% if titles.the_price.price|default or titles.the_duration.count_days|default or title.the_length.length %}
{{ block("cardPrice", "_objects/titlesObject.twig") }} @@ -14,6 +13,5 @@ {{ block("cardLength", "_objects/titlesObject.twig") }}
{% endif %} -
{% endspaceless %} diff --git a/views/_objects/titlesObject_4.twig b/views/_objects/titlesObject_4.twig index 60d4be0..715068c 100644 --- a/views/_objects/titlesObject_4.twig +++ b/views/_objects/titlesObject_4.twig @@ -1,8 +1,9 @@ {% spaceless %} {% set cardPriceClasses = 'priceTag flex-container flex-dir-column align-center align-middle' %} -
+
+ {{ block("fairguestGrade", "_objects/titlesObject.twig") }} {{ block("cardIcon", "_objects/titlesObject.twig") }} {{ block("cardDates", "_objects/titlesObject.twig") }} {{ block("sheetLocomotions", "_objects/titlesObject.twig") }} diff --git a/views/_objects/titlesObject_5.twig b/views/_objects/titlesObject_5.twig index cdc14d5..30ec399 100644 --- a/views/_objects/titlesObject_5.twig +++ b/views/_objects/titlesObject_5.twig @@ -1,7 +1,7 @@ {% spaceless %} {% set cardDatesClasses = 'grid-y align-center align-middle' %} -
+
{{ block("cardDates", "_objects/titlesObject.twig") }} {{ block("sheetLength", "_objects/titlesObject.twig") }} {% if titles.the_price.price or titles.the_duration.count_days or titles.the_duration.count_hours or titles.the_duration.count_minutes or title.the_length.length %} @@ -13,15 +13,15 @@ {% endif %}
-
+
{% if titles.icon_type == 'picto' and titles.woody_icon|default %} - + {% elseif titles.icon_type == 'img' and titles.icon_img %} {{ titles.icon_img.alt }} {% endif %} {% if titles.pretitle|default or titles.title|default or titles.subtitle|default or titles.sheet_type or titles.sheet_rating|default or titles.description|default or titles.sheet_town|default %} -
+
{% if titles.pretitle|default %} {{ titles.pretitle }} {% endif %} diff --git a/views/_objects/videoObject.twig b/views/_objects/videoObject.twig index 6925b60..b32db6d 100644 --- a/views/_objects/videoObject.twig +++ b/views/_objects/videoObject.twig @@ -1,11 +1,11 @@ {% spaceless %} -
+
{% if movie.movie_poster_file.title|default %} {{ movie.movie_poster_file.title }} {% endif %} {% if movie.mp4_movie_file or movie.movie_ogg_file or movie.movie_webm_file %} -
+{% endblock %} +{% block closeClaim %}{% endblock %} diff --git a/views/blocks/custom_text/tpl_01/tpl.twig b/views/blocks/custom_text/tpl_01/tpl.twig index bc86ac7..9d228df 100644 --- a/views/blocks/custom_text/tpl_01/tpl.twig +++ b/views/blocks/custom_text/tpl_01/tpl.twig @@ -3,17 +3,16 @@ {% block indexClass %}{{ customIndexClass|default('01') }}{% endblock %} {% set customClasses = show_more_button ? 'has-show-more-button' : '' %} {% block woodyComponentContent %} - {% include '_objects/genericBlocTitles.twig' with { - display: display_block_titles|default(), - margin: block_titles_margin|default('marg-bottom-md') - } %}
+ {% include '_objects/genericBlocTitles.twig' with { + display: display_block_titles|default(), + margin: block_titles_margin|default('marg-bottom-md') + } %} {{ text|default }} + {% include '_objects/buttonBlock.twig' with { + block_buttons: block_titles.generic_buttons + } %}
- {% include '_objects/buttonBlock.twig' with { - block_buttons: block_titles.generic_buttons, - layout: 'centered' - } %} {% endblock %} diff --git a/views/blocks/custom_text/tpl_02/thumbnail.png b/views/blocks/custom_text/tpl_02/thumbnail.png index a9068ae651fff15140c9aff85898c08468b329f8..0ad6fabf3e66d7db1d7ae56faa2d92fc228f5ebc 100644 GIT binary patch literal 5260 zcmeHLX;2f{8co_{3;|6Dn+Rw>0gZzwh_Wa`kD?G{6D?6$-2fMMC2T@^KoJ#fMG+s1 z5f@Ze5tU6qMF}FH@MMwQpmAXp6jYY?wd0>x_3Bm4k5@B4NL4DgZ{OU$=X~d!dy^PD z8}k{=*-Q$BGJ|JfW>29|3G&VO1$qRf`p@8l7O9VITzcDd z{pA}Kf9dp#I%X|A>wGl1Y_Zw3hS%lf%&zDw4*` zQxM%UZZD09_)zQ;LB$)hUA0b2=ND?=nbL5ph~Gbx#bP;*sNE`6TH>PGUL35qWAhpg zN~k~IjPm(>Bj(DB-5)-D@C^+u3ZSHasH*12XsH<+E_C7Ul4AO&dOmGxQ# zZ_kBu*bxCzDY|rsNw1rOQyC}Z>`?K%qGx5y?xk5-mTpxDb63^-lpIJAB>p@H9k9l5 zLq-Qp{%9lw$_<3sz3JABl8NTq9?|!FI=p>7?wSe8H0iIH<&jb6PkheX7fK8)TarB= z>ny??@lkGElKQ*LR{ps+S6w*7Y)5I2MXn0|l?Oyb?KcgB)E8 zR_ZKM?_Vv<#Mbb zUEQpJKL9>_gFN|T{#)20sCn>(1Pk178f_heOUUXf*V&>q6x^6fKXX1NCY&AgrKh>8x8qnEgrWE45VDm#5}N$thCCtX!~Solqlf7saQ ztrfQq(in?020p#1I-J$LG*sRW4Yg`Zks7lFV=*N_f532trj8Sa%dm2S!{~LYf)=@V zFe>@mP=6-&*28l;?J2^%V&&20iZIJ{(VU&&3GskZQ-~uTq|%SPFQDOiwBpzi8RPY( zQh5rD2=XA1pe@AQB_1Kr&V%CXhZvBQ@2Aq2t~9NO!+{Wdo%fN`T}2xd3W$_28+ z9%{U>a^fSGn2@o;+#KL?r60_GZ_r!9ZkEE+m;iF)RrlhoOw4^C;S8*jHUY;OLlsyW zY6nT6sec?=7<5hhGhIJq9seoUlTKw7WeR!}6WP$!F+DeC=ytR9Xnt(;``3A7O+3y^jBS4f@Q(icLlhQX7z0d$&7i!-Q1f~}UkHjk4p)Uq!EjGjO zDBAWDi@;UqqW3H%L$W1Ej}>)e=5!zNK_4#?pre7Z5vR#zxKY9*N-9LMl=~rX`<0vi@9pditZ@-b`drPPC-< zm=Zjo1UrDM8ij9O7LIJ46y~c#LBk;qrqx7s;4+NLqqIOS+ZmluY8a8bfd!5l)W=K7 zfO3g|@R&ZY;%PSVvQq4(VpwI;kbZl0+Kxz2)GQRT$~^HyWYjdLSPRfiwRE1M=*0)S@m7W zC3?cF%+cS_LhK}FQgdIDz$NDJ`IuI}C zCXe4m2Gjl9-xj~b0IiM%)X)_vzvhA(S|M1JkErCABF)&*yO z2-xo!d<+LXXiky<*;-R~j%;ed29lod6%RaAL1MjGqZ1gs;H^jcil<-y5-Ow=Uv0!7zL`8E_Q^rmHM$LrmMAYQgEn zmV_>2Qqwl#l`+!zAQ^t3uEp@A)R)8COz~w8inOW7N+5P|LpqBSqT)08K$i+--X={mg%8Fv1v@n0ww@8$ z1q^GICc;+dmL)(gBqmn^u;&nx+rG9X0fYdMcWaN84JcqUm0tI>|1Hd&pasXcmlEu) ze-A zzh3GfE5i!z)*rGVLgGI%SsQf6*_iPfppzD_h0x*v=1#*6pw_uXKIn(^yLvt70PM*nx0Sz|ANQ0)Xq@h|!7-EM2i?NTo?hFi5g z2X3HIwo&A#f@9CmUij|`amlX8$tNfMM%X{o^dip>mp(O+$cqcVPwLKIz`YBC&dlO^ z@zJiajvwX^yK`q|rCs>X1+gBLtk-_gv~N$vn_J6DH&xv7a?q_#zlvv%)hGy4#y{+75p+pX{a>?t*>zu;TkcXu(&?giN|UYss} zy(!f2_wu!cynKJ%=H=91v6|^ylf?5kdz#A0Z>C>7Uhq#^R(?TwVZBfG=Ne91p{hzt z-%Zl0Ujkk{J_)o2QDZ0b+%&Y~oO&!g%oAR!G5t|cj zR@wrK1*7a)$CC}Rs~S@0Y*u@b=6m5RROzp_)E$VJGRm%!K7Vx0OU>mdW=)zLy=|54 zFAW9-76yhZ_8)8Y8>_WL7$B)F&JQ!G+je85^L*vM)-n^nT;E`alws(WOOW$2iI&zi XG^HQkAm=$3RD5{4`njxgN@xNA!S)J^ diff --git a/views/blocks/custom_text/tpl_02/tpl.twig b/views/blocks/custom_text/tpl_02/tpl.twig index 9e31d18..2032e68 100644 --- a/views/blocks/custom_text/tpl_02/tpl.twig +++ b/views/blocks/custom_text/tpl_02/tpl.twig @@ -3,17 +3,18 @@ {% block indexClass %}{{ customIndexClass|default('02') }}{% endblock %} {% set customClasses = show_more_button ? 'has-show-more-button' : '' %} {% block woodyComponentContent %} - {% include '_objects/genericBlocTitles.twig' with { - display: display_block_titles|default(), - margin: block_titles_margin|default('marg-bottom-md'), - flex_options: flex_options|default("flex-container flex-dir-column align-center") - } %} +
+ {% include '_objects/genericBlocTitles.twig' with { + display: display_block_titles|default(), + margin: block_titles_margin|default('marg-bottom-md'), + flex_options: flex_options|default("flex-container flex-dir-column align-center text-left") + } %} {{ text|default }} + {% include '_objects/buttonBlock.twig' with { + block_buttons: block_titles.generic_buttons + } %}
- {% include '_objects/buttonBlock.twig' with { - block_buttons: block_titles.generic_buttons, - } %} {% endblock %} diff --git a/views/blocks/feature/tpl_01/conf.json b/views/blocks/feature/tpl_01/conf.json index e9c7382..ca0acb4 100644 --- a/views/blocks/feature/tpl_01/conf.json +++ b/views/blocks/feature/tpl_01/conf.json @@ -3,6 +3,7 @@ "name": "Template 01", "description": "Icone avec textes centrés en-dessous (pretitre, titre, sous-titre, description)", "lib_type": "lite", + "lib_design": "OK", "acf_groups": [ "group_5b0ec29dbd905" ], diff --git a/views/blocks/feature/tpl_04/conf.json b/views/blocks/feature/tpl_04/conf.json index 20c535f..dc75bbc 100644 --- a/views/blocks/feature/tpl_04/conf.json +++ b/views/blocks/feature/tpl_04/conf.json @@ -3,6 +3,7 @@ "name": "Template 04", "description": "Icone avec textes alignés à gauche en-dessous (pretitre, titre, sous-titre, description)", "lib_type": "lite", + "lib_design": "OK", "acf_groups": [ "group_5b0ec29dbd905" ], diff --git a/views/blocks/feature_v2/_objects/featureFooterObject.twig b/views/blocks/feature_v2/_objects/featureFooterObject.twig index bf586a8..a18b07e 100644 --- a/views/blocks/feature_v2/_objects/featureFooterObject.twig +++ b/views/blocks/feature_v2/_objects/featureFooterObject.twig @@ -5,7 +5,7 @@ {% elseif feature_buttons.alignement == 'vertical' %} {% set list_classes = 'flex-dir-column align-center align-middle' %} {% endif %} -