@openeuropa/bcl-form-input 0.4.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,20 +3,22 @@
3
3
  {#
4
4
  Parameters:
5
5
  - "id" (string) (default: '')
6
- - "type" (string) (default: 'text')
6
+ - "input_type" (string) (default: 'text')
7
7
  - "label" (string) (default: '')
8
8
  - "helper_text" (string) (default: '')
9
9
  - "helper_id" (string) (default: '')
10
10
  - "checked" (boolean) (default: false)
11
11
  - "disabled" (boolean) (default: false)
12
12
  - "invalid" (boolean) (default: false)
13
+ - "valid" (boolean) (default: false)
14
+ - "invalid_feedback" (string) (default: '')
15
+ - "valid_feedback" (string) (default: '')
13
16
  - "required" (boolean) (default: false)
14
17
  - "readonly" (boolean) (default: false)
15
18
  - "floating" (boolean) (default: false)
16
19
  - "horizontal" (boolean) (default: false)
17
20
  - "horizontal_class" (string) (default: col-sm-10)
18
21
  - "hidden_label" (boolean) (default: false)
19
- - "size" (string) (default: '')
20
22
  - "switch" (boolean) (default: false)
21
23
  - "toggle" (boolean) (default: false)
22
24
  - "toggle_variant" (string) (default: 'primary')
@@ -24,8 +26,7 @@
24
26
  #}
25
27
 
26
28
  {% set _id = id|default('') %}
27
- {% set _type = type|default('text') %}
28
- {% set _size = size|default('') %}
29
+ {% set _input_type = input_type|default('text') %}
29
30
  {% set _label = label|default('') %}
30
31
  {% set _required = required|default(false) %}
31
32
  {% set _checked = checked|default(false) %}
@@ -33,6 +34,9 @@
33
34
  {% set _disabled = disabled|default(false) %}
34
35
  {% set _readonly = readonly|default(false) %}
35
36
  {% set _invalid = invalid|default(false) %}
37
+ {% set _valid = valid|default(false) %}
38
+ {% set _invalid_feedback = invalid_feedback|default('') %}
39
+ {% set _valid_feedback = valid_feedback|default('') %}
36
40
  {% set _floating = floating|default(false) %}
37
41
  {% set _helper_text = helper_text|default('') %}
38
42
  {% set _helper_text_id = helper_text_id|default('') %}
@@ -48,19 +52,19 @@
48
52
  {% set _label_class = 'form-label' %}
49
53
  {% set _classes = ['form-control'] %}
50
54
 
51
- {% if _size is not empty %}
52
- {% set _classes = _classes|merge(['form-control-' ~ size]) %}
55
+ {% if input_type == 'range' %}
56
+ {% set _classes = ['form-range'] %}
53
57
  {% endif %}
54
- {% if type == 'range' %}
55
- {% set _classes = _classes|merge(['form-range']) %}
56
- {% endif %}
57
- {% if _type == 'checkbox' or type == 'radio' %}
58
+ {% if _input_type == 'checkbox' or _input_type == 'radio' %}
58
59
  {% set _classes = ['form-check-input'] %}
59
60
  {% set _label_class = 'form-check-label' %}
60
61
  {% endif %}
61
62
  {% if _invalid is not empty %}
62
63
  {% set _classes = _classes|merge(['is-invalid']) %}
63
64
  {% endif %}
65
+ {% if _valid is not empty %}
66
+ {% set _classes = _classes|merge(['is-valid']) %}
67
+ {% endif %}
64
68
  {% if _horizontal %}
65
69
  {% set _label_class = 'col-form-label ' ~ _horizontal_label_class %}
66
70
  {% endif %}
@@ -76,7 +80,7 @@
76
80
  {% set attributes = create_attribute() %}
77
81
  {% endif %}
78
82
 
79
- {% set attributes = attributes.addClass(_classes).setAttribute('type', _type) %}
83
+ {% set attributes = attributes.addClass(_classes).setAttribute('type', _input_type) %}
80
84
 
81
85
  {% if _id %}
82
86
  {% set attributes = attributes.setAttribute('id', _id) %}
@@ -119,12 +123,12 @@
119
123
  {% endset %}
120
124
  {% endif %}
121
125
 
122
- {% if (_floating or _horizontal or _type == 'checkbox' or _type == 'radio') and
126
+ {% if (_floating or _horizontal or _input_type == 'checkbox' or _input_type == 'radio') and
123
127
  not _toggle and
124
128
  not _remove_wrapper
125
129
  %}
126
130
  {% set _wrapper_class = _floating ? 'form-floating' : '' %}
127
- {% if (_type == 'checkbox' or _type == 'radio') %}
131
+ {% if (_input_type == 'checkbox' or _input_type == 'radio') %}
128
132
  {% set _wrapper_class = 'form-check' %}
129
133
  {% if _switch %}
130
134
  {% set _wrapper_class = _wrapper_class ~ ' form-switch' %}
@@ -134,7 +138,7 @@
134
138
  <div class="{{ _wrapper_class }}">
135
139
  {% endif %}
136
140
  {% endif %}
137
- {% if _label_block and _floating == false and _type != 'checkbox' and _type != 'radio' %}
141
+ {% if _label_block and _floating == false and _input_type != 'checkbox' and _input_type != 'radio' %}
138
142
  {{ _label_block|raw }}
139
143
  {% endif %}
140
144
  {% if _horizontal and floating == false %}
@@ -146,9 +150,19 @@
146
150
  {% if _horizontal and floating == false %}
147
151
  </div>
148
152
  {% endif %}
149
- {% if _label_block and (_floating or _type == 'checkbox' or type == 'radio') %}
153
+ {% if _label_block and (_floating or _input_type == 'checkbox' or _input_type == 'radio') %}
150
154
  {{ _label_block|raw }}
151
155
  {% endif %}
156
+ {% if _invalid_feedback is not empty %}
157
+ <div class="invalid-feedback">
158
+ {{- _invalid_feedback -}}
159
+ </div>
160
+ {% endif %}
161
+ {% if _valid_feedback is not empty %}
162
+ <div class="valid-feedback">
163
+ {{- _valid_feedback -}}
164
+ </div>
165
+ {% endif %}
152
166
  {% if _helper_text is not empty %}
153
167
  <div
154
168
  class="form-text"
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@openeuropa/bcl-form-input",
3
3
  "author": "European Commission",
4
4
  "license": "EUPL-1.2",
5
- "version": "0.4.0",
5
+ "version": "0.8.0",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -21,5 +21,5 @@
21
21
  "design-system",
22
22
  "twig"
23
23
  ],
24
- "gitHead": "7cf0f727c3150c1dcf47cf180541009fd04918eb"
24
+ "gitHead": "342427d971c66d581fa09c232221a0e00085781e"
25
25
  }