@brightspace-ui/core 1.228.0 → 1.229.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.
@@ -311,7 +311,8 @@ The `d2l-list-header` component can be placed in the `d2l-list`'s `header` slot
311
311
 
312
312
  | Property | Type | Description |
313
313
  |---|---|---|
314
- | `padding-type` | String | Header whitespace (`normal` (default), `slim`)|
314
+ | `padding-type` | String | Header whitespace (`normal` (default), `slim`) |
315
+ | `select-all-pages-allowed` | Boolean | Whether all pages can be selected |
315
316
  <!-- docs: end hidden content -->
316
317
 
317
318
  ## List Item [d2l-list-item]
@@ -64,11 +64,10 @@
64
64
 
65
65
  <d2l-demo-snippet>
66
66
  <template>
67
- <d2l-list>
68
- <d2l-list-header slot="header">
69
- <d2l-selection-action icon="tier1:tag-hollow" text="Tag" requires-selection></d2l-selection-action>
67
+ <d2l-list id="allFeatures" item-count="50">
68
+ <d2l-list-header slot="header" select-all-pages-allowed>
69
+ <d2l-selection-action icon="tier1:plus-default" text="Add"></d2l-selection-action>
70
70
  <d2l-selection-action icon="tier1:share" text="Share" requires-selection></d2l-selection-action>
71
- <d2l-selection-action icon="tier1:bookmark-hollow" text="Bookmark" requires-selection></d2l-selection-action>
72
71
  <d2l-selection-action icon="tier1:delete" text="Delete" requires-selection></d2l-selection-action>
73
72
  <d2l-selection-action icon="tier1:gear" text="Settings"></d2l-selection-action>
74
73
  </d2l-list-header>
@@ -130,6 +129,23 @@
130
129
  </div>
131
130
  </d2l-list-item>
132
131
  </d2l-list>
132
+ <script>
133
+ let newItemCount = 0;
134
+ document.querySelector('d2l-selection-action[text="Add"]').addEventListener('d2l-selection-action-click', () => {
135
+ const item = document.createElement('d2l-list-item');
136
+ item.selectable = true;
137
+ item.key = `${++newItemCount}`;
138
+ item.label = 'New Item';
139
+ item.innerHTML = `
140
+ <img slot="illustration" src="https://s.brightspace.com/course-images/images/38e839b1-37fa-470c-8830-b189ce4ae134/tile-high-density-max-size.jpg"></img>
141
+ <d2l-list-item-content>
142
+ <div>New Item ${newItemCount}</div>
143
+ <div slot="supporting-info">Supporting Info</div>
144
+ </d2l-list-item-content>
145
+ `;
146
+ document.querySelector('#allFeatures').appendChild(item);
147
+ });
148
+ </script>
133
149
  </template>
134
150
  </d2l-demo-snippet>
135
151
 
@@ -1,5 +1,6 @@
1
1
  import '../overflow-group/overflow-group.js';
2
2
  import '../selection/selection-select-all.js';
3
+ import '../selection/selection-select-all-pages.js';
3
4
  import '../selection/selection-summary.js';
4
5
  import { css, html, LitElement } from 'lit-element/lit-element.js';
5
6
  import { LocalizeCoreElement } from '../../lang/localize-core-element.js';
@@ -25,6 +26,11 @@ class ListHeader extends RtlMixin(LocalizeCoreElement(LitElement)) {
25
26
  * @type {'normal'|'slim'}
26
27
  */
27
28
  paddingType: { type: String, attribute: 'padding-type' },
29
+ /**
30
+ * Whether all pages can be selected
31
+ * @type {boolean}
32
+ */
33
+ selectAllPagesAllowed: { type: Boolean, attribute: 'select-all-pages-allowed' },
28
34
  };
29
35
  }
30
36
 
@@ -60,6 +66,14 @@ class ListHeader extends RtlMixin(LocalizeCoreElement(LitElement)) {
60
66
  margin-left: 0;
61
67
  margin-right: 0.9rem;
62
68
  }
