@openeuropa/bcl-card-layout 0.1.2 → 0.1.202408021145

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,63 +1,82 @@
1
- {% spaceless %}
1
+ {% apply spaceless %}
2
2
 
3
3
  {# Parameters:
4
4
  - type (string) (default: 'group')
5
5
  options: ['group', 'grid', 'masonry']
6
- - items (array of Card) (default: [])
6
+ - items (card[]) (default: [])
7
7
  - grid_columns (int) (default: 1)
8
8
  options: ['1', '2', '3']
9
9
  - responsiveness (string) (default: '')
10
10
  options: ['sm', 'md', 'lg', 'xl', 'xxl']
11
- - responsive_colums (int) (default: '')
11
+ - responsive_columns (int) (default: '')
12
12
  options: ['1', '2', '3']
13
13
  - gutter (int) (default: '')
14
14
  options: ['0', '1', '2', '3', '4', '5']
15
15
  - equal_height (boolean) (default: false)
16
+ - cols_extra_classes (string) (default: '')
17
+ - attributes (drupal attrs)
18
+
19
+ Blocks
20
+ - card_layout_card
16
21
  #}
17
22
 
18
23
  {% set _type = type|default('group') %}
19
24
  {% set _items = items|default([]) %}
20
25
  {% set _grid_columns = grid_columns|default(1) %}
21
26
  {% set _responsiveness = responsiveness|default('md') %}
22
- {% set _responsive_colums = responsive_colums|default('') %}
27
+ {% set _responsive_columns = responsive_columns|default('') %}
23
28
  {% set _gutter = gutter|default('') %}
24
- {% set _equal_height = equal_height|default(false) %}
25
- {% set _extra_classes = extra_classes|default('') %}
29
+ {% set _equal_height = equal_height ?? false %}
30
+ {% set _cols_extra_classes = cols_extra_classes|default('') %}
31
+
32
+ {% set _cols_classes = 'col' %}
26
33
 
34
+ {% if _cols_extra_classes is not empty %}
35
+ {% set _cols_classes = _cols_classes ~ ' ' ~ _cols_extra_classes %}
36
+ {% endif %}
27
37
  {% if _type == 'group' %}
28
- {% set _class = 'card-group' %}
38
+ {% set _classes = ['card-group'] %}
29
39
  {% elseif type == 'grid' or type == 'masonry' %}
30
- {% set _class = 'row row-cols-' ~ _grid_columns %}
31
- {% if _responsive_colums is not empty %}
32
- {% set _class = _class ~ ' row-cols-' ~ _responsiveness ~ '-' ~ _responsive_colums %}
40
+ {% set _classes = ['row', 'row-cols-' ~ _grid_columns] %}
41
+ {% if _responsive_columns is not empty %}
42
+ {% set _classes = _classes|merge(['row-cols-' ~ _responsiveness ~ '-' ~ _responsive_columns]) %}
33
43
  {% endif %}
34
44
  {% if _gutter is not empty %}
35
- {% set _class = _class ~ ' g-' ~ _gutter %}
45
+ {% set _classes = _classes|merge(['g-' ~ _gutter]) %}
36
46
  {% endif %}
37
47
  {% endif %}
38
- {% if _extra_classes is not empty %}
39
- {% set _class = _class ~ ' ' ~ _extra_classes %}
48
+
49
+ {% if attributes is empty %}
50
+ {% set attributes = create_attribute() %}
40
51
  {% endif %}
41
52
 
53
+ {% set attributes = attributes.addClass(_classes) %}
54
+
42
55
  <div
43
- class='{{ _class }}'
56
+ {{ attributes }}
44
57
  {% if _type == 'masonry' %}
45
- data-masonry='{"percentPosition": true }'
58
+ data-masonry='{"percentPosition": true }'
46
59
  {% endif %}
47
60
  >
48
61
  {% if _items is not empty and _items is iterable %}
49
62
  {% for _item in _items %}
63
+ {% if _item.attributes is empty %}
64
+ {% set _item = _item|merge({
65
+ attributes: create_attribute()
66
+ }) %}
67
+ {% endif %}
50
68
  {% if _equal_height %}
51
- {% set _item_extra_classes = _item.extra_classes ~ ' h-100' %}
52
69
  {% set _item = _item|merge({
53
- extra_classes: _item_extra_classes
70
+ attributes: _item.attributes.addClass('h-100')
54
71
  })
55
72
  %}
56
73
  {% endif %}
57
74
  {% if _type == 'grid' or _type == 'masonry' %}
58
- <div class='col'>
75
+ <div class="{{ _cols_classes }}">
59
76
  {% endif %}
60
- {% include '@oe-bcl/card/card.html.twig' with _item only %}
77
+ {% block card_layout_card %}
78
+ {% include '@oe-bcl/bcl-card/card.html.twig' with _item only %}
79
+ {% endblock %}
61
80
  {% if _type == 'grid' or _type == 'masonry' %}
62
81
  </div>
63
82
  {% endif %}
@@ -65,4 +84,4 @@
65
84
  {% endif %}
66
85
  </div>
67
86
 
68
- {% endspaceless %}
87
+ {% endapply %}
package/package.json CHANGED
@@ -2,13 +2,13 @@
2
2
  "name": "@openeuropa/bcl-card-layout",
3
3
  "author": "European Commission",
4
4
  "license": "EUPL-1.2",
5
- "version": "0.1.2",
5
+ "version": "0.1.202408021145",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "description": "OE - BCL card layout",
10
10
  "dependencies": {
11
- "@openeuropa/bcl-card": "^0.1.2"
11
+ "@openeuropa/bcl-card": "^0.1.202408021145"
12
12
  },
13
13
  "repository": {
14
14
  "type": "git",
@@ -24,5 +24,5 @@
24
24
  "design-system",
25
25
  "twig"
26
26
  ],
27
- "gitHead": "b242dcb5ed9578fcd212c98cf722eabc845d313b"
27
+ "gitHead": "7ee2013f7f64a70ddfa35228a9a65967dd71eec3"
28
28
  }