@total_onion/onion-library 1.0.30 → 1.0.32

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.
@@ -1,79 +1,77 @@
1
1
  {
2
- "key": "group_68752075dd831",
3
- "title": "Block: Market Selector v3",
4
- "fields": [
5
- {
6
- "key": "field_687531fa51664",
7
- "label": "Selector Settings",
8
- "name": "",
9
- "aria-label": "",
10
- "type": "tab",
11
- "instructions": "",
12
- "required": 0,
13
- "conditional_logic": 0,
14
- "wrapper": {
15
- "width": "",
16
- "class": "",
17
- "id": ""
18
- },
19
- "wpml_cf_preferences": 0,
20
- "placement": "top",
21
- "endpoint": 0,
22
- "no_preference": 0,
23
- "selected": 0
24
- },
25
- {
26
- "key": "field_6875207709d8d",
27
- "label": "Selector Type",
28
- "name": "selector_type",
29
- "aria-label": "",
30
- "type": "radio",
31
- "instructions": "",
32
- "required": 0,
33
- "conditional_logic": 0,
34
- "wrapper": {
35
- "width": "",
36
- "class": "",
37
- "id": ""
38
- },
39
- "wpml_cf_preferences": 3,
40
- "choices": {
41
- "__pop-up": "Pop Up",
42
- "__inline": "Inline"
43
- },
44
- "default_value": "__pop-up : Pop Up",
45
- "return_format": "value",
46
- "allow_null": 0,
47
- "other_choice": 0,
48
- "layout": "vertical",
49
- "save_other_choice": 0
50
- }
51
- ],
52
- "location": [
53
- [
54
- {
55
- "param": "post_type",
56
- "operator": "==",
57
- "value": "post"
58
- }
59
- ]
60
- ],
61
- "menu_order": 0,
62
- "position": "normal",
63
- "style": "default",
64
- "label_placement": "left",
65
- "instruction_placement": "label",
66
- "hide_on_screen": "",
67
- "active": true,
68
- "description": "",
69
- "show_in_rest": 0,
70
- "acfe_autosync": [
71
- "json"
72
- ],
73
- "acfml_field_group_mode": "localization",
74
- "acfe_form": 0,
75
- "acfe_display_title": "",
76
- "acfe_meta": "",
77
- "acfe_note": "",
78
- "modified": 1752510991
2
+ "key": "group_68752075dd831",
3
+ "title": "Block: Market Selector v3",
4
+ "fields": [
5
+ {
6
+ "key": "field_687531fa51664",
7
+ "label": "Selector Settings",
8
+ "name": "",
9
+ "aria-label": "",
10
+ "type": "tab",
11
+ "instructions": "",
12
+ "required": 0,
13
+ "conditional_logic": 0,
14
+ "wrapper": {
15
+ "width": "",
16
+ "class": "",
17
+ "id": ""
18
+ },
19
+ "wpml_cf_preferences": 0,
20
+ "placement": "top",
21
+ "endpoint": 0,
22
+ "no_preference": 0,
23
+ "selected": 0
24
+ },
25
+ {
26
+ "key": "field_6875207709d8d",
27
+ "label": "Selector Type",
28
+ "name": "selector_type",
29
+ "aria-label": "",
30
+ "type": "radio",
31
+ "instructions": "",
32
+ "required": 0,
33
+ "conditional_logic": 0,
34
+ "wrapper": {
35
+ "width": "",
36
+ "class": "",
37
+ "id": ""
38
+ },
39
+ "wpml_cf_preferences": 3,
40
+ "choices": {
41
+ "__pop-up": "Pop Up",
42
+ "__inline": "Inline"
43
+ },
44
+ "default_value": "__pop-up : Pop Up",
45
+ "return_format": "value",
46
+ "allow_null": 0,
47
+ "other_choice": 0,
48
+ "layout": "vertical",
49
+ "save_other_choice": 0
50
+ }
51
+ ],
52
+ "location": [
53
+ [
54
+ {
55
+ "param": "post_type",
56
+ "operator": "==",
57
+ "value": "post"
58
+ }
59
+ ]
60
+ ],
61
+ "menu_order": 0,
62
+ "position": "normal",
63
+ "style": "default",
64
+ "label_placement": "left",
65
+ "instruction_placement": "label",
66
+ "hide_on_screen": "",
67
+ "active": true,
68
+ "description": "",
69
+ "show_in_rest": 0,
70
+ "acfe_autosync": ["json"],
71
+ "acfml_field_group_mode": "localization",
72
+ "acfe_form": 0,
73
+ "acfe_display_title": "",
74
+ "acfe_meta": "",
75
+ "acfe_note": "",
76
+ "modified": 1752510991
79
77
  }