69
+ d2l-selection-select-all-pages {
70
+ flex: none;
71
+ margin-left: 0.45rem;
72
+ }
73
+ :host([dir="rtl"]) d2l-selection-select-all-pages {
74
+ margin-left: 0;
75
+ margin-right: 0.45rem;
76
+ }
63
77
  .d2l-list-header-actions {
64
78
  --d2l-overflow-group-justify-content: flex-end;
65
79
  flex: auto;
@@ -75,6 +89,7 @@ class ListHeader extends RtlMixin(LocalizeCoreElement(LitElement)) {
75
89
  super();
76
90
  this.slim = false;
77
91
  this.paddingType = 'normal';
92
+ this.selectAllPagesAllowed = false;
78
93
  }
79
94
 
80
95
  render() {
@@ -86,6 +101,7 @@ class ListHeader extends RtlMixin(LocalizeCoreElement(LitElement)) {
86
101
  class="d2l-list-header-summary"
87
102
  no-selection-text="${this.localize('components.selection.select-all')}">
88
103
  </d2l-selection-summary>
104
+ ${this.selectAllPagesAllowed ? html`<d2l-selection-select-all-pages></d2l-selection-select-all-pages>` : null}
89
105
  <div class="d2l-list-header-actions">
90
106
  <d2l-overflow-group opener-type="icon"><slot></slot></d2l-overflow-group>
91
107
  </div>
@@ -97,6 +97,7 @@ The `d2l-list` already extends `SelectionMixin` and should always be used for li
97
97
 
98
98
  | Property | Type | Description |
99
99
  |---|---|---|
100
+ | `item-count` | Number | Total number of items. Required when selecting all pages is allowed. |
100
101
  | `selection-single` | Boolean | Whether to render with single selection behaviour. If `selection-single` is specified, the nested `d2l-selection-input` elements will render radios instead of checkboxes, and the selection component will maintain a single selected item. |
101
102
  <!-- docs: end hidden content -->
102
103
 
@@ -74,6 +74,7 @@ class Input extends SkeletonMixin(LabelledMixin(LitElement)) {
74
74
  });
75
75
  this.dispatchEvent(evt);
76
76
  this._provider = evt.detail.provider;
77
+ if (this._provider && this._provider._selectAllPages) this.selected = true;
77
78
  });
78
79
  }
79
80
 
@@ -28,7 +28,8 @@ export class SelectionInfo {
28
28
  return {
29
29
  none: 'none',
30
30
  some: 'some',
31
- all: 'all'
31
+ all: 'all',
32
+ allPages: 'all-pages'
32
33
  };
33
34
  }
34
35
 
