@limetech/lime-elements 39.25.0 → 39.27.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.
- package/CHANGELOG.md +23 -0
- package/README.md +1 -1
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-action-bar_3.cjs.entry.js +1 -1
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
- package/dist/cjs/limel-callout.cjs.entry.js +1 -1
- package/dist/cjs/limel-chart.cjs.entry.js +1 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js +21 -3
- package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
- package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
- package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-list-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +112 -41
- package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +1 -1
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{translations-D4j_eojG.js → translations-BCHv7JrI.js} +16 -0
- package/dist/collection/components/chip-set/chip-set.js +40 -2
- package/dist/collection/components/picker/picker-item.types.js +1 -0
- package/dist/collection/components/picker/picker.js +167 -103
- package/dist/collection/interface.js +1 -0
- package/dist/collection/translations/da.js +2 -0
- package/dist/collection/translations/de.js +2 -0
- package/dist/collection/translations/en.js +2 -0
- package/dist/collection/translations/fi.js +2 -0
- package/dist/collection/translations/fr.js +2 -0
- package/dist/collection/translations/nl.js +2 -0
- package/dist/collection/translations/no.js +2 -0
- package/dist/collection/translations/sv.js +2 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-action-bar_3.entry.js +1 -1
- package/dist/esm/limel-ai-avatar.entry.js +1 -1
- package/dist/esm/limel-callout.entry.js +1 -1
- package/dist/esm/limel-chart.entry.js +1 -1
- package/dist/esm/limel-chip-set.entry.js +21 -3
- package/dist/esm/limel-chip_2.entry.js +1 -1
- package/dist/esm/limel-code-diff.entry.js +1 -1
- package/dist/esm/limel-code-editor.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js +1 -1
- package/dist/esm/limel-drag-handle.entry.js +1 -1
- package/dist/esm/limel-email-viewer.entry.js +1 -1
- package/dist/esm/limel-file-viewer.entry.js +1 -1
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-list-item.entry.js +1 -1
- package/dist/esm/limel-picker.entry.js +113 -42
- package/dist/esm/limel-profile-picture.entry.js +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
- package/dist/esm/limel-snackbar.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +1 -1
- package/dist/esm/limel-text-editor-link-menu.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{translations-Dv3YcsA7.js → translations-PPDjFxtV.js} +16 -0
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-5eadcd4a.entry.js → p-0e24eb2b.entry.js} +1 -1
- package/dist/lime-elements/{p-80162ba0.entry.js → p-1f0d571e.entry.js} +1 -1
- package/dist/lime-elements/{p-c8eabc9d.entry.js → p-25aa2667.entry.js} +1 -1
- package/dist/lime-elements/{p-067a13bb.entry.js → p-2eea146d.entry.js} +1 -1
- package/dist/lime-elements/{p-eff0a330.entry.js → p-32e893de.entry.js} +1 -1
- package/dist/lime-elements/{p-b1645d2d.entry.js → p-3364b078.entry.js} +1 -1
- package/dist/lime-elements/{p-60327283.entry.js → p-3c09f58b.entry.js} +1 -1
- package/dist/lime-elements/{p-01651634.entry.js → p-3c79f422.entry.js} +1 -1
- package/dist/lime-elements/p-4acb7438.entry.js +1 -0
- package/dist/lime-elements/{p-9caeca33.entry.js → p-87c1d5f0.entry.js} +1 -1
- package/dist/lime-elements/{p-512b2e14.entry.js → p-8b2f5ef5.entry.js} +1 -1
- package/dist/lime-elements/p-8dc61e1b.entry.js +1 -0
- package/dist/lime-elements/{p-504dcdb6.entry.js → p-9e35468c.entry.js} +1 -1
- package/dist/lime-elements/p-PPDjFxtV.js +1 -0
- package/dist/lime-elements/{p-42b9b57a.entry.js → p-a49c1c48.entry.js} +1 -1
- package/dist/lime-elements/{p-95ac0387.entry.js → p-abd1fde1.entry.js} +1 -1
- package/dist/lime-elements/{p-05d533b5.entry.js → p-cb10df74.entry.js} +1 -1
- package/dist/lime-elements/{p-104d0fb3.entry.js → p-cd85d670.entry.js} +1 -1
- package/dist/lime-elements/{p-f867b424.entry.js → p-db022b46.entry.js} +1 -1
- package/dist/lime-elements/{p-5cc370fe.entry.js → p-e6b2b277.entry.js} +1 -1
- package/dist/lime-elements/{p-e5c7cac0.entry.js → p-ea3c3dfd.entry.js} +1 -1
- package/dist/lime-elements/{p-7436490f.entry.js → p-eece0f01.entry.js} +1 -1
- package/dist/types/components/chip-set/chip-set.d.ts +16 -0
- package/dist/types/components/picker/picker-item.types.d.ts +28 -0
- package/dist/types/components/picker/picker.d.ts +38 -9
- package/dist/types/components/picker/searcher.types.d.ts +3 -3
- package/dist/types/components.d.ts +42 -12
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/translations/da.d.ts +2 -0
- package/dist/types/translations/de.d.ts +2 -0
- package/dist/types/translations/en.d.ts +2 -0
- package/dist/types/translations/fi.d.ts +2 -0
- package/dist/types/translations/fr.d.ts +2 -0
- package/dist/types/translations/nl.d.ts +2 -0
- package/dist/types/translations/no.d.ts +2 -0
- package/dist/types/translations/sv.d.ts +2 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-51734986.entry.js +0 -1
- package/dist/lime-elements/p-Dv3YcsA7.js +0 -1
- package/dist/lime-elements/p-cba2dbb6.entry.js +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import translate from "../../global/translations";
|
|
1
2
|
import { h, } from "@stencil/core";
|
|
2
3
|
import { isDescendant } from "../../util/dom";
|
|
3
4
|
import { ARROW_DOWN, ARROW_UP, ENTER, ESCAPE, TAB } from "../../util/keycodes";
|
|
@@ -10,11 +11,13 @@ const DEFAULT_SEARCHER_MAX_RESULTS = 20;
|
|
|
10
11
|
/**
|
|
11
12
|
* @exampleComponent limel-example-picker-basic
|
|
12
13
|
* @exampleComponent limel-example-picker-multiple
|
|
14
|
+
* @exampleComponent limel-example-picker-non-removable
|
|
13
15
|
* @exampleComponent limel-example-picker-icons
|
|
14
16
|
* @exampleComponent limel-example-picker-pictures
|
|
15
17
|
* @exampleComponent limel-example-picker-value-as-object
|
|
16
18
|
* @exampleComponent limel-example-picker-value-as-object-with-actions
|
|
17
19
|
* @exampleComponent limel-example-picker-empty-suggestions
|
|
20
|
+
* @exampleComponent limel-example-picker-empty-result-message
|
|
18
21
|
* @exampleComponent limel-example-picker-leading-icon
|
|
19
22
|
* @exampleComponent limel-example-picker-static-actions
|
|
20
23
|
* @exampleComponent limel-example-picker-sections
|
|
@@ -31,6 +34,12 @@ export class Picker {
|
|
|
31
34
|
* but allow interaction with existing items.
|
|
32
35
|
*/
|
|
33
36
|
this.readonly = false;
|
|
37
|
+
/**
|
|
38
|
+
* Defines the language for translations. Affects the labels
|
|
39
|
+
* rendered by the picker itself, such as the "Results matching"
|
|
40
|
+
* header shown above the suggestion list while the user is typing.
|
|
41
|
+
*/
|
|
42
|
+
this.language = 'en';
|
|
34
43
|
/**
|
|
35
44
|
* True if the control requires a value
|
|
36
45
|
*/
|
|
@@ -111,7 +120,7 @@ export class Picker {
|
|
|
111
120
|
return {
|
|
112
121
|
id: `${valueId}`,
|
|
113
122
|
text: listItem.text,
|
|
114
|
-
removable:
|
|
123
|
+
removable: listItem.removable !== false,
|
|
115
124
|
icon: name ? { name: name, color: color } : undefined,
|
|
116
125
|
image: listItem.image,
|
|
117
126
|
value: listItem,
|
|
@@ -123,7 +132,7 @@ export class Picker {
|
|
|
123
132
|
this.loading = true;
|
|
124
133
|
});
|
|
125
134
|
const searcher = this.searcher || this.defaultSearcher;
|
|
126
|
-
const result =
|
|
135
|
+
const result = await searcher(this.textValue);
|
|
127
136
|
// If the search function resolves immediately,
|
|
128
137
|
// the loading spinner will not be shown.
|
|
129
138
|
clearTimeout(timeoutId);
|
|
@@ -145,7 +154,6 @@ export class Picker {
|
|
|
145
154
|
};
|
|
146
155
|
this.handleTextInput = this.handleTextInput.bind(this);
|
|
147
156
|
this.handleInputKeyDown = this.handleInputKeyDown.bind(this);
|
|
148
|
-
this.handleDropdownKeyDown = this.handleDropdownKeyDown.bind(this);
|
|
149
157
|
this.handleInputFieldFocus = this.handleInputFieldFocus.bind(this);
|
|
150
158
|
this.handleChange = this.handleChange.bind(this);
|
|
151
159
|
this.handleInteract = this.handleInteract.bind(this);
|
|
@@ -189,7 +197,7 @@ export class Picker {
|
|
|
189
197
|
props.maxItems = 1;
|
|
190
198
|
}
|
|
191
199
|
return [
|
|
192
|
-
h("limel-chip-set", Object.assign({ key: '
|
|
200
|
+
h("limel-chip-set", Object.assign({ key: '8aaf0ce641e0c93e4f6b8066a9575de17432f973', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, language: this.language, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, emptyInputOnChange: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
|
|
193
201
|
this.renderDropdown(),
|
|
194
202
|
];
|
|
195
203
|
}
|
|
@@ -258,7 +266,14 @@ export class Picker {
|
|
|
258
266
|
return this.renderSpinner();
|
|
259
267
|
}
|
|
260
268
|
if (!((_a = this.items) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
261
|
-
|
|
269
|
+
// Only show "no matching results" when the user actually has
|
|
270
|
+
// a query in flight. Without this guard, the message would
|
|
271
|
+
// also render right after Esc clears the input, leaving the
|
|
272
|
+
// dropdown stuck in an "empty result" state.
|
|
273
|
+
if (this.textValue !== '') {
|
|
274
|
+
return this.renderEmptyMessage();
|
|
275
|
+
}
|
|
276
|
+
return;
|
|
262
277
|
}
|
|
263
278
|
return this.renderListResult();
|
|
264
279
|
}
|
|
@@ -281,22 +296,32 @@ export class Picker {
|
|
|
281
296
|
} }, h("limel-spinner", { limeBranded: false })));
|
|
282
297
|
}
|
|
283
298
|
renderEmptyMessage() {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
299
|
+
const text = this.emptyResultMessage ||
|
|
300
|
+
translate.get('picker.no-matching-results', this.language, {
|
|
301
|
+
query: this.textValue,
|
|
302
|
+
});
|
|
287
303
|
const style = {
|
|
288
304
|
color: 'rgb(var(--contrast-1100))',
|
|
289
|
-
|
|
305
|
+
textAlign: 'center',
|
|
306
|
+
fontSize: 'var(--limel-theme-default-font-size)',
|
|
290
307
|
margin: '0.5rem 1rem',
|
|
291
308
|
};
|
|
292
|
-
return h("p", { style: style },
|
|
309
|
+
return h("p", { style: style }, text);
|
|
293
310
|
}
|
|
294
311
|
renderListResult() {
|
|
295
312
|
return (h("limel-list", { badgeIcons: this.badgeIcons, onChange: this.handleListChange, onKeyDown: this.onListKeyDown, type: "selectable", items: this.items }));
|
|
296
313
|
}
|
|
297
314
|
onListKeyDown(event) {
|
|
298
|
-
|
|
299
|
-
|
|
315
|
+
if (event.key === ESCAPE) {
|
|
316
|
+
// Stop bubble; otherwise menu-surface also emits `dismiss`
|
|
317
|
+
// and triggers a duplicate clear via handleCloseMenu.
|
|
318
|
+
event.preventDefault();
|
|
319
|
+
event.stopPropagation();
|
|
320
|
+
this.handleEscape();
|
|
321
|
+
this.chipSet.setFocus();
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
if ([TAB, ENTER].includes(event.key)) {
|
|
300
325
|
this.chipSet.setFocus();
|
|
301
326
|
}
|
|
302
327
|
}
|
|
@@ -343,22 +368,30 @@ export class Picker {
|
|
|
343
368
|
* @param event - event
|
|
344
369
|
*/
|
|
345
370
|
handleListChange(event) {
|
|
346
|
-
var _a;
|
|
371
|
+
var _a, _b, _c;
|
|
347
372
|
event.stopPropagation();
|
|
348
373
|
if (!this.value || this.value !== event.detail) {
|
|
349
374
|
let newValue = event.detail;
|
|
350
375
|
if (this.multiple) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
event.detail,
|
|
354
|
-
];
|
|
376
|
+
const currentValue = (_a = this.value) !== null && _a !== void 0 ? _a : [];
|
|
377
|
+
newValue = [...currentValue, event.detail];
|
|
355
378
|
}
|
|
356
379
|
this.change.emit(newValue);
|
|
357
|
-
this.
|
|
380
|
+
if (this.multiple) {
|
|
381
|
+
const remaining = this.items.filter((item) => item !== event.detail);
|
|
382
|
+
this.items = this.hasPickableItems(remaining) ? remaining : [];
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
// Single-pick: the search session ends with the pick, so
|
|
386
|
+
// wipe the input. (In multi-pick we deliberately keep the
|
|
387
|
+
// typed query so the user can keep adding matches.)
|
|
388
|
+
this.items = [];
|
|
389
|
+
this.textValue = '';
|
|
390
|
+
(_b = this.chipSet) === null || _b === void 0 ? void 0 : _b.emptyInput();
|
|
391
|
+
}
|
|
358
392
|
}
|
|
359
393
|
if (this.multiple) {
|
|
360
|
-
this.
|
|
361
|
-
(_a = this.chipSet) === null || _a === void 0 ? void 0 : _a.setFocus(true);
|
|
394
|
+
(_c = this.chipSet) === null || _c === void 0 ? void 0 : _c.setFocus();
|
|
362
395
|
}
|
|
363
396
|
}
|
|
364
397
|
/**
|
|
@@ -414,6 +447,13 @@ export class Picker {
|
|
|
414
447
|
!event.shiftKey;
|
|
415
448
|
const isUp = event.key === ARROW_UP;
|
|
416
449
|
const isDown = event.key === ARROW_DOWN;
|
|
450
|
+
const isEscape = event.key === ESCAPE;
|
|
451
|
+
if (isEscape) {
|
|
452
|
+
event.preventDefault();
|
|
453
|
+
event.stopPropagation();
|
|
454
|
+
this.handleEscape();
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
417
457
|
if (!isForwardTab && !isUp && !isDown) {
|
|
418
458
|
return;
|
|
419
459
|
}
|
|
@@ -442,43 +482,76 @@ export class Picker {
|
|
|
442
482
|
listElement.focus();
|
|
443
483
|
}
|
|
444
484
|
}
|
|
445
|
-
/**
|
|
446
|
-
* Key handler for the dropdown
|
|
447
|
-
*
|
|
448
|
-
* @param event - event
|
|
449
|
-
*/
|
|
450
|
-
handleDropdownKeyDown(event) {
|
|
451
|
-
const isEscape = event.key === ESCAPE;
|
|
452
|
-
if (isEscape) {
|
|
453
|
-
event.preventDefault();
|
|
454
|
-
this.textValue = '';
|
|
455
|
-
this.chipSet.setFocus(true);
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
485
|
handleSearchResult(query, result) {
|
|
486
|
+
var _a;
|
|
459
487
|
if (query === this.textValue) {
|
|
460
|
-
|
|
488
|
+
let nextItems = result;
|
|
461
489
|
if (this.multiple) {
|
|
462
|
-
const values = this.value;
|
|
463
|
-
|
|
490
|
+
const values = (_a = this.value) !== null && _a !== void 0 ? _a : [];
|
|
491
|
+
nextItems = result.filter((item) => {
|
|
492
|
+
if ('separator' in item) {
|
|
493
|
+
return true;
|
|
494
|
+
}
|
|
464
495
|
return !values.includes(item);
|
|
465
496
|
});
|
|
466
497
|
}
|
|
498
|
+
this.items = this.prependSearchHeader(query, nextItems);
|
|
467
499
|
this.loading = false;
|
|
468
500
|
}
|
|
469
501
|
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
502
|
+
hasPickableItems(items) {
|
|
503
|
+
return items.some((item) => !('separator' in item));
|
|
504
|
+
}
|
|
505
|
+
prependSearchHeader(query, items) {
|
|
506
|
+
if (query === '') {
|
|
507
|
+
return items;
|
|
508
|
+
}
|
|
509
|
+
if (!this.hasPickableItems(items)) {
|
|
510
|
+
return items;
|
|
473
511
|
}
|
|
512
|
+
const text = translate.get('picker.results-matching', this.language, {
|
|
513
|
+
query: query,
|
|
514
|
+
});
|
|
515
|
+
return [{ separator: true, text: text }, ...items];
|
|
516
|
+
}
|
|
517
|
+
handleCloseMenu() {
|
|
474
518
|
this.clearInputField();
|
|
475
519
|
}
|
|
476
|
-
|
|
520
|
+
/**
|
|
521
|
+
* Shared prelude for any flow that ends the current search session:
|
|
522
|
+
* wipe the chip-set's visible text, reset the picker's `textValue`,
|
|
523
|
+
* and cancel any in-flight debounced search.
|
|
524
|
+
*
|
|
525
|
+
* Used by `clearInputField` (which then drops the dropdown
|
|
526
|
+
* entirely) and `resetSearchToDefault` (which re-runs the searcher
|
|
527
|
+
* with an empty query to repopulate the dropdown with defaults).
|
|
528
|
+
*/
|
|
529
|
+
clearTextValue() {
|
|
477
530
|
this.chipSet.emptyInput();
|
|
478
531
|
this.textValue = '';
|
|
479
|
-
this.handleSearchResult('', []);
|
|
480
532
|
this.debouncedSearch.cancel();
|
|
481
533
|
}
|
|
534
|
+
clearInputField() {
|
|
535
|
+
this.clearTextValue();
|
|
536
|
+
this.handleSearchResult('', []);
|
|
537
|
+
}
|
|
538
|
+
resetSearchToDefault() {
|
|
539
|
+
this.clearTextValue();
|
|
540
|
+
this.search('');
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Two-stage Esc: first press clears the typed query but keeps the
|
|
544
|
+
* dropdown open showing the default suggestions; a second press
|
|
545
|
+
* (with the query already empty) closes the dropdown.
|
|
546
|
+
*/
|
|
547
|
+
handleEscape() {
|
|
548
|
+
if (this.textValue === '') {
|
|
549
|
+
this.clearInputField();
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
this.resetSearchToDefault();
|
|
553
|
+
}
|
|
554
|
+
}
|
|
482
555
|
static get is() { return "limel-picker"; }
|
|
483
556
|
static get encapsulation() { return "shadow"; }
|
|
484
557
|
static get delegatesFocus() { return true; }
|
|
@@ -629,13 +702,40 @@ export class Picker {
|
|
|
629
702
|
"optional": false,
|
|
630
703
|
"docs": {
|
|
631
704
|
"tags": [],
|
|
632
|
-
"text": "A message to display when the search returned an empty result"
|
|
705
|
+
"text": "A message to display when the search returned an empty result.\n\nIf unset (or set to an empty string), the picker shows a\ndefault translated message (`No results matching \"X\"` in\nEnglish, where `X` is the current query) chosen by the\n`language` prop. Set this to override the default with custom\ntext \u2014 for example, when the picker's domain calls for more\nspecific wording like \"No matching participants found\"."
|
|
633
706
|
},
|
|
634
707
|
"getter": false,
|
|
635
708
|
"setter": false,
|
|
636
709
|
"reflect": false,
|
|
637
710
|
"attribute": "empty-result-message"
|
|
638
711
|
},
|
|
712
|
+
"language": {
|
|
713
|
+
"type": "string",
|
|
714
|
+
"mutable": false,
|
|
715
|
+
"complexType": {
|
|
716
|
+
"original": "Languages",
|
|
717
|
+
"resolved": "\"da\" | \"de\" | \"en\" | \"fi\" | \"fr\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
|
|
718
|
+
"references": {
|
|
719
|
+
"Languages": {
|
|
720
|
+
"location": "import",
|
|
721
|
+
"path": "../date-picker/date.types",
|
|
722
|
+
"id": "src/components/date-picker/date.types.ts::Languages",
|
|
723
|
+
"referenceLocation": "Languages"
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
"required": false,
|
|
728
|
+
"optional": false,
|
|
729
|
+
"docs": {
|
|
730
|
+
"tags": [],
|
|
731
|
+
"text": "Defines the language for translations. Affects the labels\nrendered by the picker itself, such as the \"Results matching\"\nheader shown above the suggestion list while the user is typing."
|
|
732
|
+
},
|
|
733
|
+
"getter": false,
|
|
734
|
+
"setter": false,
|
|
735
|
+
"reflect": false,
|
|
736
|
+
"attribute": "language",
|
|
737
|
+
"defaultValue": "'en'"
|
|
738
|
+
},
|
|
639
739
|
"required": {
|
|
640
740
|
"type": "boolean",
|
|
641
741
|
"mutable": false,
|
|
@@ -680,24 +780,14 @@ export class Picker {
|
|
|
680
780
|
"type": "unknown",
|
|
681
781
|
"mutable": false,
|
|
682
782
|
"complexType": {
|
|
683
|
-
"original": "
|
|
684
|
-
"resolved": "
|
|
783
|
+
"original": "PickerItem | PickerItem[]",
|
|
784
|
+
"resolved": "PickerItem<PickerValue> | PickerItem<PickerValue>[]",
|
|
685
785
|
"references": {
|
|
686
|
-
"
|
|
786
|
+
"PickerItem": {
|
|
687
787
|
"location": "import",
|
|
688
|
-
"path": "../
|
|
689
|
-
"id": "src/components/
|
|
690
|
-
"referenceLocation": "
|
|
691
|
-
},
|
|
692
|
-
"PickerValue": {
|
|
693
|
-
"location": "import",
|
|
694
|
-
"path": "./value.types",
|
|
695
|
-
"id": "src/components/picker/value.types.ts::PickerValue",
|
|
696
|
-
"referenceLocation": "PickerValue"
|
|
697
|
-
},
|
|
698
|
-
"Array": {
|
|
699
|
-
"location": "global",
|
|
700
|
-
"id": "global::Array"
|
|
788
|
+
"path": "../picker/picker-item.types",
|
|
789
|
+
"id": "src/components/picker/picker-item.types.ts::PickerItem",
|
|
790
|
+
"referenceLocation": "PickerItem"
|
|
701
791
|
}
|
|
702
792
|
}
|
|
703
793
|
},
|
|
@@ -715,7 +805,7 @@ export class Picker {
|
|
|
715
805
|
"mutable": false,
|
|
716
806
|
"complexType": {
|
|
717
807
|
"original": "Searcher",
|
|
718
|
-
"resolved": "(query: string) => Promise<(ListSeparator |
|
|
808
|
+
"resolved": "(query: string) => Promise<(ListSeparator | PickerItem<PickerValue>)[]>",
|
|
719
809
|
"references": {
|
|
720
810
|
"Searcher": {
|
|
721
811
|
"location": "import",
|
|
@@ -738,24 +828,14 @@ export class Picker {
|
|
|
738
828
|
"type": "unknown",
|
|
739
829
|
"mutable": false,
|
|
740
830
|
"complexType": {
|
|
741
|
-
"original": "
|
|
742
|
-
"resolved": "
|
|
831
|
+
"original": "PickerItem[]",
|
|
832
|
+
"resolved": "PickerItem<PickerValue>[]",
|
|
743
833
|
"references": {
|
|
744
|
-
"
|
|
745
|
-
"location": "global",
|
|
746
|
-
"id": "global::Array"
|
|
747
|
-
},
|
|
748
|
-
"ListItem": {
|
|
834
|
+
"PickerItem": {
|
|
749
835
|
"location": "import",
|
|
750
|
-
"path": "../
|
|
751
|
-
"id": "src/components/
|
|
752
|
-
"referenceLocation": "
|
|
753
|
-
},
|
|
754
|
-
"PickerValue": {
|
|
755
|
-
"location": "import",
|
|
756
|
-
"path": "./value.types",
|
|
757
|
-
"id": "src/components/picker/value.types.ts::PickerValue",
|
|
758
|
-
"referenceLocation": "PickerValue"
|
|
836
|
+
"path": "../picker/picker-item.types",
|
|
837
|
+
"id": "src/components/picker/picker-item.types.ts::PickerItem",
|
|
838
|
+
"referenceLocation": "PickerItem"
|
|
759
839
|
}
|
|
760
840
|
}
|
|
761
841
|
},
|
|
@@ -940,24 +1020,14 @@ export class Picker {
|
|
|
940
1020
|
"text": "Fired when a new value has been selected from the picker"
|
|
941
1021
|
},
|
|
942
1022
|
"complexType": {
|
|
943
|
-
"original": "
|
|
944
|
-
"resolved": "
|
|
1023
|
+
"original": "PickerItem | PickerItem[]",
|
|
1024
|
+
"resolved": "PickerItem<PickerValue> | PickerItem<PickerValue>[]",
|
|
945
1025
|
"references": {
|
|
946
|
-
"
|
|
947
|
-
"location": "import",
|
|
948
|
-
"path": "../list-item/list-item.types",
|
|
949
|
-
"id": "src/components/list-item/list-item.types.ts::ListItem",
|
|
950
|
-
"referenceLocation": "ListItem"
|
|
951
|
-
},
|
|
952
|
-
"PickerValue": {
|
|
1026
|
+
"PickerItem": {
|
|
953
1027
|
"location": "import",
|
|
954
|
-
"path": "
|
|
955
|
-
"id": "src/components/picker/
|
|
956
|
-
"referenceLocation": "
|
|
957
|
-
},
|
|
958
|
-
"Array": {
|
|
959
|
-
"location": "global",
|
|
960
|
-
"id": "global::Array"
|
|
1028
|
+
"path": "../picker/picker-item.types",
|
|
1029
|
+
"id": "src/components/picker/picker-item.types.ts::PickerItem",
|
|
1030
|
+
"referenceLocation": "PickerItem"
|
|
961
1031
|
}
|
|
962
1032
|
}
|
|
963
1033
|
}
|
|
@@ -972,20 +1042,14 @@ export class Picker {
|
|
|
972
1042
|
"text": "Fired when clicking on a selected value"
|
|
973
1043
|
},
|
|
974
1044
|
"complexType": {
|
|
975
|
-
"original": "
|
|
976
|
-
"resolved": "
|
|
1045
|
+
"original": "PickerItem",
|
|
1046
|
+
"resolved": "PickerItem<PickerValue>",
|
|
977
1047
|
"references": {
|
|
978
|
-
"
|
|
979
|
-
"location": "import",
|
|
980
|
-
"path": "../list-item/list-item.types",
|
|
981
|
-
"id": "src/components/list-item/list-item.types.ts::ListItem",
|
|
982
|
-
"referenceLocation": "ListItem"
|
|
983
|
-
},
|
|
984
|
-
"PickerValue": {
|
|
1048
|
+
"PickerItem": {
|
|
985
1049
|
"location": "import",
|
|
986
|
-
"path": "
|
|
987
|
-
"id": "src/components/picker/
|
|
988
|
-
"referenceLocation": "
|
|
1050
|
+
"path": "../picker/picker-item.types",
|
|
1051
|
+
"id": "src/components/picker/picker-item.types.ts::PickerItem",
|
|
1052
|
+
"referenceLocation": "PickerItem"
|
|
989
1053
|
}
|
|
990
1054
|
}
|
|
991
1055
|
}
|
|
@@ -27,6 +27,7 @@ export * from './components/dynamic-label/label.types';
|
|
|
27
27
|
export * from './components/list/list.types';
|
|
28
28
|
export * from './components/menu/menu.types';
|
|
29
29
|
export * from './components/picker/actions.types';
|
|
30
|
+
export * from './components/picker/picker-item.types';
|
|
30
31
|
export * from './components/picker/searcher.types';
|
|
31
32
|
export * from './components/picker/value.types';
|
|
32
33
|
export * from './components/progress-flow/progress-flow.types';
|
|
@@ -106,4 +106,6 @@ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) ell
|
|
|
106
106
|
'profile-picture.remove': 'Fjern valgt billede',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Ikke-understøttet billedformat',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'Vi kan ikke vise det valgte billede i denne browser. Vælg venligst en anden billedfil.',
|
|
109
|
+
'picker.results-matching': 'Resultater der matcher "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'Ingen resultater der matcher "{ query }"',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen
|
|
|
106
106
|
'profile-picture.remove': 'Ausgewähltes Bild entfernen',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Nicht unterstütztes Bildformat',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'Wir können das ausgewählte Bild in diesem Browser nicht anzeigen. Bitte wählen Sie eine andere Bilddatei.',
|
|
109
|
+
'picker.results-matching': 'Ergebnisse passend zu "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'Keine Ergebnisse passend zu "{ query }"',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ You can keep images blocked (the email may look incomplete), or load them if you
|
|
|
106
106
|
'profile-picture.remove': 'Remove selected picture',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Unsupported image format',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'We cannot display the selected image in this browser. Please select a different image file.',
|
|
109
|
+
'picker.results-matching': 'Results matching "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'No results matching "{ query }"',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai
|
|
|
106
106
|
'profile-picture.remove': 'Poista valittu kuva',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Tiedostomuoto ei ole tuettu',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'Emme voi näyttää valittua kuvaa tässä selaimessa. Valitse jokin toinen kuvatiedosto.',
|
|
109
|
+
'picker.results-matching': 'Hakua "{ query }" vastaavat tulokset',
|
|
110
|
+
'picker.no-matching-results': 'Ei hakua "{ query }" vastaavia tuloksia',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Vous pouvez laisser les images bloquées (l'e-mail peut sembler incomplet) ou le
|
|
|
106
106
|
'profile-picture.remove': 'Supprimer l\u2019image sélectionnée',
|
|
107
107
|
'profile-picture.unsupported-preview.title': "Format d'image non pris en charge",
|
|
108
108
|
'profile-picture.unsupported-preview.description': "Nous ne pouvons pas afficher l'image sélectionnée dans ce navigateur. Veuillez sélectionner un autre fichier image.",
|
|
109
|
+
'picker.results-matching': 'Résultats correspondant à « { query } »',
|
|
110
|
+
'picker.no-matching-results': 'Aucun résultat correspondant à « { query } »',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of
|
|
|
106
106
|
'profile-picture.remove': 'Geselecteerde afbeelding verwijderen',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Niet-ondersteund afbeeldingsformaat',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'We kunnen de geselecteerde afbeelding niet weergeven in deze browser. Selecteer een ander afbeeldingsbestand.',
|
|
109
|
+
'picker.results-matching': 'Resultaten die overeenkomen met "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'Geen resultaten die overeenkomen met "{ query }"',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Du kan fortsette å blokkere bilder (e-posten kan se ufullstendig ut), eller las
|
|
|
106
106
|
'profile-picture.remove': 'Fjern valgt bilde',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Ustøttet bildeformat',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'Vi kan ikke vise det valgte bildet i denne nettleseren. Vennligst velg en annen bildefil.',
|
|
109
|
+
'picker.results-matching': 'Resultater som matcher "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'Ingen resultater som matcher "{ query }"',
|
|
109
111
|
};
|
|
@@ -106,4 +106,6 @@ Du kan fortsätta blockera bilder (e-posten kan se ofullständig ut) eller ladda
|
|
|
106
106
|
'profile-picture.remove': 'Ta bort vald bild',
|
|
107
107
|
'profile-picture.unsupported-preview.title': 'Formatet stöds inte',
|
|
108
108
|
'profile-picture.unsupported-preview.description': 'Vi kan inte visa den valda bilden i den här webbläsaren. Välj en annan bildfil.',
|
|
109
|
+
'picker.results-matching': 'Resultat som matchar "{ query }"',
|
|
110
|
+
'picker.no-matching-results': 'Inga resultat som matchar "{ query }"',
|
|
109
111
|
};
|