@brightspace-ui/core 1.218.0 → 1.219.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.
@@ -1,5 +1,6 @@
1
1
  import '../colors/colors.js';
2
2
  import { css, html } from 'lit-element/lit-element.js';
3
+ import { getUniqueId } from '../../helpers/uniqueId.js';
3
4
  import { ListItemMixin } from './list-item-mixin.js';
4
5
 
5
6
  export const ListItemButtonMixin = superclass => class extends ListItemMixin(superclass) {
@@ -34,13 +35,18 @@ export const ListItemButtonMixin = superclass => class extends ListItemMixin(sup
34
35
  return styles;
35
36
  }
36
37
 
38
+ constructor() {
39
+ super();
40
+ this._primaryActionId = getUniqueId();
41
+ }
42
+
37
43
  _onButtonClick() {
38
44
  /** Dispatched when the item's primary button action is clicked */
39
45
  this.dispatchEvent(new CustomEvent('d2l-list-item-button-click', { bubbles: true }));
40
46
  }
41
47
 
42
48
  _renderPrimaryAction(labelledBy) {
43
- return html`<button aria-labelledby="${labelledBy}" @click="${this._onButtonClick}"></button>`;
49
+ return html`<button id="${this._primaryActionId}" aria-labelledby="${labelledBy}" @click="${this._onButtonClick}"></button>`;
44
50
  }
45
51
 
46
52
  };
@@ -1,9 +1,11 @@
1
1
  import '../button/button-icon.js';
2
2
  import '../icons/icon.js';
3
+ import '../tooltip/tooltip.js';
3
4
  import { css, html, LitElement } from 'lit-element/lit-element.js';
4
5
  import { buttonStyles } from '../button/button-styles.js';
5
6
  import { findComposedAncestor } from '../../helpers/dom.js';
6
7
  import { getFirstFocusableDescendant } from '../../helpers/focus.js';
8
+ import { getUniqueId } from '../../helpers/uniqueId.js';
7
9
  import { LocalizeCoreElement } from '../../lang/localize-core-element.js';
8
10
  import { RtlMixin } from '../../mixins/rtl-mixin.js';
9
11
 
@@ -36,6 +38,8 @@ export const dragActions = Object.freeze({
36
38
  up: 'up'
37
39
  });
38
40
 
41
+ let hasDisplayedKeyboardTooltip = false;
42
+
39
43
  /**
40
44
  * @fires d2l-list-item-drag-handle-action - Dispatched when an action performed on the drag handle
41
45
  */
@@ -58,6 +62,7 @@ class ListItemDragHandle extends LocalizeCoreElement(RtlMixin(LitElement)) {
58
62
  * @type {string}
59
63
  */
60
64
  text: { type: String },
65
+ _displayKeyboardTooltip: { type: Boolean },
61
66
  _keyboardActive: { type: Boolean }
62
67
  };
63
68
  }
@@ -109,6 +114,15 @@ class ListItemDragHandle extends LocalizeCoreElement(RtlMixin(LitElement)) {
109
114
  cursor: default;
110
115
  opacity: 0.5;
111
116
  }
117
+ d2l-tooltip > div {
118
+ font-weight: 700;
119
+ }
120
+ d2l-tooltip > ul {
121
+ padding-inline-start: 1rem;
122
+ }
123
+ .d2l-list-item-drag-handle-tooltip-key {
124
+ font-weight: 700;
125
+ }
112
126
  `];
113
127
  }
114
128
 
@@ -117,6 +131,8 @@ class ListItemDragHandle extends LocalizeCoreElement(RtlMixin(LitElement)) {
117
131
 
118
132
  this.disabled = false;
119
133
 
134
+ this._buttonId = getUniqueId();
135
+ this._displayKeyboardTooltip = false;
120
136
  this._keyboardActive = false;
121
137
  this._movingElement = false;
122
138
  }
@@ -219,7 +235,14 @@ class ListItemDragHandle extends LocalizeCoreElement(RtlMixin(LitElement)) {
219
235
  this._movingElement = false;
220
236
  }
221
237
 
222
- _onFocusOut(e) {
238
+ _onFocusInKeyboardButton() {
239
+ if (hasDisplayedKeyboardTooltip) return;
240
+ this._displayKeyboardTooltip = true;
241
+ hasDisplayedKeyboardTooltip = true;
242
+ }
243
+
244
+ _onFocusOutKeyboardButton(e) {
245
+ this._displayKeyboardTooltip = false;
223
246
  if (this._movingElement) {
224
247
  this._movingElement = false;
225
248
  e.stopPropagation();
@@ -266,17 +289,32 @@ class ListItemDragHandle extends LocalizeCoreElement(RtlMixin(LitElement)) {
266
289
  _renderKeyboardDragging() {
267
290
  return html`
268
291
  <button
292
+ aria-label="${this._defaultLabel}"
293
+ aria-live="assertive"
269
294
  class="d2l-list-item-drag-handle-keyboard-button"
270
- @focusout="${this._onFocusOut}"
271
- @keyup="${this._onActiveKeyboard}"
295
+ @focusin="${this._onFocusInKeyboardButton}"
296
+ @focusout="${this._onFocusOutKeyboardButton}"
297
+ id="${this._buttonId}"
272
298
  @keydown="${this._onPreventDefault}"