@@ -38,6 +39,11 @@ export const SelectionMixin = superclass => class extends RtlMixin(superclass) {
38
39
 
39
40
  static get properties() {
40
41
  return {
42
+ /**
43
+ * Total number of items. Required when selecting all pages is allowed.
44
+ * @type {number}
45
+ */
46
+ itemCount: { type: Number, attribute: 'item-count' },
41
47
  /**
42
48
  * Whether to render with single selection behaviour. If `selection-single` is specified, the nested `d2l-selection-input` elements will render radios instead of checkboxes, and the selection component will maintain a single selected item.
43
49
  * @type {boolean}
@@ -48,7 +54,9 @@ export const SelectionMixin = superclass => class extends RtlMixin(superclass) {
48
54
 
49
55
  constructor() {
50
56
  super();
57
+ this.itemCount = 0;
51
58
  this.selectionSingle = false;
59
+ this._selectAllPages = false;
52
60
  this._selectionObservers = new Map();
53
61
  this._selectionSelectables = new Map();
54
62
  }
@@ -80,22 +88,28 @@ export const SelectionMixin = superclass => class extends RtlMixin(superclass) {
80
88
  let state = SelectionInfo.states.none;
81
89
  const keys = [];
82
90
 
83
- this._selectionSelectables.forEach(selectable => {
84
- if (selectable.selected) keys.push(selectable.key);
85
- if (selectable._indeterminate) state = SelectionInfo.states.some;
86
- });
91
+ if (this._selectAllPages) {
92
+ state = SelectionInfo.states.allPages;
93
+ } else {
94
+ this._selectionSelectables.forEach(selectable => {
95
+ if (selectable.selected) keys.push(selectable.key);
96
+ if (selectable._indeterminate) state = SelectionInfo.states.some;
97
+ });
87
98
 
88
- if (keys.length > 0) {
89
- if (keys.length === this._selectionSelectables.size) state = SelectionInfo.states.all;
90
- else state = SelectionInfo.states.some;
99
+ if (keys.length > 0) {
100
+ if (keys.length === this._selectionSelectables.size) state = SelectionInfo.states.all;
101
+ else state = SelectionInfo.states.some;
102
+ }
91
103
  }
92
104
 
93
105
  return new SelectionInfo(keys, state);
94
106
  }
95
107
 
96
- setSelectionForAll(selected) {
108
+ setSelectionForAll(selected, selectAllPages) {
97
109
  if (this.selectionSingle && selected) return;
98
110
 
111
+ this._selectAllPages = (selected && selectAllPages);
112
+
99
113
  this._selectionSelectables.forEach(selectable => {
100
114
  if (!!selectable.selected !== selected) {
101
115
  selectable.selected = selected;
@@ -154,6 +168,7 @@ export const SelectionMixin = superclass => class extends RtlMixin(superclass) {
154
168
  }
155
169
 
156
170
  _handleSelectionChange(e) {
171
+ if (!e.detail.selected) this._selectAllPages = false;
157
172
  if (this.selectionSingle && e.detail.selected) {
158
173
  const target = e.composedPath().find(elem => elem.tagName === 'D2L-SELECTION-INPUT');
159
174
  this._selectionSelectables.forEach(selectable => {
@@ -0,0 +1,48 @@
1
+ import '../button/button-subtle.js';
2
+ import { css, html, LitElement } from 'lit-element/lit-element.js';
3
+ import { LocalizeCoreElement } from '../../lang/localize-core-element.js';
4
+ import { SelectionInfo } from './selection-mixin.js';
5
+ import { SelectionObserverMixin } from './selection-observer-mixin.js';
6
+
7
+ /**
8
+ * A subtle button that selects all items for all pages.
9
+ * @fires d2l-selection-observer-subscribe - Internal event
10
+ */
11
+ class SelectAllPages extends LocalizeCoreElement(SelectionObserverMixin(LitElement)) {
12
+
13
+ static get styles() {
14
+ return css`
15
+ :host {
16
+ display: inline-block;
17
+ }
18
+ :host([hidden]) {
19
+ display: none;
20
+ }
21
+ `;
22
+ }
23
+
24
+ render() {
25
+ if (!this._provider) return;
26
+ if (!this._provider.itemCount) return;
27
+ if (this._provider.selectionSingle) return;
28
+ if (this.selectionInfo.state !== SelectionInfo.states.all) return;
29
+
30
+ return html`
31
+ <d2l-button-subtle
32
+ @click="${this._handleClick}"
33
+ text="${this.localize('components.selection.select-all-items', 'count', this._provider.itemCount)}">
34
+ </d2l-button-subtle>`;
35
+ }
36
+
37
+ focus() {
38
+ const elem = this.shadowRoot && this.shadowRoot.querySelector('d2l-button-subtle');
39
+ if (elem) elem.focus();
40
+ }
41
+
42
+ _handleClick() {
43
+ if (this._provider) this._provider.setSelectionForAll(true, true);
44
+ }
45
+
46
+ }
47
+
48
+ customElements.define('d2l-selection-select-all-pages', SelectAllPages);
@@ -48,7 +48,7 @@ class SelectAll extends LocalizeCoreElement(SelectionObserverMixin(LitElement))
48
48
  <d2l-input-checkbox
49
49
  aria-label="${this.localize('components.selection.select-all')}"
50
50
  @change="${this._handleCheckboxChange}"
51
- ?checked="${this.selectionInfo.state === SelectionInfo.states.all}"
51
+ ?checked="${this.selectionInfo.state === SelectionInfo.states.all || this.selectionInfo.state === SelectionInfo.states.allPages}"
52
52
  ?disabled="${this.disabled}"
53
53
  description="${ifDefined(this.selectionInfo.state !== SelectionInfo.states.none ? summary : undefined)}"
54
54
  ?indeterminate="${this.selectionInfo.state === SelectionInfo.states.some}">
@@ -62,7 +62,7 @@ class SelectAll extends LocalizeCoreElement(SelectionObserverMixin(LitElement))
62
62
  }
63
63
 
64
64
  _handleCheckboxChange(e) {
65
- if (this._provider) this._provider.setSelectionForAll(e.target.checked);
65
+ if (this._provider) this._provider.setSelectionForAll(e.target.checked, false);
66
66
  }
67
67
 
68
68
  }
@@ -37,8 +37,12 @@ class Summary extends LocalizeCoreElement(SelectionObserverMixin(LitElement)) {
37
37
  render() {
38
38
  if (this._provider && this._provider.selectionSingle) return;
39
39
 
40
+ const count = (this.selectionInfo.state === SelectionInfo.states.allPages ?
41
+ this._provider.itemCount : this.selectionInfo.keys.length);
42
+
40
43
  const summary = (this.selectionInfo.state === SelectionInfo.states.none && this.noSelectionText ?
41
- this.noSelectionText : this.localize('components.selection.selected', 'count', this.selectionInfo.keys.length));
44
+ this.noSelectionText : this.localize('components.selection.selected', 'count', count));
45
+
42
46
  return html`
43
47
  <p class="d2l-body-compact">${summary}</p>
44
48
  `;
@@ -6678,6 +6678,12 @@
6678
6678
  "description": "How much padding to render list items with",
6679
6679
  "type": "'normal'|'slim'",
6680
6680
  "default": "\"normal\""
6681
+ },
6682
+ {
6683
+ "name": "select-all-pages-allowed",
6684
+ "description": "Whether all pages can be selected",
6685
+ "type": "boolean",
6686
+ "default": "false"
6681
6687
  }
6682
6688
  ],