@@ -1,7 +1,128 @@
1
- // @use 'Assets/scss/modules/library-modules/core-mixins/core-mixins';
2
- // @use 'Assets/scss/modules/library-modules/core-functions/core-functions';
3
- // @use 'Assets/scss/theme/breakpoints';
1
+ @use 'Assets/scss/modules/library-modules/core-mixins/core-mixins';
2
+ @use 'Assets/scss/modules/library-modules/core-functions/core-functions';
3
+ @use 'Assets/scss/theme/breakpoints';
4
4
  @use 'Assets/scss/blocks/market-selector-v3/market-selector-v3-extra';
5
5
  .market-selector-v3 {
6
6
  @include market-selector-v3-extra.additionalStyles();
7
- }
7
+ pointer-events: all;
8
+ &__modal-overlay {
9
+ display: none;
10
+ position: fixed;
11
+ top: 0;
12
+ left: 0;
13
+ width: 100%;
14
+ height: 100%;
15
+ background: rgba(0, 0, 0, 0.6);
16
+ justify-content: center;
17
+ align-items: center;
18
+ z-index: 1000;
19
+ }
20
+ &__modal {
21
+ display: grid;
22
+ background: #f6f6f0;
23
+ width: 75%;
24
+ height: 75%;
25
+ grid-template:
26
+ 'header'
27
+ 'markets'
28
+ 'markets'
29
+ 'logo' / 1fr;
30
+ }
31
+ &__modal-header-container {
32
+ grid-area: header;
33
+ display: grid;
34
+ grid-auto-flow: column;
35
+ align-items: center;
36
+ height: min-content;
37
+ padding: core-functions.fluidSize(15, 'mobile')
38
+ core-functions.fluidSize(20, 'mobile');
39
+ @include core-mixins.device(breakpoints.$tabPortrait) {
40
+ padding: core-functions.fluidSize(30, 'portrait');
41
+ }
42
+ @include core-mixins.device(breakpoints.$tabLandscape) {
43
+ padding: core-functions.fluidSize(30, 'desktop');
44
+ }
45
+ border-bottom: solid 2px #00968f;
46
+ }
47
+ &__modal-heading {
48
+ color: #00968f;
49
+ font-weight: 700;
50
+ text-transform: uppercase;
51
+ font-size: core-functions.fluidSize(20, 'mobile');
52
+ line-height: core-functions.fluidSize(20, 'mobile');
53
+ @include core-mixins.device(breakpoints.$tabPortrait) {
54
+ font-size: core-functions.fluidSize(20, 'portrait');
55
+ line-height: core-functions.fluidSize(20, 'portrait');
56
+ }
57
+ @include core-mixins.device(breakpoints.$tabLandscape) {
58
+ font-size: core-functions.fluidSize(24, 'desktop');
59
+ line-height: core-functions.fluidSize(24, 'desktop');
60
+ }
61
+ }
62
+ .market-selector-v3__modal-close-button {
63
+ justify-self: flex-end;
64
+ background-image: url('Assets/images/icon/close-modal-teal.svg');
65
+ background-size: cover;
66
+ background-color: transparent;
67
+ cursor: pointer;
68
+ width: 40px;
69
+ height: 40px;
70
+ border: unset;
71
+ padding: unset;
72
+ transition: transform 0.2s;
73
+
74
+ &:hover {
75
+ transform: scale(1.1);
76
+ }
77
+ }
78
+ &__modal-markets-container {
79
+ grid-area: markets;
80
+ display: grid;
81
+ grid-template-columns: repeat(2, 1fr);
82
+ grid-auto-rows: auto;
83
+ place-items: center;
84
+ text-transform: uppercase;
85
+ @include core-mixins.device(breakpoints.$tabLandscape) {
86
+ grid-auto-flow: column;
87
+ grid-template-columns: repeat(3, 1fr);
88
+ grid-template-rows: repeat(4, 1fr);
89
+ }
90
+ }
91
+ a.market-selector-v3__market-link,
92
+ a.market-selector-v3__market-link--active {
93
+ text-decoration: none;
94
+ color: #2d2926;
95
+ font-weight: 400;
96
+ line-height: core-functions.fluidSize(20, 'mobile');
97
+ font-size: core-functions.fluidSize(12, 'mobile');
98
+ border-bottom: 2px solid transparent;
99
+ transition: border 0.3s ease-out;
100
+ @include core-mixins.device(breakpoints.$tabPortrait) {
101
+ font-size: core-functions.fluidSize(16, 'portrait');
102
+ line-height: core-functions.fluidSize(16, 'portrait');
103
+ }
104
+ @include core-mixins.device(breakpoints.$tabLandscape) {
105
+ font-size: core-functions.fluidSize(20, 'desktop');
106
+ line-height: core-functions.fluidSize(16, 'desktop');
107
+ }
108
+
109
+ &:hover {
110
+ border-bottom: 2px solid #00968f;
111
+ }
112
+ }
113
+ a.market-selector-v3__market-link--active {
114
+ color: #00968f;
115
+ font-weight: 700;
116
+ }
117
+ &__modal-logo-container {
118
+ grid-area: logo;
119
+ display: flex;
120
+ justify-content: flex-end;
121
+ align-items: flex-end;
122
+ }
123
+ &__modal-logo {
124
+ img {
125
+ width: auto;
126
+ }
127
+ }
128
+ }
@@ -1,4 +1,3 @@
1
-
2
1
  {% set blockClassName = "market-selector-v3" %}