273
- aria-live="assertive"
274
- aria-label="${this._defaultLabel}">
299
+ @keyup="${this._onActiveKeyboard}">
275
300
  <d2l-icon icon="tier1:arrow-toggle-up" @click="${this._dispatchActionUp}" class="d2l-button-icon"></d2l-icon>
276
301
  <d2l-icon icon="tier1:arrow-toggle-down" @click="${this._dispatchActionDown}" class="d2l-button-icon"></d2l-icon>
277
302
  </button>
303
+ ${this._displayKeyboardTooltip ? html`<d2l-tooltip align="start" for="${this._buttonId}" for-type="descriptor">${this._renderTooltipContent()}</d2l-tooltip>` : ''}
278
304
  `;
279
305
  }
306
+
307
+ _renderTooltipContent() {
308
+ return html`
309
+ <div>${this.localize('components.list-item-drag-handle-tooltip.title')}</div>
310
+ <ul>
311
+ <li><span class="d2l-list-item-drag-handle-tooltip-key">${this.localize('components.list-item-drag-handle-tooltip.enter-key')}</span> - ${this.localize('components.list-item-drag-handle-tooltip.enter-desc')}</li>
312
+ <li><span class="d2l-list-item-drag-handle-tooltip-key">${this.localize('components.list-item-drag-handle-tooltip.up-down-key')}</span> - ${this.localize('components.list-item-drag-handle-tooltip.up-down-desc')}</li>
313
+ <li><span class="d2l-list-item-drag-handle-tooltip-key">${this.localize('components.list-item-drag-handle-tooltip.left-right-key')}</span> - ${this.localize('components.list-item-drag-handle-tooltip.left-right-desc')}</li>
314
+ </ul>
315
+ `;
316
+ }
317
+
280
318
  }
281
319
 
282
320
  customElements.define('d2l-list-item-drag-handle', ListItemDragHandle);
@@ -1,5 +1,6 @@
1
1
  import '../colors/colors.js';
2
2
  import { css, html } from 'lit-element/lit-element.js';
3
+ import { getUniqueId } from '../../helpers/uniqueId.js';
3
4
  import { ListItemMixin } from './list-item-mixin.js';
4
5
 
5
6
  export const ListItemLinkMixin = superclass => class extends ListItemMixin(superclass) {
@@ -42,6 +43,7 @@ export const ListItemLinkMixin = superclass => class extends ListItemMixin(super
42
43
  constructor() {
43
44
  super();
44
45
  this.actionHref = null;
46
+ this._primaryActionId = getUniqueId();
45
47
  }
46
48
 
47
49
  _handleLinkClick() {
@@ -51,7 +53,7 @@ export const ListItemLinkMixin = superclass => class extends ListItemMixin(super
51
53
 
52
54
  _renderPrimaryAction(labelledBy) {
53
55
  if (!this.actionHref) return;
54
- return html`<a aria-labelledby="${labelledBy}" href="${this.actionHref}" @click="${this._handleLinkClick}"></a>`;
56
+ return html`<a id="${this._primaryActionId}" aria-labelledby="${labelledBy}" href="${this.actionHref}" @click="${this._handleLinkClick}"></a>`;
55
57
  }
56
58
 
57
59
  };
@@ -1,6 +1,7 @@
1
1
  import '../colors/colors.js';
2
2
  import './list-item-generic-layout.js';
3
3
  import './list-item-placement-marker.js';
4
+ import '../tooltip/tooltip.js';
4
5
  import { css, html } from 'lit-element/lit-element.js';
5
6
  import { findComposedAncestor, getComposedParent } from '../../helpers/dom.js';
6
7
  import { classMap } from 'lit-html/directives/class-map.js';
@@ -10,10 +11,28 @@ import { ifDefined } from 'lit-html/directives/if-defined.js';
10
11
  import { ListItemCheckboxMixin } from './list-item-checkbox-mixin.js';
11
12
  import { ListItemDragDropMixin } from './list-item-drag-drop-mixin.js';
12
13
  import { ListItemRoleMixin } from './list-item-role-mixin.js';
14
+ import { LocalizeCoreElement } from '../../lang/localize-core-element.js';
13
15
  import { nothing } from 'lit-html';
14
16
  import ResizeObserver from 'resize-observer-polyfill';
15
17
  import { RtlMixin } from '../../mixins/rtl-mixin.js';
16
18
 
19
+ let tabPressed = false;
20
+ let tabListenerAdded = false;
21
+ function addTabListener() {
22
+ if (tabListenerAdded) return;
23
+ tabListenerAdded = true;
24
+ document.addEventListener('keydown', e => {
25
+ if (e.keyCode !== 9) return;
26
+ tabPressed = true;
27
+ });
28
+ document.addEventListener('keyup', e => {
29
+ if (e.keyCode !== 9) return;
30
+ tabPressed = false;
31
+ });
32
+ }
33
+
34
+ let hasDisplayedKeyboardTooltip = false;
35
+
17
36
  const ro = new ResizeObserver(entries => {
18
37
  entries.forEach(entry => {
19
38
  if (!entry || !entry.target || !entry.target.resizedCallback) {
@@ -25,7 +44,7 @@ const ro = new ResizeObserver(entries => {
25
44
 
26
45
  const defaultBreakpoints = [842, 636, 580, 0];
27
46
 
28
- export const ListItemMixin = superclass => class extends ListItemDragDropMixin(ListItemCheckboxMixin(ListItemRoleMixin(RtlMixin(superclass)))) {
47
+ export const ListItemMixin = superclass => class extends LocalizeCoreElement(ListItemDragDropMixin(ListItemCheckboxMixin(ListItemRoleMixin(RtlMixin(superclass))))) {
29
48
 
30
49
  static get properties() {
31
50
  return {
@@ -40,6 +59,7 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
40
59
  */
41
60
  slim: { type: Boolean },
42
61
  _breakpoint: { type: Number },
62
+ _displayKeyboardTooltip: { type: Boolean },
43
63
  _dropdownOpen: { type: Boolean, attribute: '_dropdown-open', reflect: true },
44
64
  _hoveringPrimaryAction: { type: Boolean },
45
65
  _focusing: { type: Boolean },
@@ -237,6 +257,15 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
237
257
  :host([draggable][selected]:not([disabled])) d2l-list-item-generic-layout.d2l-focusing + .d2l-list-item-active-border {
238
258
  transform: rotate(1deg);
239
259
  }
260
+ d2l-tooltip > div {
261
+ font-weight: 700;
262
+ }
263
+ d2l-tooltip > ul {
264
+ padding-inline-start: 1rem;
265
+ }
266
+ .d2l-list-item-tooltip-key {
267
+ font-weight: 700;
268
+ }
240
269
  `];