6683
6689
  "properties": [
@@ -6692,6 +6698,13 @@
6692
6698
  "description": "How much padding to render list items with",
6693
6699
  "type": "'normal'|'slim'",
6694
6700
  "default": "\"normal\""
6701
+ },
6702
+ {
6703
+ "name": "selectAllPagesAllowed",
6704
+ "attribute": "select-all-pages-allowed",
6705
+ "description": "Whether all pages can be selected",
6706
+ "type": "boolean",
6707
+ "default": "false"
6695
6708
  }
6696
6709
  ],
6697
6710
  "slots": [
@@ -7352,6 +7365,12 @@
7352
7365
  "type": "boolean",
7353
7366
  "default": "false"
7354
7367
  },
7368
+ {
7369
+ "name": "item-count",
7370
+ "description": "Total number of items. Required when selecting all pages is allowed.",
7371
+ "type": "number",
7372
+ "default": "0"
7373
+ },
7355
7374
  {
7356
7375
  "name": "selection-single",
7357
7376
  "description": "Whether to render with single selection behaviour. If `selection-single` is specified, the nested `d2l-selection-input` elements will render radios instead of checkboxes, and the selection component will maintain a single selected item.",
@@ -7388,6 +7407,13 @@
7388
7407
  "type": "boolean",
7389
7408
  "default": "false"
7390
7409
  },
