@iris.interactive/handcook 2.6.13 → 2.6.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Welcome to HandCook 👨‍🍳
2
- ![Version](https://img.shields.io/badge/version-2.6.3-blue.svg?cacheSeconds=2592000)
2
+ ![Version](https://img.shields.io/badge/version-2.6.16-blue.svg?cacheSeconds=2592000)
3
3
  ![Prerequisite](https://img.shields.io/badge/node-%3E%3D%2012.14.0-blue.svg)
4
4
  [![License: UNLICENSED](https://img.shields.io/badge/License-UNLICENSED-yellow.svg)](#)
5
5
  [![Twitter: captain\_iris](https://img.shields.io/twitter/follow/captain\_iris.svg?style=social)](https://twitter.com/captain\_iris)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iris.interactive/handcook",
3
- "version": "2.6.13",
3
+ "version": "2.6.16",
4
4
  "description": "The web cooking by IRIS Interactive",
5
5
  "main": "./public/scripts/index.js",
6
6
  "scripts": {
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@fancyapps/ui": "^4.0.22",
37
37
  "bootstrap": "^5.1.3",
38
- "swiper": "^8.0.6",
38
+ "swiper": "8.0.6",
39
39
  "tippy.js": "^6.3.7",
40
40
  "vanilla-lazyload": "^17.6.1"
41
41
  }
package/public/index.html CHANGED
@@ -375,6 +375,26 @@
375
375
  <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
376
376
  </div>
377
377
  </div>
378
+ <div style="position: relative">
379
+ <div data-hc-slider data-hc-slider-arrows data-hc-slider-arrow-prev=".button-prev-test">
380
+ <div>
381
+ <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
382
+ </div>
383
+ <div>
384
+ <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
385
+ </div>
386
+ <div>
387
+ <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
388
+ </div>
389
+ <div>
390
+ <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
391
+ </div>
392
+ <div>
393
+ <img data-hc-src="https://via.placeholder.com/500x250" alt="" width="500" height="250">
394
+ </div>
395
+ </div>
396
+ <a href="#" class="button-prev-test">Bouton precedent de test</a>
397
+ </div>
378
398
  </div>
379
399
  </div>
380
400
  </article>
@@ -46,13 +46,24 @@ export class HcCollapse {
46
46
  });
47
47
  });
48
48
  document.querySelectorAll('[data-hc-collapse]').forEach(trigger => {
49
+ const triggerEls = document.querySelectorAll(`[data-hc-collapse-trigger="${trigger.getAttribute('id')}"]`);
49
50
  trigger.addEventListener('hide.bs.collapse', (e) => {
51
+ triggerEls.forEach(triggerEl => {
52
+ if (triggerEl.classList.contains('active')) {
53
+ triggerEl.classList.remove('active');
54
+ }
55
+ });
50
56
  trigger.dispatchEvent(this.hideEvent);
51
57
  });
52
58
  trigger.addEventListener('hidden.bs.collapse', (e) => {
53
59
  trigger.dispatchEvent(this.hiddenEvent);
54
60
  });
55
61
  trigger.addEventListener('show.bs.collapse', (e) => {
62
+ triggerEls.forEach(triggerEl => {
63
+ if (!triggerEl.classList.contains('active')) {
64
+ triggerEl.classList.add('active');
65
+ }
66
+ });
56
67
  trigger.dispatchEvent(this.showEvent);
57
68
  });
58
69
  trigger.addEventListener('shown.bs.collapse', (e) => {
@@ -73,4 +84,4 @@ export class HcCollapse {
73
84
  const hc_collapse = function (trigger) {
74
85
  return new HcCollapse(trigger);
75
86
  };
76
- export default hc_collapse;
87
+ export default hc_collapse;
@@ -27,23 +27,19 @@ export class HcModal {
27
27
  constructor(elements = ElementEnum.modal, overrideOptions = {}) {
28
28
  this.createEvent();
29
29
  document.querySelectorAll(elements).forEach(element => {
30
- Fancybox.bind(element);
31
- element.addEventListener('click', (e) => {
32
- e.preventDefault();
33
- this.initOptions();
34
- Object.assign(this.options, overrideOptions);
35
- this.options.src = this.options.src != '' ? this.options.src : (e.currentTarget.hasAttribute('href') ? e.currentTarget.getAttribute('href') : (e.currentTarget.hasAttribute('data-hc-src') ? e.currentTarget.dataset.hcSrc : ''));
36
- this.options.parentEl = this.options.parentEl !== null ? document.querySelector(this.options.parentEl) : (e.currentTarget.hasAttribute('data-hc-modal-parent') ? document.querySelector(e.currentTarget.getAttribute('data-hc-modal-parent')) : '');
37
- Fancybox.show([this.options], {
38
- on: {
39
- reveal: () => {
40
- document.dispatchEvent(this.showEvent);
41
- },
42
- closing: () => {
43
- document.dispatchEvent(this.hideEvent);
44
- }
30
+ this.initOptions();
31
+ Object.assign(this.options, overrideOptions);
32
+ this.options.src = this.options.src != '' ? this.options.src : (element.hasAttribute('href') ? element.getAttribute('href') : (element.hasAttribute('data-hc-src') ? element.dataset.hcSrc : ''));
33
+ this.options.parentEl = this.options.parentEl !== null ? document.querySelector(this.options.parentEl) : (element.hasAttribute('data-hc-modal-parent') ? document.querySelector(element.getAttribute('data-hc-modal-parent')) : '');
34
+ Fancybox.bind(elements, this.options, {
35
+ on: {
36
+ reveal: () => {
37
+ document.dispatchEvent(this.showEvent);
38
+ },
39
+ closing: () => {
40
+ document.dispatchEvent(this.hideEvent);
45
41
  }
46
- });
42
+ }
47
43
  });
48
44
  });
49
45
  }
@@ -22,6 +22,19 @@ export class HcSlider {
22
22
  slider;
23
23
  instances = [];
24
24
 
25
+ breakpoints = [{
26
+ name: "medium",
27
+ value: 650
28
+ },
29
+ {
30
+ name: "large",
31
+ value: 1000
32
+ },
33
+ {
34
+ name: "xlarge",
35
+ value: 1453
36
+ }];
37
+
25
38
  // Options
26
39
  options = {};
27
40
 
@@ -54,32 +67,21 @@ export class HcSlider {
54
67
  this.options['slidesPerView'] = parseFloat(slidesPerView);
55
68
  }
56
69
 
57
- const gapMedium = this.slider.getAttribute('data-hc-slider-gap-medium');
58
- const slidesPerViewMedium = this.slider.getAttribute('data-hc-slider-slides-per-view-medium');
59
- if (gapMedium !== null) {
60
- this.options['breakpoints'][650]['spaceBetween'] = parseFloat(gapMedium);
61
- }
62
- if (slidesPerViewMedium !== null) {
63
- this.options['breakpoints'][650]['slidesPerView'] = parseFloat(slidesPerViewMedium);
64
- }
65
-
66
- const gapLarge = this.slider.getAttribute('data-hc-slider-gap-large');
67
- const slidesPerViewLarge = this.slider.getAttribute('data-hc-slider-slides-per-view-large');
68
- if (gapLarge !== null) {
69
- this.options['breakpoints']['1000']['spaceBetween'] = parseFloat(gapLarge);
70
- }
71
- if (slidesPerViewLarge !== null) {
72
- this.options['breakpoints']['1000']['slidesPerView'] = parseFloat(slidesPerViewLarge);
73
- }
74
-
75
- const gapXlarge = this.slider.getAttribute('data-hc-slider-gap-xlarge');
76
- const slidesPerViewXlarge = this.slider.getAttribute('data-hc-slider-slides-per-view-xlarge');
77
- if (gapXlarge !== null) {
78
- this.options['breakpoints']['1453']['spaceBetween'] = parseFloat(gapXlarge);
79
- }
80
- if (slidesPerViewXlarge !== null) {
81
- this.options['breakpoints']['1453']['slidesPerView'] = parseFloat(slidesPerViewXlarge);
82
- }
70
+ let breakpointOptions = {};
71
+ this.breakpoints.forEach(breakpoint => {
72
+ const gap = this.slider.getAttribute(`data-hc-slider-gap-${breakpoint.name}`);
73
+ const slidesPerView = this.slider.getAttribute(`data-hc-slider-slides-per-view-${breakpoint.name}`);
74
+ if (gap !== null || slidesPerView !== null) {
75
+ breakpointOptions[breakpoint.value] = {};
76
+ if (gap !== null) {
77
+ breakpointOptions[breakpoint.value]['spaceBetween'] = parseFloat(gap);
78
+ }
79
+ if (slidesPerView !== null) {
80
+ breakpointOptions[breakpoint.value]['slidesPerView'] = parseFloat(slidesPerView);
81
+ }
82
+ }
83
+ });
84
+ this.options.breakpoints = breakpointOptions;
83
85
 
84
86
  const freeMode = this.slider.getAttribute('data-hc-slider-free-mode');
85
87
  if (freeMode !== null) {
@@ -87,6 +89,29 @@ export class HcSlider {
87
89
  enabled: true
88
90
  }
89
91
  }
92
+
93
+ if (this.slider.hasAttribute('data-hc-slider-pagination')) {
94
+ this.options['pagination'] = {
95
+ el: '.hc-slider-pagination',
96
+ type: 'bullets',
97
+ clickable: true,
98
+ bulletClass: 'hc-slider-pagination-bullet',
99
+ clickableClass: 'hc-slider-pagination-clickable',
100
+ currentClass: 'hc-slider-pagination-current',
101
+ bulletActiveClass: 'hc-slider-pagination-bullet-active'
102
+ };
103
+ }
104
+ if (this.slider.hasAttribute('data-hc-slider-arrows')) {
105
+ const suffix = this.slider.getAttribute('data-hc-slider-arrows');
106
+ const prevElement = this.slider.hasAttribute('data-hc-slider-arrow-prev') ? this.slider.getAttribute('data-hc-slider-arrow-prev') : `.hc-slider-button-prev${suffix}`;
107
+ const nextElement = this.slider.hasAttribute('data-hc-slider-arrow-next') ? this.slider.getAttribute('data-hc-slider-arrow-next') : `.hc-slider-button-next${suffix}`;
108
+ this.options['navigation'] = {
109
+ prevEl: prevElement,
110
+ nextEl: nextElement,
111
+ disabledClass: `hc-slider-button-disabled${suffix}`,
112
+ hiddenClass: `hc-slider-button-hidden${suffix}`
113
+ };
114
+ }
90
115
  }
91
116
 
92
117
  buildDom() {
@@ -107,38 +132,35 @@ export class HcSlider {
107
132
  this.slider.appendChild(wrapperElement);
108
133
 
109
134
  // On ajout les différentes div utile en fonction des options passées
110
- if (this.slider.hasAttribute('data-hc-slider-pagination')) {
111
-
112
- const paginationElement = document.createElement("div");
113
- paginationElement.classList.add("hc-slider-pagination");
114
- this.slider.appendChild(paginationElement);
115
-
116
- this.options['pagination'] = {
117
- el: '.hc-slider-pagination',
118
- type: 'bullets',
119
- clickable: true,
120
- bulletClass: 'hc-slider-pagination-bullet',
121
- clickableClass: 'hc-slider-pagination-clickable',
122
- currentClass: 'hc-slider-pagination-current',
123
- bulletActiveClass: 'hc-slider-pagination-bullet-active'
124
- };
135
+ // et si les elements n'existent pas déjà
136
+ if (this.options.pagination !== false) {
137
+
138
+ const el = this.slider.querySelectorAll(this.options.pagination.el);
139
+ if (el.length === 0) {
140
+ const paginationElement = document.createElement("div");
141
+ paginationElement.classList.add(this.options.pagination.el.substr(1));
142
+ this.slider.appendChild(paginationElement);
143
+ }
125
144
  }
126
- if (this.slider.hasAttribute('data-hc-slider-arrows')) {
127
-
128
- const buttonPrev = document.createElement("div");
129
- buttonPrev.classList.add("hc-slider-button-prev");
130
- this.slider.appendChild(buttonPrev);
131
-
132
- const buttonNext = document.createElement("div");
133
- buttonNext.classList.add("hc-slider-button-next");
134
- this.slider.appendChild(buttonNext);
145
+ if (this.options.navigation !== false) {
146
+
147
+ if (!this.slider.hasAttribute('data-hc-slider-arrow-prev')) {
148
+ const prevEl = this.slider.querySelectorAll(this.options.navigation.prevEl);
149
+ if (prevEl.length === 0) {
150
+ const buttonPrev = document.createElement("div");
151
+ buttonPrev.classList.add(this.options.navigation.prevEl.substr(1));
152
+ this.slider.appendChild(buttonPrev);
153
+ }
154
+ }
135
155
 
136
- this.options['navigation'] = {
137
- nextEl: '.hc-slider-button-next',
138
- prevEl: '.hc-slider-button-prev',
139
- disabledClass: 'hc-slider-button-disabled',
140
- hiddenClass: 'hc-slider-button-hidden',
141
- };
156
+ if (!this.slider.hasAttribute('data-hc-slider-arrow-next')) {
157
+ const nextEl = this.slider.querySelectorAll(this.options.navigation.nextEl);
158
+ if (nextEl.length === 0) {
159
+ const buttonNext = document.createElement("div");
160
+ buttonNext.classList.add(this.options.navigation.nextEl.substr(1));
161
+ this.slider.appendChild(buttonNext);
162
+ }
163
+ }
142
164
  }
143
165
  }
144
166
 
@@ -177,11 +199,7 @@ export class HcSlider {
177
199
  swiper.$el.find('.swiper-slide-prev').addClass('hc-slider-slide-prev');
178
200
  }
179
201
  },
180
- breakpoints: {
181
- 650: {},
182
- 1000: {},
183
- 1453: {},
184
- }
202
+ breakpoints: {}
185
203
  };
186
204
  }
187
205
  }
@@ -12,29 +12,24 @@
12
12
  * @date 28/01/2022 14:27
13
13
  * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
14
14
  */
15
-
16
15
  import ElementEnum from "../../enumerators/element.enum";
17
16
 
18
17
  export class HcSmoothScroll {
19
-
20
18
  constructor(triggerAttribute = ElementEnum.scrollSmooth, durationAnimation = 1000) {
21
-
22
- document.addEventListener('click', (e) => {
23
- if(e.target && e.target.hasAttribute(ElementEnum.scrollSmooth)) {
19
+ document.querySelectorAll(triggerAttribute).forEach(trigger => {
20
+ trigger.addEventListener('click', (e) => {
24
21
  e.preventDefault();
25
- const target = (e.target.getAttribute('href') != '') ? document.querySelector(e.target.getAttribute('href')) : document.querySelector(e.target.dataset.href);
26
- const shift = (e.target.dataset.shift !== undefined) ? e.target.dataset.shift : 0;
22
+ const target = (e.currentTarget.getAttribute('href') != '') ? document.querySelector(e.currentTarget.getAttribute('href')) : document.querySelector(e.currentTarget.dataset.hcSmoothScrollHref);
23
+ const shift = (e.currentTarget.dataset.hcSmoothScrollShift !== undefined) ? e.currentTarget.dataset.hcSmoothScrollShift : 0;
27
24
  const anim = requestAnimationFrame((timestamp) => {
28
25
  const stamp = timestamp || new Date().getTime();
29
26
  const start = stamp;
30
-
31
27
  const startScrollOffset = window.pageYOffset;
32
28
  const scrollEndElemTop = target.getBoundingClientRect().top - shift;
33
-
34
29
  this.scrollToElem(start, stamp, durationAnimation, scrollEndElemTop, startScrollOffset);
35
30
  })
36
- }
37
- });
31
+ });
32
+ })
38
33
  }
39
34
 
40
35
  easeInCubic(t) {
@@ -44,11 +39,8 @@ export class HcSmoothScroll {
44
39
  scrollToElem(startTime, currentTime, duration, scrollEndElemTop, startScrollOffset) {
45
40
  const runtime = currentTime - startTime;
46
41
  let progress = runtime / duration;
47
-
48
42
  progress = Math.min(progress, 1);
49
-
50
43
  const ease = this.easeInCubic(progress);
51
-
52
44
  window.scroll(0, startScrollOffset + (scrollEndElemTop * ease));
53
45
  if (runtime < duration) {
54
46
  requestAnimationFrame((timestamp) => {
@@ -59,7 +51,7 @@ export class HcSmoothScroll {
59
51
  }
60
52
  }
61
53
 
62
- const hc_smooth_scroll = function(trigger, options) {
63
- new HcSmoothScroll(trigger, options);
54
+ const hc_smooth_scroll = function (trigger, durationAnimation) {
55
+ new HcSmoothScroll(trigger, durationAnimation);
64
56
  }
65
57
  export default hc_smooth_scroll;
@@ -16,7 +16,7 @@
16
16
  export default class ElementEnum {
17
17
  static tooltip = '[data-hc-tooltip], [data-hc-popover]';
18
18
  static popover = '[data-hc-popover]';
19
- static scrollSmooth = 'data-hc-smooth-scroll';
19
+ static scrollSmooth = '[data-hc-smooth-scroll]';
20
20
  static modal = '[data-hc-modal]';
21
21
  static lightbox = '[data-hc-lightbox]';
22
22
  static dropdown = '[data-hc-dropdown]';
@@ -1,39 +1 @@
1
- /*
2
- * IRIS Interactive
3
- *
4
- * NOTICE OF LICENSE
5
- *
6
- * This source file is no subject to a specific license
7
- * but it belongs to the company IRIS Interactive.
8
- * You can contact IRIS Interactive at the following
9
- * address: contact@iris-interactive.fr
10
- *
11
- * @author Fabien SERRA
12
- * @date 25/02/2022 12:04
13
- * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
14
- */
15
-
16
- import hc_tooltip from '@package_script/components/tooltip/tooltip.component';
17
- import hc_smooth_scroll from "@package_script/components/smooth-scroll/smooth-scroll.component";
18
- import hc_modal from "@package_script/components/modal/modal.component";
19
- import hc_lightbox from "@package_script/components/lightbox/lightbox.component";
20
- import hc_dropdown from "@package_script/components/dropdown/dropdown.component";
21
- import hc_collapse from "@package_script/components/collapse/collapse.component";
22
- import hc_lazyload from "@package_script/components/lazyload/lazyload.component";
23
- import hc_tab from "@package_script/components/tab/tab.component";
24
- import hc_toggle from "@package_script/components/toggle/toggle.component";
25
- import hc_slider from "@package_script/components/slider/slider.component";
26
-
27
- const Handcook = {
28
- hc_tooltip,
29
- hc_smooth_scroll,
30
- hc_modal,
31
- hc_lightbox,
32
- hc_dropdown,
33
- hc_collapse,
34
- hc_lazyload,
35
- hc_tab,
36
- hc_toggle,
37
- hc_slider,
38
- }
39
- export default Handcook;
1
+ import hc_tooltip from"@package_script/components/tooltip/tooltip.component";import hc_smooth_scroll from"@package_script/components/smooth-scroll/smooth-scroll.component";import hc_modal from"@package_script/components/modal/modal.component";import hc_lightbox from"@package_script/components/lightbox/lightbox.component";import hc_dropdown from"@package_script/components/dropdown/dropdown.component";import hc_collapse from"@package_script/components/collapse/collapse.component";import hc_lazyload from"@package_script/components/lazyload/lazyload.component";import hc_tab from"@package_script/components/tab/tab.component";import hc_toggle from"@package_script/components/toggle/toggle.component";import hc_slider from"@package_script/components/slider/slider.component";const Handcook={hc_tooltip:hc_tooltip,hc_smooth_scroll:hc_smooth_scroll,hc_modal:hc_modal,hc_lightbox:hc_lightbox,hc_dropdown:hc_dropdown,hc_collapse:hc_collapse,hc_lazyload:hc_lazyload,hc_tab:hc_tab,hc_toggle:hc_toggle,hc_slider:hc_slider};export default Handcook;
@@ -11,68 +11,7 @@
11
11
  * @author Lucas ROCHE
12
12
  * @date 27/01/2022 14:32
13
13
  * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
14
- */
15
- /*
16
- * Created by IRIS Interactive
17
- * User : IRIS Interactive
18
- */
19
- /* Layout
20
- / ================================================== */
21
- /* Gutter
22
- / ================================================== */
23
- /* Margin
24
- / ================================================== */
25
- /* Margin
26
- / ================================================== */
27
- /* Breakpoint
28
- / ================================================== */
29
- /* Global
30
- / ================================================== */
31
- /* Notifications
32
- / ================================================== */
33
- /* Difficulty
34
- / ================================================== */
35
- /*
36
- * Created by IRIS Interactive
37
- * User : IRIS Interactive
38
- */
39
- /* Main gutter
40
- / ================================================== */
41
- /* Breakpoints
42
- /* ============================================= */
43
- /* display flex
44
- /* ============================================= */
45
- /* Hover - TODO
46
- /* ============================================= */
47
- /* Touch
48
- /* ============================================= */
49
- /* Clear
50
- /* ============================================= */
51
- /*
52
- * Created by IRIS Interactive
53
- * User : IRIS Interactive
54
- */
55
- /* Transition
56
- /* ============================================= */
57
- /* Hover
58
- /* ============================================= */
59
- /* Ellipsis
60
- /* ============================================= */
61
- /* Adaptive height block
62
- /* ============================================= */
63
- /* Line clamp
64
- /* ============================================= */
65
- /* Object fit
66
- /* ============================================= */
67
- /* Linear Gradient
68
- /* ============================================= */
69
- /* fit-content
70
- /* ============================================= */
71
- /* stretched-link
72
- /* ============================================= */
73
- /* sr-only
74
- /* ============================================= */
75
- /*!
14
+ *//*!
76
15
  * IRIS Interactive
77
16
  *
78
17
  * NOTICE OF LICENSE
@@ -85,102 +24,4 @@
85
24
  * @author Lucas ROCHE
86
25
  * @date 28/01/2022 07:41
87
26
  * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
88
- */
89
- /* Font icon
90
- /* ============================================= */
91
- /* Font size
92
- /* ============================================= */
93
- /*
94
- * Created by IRIS Interactive
95
- * User : IRIS Interactive
96
- */
97
- /* Utils classes
98
- /* ============================================= */
99
- .stretched-link:before {
100
- position: absolute;
101
- top: 0;
102
- right: 0;
103
- bottom: 0;
104
- left: 0;
105
- z-index: 1;
106
- pointer-events: auto;
107
- content: "";
108
- background-color: transparent;
109
- }
110
-
111
- /* ============================================= */
112
- .list-flex {
113
- display: flex;
114
- flex-wrap: wrap;
115
- margin-bottom: 0;
116
- }
117
- .list-flex > * {
118
- list-style-type: none;
119
- margin: 0 10px 10px 0;
120
- }
121
- .list-flex > *:last-child {
122
- margin-right: 0;
123
- }
124
-
125
- /* Animations
126
- /* ============================================= */
127
- @-webkit-keyframes loader {
128
- 100% {
129
- transform: rotate(360deg);
130
- }
131
- }
132
- @keyframes loader {
133
- 100% {
134
- transform: rotate(360deg);
135
- }
136
- }
137
- /* Sr-only
138
- /* ============================================= */
139
- .sr-only {
140
- clip: rect(0, 0, 0, 0);
141
- border-width: 0;
142
- height: 1px;
143
- margin: -1px;
144
- overflow: hidden;
145
- padding: 0;
146
- position: absolute;
147
- white-space: nowrap;
148
- width: 1px;
149
- }
150
-
151
- /* Text with icon before
152
- /* ============================================= */
153
- .text-icon {
154
- display: inline-flex;
155
- align-items: center;
156
- }
157
- .text-icon:before {
158
- margin-right: 5px;
159
- }
160
- .text-icon:after {
161
- margin-left: 5px;
162
- }
163
-
164
- /* Block with img animated on hover
165
- /* ============================================= */
166
- .hover-item img {
167
- transition: 0.2s ease;
168
- will-change: transform;
169
- }
170
- .hover-item:hover img {
171
- transform: scale(1.02);
172
- }
173
-
174
- /* Opening
175
- /* ============================================= */
176
- .is-opened {
177
- color: #009e55;
178
- }
179
-
180
- .soon-closed {
181
- color: #ff890e;
182
- }
183
-
184
- .is-closed {
185
- color: #f33;
186
- }
27
+ */.stretched-link:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.list-flex{display:flex;flex-wrap:wrap;margin-bottom:0}.list-flex>*{list-style-type:none;margin:0 10px 10px 0}.list-flex>:last-child{margin-right:0}@-webkit-keyframes loader{100%{transform:rotate(360deg)}}@keyframes loader{100%{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.text-icon{display:inline-flex;align-items:center}.text-icon:before{margin-right:5px}.text-icon:after{margin-left:5px}.hover-item img{transition:.2s ease;will-change:transform}.hover-item:hover img{transform:scale(1.02)}.is-opened{color:#009e55}.soon-closed{color:#ff890e}.is-closed{color:#f33}
@@ -12,66 +12,6 @@
12
12
  * @date 27/01/2022 14:32
13
13
  * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
14
14
  */
15
- /*
16
- * Created by IRIS Interactive
17
- * User : IRIS Interactive
18
- */
19
- /* Layout
20
- / ================================================== */
21
- /* Gutter
22
- / ================================================== */
23
- /* Margin
24
- / ================================================== */
25
- /* Margin
26
- / ================================================== */
27
- /* Breakpoint
28
- / ================================================== */
29
- /* Global
30
- / ================================================== */
31
- /* Notifications
32
- / ================================================== */
33
- /* Difficulty
34
- / ================================================== */
35
- /*
36
- * Created by IRIS Interactive
37
- * User : IRIS Interactive
38
- */
39
- /* Main gutter
40
- / ================================================== */
41
- /* Breakpoints
42
- /* ============================================= */
43
- /* display flex
44
- /* ============================================= */
45
- /* Hover
46
- /* ============================================= */
47
- /* Touch
48
- /* ============================================= */
49
- /* Clear
50
- /* ============================================= */
51
- /*
52
- * Created by IRIS Interactive
53
- * User : IRIS Interactive
54
- */
55
- /* Transition
56
- /* ============================================= */
57
- /* Animate
58
- /* ============================================= */
59
- /* Ellipsis
60
- /* ============================================= */
61
- /* Adaptive height block
62
- /* ============================================= */
63
- /* Line clamp
64
- /* ============================================= */
65
- /* Object fit
66
- /* ============================================= */
67
- /* Linear Gradient
68
- /* ============================================= */
69
- /* fit-content
70
- /* ============================================= */
71
- /* stretched-link
72
- /* ============================================= */
73
- /* sr-only
74
- /* ============================================= */
75
15
  /*!
76
16
  * IRIS Interactive
77
17
  *
@@ -85,109 +25,4 @@
85
25
  * @author Lucas ROCHE
86
26
  * @date 28/01/2022 07:41
87
27
  * @copyright Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
88
- */
89
- /* Font icon
90
- /* ============================================= */
91
- /* Font size
92
- /* ============================================= */
93
- /*
94
- * Created by IRIS Interactive
95
- * User : IRIS Interactive
96
- */
97
- /* Utils classes
98
- /* ============================================= */
99
- .stretched-link:before {
100
- position: absolute;
101
- top: 0;
102
- right: 0;
103
- bottom: 0;
104
- left: 0;
105
- z-index: 1;
106
- pointer-events: auto;
107
- content: "";
108
- background-color: transparent;
109
- }
110
-
111
- /* ============================================= */
112
- .list-flex {
113
- display: flex;
114
- flex-wrap: wrap;
115
- margin-bottom: 0;
116
- }
117
- .list-flex > * {
118
- list-style-type: none;
119
- margin: 0 10px 10px 0;
120
- }
121
- .list-flex > *:last-child {
122
- margin-right: 0;
123
- }
124
-
125
- /* Animations
126
- /* ============================================= */
127
- @-webkit-keyframes loader {
128
- 100% {
129
- transform: rotate(360deg);
130
- }
131
- }
132
- @keyframes loader {
133
- 100% {
134
- transform: rotate(360deg);
135
- }
136
- }
137
- /* Sr-only
138
- /* ============================================= */
139
- .sr-only {
140
- clip: rect(0, 0, 0, 0);
141
- border-width: 0;
142
- height: 1px;
143
- margin: -1px;
144
- overflow: hidden;
145
- padding: 0;
146
- position: absolute;
147
- white-space: nowrap;
148
- width: 1px;
149
- }
150
-
151
- /* Text with icon before
152
- /* ============================================= */
153
- .text-icon {
154
- display: inline-flex;
155
- align-items: center;
156
- }
157
- .text-icon:before {
158
- margin-right: 5px;
159
- }
160
- .text-icon:after {
161
- margin-left: 5px;
162
- }
163
-
164
- /* Block with img animated on hover
165
- /* ============================================= */
166
- .hover-item img {
167
- transition: 0.2s ease;
168
- will-change: transform;
169
- }
170
- .hover-item:hover img {
171
- transform: scale(1.02);
172
- }
173
-
174
- /* Opening
175
- /* ============================================= */
176
- .is-opened {
177
- color: #009e55;
178
- }
179
-
180
- .soon-closed {
181
- color: #ff890e;
182
- }
183
-
184
- .is-closed {
185
- color: #f33;
186
- }
187
-
188
- /* Font
189
- /* ============================================= */
190
- .fi--color:before,
191
- .fi-color:after {
192
- color: var(--iris--icon--color);
193
- }
28
+ */.stretched-link:before{background-color:transparent;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.list-flex{display:flex;flex-wrap:wrap;margin-bottom:0}.list-flex>*{list-style-type:none;margin:0 10px 10px 0}.list-flex>:last-child{margin-right:0}@-webkit-keyframes loader{to{transform:rotate(1turn)}}@keyframes loader{to{transform:rotate(1turn)}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.text-icon{align-items:center;display:inline-flex}.text-icon:before{margin-right:5px}.text-icon:after{margin-left:5px}.hover-item img{transition:.2s ease;will-change:transform}.hover-item:hover img{transform:scale(1.02)}.is-opened{color:#009e55}.soon-closed{color:#ff890e}.is-closed{color:#f33}.fi--color:before,.fi-color:after{color:var(--iris--icon--color)}