3
2
  {% set classNameEntryPoint = include('entry-points/entry-point-classes.twig', { fields: fields, block: block }, with_context = false) %}
4
3
  {% set htmlEntryPoint = include('entry-points/entry-point-html.twig', { fields: fields, block: block, blockClassName, blockClassName }, with_context = false) %}
@@ -7,11 +6,52 @@
7
6
  {% set previewEntryPoint = include('entry-points/entry-point-preview-info.twig', { fields, block, displaytype, is_preview }, with_context = false) %}
8
7
 
9
8
  {% set sectionStyles = styleEntryPoint %}
9
+ {% set selectorType = fields.selector_type|ru %}
10
10
 
11
11
  {{previewEntryPoint}}
12
12
  <section {{block.anchor ? "id=" ~ block.anchor : ''}} class="{{blockClassName}} {{block.className}} {{classNameEntryPoint}} lazy-fade" {{dataAttributeEntryPoint}} data-blockid="{{block.id}}" style="{{sectionStyles}}" data-assetkey="{{blockClassName}}">
13
-
14
-
15
-
16
- {{htmlEntryPoint}}
17
- </section>
13
+
14
+ <a class="{{blockClassName}}__cta {{selectorType}}">
15
+
16
+
17
+ {% set iconType = options.theme_cta_icons.cta_market_selector_icon %}
18
+
19
+ {% set iconImage = get_image(iconType) %}
20
+ {% set isSVG = iconImage.post_mime_type == 'image/svg+xml' %}
21
+ <span class="{{blockClassName}}__icon">
22
+ {{ isSVG ? get_raw_svg(iconImage.id) : '<img class="" src="' ~ iconImage.src ~ '">'}}
23
+ </span>
24
+ </a>
25
+
26
+ <div class="{{blockClassName}}__modal-overlay">
27
+
28
+ <div class="{{blockClassName}}__modal">
29
+
30
+ <div class="{{blockClassName}}__modal-header-container">
31
+ <h5 class="{{blockClassName}}__modal-heading">{{fields.heading_text}}</h5>
32
+
33
+
34
+ <button class="{{blockClassName}}__modal-close-button"></button>
35
+
36
+ </div>
37
+ <div class="{{blockClassName}}__modal-markets-container">
38
+
39
+ {% for language in languages %}
40
+ <a class="{{blockClassName}}__market-link {{language['active'] ? "market-selector-v3__market-link--active" : ""}}" href=" {{ language[ 'url' ] }} " data-lang=" {{ language[ 'language_code' ] }} " aria-label=" view this page on the {{language[ 'native_name' ]}} market">{{ language[ 'native_name' ] }}</a>
41
+ {% endfor %}
42
+ </div>
43
+ <div class="{{blockClassName}}__modal-logo-container">
44
+ {% set logo = fields.logo %}
45
+ {% set logoImage = get_image(logo) %}
46
+ {% set isSVG = logoImage.post_mime_type == 'image/svg+xml' %}
47
+ <span class="{{blockClassName}}__modal-logo">
48
+ {{ isSVG ? get_raw_svg(logoImage.id) : '<img class="" src="' ~ logoImage.src ~ '">'}}
49
+ </span>
50
+
51
+ </div>
52
+
53
+ </div>
54
+ </div>
55
+
56
+
57
+ {{htmlEntryPoint}}</section>