1 | import * as React from 'react';
|
2 | import { useMemo } from 'react';
|
3 | const messages = {
|
4 | moveToday: 'Today',
|
5 | moveBack: 'Navigate back',
|
6 | moveForward: 'Navigate forward',
|
7 | dateButton: 'Select date',
|
8 | openCombobox: 'open combobox',
|
9 | emptyList: 'There are no items in this list',
|
10 | emptyFilter: 'The filter returned no results',
|
11 | createOption: (_value, searchTerm) => [' Create option', searchTerm && ' ', searchTerm && React.createElement("strong", {
|
12 | key: "_"
|
13 | }, `"${searchTerm}"`)],
|
14 | tagsLabel: 'Selected items',
|
15 | removeLabel: 'Remove selected item',
|
16 | noneSelected: 'no selected items',
|
17 | selectedItems: labels => `Selected items: ${labels.join(', ')}`,
|
18 |
|
19 | increment: 'Increment value',
|
20 | decrement: 'Decrement value'
|
21 | };
|
22 | const DEFAULTS = {};
|
23 | export function getMessages(defaults = DEFAULTS) {
|
24 | let processed = {};
|
25 | Object.keys(messages).forEach(message => {
|
26 | let value = defaults[message];
|
27 | if (value == null) value = messages[message];
|
28 | processed[message] = typeof value === 'function' ? value : () => value;
|
29 | });
|
30 | return processed;
|
31 | }
|
32 | export const useMessagesWithDefaults = defaults => useMemo(() => getMessages(defaults), [defaults]); |
\ | No newline at end of file |