7410
+ {
7411
+ "name": "itemCount",
7412
+ "attribute": "item-count",
7413
+ "description": "Total number of items. Required when selecting all pages is allowed.",
7414
+ "type": "number",
7415
+ "default": "0"
7416
+ },
7391
7417
  {
7392
7418
  "name": "selectionSingle",
7393
7419
  "attribute": "selection-single",
@@ -8389,6 +8415,12 @@
8389
8415
  "name": "d2l-demo-selection",
8390
8416
  "path": "./components/selection/demo/demo-selection.js",
8391
8417
  "attributes": [
8418
+ {
8419
+ "name": "item-count",
8420
+ "description": "Total number of items. Required when selecting all pages is allowed.",
8421
+ "type": "number",
8422
+ "default": "0"
8423
+ },
8392
8424
  {
8393
8425
  "name": "selection-single",
8394
8426
  "description": "Whether to render with single selection behaviour. If `selection-single` is specified, the nested `d2l-selection-input` elements will render radios instead of checkboxes, and the selection component will maintain a single selected item.",
@@ -8397,6 +8429,13 @@
8397
8429
  }
8398
8430
  ],
8399
8431
  "properties": [
8432
+ {
8433
+ "name": "itemCount",
8434
+ "attribute": "item-count",
8435
+ "description": "Total number of items. Required when selecting all pages is allowed.",
8436
+ "type": "number",
8437
+ "default": "0"
8438
+ },
8400
8439
  {
8401
8440
  "name": "selectionSingle",
8402
8441
  "attribute": "selection-single",
@@ -8590,6 +8629,35 @@
8590
8629
  }
8591
8630
  ]
8592
8631
  },