241
270
 
242
271
  super.styles && styles.unshift(super.styles);
@@ -249,6 +278,7 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
249
278
  this.slim = false;
250
279
  this._breakpoint = 0;
251
280
  this._contentId = getUniqueId();
281
+ this._displayKeyboardTooltip = false;
252
282
  }
253
283
 
254
284
  get breakpoints() {
@@ -265,6 +295,9 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
265
295
  connectedCallback() {
266
296
  super.connectedCallback();
267
297
  ro.observe(this);
298
+ if (this.role === 'rowgroup') {
299
+ addTabListener();
300
+ }
268
301
  }
269
302
 
270
303
  disconnectedCallback() {
@@ -351,6 +384,9 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
351
384
 
352
385
  _onFocusIn() {
353
386
  this._focusing = true;
387
+ if (this.role !== 'rowgroup' || !tabPressed || hasDisplayedKeyboardTooltip) return;
388
+ this._displayKeyboardTooltip = true;
389
+ hasDisplayedKeyboardTooltip = true;
354
390
  }
355
391
 
356
392
  _onFocusInPrimaryAction() {
@@ -359,6 +395,7 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
359
395
 
360
396
  _onFocusOut() {
361
397
  this._focusing = false;
398
+ this._displayKeyboardTooltip = false;
362
399
  }
363
400
 
364
401
  _onFocusOutPrimaryAction() {
@@ -398,6 +435,7 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
398
435
  };
399
436
 
400
437
  const primaryAction = this._renderPrimaryAction ? this._renderPrimaryAction(this._contentId) : null;
438
+ const tooltipForId = (primaryAction ? this._primaryActionId : (this.selectable ? this._checkboxId : null));
401
439
 
402
440
  return html`
403
441
  ${this._renderTopPlacementMarker(html`<d2l-list-item-placement-marker></d2l-list-item-placement-marker>`)}
@@ -413,11 +451,11 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
413
451
  ${this._renderDragHandle(this._renderOutsideControl)}
414
452
  ${this._renderDragTarget(this._renderOutsideControlAction)}
415
453
  ${this.selectable ? html`
416
- <div slot="control">${ this._renderCheckbox() }</div>
454
+ <div slot="control">${this._renderCheckbox()}</div>
417
455
  <div slot="control-action"
418
456
  @mouseenter="${this._onMouseEnter}"
419
457
  @mouseleave="${this._onMouseLeave}">
420
- ${ this._renderCheckboxAction('') }
458
+ ${this._renderCheckboxAction('')}
421
459
  </div>` : nothing }
422
460
  ${primaryAction ? html`
423
461
  <div slot="content-action"
@@ -446,6 +484,7 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
446
484
  <div class="d2l-list-item-active-border"></div>
447
485
  </div>
448
486
  ${this._renderBottomPlacementMarker(html`<d2l-list-item-placement-marker></d2l-list-item-placement-marker>`)}
487
+ ${this._displayKeyboardTooltip && tooltipForId ? html`<d2l-tooltip align="start" announced for="${tooltipForId}" for-type="descriptor">${this._renderTooltipContent()}</d2l-tooltip>` : ''}
449
488
  `;
450
489
 
451
490
  }
@@ -458,4 +497,16 @@ export const ListItemMixin = superclass => class extends ListItemDragDropMixin(L
458
497
  return html`<div slot="outside-control-action" @mouseenter="${this._onMouseEnter}" @mouseleave="${this._onMouseLeave}">${dragTarget}</div>`;
459
498
  }
460
499
 
500
+ _renderTooltipContent() {
501
+ return html`
502
+ <div>${this.localize('components.list-item-tooltip.title')}</div>
503
+ <ul>
504
+ <li><span class="d2l-list-item-tooltip-key">${this.localize('components.list-item-tooltip.enter-key')}</span> - ${this.localize('components.list-item-tooltip.enter-desc')}</li>
505
+ <li><span class="d2l-list-item-tooltip-key">${this.localize('components.list-item-tooltip.up-down-key')}</span> - ${this.localize('components.list-item-tooltip.up-down-desc')}</li>
506
+ <li><span class="d2l-list-item-tooltip-key">${this.localize('components.list-item-tooltip.left-right-key')}</span> - ${this.localize('components.list-item-tooltip.left-right-desc')}</li>
507
+ <li><span class="d2l-list-item-tooltip-key">${this.localize('components.list-item-tooltip.page-up-down-key')}</span> - ${this.localize('components.list-item-tooltip.page-up-down-desc')}</li>
508
+ </ul>
509
+ `;
510
+ }
511
+
461
512
  };
@@ -19,8 +19,9 @@ export const ListItemRoleMixin = superclass => class extends superclass {
19
19
 
20
20
  const separators = parent.getAttribute('separators');
21
21
 
22
- this.role = parent.grid ? 'rowgroup' : 'listitem';
22
+ this.role = parent.hasAttribute('grid') ? 'rowgroup' : 'listitem';
23
23
  this._separators = separators || undefined;
24
24
  this._extendSeparators = parent.hasAttribute('extend-separators');
25
25
  }
26
+
26
27
  };
package/lang/ar.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /* eslint quotes: 0 */
2
-
3
2
  export default {
4
3
  "components.alert.close": "إغلاق التنبيه",
5
4
  "components.breadcrumbs.breadcrumb": "شريط التنقل",
6
5
  "components.calendar.notSelected": "لم يتم التحديد.",
7
6
  "components.calendar.selected": "تم التحديد.",
8
7
  "components.calendar.show": "إظهار {month}",
9
- "components.count-badge.plus" : "{number}+",
8
+ "components.count-badge.plus": "{number}+",
10
9
  "components.dialog.close": "إغلاق مربع الحوار هذا",
11
10
  "components.dropdown.close": "إغلاق",
12
11
  "components.filter.clear": "مسح",
@@ -17,9 +16,9 @@ export default {
17
16
  "components.filter.clearAnnounceSingle": "جارٍ مسح عوامل التصفية",
18
17
  "components.filter.clearDescription": "مسح عوامل التصفية لـ: {filterName}",
19
18
  "components.filter.clearDescriptionSingle": "مسح عوامل التصفية",
20
- "components.filter.loading": "يتم تحميل عوامل التصفية",
21
19
  "components.filter.filterCountDescription": "{number, plural, zero {لم يتم تطبيق عوامل تصفية.} one {تم تطبيق عامل تصفية واحد.} other {{number} من عوامل التصفية التي تم تطبيقها.}}",
22
20
  "components.filter.filters": "عوامل التصفية",
21
+ "components.filter.loading": "يتم تحميل عوامل التصفية",
23
22
  "components.filter.noFilters": "ما من عوامل تصفية متوفرة",
24
23
  "components.filter.searchResults": "{number, plural, zero {ما من نتائج بحث} one {نتيجة بحث واحدة} other {{number} من نتائج البحث}}",
25
24
  "components.filter.singleDimensionDescription": "التصفية حسب: {filterName}",
@@ -49,21 +48,37 @@ export default {
49
48
  "components.input-date.errorMaxDateOnly": "يجب أن يكون التاريخ قبل {maxDate}",
50
49
  "components.input-date.errorMinDateOnly": "يجب أن يكون التاريخ بعد {minDate}",
51
50
  "components.input-date.errorOutsideRange": "يجب أن يكون التاريخ بين {minDate} و{maxDate}",
52
- "components.input-date.openInstructions": "استخدم تنسيق التاريخ {format}. انتقل إلى الأسفل أو اضغط على Enter للوصول إلى التقويم المصغّر.",
53
51
  "components.input-date.now": "الآن",
52
+ "components.input-date.openInstructions": "استخدم تنسيق التاريخ {format}. انتقل إلى الأسفل أو اضغط على Enter للوصول إلى التقويم المصغّر.",
54
53
  "components.input-date.today": "اليوم",
55
- "components.input-number.hintInteger": "يقبل هذا الحقل قيم الأعداد الصحيحة فقط (بدون أعداد عشرية)",
56
54
  "components.input-number.hintDecimalDuplicate": "يوجد عدد عشري في هذا الرقم",
57
55
  "components.input-number.hintDecimalIncorrectComma": "لإضافة عدد عشري، استخدم حرف الفاصلة \",\"",
58
56
  "components.input-number.hintDecimalIncorrectPeriod": "لإضافة عدد عشري، استخدم حرف النقطة \".\"",
57
+ "components.input-number.hintInteger": "يقبل هذا الحقل قيم الأعداد الصحيحة فقط (بدون أعداد عشرية)",
59
58
  "components.input-search.clear": "مسح البحث",
60
59
  "components.input-search.defaultPlaceholder": "البحث...",
61
60
  "components.input-search.search": "بحث",
62
61
  "components.input-time-range.endTime": "وقت النهاية",
63
62
  "components.input-time-range.errorBadInput": "يجب أن يكون تاريخ {startLabel} قبل {endLabel}",
64
63
  "components.input-time-range.startTime": "وقت البدء",
64
+ "components.list-item-drag-handle-tooltip.enter-desc": "Toggle keyboard reorder mode.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "Enter",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Change the nesting level.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "Left/Right",
68
+ "components.list-item-drag-handle-tooltip.title": "Keyboard Controls for Reordering:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Move item up or down in the list.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "Up/Down",
65
71
  "components.list-item-drag-handle.default": "إعادة ترتيب إجراء المادة لـ {name}",
66
72
  "components.list-item-drag-handle.keyboard": "إعادة ترتيب المواد، الموضع الحالي {currentPosition} من أصل {size}. لنقل هذه المادة، اضغط على السهم المتجه إلى أعلى أو السهم المتجه إلى أسفل.",
73
+ "components.list-item-tooltip.enter-desc": "Activate the focused option.",
74
+ "components.list-item-tooltip.enter-key": "Enter",
75
+ "components.list-item-tooltip.left-right-desc": "Move focus within current item.",
76
+ "components.list-item-tooltip.left-right-key": "Left/Right",
77
+ "components.list-item-tooltip.page-up-down-desc": "Move focus 5 items at a time.",
78
+ "components.list-item-tooltip.page-up-down-key": "Page Up/Down",
79
+ "components.list-item-tooltip.title": "Keyboard Navigation for Lists:",
80
+ "components.list-item-tooltip.up-down-desc": "Move focus between list items.",
81
+ "components.list-item-tooltip.up-down-key": "Up/Down",
67
82
  "components.menu-item-return.return": "العودة إلى القائمة السابقة.",
68
83
  "components.menu-item-return.returnCurrentlyShowing": "العودة إلى القائمة السابقة. يتم عرض {menuTitle}.",
69
84
  "components.meter-mixin.commaSeperatedAria": "{term1}، ‏{term2}",
package/lang/cy.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /* eslint quotes: 0 */
2
-
3
2
  export default {
4
3
  "components.alert.close": "Cau Hysbysiad",
5
4
  "components.breadcrumbs.breadcrumb": "Briwsionyn Bara",
6
5
  "components.calendar.notSelected": "Heb ei Ddewis.",
7
6
  "components.calendar.selected": "Wedi'i Ddewis.",
8
7
  "components.calendar.show": "Dangos {month}",
9
- "components.count-badge.plus" : "{number}+",
8
+ "components.count-badge.plus": "{number}+",
10
9
  "components.dialog.close": "Cau'r dialog hwn",
11
10
  "components.dropdown.close": "Cau",
12
11
  "components.filter.clear": "Clirio",
@@ -17,9 +16,9 @@ export default {
17
16
  "components.filter.clearAnnounceSingle": "Wrthi'n clirio hidlwyr",
18
17
  "components.filter.clearDescription": "Wrthi’n clirio hidlwyd ar gyfer: {filterName}",
19
18
  "components.filter.clearDescriptionSingle": "Clirio Hidlwyr",
20
- "components.filter.loading": "Wrthi’n llwytho hidlyddion",
21
19
  "components.filter.filterCountDescription": "{number, plural, zero {Ni chymhwyswyd hidlwyr.} one {1 hidlydd wedi'i gymhwyso.} other {{number} hidlydd wedi'u cymhwyso.}}",
22
20
  "components.filter.filters": "Hidlyddion",
21
+ "components.filter.loading": "Wrthi’n llwytho hidlyddion",
23
22
  "components.filter.noFilters": "Dim hidlyddion ar gael",
24
23
  "components.filter.searchResults": "{number, plural, zero {Dim canlyniadau chwilio} one {1 canlyniad chwilio} other {{number} o ganlyniadau chwilio}}",
25
24
  "components.filter.singleDimensionDescription": "Hidlo yn ôl: {filterName}",
@@ -49,21 +48,37 @@ export default {
49
48
  "components.input-date.errorMaxDateOnly": "Rhaid i'r dyddiad fod cyn {maxDate}",
50
49
  "components.input-date.errorMinDateOnly": "Rhaid i'r dyddiad fod ar ôl {minDate}",
51
50
  "components.input-date.errorOutsideRange": "Rhaid i'r dyddiad fod rhwng {minDate} a {maxDate}",
52
- "components.input-date.openInstructions": "Defnyddio fformat dyddiad {format}. Pwyswch saeth i lawr neu Enter i gael mynediad at galendr bach.",
53
51
  "components.input-date.now": "Nawr",
52
+ "components.input-date.openInstructions": "Defnyddio fformat dyddiad {format}. Pwyswch saeth i lawr neu Enter i gael mynediad at galendr bach.",
54
53
  "components.input-date.today": "Heddiw",
55
- "components.input-number.hintInteger": "Mae'r maes hwn yn derbyn gwerthoedd cyfanrif yn unig (dim degolion)",
56
54
  "components.input-number.hintDecimalDuplicate": "Mae degol eisoes yn y nifer hwn",
57
55
  "components.input-number.hintDecimalIncorrectComma": "I ychwanegu degol defnyddiwch y nod coma \",”",
58
56
  "components.input-number.hintDecimalIncorrectPeriod": "I ychwanegu degol defnyddiwch y nod atalnod llawn \".\"",
57
+ "components.input-number.hintInteger": "Mae'r maes hwn yn derbyn gwerthoedd cyfanrif yn unig (dim degolion)",
59
58
  "components.input-search.clear": "Clirio'r Chwilio",
60
59
  "components.input-search.defaultPlaceholder": "Chwilio...",
61
60
  "components.input-search.search": "Chwilio",
62
61
  "components.input-time-range.endTime": "Amser Gorffen",
63
62
  "components.input-time-range.errorBadInput": "Rhaid i {startLabel} fod cyn {endLabel}",
64
63
  "components.input-time-range.startTime": "Amser Dechrau",
64
+ "components.list-item-drag-handle-tooltip.enter-desc": "Toggle keyboard reorder mode.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "Enter",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Change the nesting level.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "Left/Right",
68
+ "components.list-item-drag-handle-tooltip.title": "Keyboard Controls for Reordering:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Move item up or down in the list.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "Up/Down",
65
71
  "components.list-item-drag-handle.default": "Aildrefnu gweithred eitem ar gyfer {name}",
66
72
  "components.list-item-drag-handle.keyboard": "Aildrefnu eitemau, safle presennol {currentPosition} allan o {size}. I symud yr eitem hon, pwyswch y saeth i fyny neu'r saeth i lawr.",
73
+ "components.list-item-tooltip.enter-desc": "Activate the focused option.",
74
+ "components.list-item-tooltip.enter-key": "Enter",
75
+ "components.list-item-tooltip.left-right-desc": "Move focus within current item.",
76
+ "components.list-item-tooltip.left-right-key": "Left/Right",
77
+ "components.list-item-tooltip.page-up-down-desc": "Move focus 5 items at a time.",
78
+ "components.list-item-tooltip.page-up-down-key": "Page Up/Down",
79
+ "components.list-item-tooltip.title": "Keyboard Navigation for Lists:",
80
+ "components.list-item-tooltip.up-down-desc": "Move focus between list items.",
81
+ "components.list-item-tooltip.up-down-key": "Up/Down",
67
82
  "components.menu-item-return.return": "Dychwelyd i'r ddewislen flaenorol.",
68
83
  "components.menu-item-return.returnCurrentlyShowing": "Dychwelyd i'r ddewislen flaenorol. Rydych chi'n edrych ar {menuTitle}.",
69
84
  "components.meter-mixin.commaSeperatedAria": "{term1}, {term2}",
package/lang/da.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /* eslint quotes: 0 */
2
-
3
2
  export default {
4
3
  "components.alert.close": "Luk besked",
5
4
  "components.breadcrumbs.breadcrumb": "Brødkrumme",
6
5
  "components.calendar.notSelected": "Ikke valgt.",
7
6
  "components.calendar.selected": "Valgt.",
8
7
  "components.calendar.show": "Vis {month}",
9
- "components.count-badge.plus" : "{number}+",
8
+ "components.count-badge.plus": "{number}+",
10
9
  "components.dialog.close": "Luk denne dialogboks",
11
10
  "components.dropdown.close": "Luk",
12
11
  "components.filter.clear": "Ryd",
@@ -17,9 +16,9 @@ export default {
17
16
  "components.filter.clearAnnounceSingle": "Rydder filtre",
18
17
  "components.filter.clearDescription": "Ryd filtre for: {filterName}",
19
18
  "components.filter.clearDescriptionSingle": "Ryd filtre",
20
- "components.filter.loading": "Indlæser filtre",
21
19
  "components.filter.filterCountDescription": "{number, plural, zero {Ingen filtre anvendt.} one {1 filter anvendt.} other {{number} filtre anvendt.}}",
22
20
  "components.filter.filters": "Filtre",
21
+ "components.filter.loading": "Indlæser filtre",
23
22
  "components.filter.noFilters": "Ingen tilgængelige filtre",
24
23
  "components.filter.searchResults": "{number, plural, zero {No search results} one {1 search result} other {{number} search results}}",
25
24
  "components.filter.singleDimensionDescription": "Filtrer efter: {filterName}",
@@ -49,21 +48,37 @@ export default {
49
48
  "components.input-date.errorMaxDateOnly": "Datoen skal være før {maxDate}",
50
49
  "components.input-date.errorMinDateOnly": "Datoen skal være efter {minDate}",
51
50
  "components.input-date.errorOutsideRange": "Datoen skal være mellem {minDate} og {maxDate}",
52
- "components.input-date.openInstructions": "Brug datoformatet {format}. Tryk på Pil ned eller Enter for at få adgang til minikalender.",
53
51
  "components.input-date.now": "Nu",
52
+ "components.input-date.openInstructions": "Brug datoformatet {format}. Tryk på Pil ned eller Enter for at få adgang til minikalender.",
54
53
  "components.input-date.today": "I dag",
55
- "components.input-number.hintInteger": "Dette felt accepterer kun heltalsværdier (ingen decimaler)",
56
54
  "components.input-number.hintDecimalDuplicate": "Der er allerede en decimal i dette tal",
57
55
  "components.input-number.hintDecimalIncorrectComma": "Hvis du vil tilføje en decimal, skal du bruge komma-tegnet \",\"",
58
56
  "components.input-number.hintDecimalIncorrectPeriod": "Hvis du vil tilføje en decimal, skal du bruge tegnet \".\"",
57
+ "components.input-number.hintInteger": "Dette felt accepterer kun heltalsværdier (ingen decimaler)",
59
58
  "components.input-search.clear": "Ryd søgning",
60
59
  "components.input-search.defaultPlaceholder": "Søg ...",
61
60
  "components.input-search.search": "Søg",
62
61
  "components.input-time-range.endTime": "Sluttidspunkt",
63
62
  "components.input-time-range.errorBadInput": "{startLabel} skal være før {endLabel}",
64
63
  "components.input-time-range.startTime": "Starttidspunkt",
64
+ "components.list-item-drag-handle-tooltip.enter-desc": "Toggle keyboard reorder mode.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "Enter",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Change the nesting level.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "Left/Right",
68
+ "components.list-item-drag-handle-tooltip.title": "Keyboard Controls for Reordering:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Move item up or down in the list.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "Up/Down",
65
71
  "components.list-item-drag-handle.default": "Omarranger elementhandling for {name}",
66
72
  "components.list-item-drag-handle.keyboard": "Omarranger element, aktuel position {currentPosition} ud af {size}. For at flytte dette element skal du trykke på pil op eller pil ned.",
73
+ "components.list-item-tooltip.enter-desc": "Activate the focused option.",
74
+ "components.list-item-tooltip.enter-key": "Enter",
75
+ "components.list-item-tooltip.left-right-desc": "Move focus within current item.",
76
+ "components.list-item-tooltip.left-right-key": "Left/Right",
77
+ "components.list-item-tooltip.page-up-down-desc": "Move focus 5 items at a time.",
78
+ "components.list-item-tooltip.page-up-down-key": "Page Up/Down",
79
+ "components.list-item-tooltip.title": "Keyboard Navigation for Lists:",
80
+ "components.list-item-tooltip.up-down-desc": "Move focus between list items.",
81
+ "components.list-item-tooltip.up-down-key": "Up/Down",
67
82
  "components.menu-item-return.return": "Gå tilbage til forrige menu.",
68
83
  "components.menu-item-return.returnCurrentlyShowing": "Gå tilbage til forrige menu. Du ser på {menuTitle}.",
69
84
  "components.meter-mixin.commaSeperatedAria": "{term1}, {term2}",
package/lang/de.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /* eslint quotes: 0 */
2
-
3
2
  export default {
4
3
  "components.alert.close": "Benachrichtigung schließen",
5
4
  "components.breadcrumbs.breadcrumb": "Breadcrumb",
6
5
  "components.calendar.notSelected": "Nicht ausgewählt.",
7
6
  "components.calendar.selected": "Ausgewählt.",
8
7
  "components.calendar.show": "{month} anzeigen",
9
- "components.count-badge.plus" : "{number}+",
8
+ "components.count-badge.plus": "{number}+",
10
9
  "components.dialog.close": "Dieses Dialogfeld schließen",
11
10
  "components.dropdown.close": "Schließen",
12
11
  "components.filter.clear": "Löschen",
@@ -17,9 +16,9 @@ export default {
17
16
  "components.filter.clearAnnounceSingle": "Filter werden gelöscht",
18
17
  "components.filter.clearDescription": "Filter für {filterName} löschen",
19
18
  "components.filter.clearDescriptionSingle": "Filter löschen",
20
- "components.filter.loading": "Filter werden geladen",
21
19
  "components.filter.filterCountDescription": "{number, plural, zero {Keine Filter angewendet.} one {1 Filter angewendet.} other {{number} Filter angewendet.}}",
22
20
  "components.filter.filters": "Filter",
21
+ "components.filter.loading": "Filter werden geladen",
23
22
  "components.filter.noFilters": "Keine verfügbaren Filter",
24
23
  "components.filter.searchResults": "{number, plural, zero {Keine Suchergebnisse} one {1 Suchergebnis} other {{number} Suchergebnisse}}",
25
24
  "components.filter.singleDimensionDescription": "Filtern nach: {filterName}",
@@ -49,21 +48,37 @@ export default {
49
48
  "components.input-date.errorMaxDateOnly": "Datum muss vor {maxDate} liegen",
50
49
  "components.input-date.errorMinDateOnly": "Datum muss nach {minDate} liegen",
51
50
  "components.input-date.errorOutsideRange": "Datum muss zwischen {minDate} und {maxDate} liegen",
52
- "components.input-date.openInstructions": "Das Datumsformat {format} verwenden. Minikalender durch Abwärtspfeil oder durch Drücken der Eingabetaste aufrufen.",
53
51
  "components.input-date.now": "Jetzt",
52
+ "components.input-date.openInstructions": "Das Datumsformat {format} verwenden. Minikalender durch Abwärtspfeil oder durch Drücken der Eingabetaste aufrufen.",
54
53
  "components.input-date.today": "Heute",
55
- "components.input-number.hintInteger": "Dieses Feld akzeptiert nur Ganzzahlen (keine Dezimalstellen)",
56
54
  "components.input-number.hintDecimalDuplicate": "Diese Zahl enthält bereits eine Dezimale",
57
55
  "components.input-number.hintDecimalIncorrectComma": "Verwenden Sie zum Hinzufügen einer Dezimalstelle das Komma \",“",
58
56
  "components.input-number.hintDecimalIncorrectPeriod": "Verwenden Sie zum Hinzufügen einer Dezimalstelle das Zeichen \".“",
57
+ "components.input-number.hintInteger": "Dieses Feld akzeptiert nur Ganzzahlen (keine Dezimalstellen)",
59
58
  "components.input-search.clear": "Suche löschen",
60
59
  "components.input-search.defaultPlaceholder": "Suchen...",
61
60
  "components.input-search.search": "Suchen",
62
61
  "components.input-time-range.endTime": "Endzeit",
63
62
  "components.input-time-range.errorBadInput": "{startLabel} muss vor {endLabel} liegen",
64
63
  "components.input-time-range.startTime": "Startzeit",
64
+ "components.list-item-drag-handle-tooltip.enter-desc": "Toggle keyboard reorder mode.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "Enter",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Change the nesting level.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "Left/Right",
68
+ "components.list-item-drag-handle-tooltip.title": "Keyboard Controls for Reordering:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Move item up or down in the list.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "Up/Down",
65
71
  "components.list-item-drag-handle.default": "Elementaktion für {name} neu anordnen",
66
72
  "components.list-item-drag-handle.keyboard": "Elemente neu anordnen; aktuelle Position: {currentPosition} von {size}. Drücken Sie zum Bewegen dieses Elements auf den Pfeil nach oben oder den Pfeil nach unten.",
73
+ "components.list-item-tooltip.enter-desc": "Activate the focused option.",
74
+ "components.list-item-tooltip.enter-key": "Enter",
75
+ "components.list-item-tooltip.left-right-desc": "Move focus within current item.",
76
+ "components.list-item-tooltip.left-right-key": "Left/Right",
77
+ "components.list-item-tooltip.page-up-down-desc": "Move focus 5 items at a time.",
78
+ "components.list-item-tooltip.page-up-down-key": "Page Up/Down",
79
+ "components.list-item-tooltip.title": "Keyboard Navigation for Lists:",
80
+ "components.list-item-tooltip.up-down-desc": "Move focus between list items.",
81
+ "components.list-item-tooltip.up-down-key": "Up/Down",
67
82
  "components.menu-item-return.return": "Zum vorherigen Menü zurückkehren.",
68
83
  "components.menu-item-return.returnCurrentlyShowing": "Zum vorherigen Menü zurückkehren. Sie betrachten gerade {menuTitle}.",
69
84
  "components.meter-mixin.commaSeperatedAria": "{term1}, {term2}",
package/lang/en.js CHANGED
@@ -64,6 +64,22 @@ export default {
64
64
  "components.input-time-range.startTime": "Start Time",
65
65
  "components.list-item-drag-handle.default": "Reorder item action for {name}",
66
66
  "components.list-item-drag-handle.keyboard": "Reorder item, current position {currentPosition} out of {size}. To move this item, press up or down arrows.",
67
+ "components.list-item-tooltip.title": "Keyboard Navigation for Lists:",
68
+ "components.list-item-tooltip.enter-key": "Enter",
69
+ "components.list-item-tooltip.enter-desc": "Activate the focused option.",
70
+ "components.list-item-tooltip.up-down-key": "Up/Down",
71
+ "components.list-item-tooltip.up-down-desc": "Move focus between list items.",
72
+ "components.list-item-tooltip.left-right-key": "Left/Right",
73
+ "components.list-item-tooltip.left-right-desc": "Move focus within current item.",
74
+ "components.list-item-tooltip.page-up-down-key": "Page Up/Down",
75
+ "components.list-item-tooltip.page-up-down-desc": "Move focus 5 items at a time.",
76
+ "components.list-item-drag-handle-tooltip.title": "Keyboard Controls for Reordering:",
77
+ "components.list-item-drag-handle-tooltip.enter-key": "Enter",
78
+ "components.list-item-drag-handle-tooltip.enter-desc": "Toggle keyboard reorder mode.",
79
+ "components.list-item-drag-handle-tooltip.up-down-key": "Up/Down",
80
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Move item up or down in the list.",
81
+ "components.list-item-drag-handle-tooltip.left-right-key": "Left/Right",
82
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Change the nesting level.",
67
83
  "components.menu-item-return.return": "Return to previous menu.",
68
84
  "components.menu-item-return.returnCurrentlyShowing": "Return to previous menu. You are viewing {menuTitle}.",
69
85
  "components.meter-mixin.commaSeperatedAria": "{term1}, {term2}",