@lion/ui 0.10.1 → 0.11.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/components/input-amount/test/lion-input-amount.test.js +48 -1
- package/components/input-amount/test/parsers.test.js +1 -1
- package/components/localize/src/number/parseNumber.js +21 -12
- package/components/localize/test/number/parseNumber.test.js +1 -1
- package/components/select-rich/src/LionSelectRich.js +17 -1
- package/components/select-rich/test/lion-select-rich-interaction.test.js +139 -20
- package/components/validate-messages/translations/pl.js +4 -4
- package/dist-types/components/localize/src/number/parseNumber.d.ts.map +1 -1
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +2 -2
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- package/docs/components/dialog/overview.md +1 -1
- package/docs/components/fieldset/overview.md +5 -5
- package/docs/components/form/overview.md +3 -3
- package/docs/components/form/use-cases.md +2 -2
- package/docs/components/icon/use-cases.md +1 -1
- package/docs/components/input/overview.md +1 -1
- package/docs/components/input-amount/overview.md +3 -3
- package/docs/components/input-date/overview.md +3 -3
- package/docs/components/input-datepicker/overview.md +5 -5
- package/docs/components/input-email/overview.md +2 -2
- package/docs/components/input-file/overview.md +1 -1
- package/docs/components/input-iban/overview.md +2 -2
- package/docs/components/input-range/overview.md +2 -2
- package/docs/components/input-stepper/overview.md +1 -1
- package/docs/components/input-tel/overview.md +1 -1
- package/docs/components/input-tel/use-cases.md +6 -6
- package/docs/components/input-tel-dropdown/overview.md +1 -1
- package/docs/components/listbox/use-cases.md +1 -1
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select/use-cases.md +1 -1
- package/docs/components/select-rich/use-cases.md +1 -1
- package/docs/components/tabs/examples.md +1 -1
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
- package/docs/fundamentals/rationales/accessibility.md +1 -1
- package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
- package/docs/fundamentals/systems/core/overview.md +1 -1
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
- package/docs/fundamentals/systems/form/model-value.md +1 -1
- package/docs/fundamentals/systems/form/overview.md +28 -28
- package/docs/fundamentals/systems/form/validate.md +2 -2
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/configuration.md +2 -2
- package/docs/fundamentals/systems/overlays/overview.md +5 -5
- package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
- package/docs/fundamentals/tools/helpers/overview.md +1 -1
- package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
- package/docs/guides/how-to/create-a-custom-field.md +5 -5
- package/docs/guides/how-to/create-a-form.md +4 -4
- package/docs/guides/how-to/extend-a-native-input.md +2 -2
- package/docs/guides/index.md +8 -8
- package/docs/guides/principles/index.md +5 -5
- package/docs/guides/principles/styling.md +1 -1
- package/package.json +1 -1
|
@@ -131,7 +131,7 @@ describe('<lion-input-amount>', () => {
|
|
|
131
131
|
expect(_inputNode.value).to.equal('100.12');
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
-
it('
|
|
134
|
+
it('formats with locale when formatOptions.mode is "user-edited" and value has three decimal places', async () => {
|
|
135
135
|
const el = /** @type {LionInputAmount} */ (
|
|
136
136
|
await fixture(
|
|
137
137
|
html`<lion-input-amount
|
|
@@ -154,6 +154,14 @@ describe('<lion-input-amount>', () => {
|
|
|
154
154
|
expect(el.modelValue).to.equal(123456);
|
|
155
155
|
expect(el.formattedValue).to.equal('123.456,00');
|
|
156
156
|
|
|
157
|
+
// When editing an already existing value, we interpet the separators as they are.
|
|
158
|
+
// However, only when the decimal places are 3 or more.
|
|
159
|
+
mimicUserInput(el, '123.456.00');
|
|
160
|
+
expect(parserSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
161
|
+
expect(formatterSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
162
|
+
expect(el.modelValue).to.equal(123456);
|
|
163
|
+
expect(el.formattedValue).to.equal('123.456,00');
|
|
164
|
+
|
|
157
165
|
// Formatting should only affect values that should be formatted / parsed as a consequence of user input.
|
|
158
166
|
// When a user finished editing, the default should be restored.
|
|
159
167
|
// (think of a programmatically set modelValue, that should behave idempotent, regardless of when it is set)
|
|
@@ -162,6 +170,45 @@ describe('<lion-input-amount>', () => {
|
|
|
162
170
|
expect(formatterSpy.lastCall.args[1]?.mode).to.equal('auto');
|
|
163
171
|
});
|
|
164
172
|
|
|
173
|
+
it('formats with heuristic when formatOptions.mode is "user-edited" and value has two decimal places', async () => {
|
|
174
|
+
const el = /** @type {LionInputAmount} */ (
|
|
175
|
+
await fixture(
|
|
176
|
+
html`<lion-input-amount
|
|
177
|
+
.modelValue=${64}
|
|
178
|
+
currency="EUR"
|
|
179
|
+
.formatOptions="${{ locale: 'en-GB' }}"
|
|
180
|
+
></lion-input-amount>`,
|
|
181
|
+
)
|
|
182
|
+
);
|
|
183
|
+
const parserSpy = sinon.spy(el, 'parser');
|
|
184
|
+
const formatterSpy = sinon.spy(el, 'formatter');
|
|
185
|
+
|
|
186
|
+
expect(el.formattedValue).to.equal('64.00');
|
|
187
|
+
// @ts-expect-error [allow-protected] in test
|
|
188
|
+
expect(el._inputNode.value).to.equal('64.00');
|
|
189
|
+
|
|
190
|
+
// When editing an already existing value, we interpret the separators based on decimal places when there's 1 or
|
|
191
|
+
// less separator in total (otherwise we would accidentally multiply or divide by 1000)
|
|
192
|
+
mimicUserInput(el, '64,00');
|
|
193
|
+
expect(parserSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
194
|
+
expect(formatterSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
195
|
+
expect(el.modelValue).to.equal(64);
|
|
196
|
+
expect(el.formattedValue).to.equal('64.00');
|
|
197
|
+
|
|
198
|
+
mimicUserInput(el, '64,0');
|
|
199
|
+
expect(parserSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
200
|
+
expect(formatterSpy.lastCall.args[1]?.mode).to.equal('user-edited');
|
|
201
|
+
expect(el.modelValue).to.equal(64);
|
|
202
|
+
expect(el.formattedValue).to.equal('64.00');
|
|
203
|
+
|
|
204
|
+
// Formatting should only affect values that should be formatted / parsed as a consequence of user input.
|
|
205
|
+
// When a user finished editing, the default should be restored.
|
|
206
|
+
// (think of a programmatically set modelValue, that should behave idempotent, regardless of when it is set)
|
|
207
|
+
el.modelValue = 1234;
|
|
208
|
+
expect(el.formattedValue).to.equal('1,234.00');
|
|
209
|
+
expect(formatterSpy.lastCall.args[1]?.mode).to.equal('auto');
|
|
210
|
+
});
|
|
211
|
+
|
|
165
212
|
it('sets inputmode attribute to decimal', async () => {
|
|
166
213
|
const el = /** @type {LionInputAmount} */ (
|
|
167
214
|
await fixture(`<lion-input-amount></lion-input-amount>`)
|
|
@@ -69,6 +69,6 @@ describe('parseAmount()', async () => {
|
|
|
69
69
|
expect(parseAmount('123.456,78', { mode: 'auto' })).to.equal(123456.78);
|
|
70
70
|
expect(
|
|
71
71
|
parseAmount('123.456,78', { mode: 'user-edited', viewValueStates: ['formatted'] }),
|
|
72
|
-
).to.equal(
|
|
72
|
+
).to.equal(123456.78);
|
|
73
73
|
});
|
|
74
74
|
});
|
|
@@ -20,25 +20,34 @@ import { getDecimalSeparator } from './getDecimalSeparator.js';
|
|
|
20
20
|
* @return {string} unparseable|withLocale|heuristic
|
|
21
21
|
*/
|
|
22
22
|
function getParseMode(value, { mode = 'auto', viewValueStates } = {}) {
|
|
23
|
-
const
|
|
23
|
+
const separatorsRe = /[., ]/g;
|
|
24
|
+
const separators = value.match(separatorsRe) || [];
|
|
25
|
+
// @ts-expect-error [wait-for-platform-types]
|
|
26
|
+
const decimalPlaces = (value.split(separatorsRe) || []).at(-1).length;
|
|
27
|
+
const isCurViewFormattedAndUserIsEditing =
|
|
28
|
+
viewValueStates?.includes('formatted') && mode === 'user-edited';
|
|
24
29
|
|
|
25
30
|
// When a user edits an existing value, we already formatted it with a certain locale.
|
|
26
|
-
// For best UX, we stick with this locale
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
// For best UX, we stick with this locale. However, we only do this when the user has
|
|
32
|
+
// entered at least 3 decimal places.
|
|
33
|
+
const shouldUseCurLocale = isCurViewFormattedAndUserIsEditing && decimalPlaces > 2;
|
|
29
34
|
|
|
30
|
-
|
|
35
|
+
const shouldUseLocale =
|
|
36
|
+
shouldUseCurLocale ||
|
|
37
|
+
!separators.length ||
|
|
38
|
+
(mode === 'auto' && separators.length === 1 && decimalPlaces >= 3);
|
|
39
|
+
if (shouldUseLocale) {
|
|
31
40
|
return 'withLocale';
|
|
32
41
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (separators.length === 1 || separators[0] !== separators[separators.length - 1]) {
|
|
42
|
+
|
|
43
|
+
const shouldUseHeuristic =
|
|
44
|
+
(isCurViewFormattedAndUserIsEditing && decimalPlaces <= 2) ||
|
|
45
|
+
separators.length === 1 ||
|
|
46
|
+
separators[0] !== separators[separators.length - 1];
|
|
47
|
+
if (shouldUseHeuristic) {
|
|
40
48
|
return 'heuristic';
|
|
41
49
|
}
|
|
50
|
+
|
|
42
51
|
return 'unparseable';
|
|
43
52
|
}
|
|
44
53
|
|
|
@@ -82,7 +82,7 @@ describe('parseNumber()', () => {
|
|
|
82
82
|
expect(parseNumber('123.456,78', { mode: 'auto' })).to.equal(123456.78);
|
|
83
83
|
expect(
|
|
84
84
|
parseNumber('123.456,78', { mode: 'user-edited', viewValueStates: ['formatted'] }),
|
|
85
|
-
).to.equal(
|
|
85
|
+
).to.equal(123456.78);
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
it('detects separators unparseable when there are 2 same ones e.g. 1.234.56', () => {
|
|
@@ -489,7 +489,7 @@ export class LionSelectRich extends SlotMixin(ScopedElementsMixin(OverlayMixin(L
|
|
|
489
489
|
* @param {KeyboardEvent} ev
|
|
490
490
|
* @protected
|
|
491
491
|
*/
|
|
492
|
-
// TODO: rename to
|
|
492
|
+
// TODO: rename to #invokerOnKeyUp() (and move event listener to the invoker) in v1
|
|
493
493
|
__onKeyUp(ev) {
|
|
494
494
|
if (this.disabled || this.readOnly) {
|
|
495
495
|
return;
|
|
@@ -529,6 +529,22 @@ export class LionSelectRich extends SlotMixin(ScopedElementsMixin(OverlayMixin(L
|
|
|
529
529
|
this.opened = true;
|
|
530
530
|
}
|
|
531
531
|
break;
|
|
532
|
+
case 'ArrowLeft':
|
|
533
|
+
ev.preventDefault();
|
|
534
|
+
if (this.navigateWithinInvoker) {
|
|
535
|
+
this.setCheckedIndex(
|
|
536
|
+
this._getPreviousEnabledOption(/** @type {number} */ (this.checkedIndex)),
|
|
537
|
+
);
|
|
538
|
+
}
|
|
539
|
+
break;
|
|
540
|
+
case 'ArrowRight':
|
|
541
|
+
ev.preventDefault();
|
|
542
|
+
if (this.navigateWithinInvoker) {
|
|
543
|
+
this.setCheckedIndex(
|
|
544
|
+
this._getNextEnabledOption(/** @type {number} */ (this.checkedIndex)),
|
|
545
|
+
);
|
|
546
|
+
}
|
|
547
|
+
break;
|
|
532
548
|
default:
|
|
533
549
|
if (!this._noTypeAhead) {
|
|
534
550
|
this._handleTypeAhead(ev, { setAsChecked: true });
|
|
@@ -24,6 +24,24 @@ function mimicKeyPress(el, key, code = '') {
|
|
|
24
24
|
el.dispatchEvent(new KeyboardEvent('keyup', { key, code }));
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* @param {LionOption[]} options
|
|
29
|
+
* @param {number} selectedIndex
|
|
30
|
+
*/
|
|
31
|
+
function expectOnlyGivenOneOptionToBeChecked(options, selectedIndex) {
|
|
32
|
+
/**
|
|
33
|
+
* @param {{ checked: any; }} option
|
|
34
|
+
* @param {any} i
|
|
35
|
+
*/
|
|
36
|
+
options.forEach((option, i) => {
|
|
37
|
+
if (i === selectedIndex) {
|
|
38
|
+
expect(option.checked).to.be.true;
|
|
39
|
+
} else {
|
|
40
|
+
expect(option.checked).to.be.false;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
27
45
|
describe('lion-select-rich interactions', () => {
|
|
28
46
|
describe('Interaction mode', () => {
|
|
29
47
|
it('autodetects interactionMode if not defined', async () => {
|
|
@@ -86,26 +104,91 @@ describe('lion-select-rich interactions', () => {
|
|
|
86
104
|
});
|
|
87
105
|
});
|
|
88
106
|
|
|
89
|
-
describe('Invoker Keyboard navigation
|
|
90
|
-
it('
|
|
91
|
-
/**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
107
|
+
describe('Invoker Keyboard navigation Mac', () => {
|
|
108
|
+
it('opens dropdown with [ArrowDown] [ArrowUp] keys or navigates through the listbox options', async () => {
|
|
109
|
+
const el = /** @type {LionSelectRich} */ (
|
|
110
|
+
await fixture(html`
|
|
111
|
+
<lion-select-rich interaction-mode="mac">
|
|
112
|
+
<lion-options slot="input">
|
|
113
|
+
<lion-option .choiceValue=${10}>Item 1</lion-option>
|
|
114
|
+
<lion-option .choiceValue=${20}>Item 2</lion-option>
|
|
115
|
+
<lion-option .choiceValue=${30}>Item 3</lion-option>
|
|
116
|
+
</lion-options>
|
|
117
|
+
</lion-select-rich>
|
|
118
|
+
`)
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
const options = el.formElements;
|
|
122
|
+
expect(el.checkedIndex).to.equal(0);
|
|
123
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
124
|
+
|
|
125
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowDown' }));
|
|
126
|
+
|
|
127
|
+
expect(el.opened).to.be.true;
|
|
128
|
+
expect(el.checkedIndex).to.equal(0);
|
|
129
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
130
|
+
|
|
131
|
+
el.opened = false;
|
|
132
|
+
|
|
133
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowUp' }));
|
|
134
|
+
expect(el.opened).to.be.true;
|
|
135
|
+
expect(el.checkedIndex).to.equal(0);
|
|
136
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it('does not open dropdown with [ArrowLeft] [ArrowRight] keys or navigates through the listbox options', async () => {
|
|
140
|
+
const el = /** @type {LionSelectRich} */ (
|
|
141
|
+
await fixture(html`
|
|
142
|
+
<lion-select-rich interaction-mode="mac">
|
|
143
|
+
<lion-options slot="input">
|
|
144
|
+
<lion-option .choiceValue=${10}>Item 1</lion-option>
|
|
145
|
+
<lion-option .choiceValue=${20}>Item 2</lion-option>
|
|
146
|
+
<lion-option .choiceValue=${30}>Item 3</lion-option>
|
|
147
|
+
</lion-options>
|
|
148
|
+
</lion-select-rich>
|
|
149
|
+
`)
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
const options = el.formElements;
|
|
153
|
+
expect(el.checkedIndex).to.equal(0);
|
|
154
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
155
|
+
|
|
156
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowLeft' }));
|
|
157
|
+
|
|
158
|
+
expect(el.opened).to.be.false;
|
|
159
|
+
expect(el.checkedIndex).to.equal(0);
|
|
160
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
161
|
+
|
|
162
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowRight' }));
|
|
163
|
+
expect(el.opened).to.be.false;
|
|
164
|
+
expect(el.checkedIndex).to.equal(0);
|
|
165
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
it('checks a value with [character] keys while listbox unopened', async () => {
|
|
169
|
+
const el = /** @type {LionSelectRich} */ (
|
|
170
|
+
await fixture(html`
|
|
171
|
+
<lion-select-rich interaction-mode="mac">
|
|
172
|
+
<lion-options slot="input">
|
|
173
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
174
|
+
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
175
|
+
<lion-option .choiceValue=${'turquoise'}>Turquoise</lion-option>
|
|
176
|
+
</lion-options>
|
|
177
|
+
</lion-select-rich>
|
|
178
|
+
`)
|
|
179
|
+
);
|
|
108
180
|
|
|
181
|
+
// @ts-ignore [allow-private] in test
|
|
182
|
+
mimicKeyPress(el, 't', 'KeyT');
|
|
183
|
+
expect(el.checkedIndex).to.equal(1);
|
|
184
|
+
|
|
185
|
+
mimicKeyPress(el, 'u', 'KeyU');
|
|
186
|
+
expect(el.checkedIndex).to.equal(2);
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
describe('Invoker Keyboard navigation Windows/Linux', () => {
|
|
191
|
+
it('navigation through list with [ArrowDown] [ArrowUp] keys checks the option while listbox unopened', async () => {
|
|
109
192
|
let isTriggeredByUser;
|
|
110
193
|
const el = /** @type {LionSelectRich} */ (
|
|
111
194
|
await fixture(html`
|
|
@@ -141,7 +224,43 @@ describe('lion-select-rich interactions', () => {
|
|
|
141
224
|
expect(isTriggeredByUser).to.be.true;
|
|
142
225
|
});
|
|
143
226
|
|
|
144
|
-
it('
|
|
227
|
+
it('navigation through list with [ArrowLeft] [ArrowRight] keys checks the option while listbox unopened', async () => {
|
|
228
|
+
let isTriggeredByUser;
|
|
229
|
+
const el = /** @type {LionSelectRich} */ (
|
|
230
|
+
await fixture(html`
|
|
231
|
+
<lion-select-rich
|
|
232
|
+
interaction-mode="windows/linux"
|
|
233
|
+
@model-value-changed="${(/** @type {CustomEvent} */ event) => {
|
|
234
|
+
isTriggeredByUser = event.detail.isTriggeredByUser;
|
|
235
|
+
}}"
|
|
236
|
+
>
|
|
237
|
+
<lion-options slot="input">
|
|
238
|
+
<lion-option .choiceValue=${10}>Item 1</lion-option>
|
|
239
|
+
<lion-option .choiceValue=${20}>Item 2</lion-option>
|
|
240
|
+
<lion-option .choiceValue=${30}>Item 3</lion-option>
|
|
241
|
+
</lion-options>
|
|
242
|
+
</lion-select-rich>
|
|
243
|
+
`)
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
const options = el.formElements;
|
|
247
|
+
expect(el.checkedIndex).to.equal(0);
|
|
248
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
249
|
+
|
|
250
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowRight' }));
|
|
251
|
+
expect(el.checkedIndex).to.equal(1);
|
|
252
|
+
expectOnlyGivenOneOptionToBeChecked(options, 1);
|
|
253
|
+
expect(isTriggeredByUser).to.be.true;
|
|
254
|
+
|
|
255
|
+
isTriggeredByUser = false;
|
|
256
|
+
|
|
257
|
+
el.dispatchEvent(new KeyboardEvent('keyup', { key: 'ArrowLeft' }));
|
|
258
|
+
expect(el.checkedIndex).to.equal(0);
|
|
259
|
+
expectOnlyGivenOneOptionToBeChecked(options, 0);
|
|
260
|
+
expect(isTriggeredByUser).to.be.true;
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it('checks a value with [character] keys while listbox unopened', async () => {
|
|
145
264
|
const el = /** @type {LionSelectRich} */ (
|
|
146
265
|
await fixture(html`
|
|
147
266
|
<lion-select-rich interaction-mode="windows/linux">
|
|
@@ -10,8 +10,8 @@ export default {
|
|
|
10
10
|
'Proszę podać prawidłową wartość {fieldName} (od {params.min} do {params.max} znaków).',
|
|
11
11
|
Pattern: 'Wprowadź prawidłową wartość w polu {fieldName}.',
|
|
12
12
|
IsNumber: 'Wprowadź prawidłową wartość w polu {fieldName}.',
|
|
13
|
-
MinNumber: 'Proszę podać wartość {fieldName} większą niż {params}.',
|
|
14
|
-
MaxNumber: 'Proszę podać wartość {fieldName} mniejszą niż {params}.',
|
|
13
|
+
MinNumber: 'Proszę podać wartość {fieldName} większą niż lub równą {params}.',
|
|
14
|
+
MaxNumber: 'Proszę podać wartość {fieldName} mniejszą niż lub równą {params}.',
|
|
15
15
|
MinMaxNumber: 'Proszę podać wartość {fieldName} o długości od {params.min} do {params.max}.',
|
|
16
16
|
IsDate: 'Wprowadź datę (DD MM RRRR).',
|
|
17
17
|
MinDate: 'Proszę podać wartość {fieldName} przypadającą po {params, date, YYYYMMDD}.',
|
|
@@ -32,8 +32,8 @@ export default {
|
|
|
32
32
|
MinMaxLength:
|
|
33
33
|
'Proszę podać prawidłową wartość {fieldName} (od {params.min} do {params.max} znaków).',
|
|
34
34
|
IsNumber: 'Wprowadź prawidłową wartość w polu {fieldName}.',
|
|
35
|
-
MinNumber: 'Proszę podać wartość {fieldName} większą niż {params}.',
|
|
36
|
-
MaxNumber: 'Proszę podać wartość {fieldName} mniejszą niż {params}.',
|
|
35
|
+
MinNumber: 'Proszę podać wartość {fieldName} większą niż lub równą {params}.',
|
|
36
|
+
MaxNumber: 'Proszę podać wartość {fieldName} mniejszą niż lub równą {params}.',
|
|
37
37
|
MinMaxNumber: 'Proszę podać wartość {fieldName} o długości od {params.min} do {params.max}.',
|
|
38
38
|
IsDate: 'Wprowadź datę (DD MM RRRR).',
|
|
39
39
|
MinDate: 'Proszę podać wartość {fieldName} przypadającą po {params, date, YYYYMMDD}.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseNumber.d.ts","sourceRoot":"","sources":["../../../../../components/localize/src/number/parseNumber.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseNumber.d.ts","sourceRoot":"","sources":["../../../../../components/localize/src/number/parseNumber.js"],"names":[],"mappings":"AAoGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,mCAHW,MAAM,6GA8BhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionSelectRich.d.ts","sourceRoot":"","sources":["../../../../components/select-rich/src/LionSelectRich.js"],"names":[],"mappings":";AAsBA;;GAEG;AACH;IACE;;MAKC;IAED,kBAAkB;IAClB,6BAgBC;IAED;;;OAGG;IAEH,2EAUC;IAUD;;;OAGG;IACH,gDAIC;IAED;;;OAGG;IAEH,kDAEC;IAiBC;;;;OAIG;IACH,+BAAkC;IAClC;;;;OAIG;IACH,iBAFU,eAAe,GAAC,KAAK,GAAC,MAAM,CAET;IAE7B,sBAAyB;IACzB,iBAAiB;IACjB,8BAAqB;IAyWvB;;;OAGG;IAEH,wBAJW,aAAa,
|
|
1
|
+
{"version":3,"file":"LionSelectRich.d.ts","sourceRoot":"","sources":["../../../../components/select-rich/src/LionSelectRich.js"],"names":[],"mappings":";AAsBA;;GAEG;AACH;IACE;;MAKC;IAED,kBAAkB;IAClB,6BAgBC;IAED;;;OAGG;IAEH,2EAUC;IAUD;;;OAGG;IACH,gDAIC;IAED;;;OAGG;IAEH,kDAEC;IAiBC;;;;OAIG;IACH,+BAAkC;IAClC;;;;OAIG;IACH,iBAFU,eAAe,GAAC,KAAK,GAAC,MAAM,CAET;IAE7B,sBAAyB;IACzB,iBAAiB;IACjB,8BAAqB;IAyWvB;;;OAGG;IAEH,wBAJW,aAAa,QAgEvB;IA9ND,eAAe;IACf,wBAEC;IAiED,eAAe;IACf,wBAGC;IAZD,eAAe;IACf,wBAKC;IAzED,eAAe;IACf,yBAIC;IAkDD,eAAe;IACf,4BASC;IA2MD,iBAAiB;IACjB,kCAEC;IAlcD,0BAUC;IAQD;;;;;OAKG;IACH,oDAJW,OAAO,sEAEL,IAAI,CAgBhB;IAED;;OAEG;IACH,2BAFW,OAAO,KAAK,EAAE,cAAc,QAiDtC;IAED;;;;OAIG;IACH,sBAHW,UAAU,GAAG,eAAe,iCAoBtC;IALG,qDAA2C;IAiB/C;;;;;OAKG;IACH,iGAEC;IAED,iBAAiB;IACjB,yCAGC;IAED,eAAe;IACf,gCAEC;IAED,eAAe;IACf,gCAKC;IAED,eAAe;IACf,6BAaC;IAED,eAAe;IACf,2BAKC;IAcD,eAAe;IACf,wCAIC;IAED,eAAe;IACf,8BAGC;IAED;;;OAGG;IAEH;;;;;;;;;;;;;;;8CA1PI,8DAA8D;;;;;;;;;;MAgQjE;IAED;;;;;;OAMG;IACH,kDAQC;IAkCC,4EAA8E;IAqBhF;;;;OAIG;IACH,8CAyBC;IAED;;;OAGG;IACH,gCAEC;IAED;;;OAGG;IACH,uDAEC;IAED;;;OAGG;IACH,4FAEC;IAgBC,0CAAgC;IA6GlC;;;;OAIG;IACH,wCASC;IARC,qCAA2B;CAS9B;0BAzmBY,OAAO,kCAAkC,EAAE,WAAW;yBACtD,OAAO,iCAAiC,EAAE,UAAU;kCACpD,OAAO,iEAAiE,EAAE,mBAAmB;8BAC7F,OAAO,gDAAgD,EAAE,eAAe;uBACxE,OAAO,oCAAoC,EAAE,QAAQ"}
|