8632
+ {
8633
+ "name": "d2l-selection-select-all-pages",
8634
+ "path": "./components/selection/selection-select-all-pages.js",
8635
+ "description": "A subtle button that selects all items for all pages.",
8636
+ "attributes": [
8637
+ {
8638
+ "name": "selection-for",
8639
+ "description": "Id of the `SelectionMixin` component this component wants to observe (if not located within that component)",
8640
+ "type": "string"
8641
+ }
8642
+ ],
8643
+ "properties": [
8644
+ {
8645
+ "name": "selectionFor",
8646
+ "attribute": "selection-for",
8647
+ "description": "Id of the `SelectionMixin` component this component wants to observe (if not located within that component)",
8648
+ "type": "string"
8649
+ },
8650
+ {
8651
+ "name": "selectionInfo"
8652
+ }
8653
+ ],
8654
+ "events": [
8655
+ {
8656
+ "name": "d2l-selection-observer-subscribe",
8657
+ "description": "Internal event"
8658
+ }
8659
+ ]
8660
+ },
8593
8661
  {
8594
8662
  "name": "d2l-selection-select-all",
8595
8663
  "path": "./components/selection/selection-select-all.js",
@@ -8676,6 +8744,12 @@
8676
8744
  "name": "d2l-test-selection",
8677
8745
  "path": "./components/selection/test/selection-component.js",
8678
8746
  "attributes": [
8747
+ {
8748
+ "name": "item-count",
8749
+ "description": "Total number of items. Required when selecting all pages is allowed.",
8750
+ "type": "number",
8751
+ "default": "0"
8752
+ },
8679
8753
  {
8680
8754
  "name": "selection-single",
8681
8755
  "description": "Whether to render with single selection behaviour. If `selection-single` is specified, the nested `d2l-selection-input` elements will render radios instead of checkboxes, and the selection component will maintain a single selected item.",
@@ -8684,6 +8758,13 @@
8684
8758
  }
8685
8759
  ],
8686
8760
  "properties": [
8761
+ {
8762
+ "name": "itemCount",
8763
+ "attribute": "item-count",
8764
+ "description": "Total number of items. Required when selecting all pages is allowed.",
8765
+ "type": "number",
8766
+ "default": "0"
8767
+ },
8687
8768
  {
8688
8769
  "name": "selectionSingle",
8689
8770
  "attribute": "selection-single",
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,37 +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": "تبديل وضع إعادة ترتيب لوحة المفاتيح.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "إدخال",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "غيِّر مستوى التداخل.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "يسار/يمين",
68
+ "components.list-item-drag-handle-tooltip.title": "عناصر التحكم بلوحة المفاتيح لإعادة الترتيب:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "نقل المادة إلى الأعلى أو الأسفل في القائمة.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "أعلى/أسفل",
65
71
  "components.list-item-drag-handle.default": "إعادة ترتيب إجراء المادة لـ {name}",
66
72
  "components.list-item-drag-handle.keyboard": "إعادة ترتيب المواد، الموضع الحالي {currentPosition} من أصل {size}. لنقل هذه المادة، اضغط على السهم المتجه إلى أعلى أو السهم المتجه إلى أسفل.",
67
- "components.list-item-tooltip.title": "التنقل عبر لوحة المفاتيح للقوائم:",
68
- "components.list-item-tooltip.enter-key": "إدخال",
69
73
  "components.list-item-tooltip.enter-desc": "تنشيط خيار التركيز.",
70
- "components.list-item-tooltip.up-down-key": "أعلى/أسفل",
71
- "components.list-item-tooltip.up-down-desc": "نقل التركيز بين مواد القائمة.",
72
- "components.list-item-tooltip.left-right-key": "يسار/يمين",
74
+ "components.list-item-tooltip.enter-key": "إدخال",
73
75
  "components.list-item-tooltip.left-right-desc": "نقل التركيز ضمن المادة الحالية.",
74
- "components.list-item-tooltip.page-up-down-key": "صفحة إلى الأعلى/الأسفل",
76
+ "components.list-item-tooltip.left-right-key": "يسار/يمين",
75
77
  "components.list-item-tooltip.page-up-down-desc": "نقل التركيز لـ 5 مواد في كل مرة.",
76
- "components.list-item-drag-handle-tooltip.title": "عناصر التحكم بلوحة المفاتيح لإعادة الترتيب:",
77
- "components.list-item-drag-handle-tooltip.enter-key": "إدخال",
78
- "components.list-item-drag-handle-tooltip.enter-desc": "تبديل وضع إعادة ترتيب لوحة المفاتيح.",
79
- "components.list-item-drag-handle-tooltip.up-down-key": "أعلى/أسفل",
80
- "components.list-item-drag-handle-tooltip.up-down-desc": "نقل المادة إلى الأعلى أو الأسفل في القائمة.",
81
- "components.list-item-drag-handle-tooltip.left-right-key": "يسار/يمين",
82
- "components.list-item-drag-handle-tooltip.left-right-desc": "غيِّر مستوى التداخل.",
78
+ "components.list-item-tooltip.page-up-down-key": "صفحة إلى الأعلى/الأسفل",
79
+ "components.list-item-tooltip.title": "التنقل عبر لوحة المفاتيح للقوائم:",
80
+ "components.list-item-tooltip.up-down-desc": "نقل التركيز بين مواد القائمة.",
81
+ "components.list-item-tooltip.up-down-key": "أعلى/أسفل",
83
82
  "components.menu-item-return.return": "العودة إلى القائمة السابقة.",
84
83
  "components.menu-item-return.returnCurrentlyShowing": "العودة إلى القائمة السابقة. يتم عرض {menuTitle}.",
85
84
  "components.meter-mixin.commaSeperatedAria": "{term1}، ‏{term2}",
@@ -90,6 +89,7 @@ export default {
90
89
  "components.overflow-group.moreActions": "مزيد من الإجراءات",
91
90
  "components.selection.action-hint": "حدد مادة لتنفيذ هذا الإجراء.",
92
91
  "components.selection.select-all": "تحديد الكل",
92
+ "components.selection.select-all-items": "Select All {count} Items",
93
93
  "components.selection.selected": "تم تحديد {count}",
94
94
  "components.switch.visibility": "إمكانية الرؤية",
95
95
  "components.tabs.next": "التمرير إلى الأمام",
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,37 +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": "Toglo'r modd aildrefnu bysellfwrdd.",
65
+ "components.list-item-drag-handle-tooltip.enter-key": "Nodi",
66
+ "components.list-item-drag-handle-tooltip.left-right-desc": "Newid y lefel nythu.",
67
+ "components.list-item-drag-handle-tooltip.left-right-key": "Chwith/De",
68
+ "components.list-item-drag-handle-tooltip.title": "Rheolaethau bysellfwrdd ar gyfer aildrefnu:",
69
+ "components.list-item-drag-handle-tooltip.up-down-desc": "Symud yr eitem i fyny neu i lawr yn y rhestr.",
70
+ "components.list-item-drag-handle-tooltip.up-down-key": "I Fyny/I Lawr",
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.",
67
- "components.list-item-tooltip.title": "Llywio Bysellfwrdd ar gyfer Rhestrau:",
68
- "components.list-item-tooltip.enter-key": "Nodi",
69
73
  "components.list-item-tooltip.enter-desc": "Gweithredu'r opsiwn ffocysu.",
70
- "components.list-item-tooltip.up-down-key": "I Fyny/I Lawr",
71
- "components.list-item-tooltip.up-down-desc": "Symud y ffocws rhwng eitemau rhestr.",
72
- "components.list-item-tooltip.left-right-key": "Chwith/De",
74
+ "components.list-item-tooltip.enter-key": "Nodi",
73
75
  "components.list-item-tooltip.left-right-desc": "Symud y ffocws o fewn yr eitem bresennol.",
74
- "components.list-item-tooltip.page-up-down-key": "Tudalen I Fyny/I Lawr",
76
+ "components.list-item-tooltip.left-right-key": "Chwith/De",
75
77
  "components.list-item-tooltip.page-up-down-desc": "Symud y ffocws 5 eitem ar y tro.",
76
- "components.list-item-drag-handle-tooltip.title": "Rheolaethau bysellfwrdd ar gyfer aildrefnu:",
77
- "components.list-item-drag-handle-tooltip.enter-key": "Nodi",
78
- "components.list-item-drag-handle-tooltip.enter-desc": "Toglo'r modd aildrefnu bysellfwrdd.",
79
- "components.list-item-drag-handle-tooltip.up-down-key": "I Fyny/I Lawr",
80
- "components.list-item-drag-handle-tooltip.up-down-desc": "Symud yr eitem i fyny neu i lawr yn y rhestr.",
81
- "components.list-item-drag-handle-tooltip.left-right-key": "Chwith/De",
82
- "components.list-item-drag-handle-tooltip.left-right-desc": "Newid y lefel nythu.",
78
+ "components.list-item-tooltip.page-up-down-key": "Tudalen I Fyny/I Lawr",
79
+ "components.list-item-tooltip.title": "Llywio Bysellfwrdd ar gyfer Rhestrau:",
80
+ "components.list-item-tooltip.up-down-desc": "Symud y ffocws rhwng eitemau rhestr.",
81
+ "components.list-item-tooltip.up-down-key": "I Fyny/I Lawr",
83
82
  "components.menu-item-return.return": "Dychwelyd i'r ddewislen flaenorol.",
84
83
  "components.menu-item-return.returnCurrentlyShowing": "Dychwelyd i'r ddewislen flaenorol. Rydych chi'n edrych ar {menuTitle}.",
85
84
  "components.meter-mixin.commaSeperatedAria": "{term1}, {term2}",
@@ -90,6 +89,7 @@ export default {
90
89
  "components.overflow-group.moreActions": "Rhagor o Gamau Gweithredu",
91
90
  "components.selection.action-hint": "Dewiswch eitem i gyflawni'r weithred hon.",
92
91
  "components.selection.select-all": "Dewis y Cyfan",
92
+ "components.selection.select-all-items": "Select All {count} Items",
93
93
  "components.selection.selected": "{count} wedi’u dewis.",
94
94
  "components.switch.visibility": "Gwelededd",
95
95
  "components.tabs.next": "Sgrolio Ymlaen",