@projectcaluma/ember-form 14.4.1 → 14.4.3
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/addon/components/cf-field/input/action-button.hbs +1 -1
- package/addon/components/cf-field/input/date.hbs +2 -0
- package/addon/components/cf-field/input/date.js +22 -0
- package/addon/components/cf-field/input/powerselect.hbs +1 -0
- package/addon/components/cf-field/label.hbs +6 -1
- package/addon/lib/field.js +9 -0
- package/package.json +9 -9
@@ -34,6 +34,28 @@ export default class CfFieldInputDateComponent extends Component {
|
|
34
34
|
@action
|
35
35
|
onReady(_selectedDates, _dateStr, flatpickrRef) {
|
36
36
|
this.flatpickrRef = flatpickrRef;
|
37
|
+
|
38
|
+
// Flatpickr generates an alternative input field (altInput) that does not
|
39
|
+
// copy over all attributes from the original input field. This fails in
|
40
|
+
// accessibility checks when using aria attributes to account for a11y
|
41
|
+
// compatibility.
|
42
|
+
//
|
43
|
+
// There's an issue (https://github.com/flatpickr/flatpickr/issues/1906)
|
44
|
+
// about that and also an open PR
|
45
|
+
// (https://github.com/flatpickr/flatpickr/pull/2821) to fix it. However,
|
46
|
+
// flatpickr has not seen a new commit since 2022 and seems to be
|
47
|
+
// deprecated.
|
48
|
+
//
|
49
|
+
// In order to not have to search for a new datepicker solution, we fix the
|
50
|
+
// a11y issue ourselves by copying over all aria-* attributes to the alt
|
51
|
+
// input.
|
52
|
+
const { input, altInput } = flatpickrRef;
|
53
|
+
|
54
|
+
input
|
55
|
+
.getAttributeNames()
|
56
|
+
.filter((attr) => attr.startsWith("aria-"))
|
57
|
+
.filter((attr) => !altInput.hasAttribute(attr))
|
58
|
+
.forEach((attr) => altInput.setAttribute(attr, input.getAttribute(attr)));
|
37
59
|
}
|
38
60
|
|
39
61
|
@action
|
@@ -14,6 +14,7 @@
|
|
14
14
|
@searchPlaceholder={{t "caluma.form.power-select.search-placeholder"}}
|
15
15
|
@noMatchesMessage={{t "caluma.form.power-select.search-empty"}}
|
16
16
|
@onChange={{this.change}}
|
17
|
+
aria-labelledby={{@field.labelId}}
|
17
18
|
as |option|
|
18
19
|
>
|
19
20
|
{{#if (and option.disabled (not @disabled))}}
|
package/addon/lib/field.js
CHANGED
@@ -177,6 +177,15 @@ export default class Field extends Base {
|
|
177
177
|
return `${this.document.pk}:Question:${this.raw.question.slug}`;
|
178
178
|
}
|
179
179
|
|
180
|
+
/**
|
181
|
+
* The element ID used by the label component.
|
182
|
+
*
|
183
|
+
* @property {String} labelId
|
184
|
+
*/
|
185
|
+
get labelId() {
|
186
|
+
return `${this.pk}:label`;
|
187
|
+
}
|
188
|
+
|
180
189
|
/**
|
181
190
|
* Whether the field is valid.
|
182
191
|
*
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@projectcaluma/ember-form",
|
3
|
-
"version": "14.4.
|
3
|
+
"version": "14.4.3",
|
4
4
|
"description": "Ember addon for rendering Caluma forms.",
|
5
5
|
"keywords": [
|
6
6
|
"ember-addon"
|
@@ -41,7 +41,7 @@
|
|
41
41
|
"luxon": "^3.5.0",
|
42
42
|
"reactiveweb": "^1.3.0",
|
43
43
|
"tracked-toolbox": "^2.0.0",
|
44
|
-
"@projectcaluma/ember-core": "^14.4.
|
44
|
+
"@projectcaluma/ember-core": "^14.4.3"
|
45
45
|
},
|
46
46
|
"devDependencies": {
|
47
47
|
"@ember/optional-features": "2.2.0",
|
@@ -59,7 +59,7 @@
|
|
59
59
|
"ember-cli-sri": "2.1.1",
|
60
60
|
"ember-cli-terser": "4.0.2",
|
61
61
|
"ember-load-initializers": "3.0.1",
|
62
|
-
"ember-qunit": "9.0.
|
62
|
+
"ember-qunit": "9.0.4",
|
63
63
|
"ember-resolver": "13.1.1",
|
64
64
|
"ember-source": "6.1.0",
|
65
65
|
"ember-source-channel-url": "3.0.0",
|
@@ -68,16 +68,16 @@
|
|
68
68
|
"miragejs": "0.1.48",
|
69
69
|
"qunit": "2.24.1",
|
70
70
|
"qunit-dom": "3.5.0",
|
71
|
-
"sass": "1.
|
72
|
-
"uikit": "3.23.
|
73
|
-
"uuid": "
|
71
|
+
"sass": "1.93.2",
|
72
|
+
"uikit": "3.23.13",
|
73
|
+
"uuid": "13.0.0",
|
74
74
|
"webpack": "5.101.3",
|
75
|
-
"@projectcaluma/ember-workflow": "14.4.
|
76
|
-
"@projectcaluma/ember-testing": "14.4.
|
75
|
+
"@projectcaluma/ember-workflow": "14.4.3",
|
76
|
+
"@projectcaluma/ember-testing": "14.4.3"
|
77
77
|
},
|
78
78
|
"peerDependencies": {
|
79
79
|
"ember-source": ">= 4.0.0",
|
80
|
-
"@projectcaluma/ember-workflow": "^14.4.
|
80
|
+
"@projectcaluma/ember-workflow": "^14.4.3"
|
81
81
|
},
|
82
82
|
"dependenciesMeta": {
|
83
83
|
"@projectcaluma/ember-core": {
|