mbg-val-input 0.4.1 → 0.4.3
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/dist/src/MbgValInput.d.ts +1 -0
- package/dist/src/MbgValInput.js +38 -10
- package/dist/src/MbgValInput.js.map +1 -1
- package/dist/src/currency-input.d.ts +1 -1
- package/dist/src/currency-input.js +2 -2
- package/dist/src/currency-input.js.map +1 -1
- package/dist/stories/index.stories.d.ts +9 -1
- package/dist/stories/index.stories.js +44 -6
- package/dist/stories/index.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/MbgValInput.ts +36 -10
- package/src/currency-input.ts +6 -2
- package/stories/index.stories.ts +50 -0
package/dist/src/MbgValInput.js
CHANGED
|
@@ -26,6 +26,8 @@ function isValidBigInt(value, size) {
|
|
|
26
26
|
return false;
|
|
27
27
|
}
|
|
28
28
|
function sanitizeAndValidateInt(value, size, isUserInput, isSigned = true) {
|
|
29
|
+
if (!value)
|
|
30
|
+
return '';
|
|
29
31
|
// allow leading negative sign
|
|
30
32
|
const signed = value[0] === '-' ? '-' : '';
|
|
31
33
|
const negative = signed === '-';
|
|
@@ -79,6 +81,8 @@ function isValidFloat(value, size) {
|
|
|
79
81
|
}
|
|
80
82
|
/** Removes invalid characters and validates the float value input */
|
|
81
83
|
function sanitizeAndValidateFloat(value, isUserInput, size) {
|
|
84
|
+
if (!value)
|
|
85
|
+
return '';
|
|
82
86
|
let sanitized = '';
|
|
83
87
|
// allow leading negative sign
|
|
84
88
|
const signed = value[0] === '-' ? '-' : '';
|
|
@@ -140,15 +144,17 @@ function sanitizeAndValidateFloat(value, isUserInput, size) {
|
|
|
140
144
|
return sanitized;
|
|
141
145
|
}
|
|
142
146
|
function sanitizeOctet(value) {
|
|
143
|
-
return value
|
|
147
|
+
return value?.replace(/[^0-9a-fA-F]/g, '');
|
|
144
148
|
}
|
|
145
149
|
function sanitizeObjRef(value) {
|
|
146
|
-
return value
|
|
150
|
+
return value?.replace(/[^A-Za-z0-9_/$]/g, '');
|
|
147
151
|
}
|
|
148
152
|
function sanitizeBitString(value) {
|
|
149
|
-
return value
|
|
153
|
+
return value?.replace(/[^01]/g, '');
|
|
150
154
|
}
|
|
151
155
|
function formatTimestamp(input) {
|
|
156
|
+
if (!input)
|
|
157
|
+
return '';
|
|
152
158
|
const digits = input.replace(/\D/g, '');
|
|
153
159
|
// Extract parts
|
|
154
160
|
const year = digits.slice(0, 4);
|
|
@@ -177,6 +183,7 @@ function formatTimestamp(input) {
|
|
|
177
183
|
export class MbgValInput extends LitElement {
|
|
178
184
|
constructor() {
|
|
179
185
|
super(...arguments);
|
|
186
|
+
this.readOnly = false;
|
|
180
187
|
// If the DA/BDA is assigned a Val in DataTypeTemplates
|
|
181
188
|
this.default = '';
|
|
182
189
|
// if bType === "Enum" - ordinal values
|
|
@@ -225,6 +232,7 @@ export class MbgValInput extends LitElement {
|
|
|
225
232
|
type="text"
|
|
226
233
|
value="${validatedDefault ?? nothing}"
|
|
227
234
|
@input="${this.handleBigIntInput}"
|
|
235
|
+
?disabled="${this.readOnly}"
|
|
228
236
|
></md-outlined-text-field>`;
|
|
229
237
|
}
|
|
230
238
|
return html `<md-outlined-text-field
|
|
@@ -236,6 +244,7 @@ export class MbgValInput extends LitElement {
|
|
|
236
244
|
max="${max}"
|
|
237
245
|
value="${validatedDefault ?? nothing}"
|
|
238
246
|
@input="${this.handleIntInput}"
|
|
247
|
+
?disabled="${this.readOnly}"
|
|
239
248
|
></md-outlined-text-field>`;
|
|
240
249
|
}
|
|
241
250
|
handleFloatInput(event) {
|
|
@@ -257,6 +266,7 @@ export class MbgValInput extends LitElement {
|
|
|
257
266
|
type="text"
|
|
258
267
|
value="${validatedDefault ?? nothing}"
|
|
259
268
|
@input="${this.handleFloatInput}"
|
|
269
|
+
?disabled="${this.readOnly}"
|
|
260
270
|
></md-outlined-text-field>
|
|
261
271
|
`;
|
|
262
272
|
}
|
|
@@ -276,6 +286,7 @@ export class MbgValInput extends LitElement {
|
|
|
276
286
|
value="${sanitizeOctet(this.default) ?? nothing}"
|
|
277
287
|
maxlength="${size * 2}"
|
|
278
288
|
@input="${this.handleOctetInput}"
|
|
289
|
+
?disabled="${this.readOnly}"
|
|
279
290
|
></md-outlined-text-field>
|
|
280
291
|
`;
|
|
281
292
|
}
|
|
@@ -294,6 +305,7 @@ export class MbgValInput extends LitElement {
|
|
|
294
305
|
value="${this.default ?? nothing}"
|
|
295
306
|
maxlength="${size}"
|
|
296
307
|
@input="${this.handleStringInput}"
|
|
308
|
+
?disabled="${this.readOnly}"
|
|
297
309
|
></md-outlined-text-field>
|
|
298
310
|
`;
|
|
299
311
|
}
|
|
@@ -307,11 +319,16 @@ export class MbgValInput extends LitElement {
|
|
|
307
319
|
labels = JSON.parse(this.enumLabels);
|
|
308
320
|
}
|
|
309
321
|
return html `
|
|
310
|
-
<md-filled-select
|
|
322
|
+
<md-filled-select
|
|
323
|
+
id="input"
|
|
324
|
+
label="${this.label}"
|
|
325
|
+
?disabled="${this.readOnly}"
|
|
326
|
+
>
|
|
311
327
|
${ordinals.map((ordinal, index) => html `
|
|
312
328
|
<md-select-option
|
|
313
|
-
value="${
|
|
314
|
-
?selected=${this.default ===
|
|
329
|
+
value="${labels[index]}"
|
|
330
|
+
?selected=${this.default === labels[index] ||
|
|
331
|
+
this.default === ordinal}
|
|
315
332
|
>
|
|
316
333
|
<div slot="headline">${ordinal} - ${labels[index]}</div>
|
|
317
334
|
</md-select-option>
|
|
@@ -339,6 +356,7 @@ export class MbgValInput extends LitElement {
|
|
|
339
356
|
label="${this.label}"
|
|
340
357
|
value="${validatedDefault ?? nothing}"
|
|
341
358
|
@input="${this.handleTimestampInput}"
|
|
359
|
+
?disabled="${this.readOnly}"
|
|
342
360
|
></md-outlined-text-field>
|
|
343
361
|
`;
|
|
344
362
|
}
|
|
@@ -358,12 +376,13 @@ export class MbgValInput extends LitElement {
|
|
|
358
376
|
value="${sanitizeObjRef(this.default) ?? nothing}"
|
|
359
377
|
maxlength="255"
|
|
360
378
|
@input="${this.handleObjRefInput}"
|
|
379
|
+
?disabled="${this.readOnly}"
|
|
361
380
|
></md-outlined-text-field>
|
|
362
381
|
`;
|
|
363
382
|
}
|
|
364
383
|
dbposInput() {
|
|
365
384
|
return html `
|
|
366
|
-
<md-filled-select id="input" label="${this.label}">
|
|
385
|
+
<md-filled-select id="input" label="${this.label}" ?disabled="${this.readOnly}">
|
|
367
386
|
<md-select-option value="0" ?selected=${this.default === '0'}>
|
|
368
387
|
<div slot="headline">0 - intermediate-state</div>
|
|
369
388
|
</md-select-option>
|
|
@@ -383,7 +402,7 @@ export class MbgValInput extends LitElement {
|
|
|
383
402
|
}
|
|
384
403
|
tcmdInput() {
|
|
385
404
|
return html `
|
|
386
|
-
<md-filled-select id="input" label="${this.label}">
|
|
405
|
+
<md-filled-select id="input" label="${this.label}" ?disabled="${this.readOnly}">
|
|
387
406
|
<md-select-option value="0" ?selected=${this.default === '0'}>
|
|
388
407
|
<div slot="headline">0 - neutral</div>
|
|
389
408
|
</md-select-option>
|
|
@@ -417,6 +436,7 @@ export class MbgValInput extends LitElement {
|
|
|
417
436
|
value="${sanitizeBitString(this.default) ?? nothing}"
|
|
418
437
|
maxlength="${size}"
|
|
419
438
|
@input="${this.handleBitStringInput}"
|
|
439
|
+
?disabled="${this.readOnly}"
|
|
420
440
|
></md-outlined-text-field>
|
|
421
441
|
`;
|
|
422
442
|
}
|
|
@@ -433,7 +453,11 @@ export class MbgValInput extends LitElement {
|
|
|
433
453
|
return {
|
|
434
454
|
BOOLEAN: html `<label
|
|
435
455
|
>${this.label}
|
|
436
|
-
<md-switch
|
|
456
|
+
<md-switch
|
|
457
|
+
id="input"
|
|
458
|
+
?disabled="${this.readOnly}"
|
|
459
|
+
?selected=${xmlBoolean(this.default)}
|
|
460
|
+
></md-switch
|
|
437
461
|
></label>`,
|
|
438
462
|
INT8: this.intInput(8),
|
|
439
463
|
INT16: this.intInput(16),
|
|
@@ -457,7 +481,7 @@ export class MbgValInput extends LitElement {
|
|
|
457
481
|
VisString255: this.stringInput(255),
|
|
458
482
|
Unicode255: this.stringInput(255),
|
|
459
483
|
Quality: this.bitstringInput(14),
|
|
460
|
-
Currency: currencyInput(this.label, this.default),
|
|
484
|
+
Currency: currencyInput(this.label, this.default, this.readOnly),
|
|
461
485
|
Enum: this.enumInput(),
|
|
462
486
|
Timestamp: this.timestampInput(),
|
|
463
487
|
ObjRef: this.objrefInput(),
|
|
@@ -478,6 +502,7 @@ export class MbgValInput extends LitElement {
|
|
|
478
502
|
id="input"
|
|
479
503
|
label="${this.label}"
|
|
480
504
|
value="${this.default ?? nothing}"
|
|
505
|
+
?disabled="${this.readOnly}"
|
|
481
506
|
></md-outlined-text-field>`);
|
|
482
507
|
}
|
|
483
508
|
}
|
|
@@ -491,6 +516,9 @@ MbgValInput.styles = css `
|
|
|
491
516
|
__decorate([
|
|
492
517
|
property({ type: String })
|
|
493
518
|
], MbgValInput.prototype, "bType", void 0);
|
|
519
|
+
__decorate([
|
|
520
|
+
property({ type: Boolean })
|
|
521
|
+
], MbgValInput.prototype, "readOnly", void 0);
|
|
494
522
|
__decorate([
|
|
495
523
|
property({ type: String })
|
|
496
524
|
], MbgValInput.prototype, "default", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MbgValInput.js","sourceRoot":"","sources":["../../src/MbgValInput.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { html, css, LitElement, TemplateResult, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport type { MdSwitch } from '@material/web/switch/switch.js';\nimport { currencyInput } from './currency-input.js';\n\nimport '@material/web/textfield/outlined-text-field.js';\nimport '@material/web/select/filled-select.js';\nimport '@material/web/select/select-option.js';\nimport '@material/web/switch/switch.js';\n\nfunction xmlBoolean(val?: string) {\n return ['true', '1'].includes(val?.toLowerCase().trim() ?? 'false');\n}\n\nfunction isValidInt(value: number, size: number, signed: boolean): boolean {\n const min = signed ? -(2 ** (size - 1)) : 0;\n const max = signed ? 2 ** (size - 1) - 1 : 2 ** size - 1;\n return value >= min && value <= max;\n}\n\nfunction isValidBigInt(value: bigint, size: 64 | 128): boolean {\n if (size === 64) {\n return value >= -9223372036854775808n && value <= 9223372036854775807n;\n }\n if (size === 128) {\n return (\n value >= -170141183460469231731687303715884105728n &&\n value <= 170141183460469231731687303715884105727n\n );\n }\n return false;\n}\n\nfunction sanitizeAndValidateInt(\n value: string,\n size: number,\n isUserInput: boolean,\n isSigned = true,\n) {\n // allow leading negative sign\n const signed = value[0] === '-' ? '-' : '';\n const negative = signed === '-';\n\n // remove leading zeros and invalid characters\n let sanitized = value.replace(/[^0-9]/g, '').replace(/^0+(?=\\d)/, '');\n\n // handle special cases\n if (negative && !sanitized.startsWith('-')) {\n sanitized = signed + sanitized;\n }\n if (sanitized === '-0') {\n sanitized = '0';\n }\n\n // ensure input was properly sanitized\n const intRegex = /^-?\\d*$/;\n if (!intRegex.test(sanitized)) {\n return '';\n }\n\n // allow leading negative sign only if it is from user input\n if (sanitized === '') {\n if (isUserInput) {\n return sanitized;\n }\n return '';\n }\n\n // parse and validate\n if (sanitized !== '') {\n if (size === 64 || size === 128) {\n const parsedValue = BigInt(sanitized);\n if (Number.isNaN(parsedValue) || !isValidBigInt(parsedValue, size)) {\n return '';\n }\n } else {\n const parsedValue = Number(sanitized);\n if (\n Number.isNaN(parsedValue) ||\n !isValidInt(parsedValue, size, isSigned)\n ) {\n return '';\n }\n }\n }\n\n return sanitized;\n}\n\nfunction isValidFloat(value: number, size: 32 | 64): boolean {\n if (size === 32) {\n return value >= -3.4028235e38 && value <= 3.4028235e38;\n }\n if (size === 64) {\n return value >= -1.7976931348623157e308 && value <= 1.7976931348623157e308;\n }\n return false;\n}\n\n/** Removes invalid characters and validates the float value input */\nfunction sanitizeAndValidateFloat(\n value: string,\n isUserInput: boolean,\n size: 32 | 64,\n) {\n let sanitized = '';\n\n // allow leading negative sign\n const signed = value[0] === '-' ? '-' : '';\n const negative = signed === '-';\n\n // account for Euler's number\n if (value === 'e' || value === '-e') {\n sanitized = '2.7182818284590452354';\n return signed + sanitized;\n }\n\n // remove leading zeros and invalid characters\n sanitized = value\n .replace(/[^0-9eE.+-]/g, '')\n .replace(/(?<![eE])\\+|(?<![eE])-/, '');\n\n // handle multiple exponents\n const numExponents = sanitized.split(/[eE]/).length - 1;\n if (numExponents > 1) {\n sanitized = sanitized.replace(/[eE].*?[eE]/g, 'E0');\n }\n if (sanitized.endsWith('e') || sanitized.endsWith('E')) {\n sanitized += '0';\n }\n\n // handle multiple decimal points\n const numDecimalPoints = sanitized.split('.').length - 1;\n if (numDecimalPoints > 1) {\n sanitized = sanitized.replace(/\\.(?=.*\\.)/g, '');\n }\n\n // remove leading zeros\n sanitized = sanitized.replace(/^0+(?=\\d)/, '');\n sanitized = sanitized.replace(/^-0+(?=\\d)/, '-');\n\n // handle special cases\n if (sanitized === '0e' || sanitized === '-0e') {\n return '0';\n }\n if (negative && !sanitized.startsWith('-')) {\n sanitized = signed + sanitized;\n }\n if (sanitized === '.') {\n sanitized = '0.';\n }\n\n // ensure input was properly sanitized\n const floatRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n if (!floatRegex.test(sanitized)) {\n return '';\n }\n\n // allow leading negative sign only if it is from user input\n if (sanitized === '-') {\n if (isUserInput) {\n return sanitized;\n }\n return '';\n }\n\n // parse into float and validate\n if (sanitized !== '') {\n const parsedValue = parseFloat(sanitized);\n if (Number.isNaN(parsedValue) || !isValidFloat(parsedValue, size)) {\n return '';\n }\n }\n\n return sanitized;\n}\n\nfunction sanitizeOctet(value: string) {\n return value.replace(/[^0-9a-fA-F]/g, '');\n}\n\nfunction sanitizeObjRef(value: string) {\n return value.replace(/[^A-Za-z0-9_/$]/g, '');\n}\n\nfunction sanitizeBitString(value: string) {\n return value.replace(/[^01]/g, '');\n}\n\nfunction formatTimestamp(input: string) {\n const digits = input.replace(/\\D/g, '');\n\n // Extract parts\n const year = digits.slice(0, 4);\n const month = digits.slice(4, 6);\n const day = digits.slice(6, 8);\n const hour = digits.slice(8, 10);\n const minute = digits.slice(10, 12);\n const second = digits.slice(12, 14);\n const millisecond = digits.slice(14, 17); // Optional milliseconds\n\n let formatted = `${year}`;\n if (month) formatted += `-${month}`;\n if (day) formatted += `-${day}`;\n if (hour) formatted += `T${hour}`;\n if (minute) formatted += `:${minute}`;\n if (second) formatted += `:${second}`;\n if (millisecond) formatted += `.${millisecond}`;\n\n return formatted;\n}\n\n/** Web Component for inputting IEC61850-6 \"Val\" values */\nexport class MbgValInput extends LitElement {\n static styles = css`\n md-outlined-text-field.Timestamp {\n min-width: 250px;\n max-width: 100%;\n width: auto;\n }\n `;\n\n @property({ type: String }) bType?: string;\n\n // If the DA/BDA is assigned a Val in DataTypeTemplates\n @property({ type: String }) default = '';\n\n // if bType === \"Enum\" - ordinal values\n @property({ type: Array }) enumOrdinals: string[] = [];\n\n // if bType === \"Enum\" - string labels\n @property({ type: Array }) enumLabels: string[] = [];\n\n @property({ type: String }) label = 'Val';\n\n @query('#input') input?: HTMLInputElement;\n\n private updateValue(event: Event, userValue: string) {\n this.value = userValue;\n // eslint-disable-next-line no-param-reassign\n (event.target as HTMLInputElement).value = userValue;\n }\n\n private parseBTypeSize() {\n const match = this.bType?.match(/INT(\\d+)/);\n return match ? parseInt(match[1], 10) : 0;\n }\n\n private handleBigIntInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = sanitizeAndValidateInt(\n input,\n this.parseBTypeSize(),\n true,\n );\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n this.parseBTypeSize(),\n false,\n );\n\n if (validatedInput === '') {\n this.updateValue(event, validatedDefault ?? '0');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n private handleIntInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const signed = !(this.bType?.endsWith('U') || this.bType === 'Check');\n const size = this.bType === 'Check' ? 8 : this.parseBTypeSize();\n\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n size,\n false,\n signed,\n );\n\n // set default if input is empty\n if (input === '') {\n this.updateValue(event, validatedDefault ?? 0);\n }\n }\n\n intInput(size: 8 | 16 | 24 | 32 | 64 | 128, signed = true) {\n const min = signed ? -(2 ** (size - 1)) : 0;\n const max = signed ? 2 ** (size - 1) - 1 : 2 ** size - 1;\n\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n size,\n false,\n signed,\n );\n\n if (size > 52) {\n return html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n type=\"text\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleBigIntInput}\"\n ></md-outlined-text-field>`;\n }\n\n return html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n type=\"number\"\n step=\"1\"\n min=\"${min}\"\n max=\"${max}\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleIntInput}\"\n ></md-outlined-text-field>`;\n }\n\n private handleFloatInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = sanitizeAndValidateFloat(\n input,\n true,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n const validatedDefault = sanitizeAndValidateFloat(\n this.default,\n false,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n\n if (validatedInput === '') {\n this.updateValue(event, validatedDefault ?? '0');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n floatInput() {\n const validatedDefault = sanitizeAndValidateFloat(\n this.default,\n false,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n return html`\n <md-outlined-text-field\n id=\"$input\"\n label=\"${this.label}\"\n type=\"text\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleFloatInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleOctetInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeOctet(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeOctet(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n octetInput(size: 6 | 8 | 16 | 64) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeOctet(this.default) ?? nothing}\"\n maxlength=\"${size * 2}\"\n @input=\"${this.handleOctetInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleStringInput(event: Event) {\n let input = (event.target as HTMLInputElement).value;\n if (input === '') {\n input = this.default ?? '';\n }\n this.updateValue(event, input);\n }\n\n stringInput(size: 32 | 64 | 65 | 129 | 255) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${this.default ?? nothing}\"\n maxlength=\"${size}\"\n @input=\"${this.handleStringInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n enumInput() {\n let ordinals: string[] = [];\n let labels: string[] = [];\n\n if (typeof this.enumOrdinals === 'string') {\n ordinals = JSON.parse(this.enumOrdinals) as string[];\n }\n if (typeof this.enumLabels === 'string') {\n labels = JSON.parse(this.enumLabels) as string[];\n }\n\n return html`\n <md-filled-select id=\"input\" label=\"${this.label}\">\n ${ordinals.map(\n (ordinal, index) => html`\n <md-select-option\n value=\"${ordinal}\"\n ?selected=${this.default === ordinal}\n >\n <div slot=\"headline\">${ordinal} - ${labels[index]}</div>\n </md-select-option>\n `,\n )}\n </md-filled-select>\n `;\n }\n\n private handleTimestampInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = formatTimestamp(input);\n\n if (validatedInput === '') {\n const validatedDefault = formatTimestamp(this.default);\n this.updateValue(event, validatedDefault ?? '');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n timestampInput() {\n const validatedDefault = formatTimestamp(this.default);\n return html`\n <md-outlined-text-field\n class=\"Timestamp\"\n id=\"input\"\n placeholder=\"YYYY-MM-DDTHH:MM:SS.sss\"\n label=\"${this.label}\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleTimestampInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleObjRefInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeObjRef(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeObjRef(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n objrefInput() {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeObjRef(this.default) ?? nothing}\"\n maxlength=\"255\"\n @input=\"${this.handleObjRefInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n dbposInput() {\n return html`\n <md-filled-select id=\"input\" label=\"${this.label}\">\n <md-select-option value=\"0\" ?selected=${this.default === '0'}>\n <div slot=\"headline\">0 - intermediate-state</div>\n </md-select-option>\n <md-select-option value=\"1\" ?selected=${this.default === '1'}>\n <div slot=\"headline\">1 - off</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"2\" ?selected=${this.default === '2'}>\n <div slot=\"headline\">2 - on</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"3\" ?selected=${this.default === '3'}>\n <div slot=\"headline\">3 - bad-state</div>\n </md-select-option>\n </md-filled-select>\n `;\n }\n\n tcmdInput() {\n return html`\n <md-filled-select id=\"input\" label=\"${this.label}\">\n <md-select-option value=\"0\" ?selected=${this.default === '0'}>\n <div slot=\"headline\">0 - neutral</div>\n </md-select-option>\n <md-select-option value=\"1\" ?selected=${this.default === '1'}>\n <div slot=\"headline\">1 - lower</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"2\" ?selected=${this.default === '2'}>\n <div slot=\"headline\">2 - higher</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"3\" ?selected=${this.default === '3'}>\n <div slot=\"headline\">3 - reserved</div>\n </md-select-option>\n </md-filled-select>\n `;\n }\n\n private handleBitStringInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeBitString(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeBitString(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n bitstringInput(size: 5 | 6 | 10 | 14) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeBitString(this.default) ?? nothing}\"\n maxlength=\"${size}\"\n @input=\"${this.handleBitStringInput}\"\n ></md-outlined-text-field>\n `;\n }\n\n get value() {\n if (this.bType === 'BOOLEAN') {\n return (this.input as unknown as MdSwitch).selected ? 'true' : 'false';\n }\n return this.input?.value ?? '';\n }\n\n set value(val: string) {\n this.input?.setAttribute('value', val);\n }\n\n get inputs(): Partial<Record<string, TemplateResult>> {\n return {\n BOOLEAN: html`<label\n >${this.label}\n <md-switch id=\"input\" ?selected=${xmlBoolean(this.default)}></md-switch\n ></label>`,\n INT8: this.intInput(8),\n INT16: this.intInput(16),\n INT24: this.intInput(24),\n INT32: this.intInput(32),\n INT64: this.intInput(64),\n INT128: this.intInput(128),\n INT8U: this.intInput(8, false),\n INT16U: this.intInput(16, false),\n INT24U: this.intInput(24, false),\n INT32U: this.intInput(32, false),\n FLOAT32: this.floatInput(),\n FLOAT64: this.floatInput(),\n Octet6: this.octetInput(6),\n Octet16: this.octetInput(16),\n Octet64: this.octetInput(64),\n VisString32: this.stringInput(32),\n VisString64: this.stringInput(64),\n VisString65: this.stringInput(65),\n VisString129: this.stringInput(129),\n VisString255: this.stringInput(255),\n Unicode255: this.stringInput(255),\n Quality: this.bitstringInput(14),\n Currency: currencyInput(this.label, this.default),\n Enum: this.enumInput(),\n Timestamp: this.timestampInput(),\n ObjRef: this.objrefInput(),\n Dbpos: this.dbposInput(),\n Tcmd: this.tcmdInput(),\n EntryTime: this.octetInput(6),\n Check: this.intInput(8, false),\n TrgOps: this.bitstringInput(6),\n OptFlds: this.bitstringInput(10),\n SvOptFlds: this.bitstringInput(6),\n LogOptFlds: this.bitstringInput(5),\n EntryID: this.octetInput(8),\n };\n }\n\n render() {\n return (\n this.inputs[this.bType ?? ''] ??\n html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${this.default ?? nothing}\"\n ></md-outlined-text-field>`\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MbgValInput.js","sourceRoot":"","sources":["../../src/MbgValInput.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { html, css, LitElement, TemplateResult, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport type { MdSwitch } from '@material/web/switch/switch.js';\nimport { currencyInput } from './currency-input.js';\n\nimport '@material/web/textfield/outlined-text-field.js';\nimport '@material/web/select/filled-select.js';\nimport '@material/web/select/select-option.js';\nimport '@material/web/switch/switch.js';\n\nfunction xmlBoolean(val?: string) {\n return ['true', '1'].includes(val?.toLowerCase().trim() ?? 'false');\n}\n\nfunction isValidInt(value: number, size: number, signed: boolean): boolean {\n const min = signed ? -(2 ** (size - 1)) : 0;\n const max = signed ? 2 ** (size - 1) - 1 : 2 ** size - 1;\n return value >= min && value <= max;\n}\n\nfunction isValidBigInt(value: bigint, size: 64 | 128): boolean {\n if (size === 64) {\n return value >= -9223372036854775808n && value <= 9223372036854775807n;\n }\n if (size === 128) {\n return (\n value >= -170141183460469231731687303715884105728n &&\n value <= 170141183460469231731687303715884105727n\n );\n }\n return false;\n}\n\nfunction sanitizeAndValidateInt(\n value: string,\n size: number,\n isUserInput: boolean,\n isSigned = true,\n) {\n if (!value) return '';\n\n // allow leading negative sign\n const signed = value[0] === '-' ? '-' : '';\n const negative = signed === '-';\n\n // remove leading zeros and invalid characters\n let sanitized = value.replace(/[^0-9]/g, '').replace(/^0+(?=\\d)/, '');\n\n // handle special cases\n if (negative && !sanitized.startsWith('-')) {\n sanitized = signed + sanitized;\n }\n if (sanitized === '-0') {\n sanitized = '0';\n }\n\n // ensure input was properly sanitized\n const intRegex = /^-?\\d*$/;\n if (!intRegex.test(sanitized)) {\n return '';\n }\n\n // allow leading negative sign only if it is from user input\n if (sanitized === '') {\n if (isUserInput) {\n return sanitized;\n }\n return '';\n }\n\n // parse and validate\n if (sanitized !== '') {\n if (size === 64 || size === 128) {\n const parsedValue = BigInt(sanitized);\n if (Number.isNaN(parsedValue) || !isValidBigInt(parsedValue, size)) {\n return '';\n }\n } else {\n const parsedValue = Number(sanitized);\n if (\n Number.isNaN(parsedValue) ||\n !isValidInt(parsedValue, size, isSigned)\n ) {\n return '';\n }\n }\n }\n\n return sanitized;\n}\n\nfunction isValidFloat(value: number, size: 32 | 64): boolean {\n if (size === 32) {\n return value >= -3.4028235e38 && value <= 3.4028235e38;\n }\n if (size === 64) {\n return value >= -1.7976931348623157e308 && value <= 1.7976931348623157e308;\n }\n return false;\n}\n\n/** Removes invalid characters and validates the float value input */\nfunction sanitizeAndValidateFloat(\n value: string,\n isUserInput: boolean,\n size: 32 | 64,\n) {\n if (!value) return '';\n\n let sanitized = '';\n\n // allow leading negative sign\n const signed = value[0] === '-' ? '-' : '';\n const negative = signed === '-';\n\n // account for Euler's number\n if (value === 'e' || value === '-e') {\n sanitized = '2.7182818284590452354';\n return signed + sanitized;\n }\n\n // remove leading zeros and invalid characters\n sanitized = value\n .replace(/[^0-9eE.+-]/g, '')\n .replace(/(?<![eE])\\+|(?<![eE])-/, '');\n\n // handle multiple exponents\n const numExponents = sanitized.split(/[eE]/).length - 1;\n if (numExponents > 1) {\n sanitized = sanitized.replace(/[eE].*?[eE]/g, 'E0');\n }\n if (sanitized.endsWith('e') || sanitized.endsWith('E')) {\n sanitized += '0';\n }\n\n // handle multiple decimal points\n const numDecimalPoints = sanitized.split('.').length - 1;\n if (numDecimalPoints > 1) {\n sanitized = sanitized.replace(/\\.(?=.*\\.)/g, '');\n }\n\n // remove leading zeros\n sanitized = sanitized.replace(/^0+(?=\\d)/, '');\n sanitized = sanitized.replace(/^-0+(?=\\d)/, '-');\n\n // handle special cases\n if (sanitized === '0e' || sanitized === '-0e') {\n return '0';\n }\n if (negative && !sanitized.startsWith('-')) {\n sanitized = signed + sanitized;\n }\n if (sanitized === '.') {\n sanitized = '0.';\n }\n\n // ensure input was properly sanitized\n const floatRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n if (!floatRegex.test(sanitized)) {\n return '';\n }\n\n // allow leading negative sign only if it is from user input\n if (sanitized === '-') {\n if (isUserInput) {\n return sanitized;\n }\n return '';\n }\n\n // parse into float and validate\n if (sanitized !== '') {\n const parsedValue = parseFloat(sanitized);\n if (Number.isNaN(parsedValue) || !isValidFloat(parsedValue, size)) {\n return '';\n }\n }\n\n return sanitized;\n}\n\nfunction sanitizeOctet(value: string) {\n return value?.replace(/[^0-9a-fA-F]/g, '');\n}\n\nfunction sanitizeObjRef(value: string) {\n return value?.replace(/[^A-Za-z0-9_/$]/g, '');\n}\n\nfunction sanitizeBitString(value: string) {\n return value?.replace(/[^01]/g, '');\n}\n\nfunction formatTimestamp(input: string) {\n if (!input) return '';\n\n const digits = input.replace(/\\D/g, '');\n\n // Extract parts\n const year = digits.slice(0, 4);\n const month = digits.slice(4, 6);\n const day = digits.slice(6, 8);\n const hour = digits.slice(8, 10);\n const minute = digits.slice(10, 12);\n const second = digits.slice(12, 14);\n const millisecond = digits.slice(14, 17); // Optional milliseconds\n\n let formatted = `${year}`;\n if (month) formatted += `-${month}`;\n if (day) formatted += `-${day}`;\n if (hour) formatted += `T${hour}`;\n if (minute) formatted += `:${minute}`;\n if (second) formatted += `:${second}`;\n if (millisecond) formatted += `.${millisecond}`;\n\n return formatted;\n}\n\n/** Web Component for inputting IEC61850-6 \"Val\" values */\nexport class MbgValInput extends LitElement {\n static styles = css`\n md-outlined-text-field.Timestamp {\n min-width: 250px;\n max-width: 100%;\n width: auto;\n }\n `;\n\n @property({ type: String }) bType?: string;\n\n @property({ type: Boolean }) readOnly = false;\n\n // If the DA/BDA is assigned a Val in DataTypeTemplates\n @property({ type: String }) default = '';\n\n // if bType === \"Enum\" - ordinal values\n @property({ type: Array }) enumOrdinals: string[] = [];\n\n // if bType === \"Enum\" - string labels\n @property({ type: Array }) enumLabels: string[] = [];\n\n @property({ type: String }) label = 'Val';\n\n @query('#input') input?: HTMLInputElement;\n\n private updateValue(event: Event, userValue: string) {\n this.value = userValue;\n // eslint-disable-next-line no-param-reassign\n (event.target as HTMLInputElement).value = userValue;\n }\n\n private parseBTypeSize() {\n const match = this.bType?.match(/INT(\\d+)/);\n return match ? parseInt(match[1], 10) : 0;\n }\n\n private handleBigIntInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = sanitizeAndValidateInt(\n input,\n this.parseBTypeSize(),\n true,\n );\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n this.parseBTypeSize(),\n false,\n );\n\n if (validatedInput === '') {\n this.updateValue(event, validatedDefault ?? '0');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n private handleIntInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const signed = !(this.bType?.endsWith('U') || this.bType === 'Check');\n const size = this.bType === 'Check' ? 8 : this.parseBTypeSize();\n\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n size,\n false,\n signed,\n );\n\n // set default if input is empty\n if (input === '') {\n this.updateValue(event, validatedDefault ?? 0);\n }\n }\n\n intInput(size: 8 | 16 | 24 | 32 | 64 | 128, signed = true) {\n const min = signed ? -(2 ** (size - 1)) : 0;\n const max = signed ? 2 ** (size - 1) - 1 : 2 ** size - 1;\n\n const validatedDefault = sanitizeAndValidateInt(\n this.default,\n size,\n false,\n signed,\n );\n\n if (size > 52) {\n return html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n type=\"text\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleBigIntInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>`;\n }\n\n return html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n type=\"number\"\n step=\"1\"\n min=\"${min}\"\n max=\"${max}\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleIntInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>`;\n }\n\n private handleFloatInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = sanitizeAndValidateFloat(\n input,\n true,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n const validatedDefault = sanitizeAndValidateFloat(\n this.default,\n false,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n\n if (validatedInput === '') {\n this.updateValue(event, validatedDefault ?? '0');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n floatInput() {\n const validatedDefault = sanitizeAndValidateFloat(\n this.default,\n false,\n this.bType === 'FLOAT32' ? 32 : 64,\n );\n return html`\n <md-outlined-text-field\n id=\"$input\"\n label=\"${this.label}\"\n type=\"text\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleFloatInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleOctetInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeOctet(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeOctet(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n octetInput(size: 6 | 8 | 16 | 64) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeOctet(this.default) ?? nothing}\"\n maxlength=\"${size * 2}\"\n @input=\"${this.handleOctetInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleStringInput(event: Event) {\n let input = (event.target as HTMLInputElement).value;\n if (input === '') {\n input = this.default ?? '';\n }\n this.updateValue(event, input);\n }\n\n stringInput(size: 32 | 64 | 65 | 129 | 255) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${this.default ?? nothing}\"\n maxlength=\"${size}\"\n @input=\"${this.handleStringInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n enumInput() {\n let ordinals: string[] = [];\n let labels: string[] = [];\n\n if (typeof this.enumOrdinals === 'string') {\n ordinals = JSON.parse(this.enumOrdinals) as string[];\n }\n if (typeof this.enumLabels === 'string') {\n labels = JSON.parse(this.enumLabels) as string[];\n }\n\n return html`\n <md-filled-select\n id=\"input\"\n label=\"${this.label}\"\n ?disabled=\"${this.readOnly}\"\n >\n ${ordinals.map(\n (ordinal, index) => html`\n <md-select-option\n value=\"${labels[index]}\"\n ?selected=${this.default === labels[index] ||\n this.default === ordinal}\n >\n <div slot=\"headline\">${ordinal} - ${labels[index]}</div>\n </md-select-option>\n `,\n )}\n </md-filled-select>\n `;\n }\n\n private handleTimestampInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n const validatedInput = formatTimestamp(input);\n\n if (validatedInput === '') {\n const validatedDefault = formatTimestamp(this.default);\n this.updateValue(event, validatedDefault ?? '');\n return;\n }\n\n this.updateValue(event, validatedInput);\n }\n\n timestampInput() {\n const validatedDefault = formatTimestamp(this.default);\n return html`\n <md-outlined-text-field\n class=\"Timestamp\"\n id=\"input\"\n placeholder=\"YYYY-MM-DDTHH:MM:SS.sss\"\n label=\"${this.label}\"\n value=\"${validatedDefault ?? nothing}\"\n @input=\"${this.handleTimestampInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n private handleObjRefInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeObjRef(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeObjRef(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n objrefInput() {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeObjRef(this.default) ?? nothing}\"\n maxlength=\"255\"\n @input=\"${this.handleObjRefInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n dbposInput() {\n return html`\n <md-filled-select id=\"input\" label=\"${this.label}\" ?disabled=\"${this.readOnly}\">\n <md-select-option value=\"0\" ?selected=${this.default === '0'}>\n <div slot=\"headline\">0 - intermediate-state</div>\n </md-select-option>\n <md-select-option value=\"1\" ?selected=${this.default === '1'}>\n <div slot=\"headline\">1 - off</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"2\" ?selected=${this.default === '2'}>\n <div slot=\"headline\">2 - on</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"3\" ?selected=${this.default === '3'}>\n <div slot=\"headline\">3 - bad-state</div>\n </md-select-option>\n </md-filled-select>\n `;\n }\n\n tcmdInput() {\n return html`\n <md-filled-select id=\"input\" label=\"${this.label}\" ?disabled=\"${this.readOnly}\">\n <md-select-option value=\"0\" ?selected=${this.default === '0'}>\n <div slot=\"headline\">0 - neutral</div>\n </md-select-option>\n <md-select-option value=\"1\" ?selected=${this.default === '1'}>\n <div slot=\"headline\">1 - lower</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"2\" ?selected=${this.default === '2'}>\n <div slot=\"headline\">2 - higher</div>\n </md-select-option>\n </md-select-option>\n <md-select-option value=\"3\" ?selected=${this.default === '3'}>\n <div slot=\"headline\">3 - reserved</div>\n </md-select-option>\n </md-filled-select>\n `;\n }\n\n private handleBitStringInput(event: Event) {\n const input = (event.target as HTMLInputElement).value;\n let sanitizedInput = sanitizeBitString(input);\n if (sanitizedInput === '') {\n sanitizedInput = sanitizeBitString(this.default) ?? '';\n }\n this.updateValue(event, sanitizedInput);\n }\n\n bitstringInput(size: 5 | 6 | 10 | 14) {\n return html`\n <md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${sanitizeBitString(this.default) ?? nothing}\"\n maxlength=\"${size}\"\n @input=\"${this.handleBitStringInput}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>\n `;\n }\n\n get value() {\n if (this.bType === 'BOOLEAN') {\n return (this.input as unknown as MdSwitch).selected ? 'true' : 'false';\n }\n return this.input?.value ?? '';\n }\n\n set value(val: string) {\n this.input?.setAttribute('value', val);\n }\n\n get inputs(): Partial<Record<string, TemplateResult>> {\n return {\n BOOLEAN: html`<label\n >${this.label}\n <md-switch\n id=\"input\"\n ?disabled=\"${this.readOnly}\"\n ?selected=${xmlBoolean(this.default)}\n ></md-switch\n ></label>`,\n INT8: this.intInput(8),\n INT16: this.intInput(16),\n INT24: this.intInput(24),\n INT32: this.intInput(32),\n INT64: this.intInput(64),\n INT128: this.intInput(128),\n INT8U: this.intInput(8, false),\n INT16U: this.intInput(16, false),\n INT24U: this.intInput(24, false),\n INT32U: this.intInput(32, false),\n FLOAT32: this.floatInput(),\n FLOAT64: this.floatInput(),\n Octet6: this.octetInput(6),\n Octet16: this.octetInput(16),\n Octet64: this.octetInput(64),\n VisString32: this.stringInput(32),\n VisString64: this.stringInput(64),\n VisString65: this.stringInput(65),\n VisString129: this.stringInput(129),\n VisString255: this.stringInput(255),\n Unicode255: this.stringInput(255),\n Quality: this.bitstringInput(14),\n Currency: currencyInput(this.label, this.default, this.readOnly),\n Enum: this.enumInput(),\n Timestamp: this.timestampInput(),\n ObjRef: this.objrefInput(),\n Dbpos: this.dbposInput(),\n Tcmd: this.tcmdInput(),\n EntryTime: this.octetInput(6),\n Check: this.intInput(8, false),\n TrgOps: this.bitstringInput(6),\n OptFlds: this.bitstringInput(10),\n SvOptFlds: this.bitstringInput(6),\n LogOptFlds: this.bitstringInput(5),\n EntryID: this.octetInput(8),\n };\n }\n\n render() {\n return (\n this.inputs[this.bType ?? ''] ??\n html`<md-outlined-text-field\n id=\"input\"\n label=\"${this.label}\"\n value=\"${this.default ?? nothing}\"\n ?disabled=\"${this.readOnly}\"\n ></md-outlined-text-field>`\n );\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@material/web/select/filled-select.js';
|
|
2
2
|
import '@material/web/select/select-option.js';
|
|
3
|
-
export declare function currencyInput(label: string, defaultVal: string): import("lit-html").TemplateResult<1>;
|
|
3
|
+
export declare function currencyInput(label: string, defaultVal: string, readOnly: boolean): import("lit-html").TemplateResult<1>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
2
|
import '@material/web/select/filled-select.js';
|
|
3
3
|
import '@material/web/select/select-option.js';
|
|
4
|
-
export function currencyInput(label, defaultVal) {
|
|
4
|
+
export function currencyInput(label, defaultVal, readOnly) {
|
|
5
5
|
return html `
|
|
6
|
-
<md-filled-select id="input" label="${label}">
|
|
6
|
+
<md-filled-select id="input" label="${label}" ?disabled="${readOnly}">
|
|
7
7
|
<md-select-option value="AED" ?selected=${defaultVal === 'AED'}>
|
|
8
8
|
<div slot="headline">AED (UAE Dirham)</div>
|
|
9
9
|
</md-select-option>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-input.js","sourceRoot":"","sources":["../../src/currency-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAE/C,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,UAAkB;IAC7D,OAAO,IAAI,CAAA;0CAC6B,KAAK;gDACC,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;;GAIjE,CAAC;AACJ,CAAC","sourcesContent":["import { html } from 'lit';\n\nimport '@material/web/select/filled-select.js';\nimport '@material/web/select/select-option.js';\n\nexport function currencyInput(label: string, defaultVal: string) {\n return html`\n <md-filled-select id=\"input\" label=\"${label}\">\n <md-select-option value=\"AED\" ?selected=${defaultVal === 'AED'}>\n <div slot=\"headline\">AED (UAE Dirham)</div>\n </md-select-option>\n <md-select-option value=\"AFN\" ?selected=${defaultVal === 'AFN'}>\n <div slot=\"headline\">AFN (Afghan Afghani)</div>\n </md-select-option>\n <md-select-option value=\"ALL\" ?selected=${defaultVal === 'ALL'}>\n <div slot=\"headline\">ALL (Albanian Lek)</div>\n </md-select-option>\n <md-select-option value=\"AMD\" ?selected=${defaultVal === 'AMD'}>\n <div slot=\"headline\">AMD (Armenian Dram)</div>\n </md-select-option>\n <md-select-option value=\"ANG\" ?selected=${defaultVal === 'ANG'}>\n <div slot=\"headline\">ANG (Netherlands Antillean Guilder)</div>\n </md-select-option>\n <md-select-option value=\"AOA\" ?selected=${defaultVal === 'AOA'}>\n <div slot=\"headline\">AOA (Angolan Kwanza)</div>\n </md-select-option>\n <md-select-option value=\"ARS\" ?selected=${defaultVal === 'ARS'}>\n <div slot=\"headline\">ARS (Argentine Peso)</div>\n </md-select-option>\n <md-select-option value=\"AUD\" ?selected=${defaultVal === 'AUD'}>\n <div slot=\"headline\">AUD (Australian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"AWG\" ?selected=${defaultVal === 'AWG'}>\n <div slot=\"headline\">AWG (Aruban Florin)</div>\n </md-select-option>\n <md-select-option value=\"AZN\" ?selected=${defaultVal === 'AZN'}>\n <div slot=\"headline\">AZN (Azerbaijani Manat)</div>\n </md-select-option>\n <md-select-option value=\"BAM\" ?selected=${defaultVal === 'BAM'}>\n <div slot=\"headline\">BAM (Bosnia and Herzegovina Convertible Mark)</div>\n </md-select-option>\n <md-select-option value=\"BBD\" ?selected=${defaultVal === 'BBD'}>\n <div slot=\"headline\">BBD (Barbadian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BDT\" ?selected=${defaultVal === 'BDT'}>\n <div slot=\"headline\">BDT (Bangladeshi Taka)</div>\n </md-select-option>\n <md-select-option value=\"BGN\" ?selected=${defaultVal === 'BGN'}>\n <div slot=\"headline\">BGN (Bulgarian Lev)</div>\n </md-select-option>\n <md-select-option value=\"BHD\" ?selected=${defaultVal === 'BHD'}>\n <div slot=\"headline\">BHD (Bahraini Dinar)</div>\n </md-select-option>\n <md-select-option value=\"BIF\" ?selected=${defaultVal === 'BIF'}>\n <div slot=\"headline\">BIF (Burundian Franc)</div>\n </md-select-option>\n <md-select-option value=\"BMD\" ?selected=${defaultVal === 'BMD'}>\n <div slot=\"headline\">BMD (Bermudian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BND\" ?selected=${defaultVal === 'BND'}>\n <div slot=\"headline\">BND (Brunei Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BOB\" ?selected=${defaultVal === 'BOB'}>\n <div slot=\"headline\">BOB (Bolivian Boliviano)</div>\n </md-select-option>\n <md-select-option value=\"BOV\" ?selected=${defaultVal === 'BOV'}>\n <div slot=\"headline\">BOV (Bolivian Mvdol)</div>\n </md-select-option>\n <md-select-option value=\"BRL\" ?selected=${defaultVal === 'BRL'}>\n <div slot=\"headline\">BRL (Brazilian Real)</div>\n </md-select-option>\n <md-select-option value=\"BSD\" ?selected=${defaultVal === 'BSD'}>\n <div slot=\"headline\">BSD (Bahamian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BTN\" ?selected=${defaultVal === 'BTN'}>\n <div slot=\"headline\">BTN (Bhutanese Ngultrum)</div>\n </md-select-option>\n <md-select-option value=\"BWP\" ?selected=${defaultVal === 'BWP'}>\n <div slot=\"headline\">BWP (Botswana Pula)</div>\n </md-select-option>\n <md-select-option value=\"BYN\" ?selected=${defaultVal === 'BYN'}>\n <div slot=\"headline\">BYN (Belarusian Ruble)</div>\n </md-select-option>\n <md-select-option value=\"BZD\" ?selected=${defaultVal === 'BZD'}>\n <div slot=\"headline\">BZD (Belize Dollar)</div>\n </md-select-option>\n <md-select-option value=\"CAD\" ?selected=${defaultVal === 'CAD'}>\n <div slot=\"headline\">CAD (Canadian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"CDF\" ?selected=${defaultVal === 'CDF'}>\n <div slot=\"headline\">CDF (Congolese Franc)</div>\n </md-select-option>\n <md-select-option value=\"CHE\" ?selected=${defaultVal === 'CHE'}>\n <div slot=\"headline\">CHE (WIR Euro)</div>\n </md-select-option>\n <md-select-option value=\"CHF\" ?selected=${defaultVal === 'CHF'}>\n <div slot=\"headline\">CHF (Swiss Franc)</div>\n </md-select-option>\n <md-select-option value=\"CHW\" ?selected=${defaultVal === 'CHW'}>\n <div slot=\"headline\">CHW (WIR Franc)</div>\n </md-select-option>\n <md-select-option value=\"CLF\" ?selected=${defaultVal === 'CLF'}>\n <div slot=\"headline\">CLF (Chilean Unit of Account)</div>\n </md-select-option>\n <md-select-option value=\"CLP\" ?selected=${defaultVal === 'CLP'}>\n <div slot=\"headline\">CLP (Chilean Peso)</div>\n </md-select-option>\n <md-select-option value=\"CNY\" ?selected=${defaultVal === 'CNY'}>\n <div slot=\"headline\">CNY (Chinese Yuan)</div>\n </md-select-option>\n <md-select-option value=\"COP\" ?selected=${defaultVal === 'COP'}>\n <div slot=\"headline\">COP (Colombian Peso)</div>\n </md-select-option>\n <md-select-option value=\"COU\" ?selected=${defaultVal === 'COU'}>\n <div slot=\"headline\">COU (Unidad de Valor Real)</div>\n </md-select-option>\n <md-select-option value=\"CRC\" ?selected=${defaultVal === 'CRC'}>\n <div slot=\"headline\">CRC (Costa Rican Colon)</div>\n </md-select-option>\n <md-select-option value=\"CUP\" ?selected=${defaultVal === 'CUP'}>\n <div slot=\"headline\">CUP (Cuban Peso)</div>\n </md-select-option>\n <md-select-option value=\"CVE\" ?selected=${defaultVal === 'CVE'}>\n <div slot=\"headline\">CVE (Cape Verdean Escudo)</div>\n </md-select-option>\n <md-select-option value=\"CZK\" ?selected=${defaultVal === 'CZK'}>\n <div slot=\"headline\">CZK (Czech Koruna)</div>\n </md-select-option>\n <md-select-option value=\"DJF\" ?selected=${defaultVal === 'DJF'}>\n <div slot=\"headline\">DJF (Djiboutian Franc)</div>\n </md-select-option>\n <md-select-option value=\"DKK\" ?selected=${defaultVal === 'DKK'}>\n <div slot=\"headline\">DKK (Danish Krone)</div>\n </md-select-option>\n <md-select-option value=\"DOP\" ?selected=${defaultVal === 'DOP'}>\n <div slot=\"headline\">DOP (Dominican Peso)</div>\n </md-select-option>\n <md-select-option value=\"DZD\" ?selected=${defaultVal === 'DZD'}>\n <div slot=\"headline\">DZD (Algerian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"EGP\" ?selected=${defaultVal === 'EGP'}>\n <div slot=\"headline\">EGP (Egyptian Pound)</div>\n </md-select-option>\n <md-select-option value=\"ERN\" ?selected=${defaultVal === 'ERN'}>\n <div slot=\"headline\">ERN (Eritrean Nakfa)</div>\n </md-select-option>\n <md-select-option value=\"ETB\" ?selected=${defaultVal === 'ETB'}>\n <div slot=\"headline\">ETB (Ethiopian Birr)</div>\n </md-select-option>\n <md-select-option value=\"EUR\" ?selected=${defaultVal === 'EUR'}>\n <div slot=\"headline\">EUR (Euro)</div>\n </md-select-option>\n <md-select-option value=\"FJD\" ?selected=${defaultVal === 'FJD'}>\n <div slot=\"headline\">FJD (Fijian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"FKP\" ?selected=${defaultVal === 'FKP'}>\n <div slot=\"headline\">FKP (Falkland Islands Pound)</div>\n </md-select-option>\n <md-select-option value=\"GBP\" ?selected=${defaultVal === 'GBP'}>\n <div slot=\"headline\">GBP (Pound Sterling)</div>\n </md-select-option>\n <md-select-option value=\"GEL\" ?selected=${defaultVal === 'GEL'}>\n <div slot=\"headline\">GEL (Georgian Lari)</div>\n </md-select-option>\n <md-select-option value=\"GHS\" ?selected=${defaultVal === 'GHS'}>\n <div slot=\"headline\">GHS (Ghanaian Cedi)</div>\n </md-select-option>\n <md-select-option value=\"GIP\" ?selected=${defaultVal === 'GIP'}>\n <div slot=\"headline\">GIP (Gibraltar Pound)</div>\n </md-select-option>\n <md-select-option value=\"GMD\" ?selected=${defaultVal === 'GMD'}>\n <div slot=\"headline\">GMD (Gambian Dalasi)</div>\n </md-select-option>\n <md-select-option value=\"GNF\" ?selected=${defaultVal === 'GNF'}>\n <div slot=\"headline\">GNF (Guinean Franc)</div>\n </md-select-option>\n <md-select-option value=\"GTQ\" ?selected=${defaultVal === 'GTQ'}>\n <div slot=\"headline\">GTQ (Guatemalan Quetzal)</div>\n </md-select-option>\n <md-select-option value=\"GYD\" ?selected=${defaultVal === 'GYD'}>\n <div slot=\"headline\">GYD (Guyanese Dollar)</div>\n </md-select-option>\n <md-select-option value=\"HKD\" ?selected=${defaultVal === 'HKD'}>\n <div slot=\"headline\">HKD (Hong Kong Dollar)</div>\n </md-select-option>\n <md-select-option value=\"HNL\" ?selected=${defaultVal === 'HNL'}>\n <div slot=\"headline\">HNL (Honduran Lempira)</div>\n </md-select-option>\n <md-select-option value=\"HTG\" ?selected=${defaultVal === 'HTG'}>\n <div slot=\"headline\">HTG (Haitian Gourde)</div>\n </md-select-option>\n <md-select-option value=\"HUF\" ?selected=${defaultVal === 'HUF'}>\n <div slot=\"headline\">HUF (Hungarian Forint)</div>\n </md-select-option>\n <md-select-option value=\"IDR\" ?selected=${defaultVal === 'IDR'}>\n <div slot=\"headline\">IDR (Indonesian Rupiah)</div>\n </md-select-option>\n <md-select-option value=\"ILS\" ?selected=${defaultVal === 'ILS'}>\n <div slot=\"headline\">ILS (Israeli New Sheqel)</div>\n </md-select-option>\n <md-select-option value=\"INR\" ?selected=${defaultVal === 'INR'}>\n <div slot=\"headline\">INR (Indian Rupee)</div>\n </md-select-option>\n <md-select-option value=\"IQD\" ?selected=${defaultVal === 'IQD'}>\n <div slot=\"headline\">IQD (Iraqi Dinar)</div>\n </md-select-option>\n <md-select-option value=\"IRR\" ?selected=${defaultVal === 'IRR'}>\n <div slot=\"headline\">IRR (Iranian Rial)</div>\n </md-select-option>\n <md-select-option value=\"ISK\" ?selected=${defaultVal === 'ISK'}>\n <div slot=\"headline\">ISK (Icelandic Krona)</div>\n </md-select-option>\n <md-select-option value=\"JMD\" ?selected=${defaultVal === 'JMD'}>\n <div slot=\"headline\">JMD (Jamaican Dollar)</div>\n </md-select-option>\n <md-select-option value=\"JOD\" ?selected=${defaultVal === 'JOD'}>\n <div slot=\"headline\">JOD (Jordanian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"JPY\" ?selected=${defaultVal === 'JPY'}>\n <div slot=\"headline\">JPY (Japanese Yen)</div>\n </md-select-option>\n <md-select-option value=\"KES\" ?selected=${defaultVal === 'KES'}>\n <div slot=\"headline\">KES (Kenyan Shilling)</div>\n </md-select-option>\n <md-select-option value=\"KGS\" ?selected=${defaultVal === 'KGS'}>\n <div slot=\"headline\">KGS (Kyrgyzstani Som)</div>\n </md-select-option>\n <md-select-option value=\"KHR\" ?selected=${defaultVal === 'KHR'}>\n <div slot=\"headline\">KHR (Cambodian Riel)</div>\n </md-select-option>\n <md-select-option value=\"KMF\" ?selected=${defaultVal === 'KMF'}>\n <div slot=\"headline\">KMF (Comorian Franc)</div>\n </md-select-option>\n <md-select-option value=\"KPW\" ?selected=${defaultVal === 'KPW'}>\n <div slot=\"headline\">KPW (North Korean Won)</div>\n </md-select-option>\n <md-select-option value=\"KRW\" ?selected=${defaultVal === 'KRW'}>\n <div slot=\"headline\">KRW (South Korean Won)</div>\n </md-select-option>\n <md-select-option value=\"KWD\" ?selected=${defaultVal === 'KWD'}>\n <div slot=\"headline\">KWD (Kuwaiti Dinar)</div>\n </md-select-option>\n <md-select-option value=\"KYD\" ?selected=${defaultVal === 'KYD'}>\n <div slot=\"headline\">KYD (Cayman Islands Dollar)</div>\n </md-select-option>\n <md-select-option value=\"KZT\" ?selected=${defaultVal === 'KZT'}>\n <div slot=\"headline\">KZT (Kazakhstani Tenge)</div>\n </md-select-option>\n <md-select-option value=\"LAK\" ?selected=${defaultVal === 'LAK'}>\n <div slot=\"headline\">LAK (Laotian Kip)</div>\n </md-select-option>\n <md-select-option value=\"LBP\" ?selected=${defaultVal === 'LBP'}>\n <div slot=\"headline\">LBP (Lebanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"LKR\" ?selected=${defaultVal === 'LKR'}>\n <div slot=\"headline\">LKR (Sri Lankan Rupee)</div>\n </md-select-option>\n <md-select-option value=\"LRD\" ?selected=${defaultVal === 'LRD'}>\n <div slot=\"headline\">LRD (Liberian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"LSL\" ?selected=${defaultVal === 'LSL'}>\n <div slot=\"headline\">LSL (Lesotho Loti)</div>\n </md-select-option>\n <md-select-option value=\"LYD\" ?selected=${defaultVal === 'LYD'}>\n <div slot=\"headline\">LYD (Libyan Dinar)</div>\n </md-select-option>\n <md-select-option value=\"MAD\" ?selected=${defaultVal === 'MAD'}>\n <div slot=\"headline\">MAD (Moroccan Dirham)</div>\n </md-select-option>\n <md-select-option value=\"MDL\" ?selected=${defaultVal === 'MDL'}>\n <div slot=\"headline\">MDL (Moldovan Leu)</div>\n </md-select-option>\n <md-select-option value=\"MGA\" ?selected=${defaultVal === 'MGA'}>\n <div slot=\"headline\">MGA (Malagasy Ariary)</div>\n </md-select-option>\n <md-select-option value=\"MKD\" ?selected=${defaultVal === 'MKD'}>\n <div slot=\"headline\">MKD (Macedonian Denar)</div>\n </md-select-option>\n <md-select-option value=\"MMK\" ?selected=${defaultVal === 'MMK'}>\n <div slot=\"headline\">MMK (Myanmar Kyat)</div>\n </md-select-option>\n <md-select-option value=\"MNT\" ?selected=${defaultVal === 'MNT'}>\n <div slot=\"headline\">MNT (Mongolian Tugrik)</div>\n </md-select-option>\n <md-select-option value=\"MOP\" ?selected=${defaultVal === 'MOP'}>\n <div slot=\"headline\">MOP (Macanese Pataca)</div>\n </md-select-option>\n <md-select-option value=\"MRU\" ?selected=${defaultVal === 'MRU'}>\n <div slot=\"headline\">MRU (Mauritanian Ouguiya)</div>\n </md-select-option>\n <md-select-option value=\"MUR\" ?selected=${defaultVal === 'MUR'}>\n <div slot=\"headline\">MUR (Mauritian Rupee)</div>\n </md-select-option>\n <md-select-option value=\"MVR\" ?selected=${defaultVal === 'MVR'}>\n <div slot=\"headline\">MVR (Maldivian Rufiyaa)</div>\n </md-select-option>\n <md-select-option value=\"MWK\" ?selected=${defaultVal === 'MWK'}>\n <div slot=\"headline\">MWK (Malawian Kwacha)</div>\n </md-select-option>\n <md-select-option value=\"MXN\" ?selected=${defaultVal === 'MXN'}>\n <div slot=\"headline\">MXN (Mexican Peso)</div>\n </md-select-option>\n <md-select-option value=\"MXV\" ?selected=${defaultVal === 'MXV'}>\n <div slot=\"headline\">MXV (Mexican Unidad de Inversion (UDI))</div>\n </md-select-option>\n <md-select-option value=\"MYR\" ?selected=${defaultVal === 'MYR'}>\n <div slot=\"headline\">MYR (Malaysian Ringgit)</div>\n </md-select-option>\n <md-select-option value=\"MZN\" ?selected=${defaultVal === 'MZN'}>\n <div slot=\"headline\">MZN (Mozambican Metical)</div>\n </md-select-option>\n <md-select-option value=\"NAD\" ?selected=${defaultVal === 'NAD'}>\n <div slot=\"headline\">NAD (Namibian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"NGN\" ?selected=${defaultVal === 'NGN'}>\n <div slot=\"headline\">NGN (Nigerian Naira)</div>\n </md-select-option>\n <md-select-option value=\"NIO\" ?selected=${defaultVal === 'NIO'}>\n <div slot=\"headline\">NIO (Nicaraguan Cordoba)</div>\n </md-select-option>\n <md-select-option value=\"NOK\" ?selected=${defaultVal === 'NOK'}>\n <div slot=\"headline\">NOK (Norwegian Krone)</div>\n </md-select-option>\n <md-select-option value=\"NPR\" ?selected=${defaultVal === 'NPR'}>\n <div slot=\"headline\">NPR (Nepalese Rupee)</div>\n </md-select-option>\n <md-select-option value=\"NZD\" ?selected=${defaultVal === 'NZD'}>\n <div slot=\"headline\">NZD (New Zealand Dollar)</div>\n </md-select-option>\n <md-select-option value=\"OMR\" ?selected=${defaultVal === 'OMR'}>\n <div slot=\"headline\">OMR (Omani Rial)</div>\n </md-select-option>\n <md-select-option value=\"PAB\" ?selected=${defaultVal === 'PAB'}>\n <div slot=\"headline\">PAB (Panamanian Balboa)</div>\n </md-select-option>\n <md-select-option value=\"PEN\" ?selected=${defaultVal === 'PEN'}>\n <div slot=\"headline\">PEN (Peruvian Nuevo Sol)</div>\n </md-select-option>\n <md-select-option value=\"PGK\" ?selected=${defaultVal === 'PGK'}>\n <div slot=\"headline\">PGK (Papua New Guinean Kina)</div>\n </md-select-option>\n <md-select-option value=\"PHP\" ?selected=${defaultVal === 'PHP'}>\n <div slot=\"headline\">PHP (Philippine Peso)</div>\n </md-select-option>\n <md-select-option value=\"PKR\" ?selected=${defaultVal === 'PKR'}>\n <div slot=\"headline\">PKR (Pakistani Rupee)</div>\n </md-select-option>\n <md-select-option value=\"PLN\" ?selected=${defaultVal === 'PLN'}>\n <div slot=\"headline\">PLN (Polish Zloty)</div>\n </md-select-option>\n <md-select-option value=\"PYG\" ?selected=${defaultVal === 'PYG'}>\n <div slot=\"headline\">PYG (Paraguayan Guarani)</div>\n </md-select-option>\n <md-select-option value=\"QAR\" ?selected=${defaultVal === 'QAR'}>\n <div slot=\"headline\">QAR (Qatari Rial)</div>\n </md-select-option>\n <md-select-option value=\"RON\" ?selected=${defaultVal === 'RON'}>\n <div slot=\"headline\">RON (Romanian Leu)</div>\n </md-select-option>\n <md-select-option value=\"RUB\" ?selected=${defaultVal === 'RUB'}>\n <div slot=\"headline\">RUB (Russian Ruble)</div>\n </md-select-option>\n <md-select-option value=\"RWF\" ?selected=${defaultVal === 'RWF'}>\n <div slot=\"headline\">RWF (Rwandan Franc)</div>\n </md-select-option>\n <md-select-option value=\"SAR\" ?selected=${defaultVal === 'SAR'}>\n <div slot=\"headline\">SAR (Saudi Riyal)</div>\n </md-select-option>\n <md-select-option value=\"SBD\" ?selected=${defaultVal === 'SBD'}>\n <div slot=\"headline\">SBD (Solomon Islands Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SCR\" ?selected=${defaultVal === 'SCR'}>\n <div slot=\"headline\">SCR (Seychelles Rupee)</div>\n </md-select-option>\n <md-select-option value=\"SDG\" ?selected=${defaultVal === 'SDG'}>\n <div slot=\"headline\">SDG (Sudanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"SEK\" ?selected=${defaultVal === 'SEK'}>\n <div slot=\"headline\">SEK (Swedish Krona)</div>\n </md-select-option>\n <md-select-option value=\"SGD\" ?selected=${defaultVal === 'SGD'}>\n <div slot=\"headline\">SGD (Singapore Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SHP\" ?selected=${defaultVal === 'SHP'}>\n <div slot=\"headline\">SHP (Saint Helena Pound)</div>\n </md-select-option>\n <md-select-option value=\"SLE\" ?selected=${defaultVal === 'SLE'}>\n <div slot=\"headline\">SLE (Sierra Leonean Leone)</div>\n </md-select-option>\n <md-select-option value=\"SOS\" ?selected=${defaultVal === 'SOS'}>\n <div slot=\"headline\">SOS (Somali Shilling)</div>\n </md-select-option>\n <md-select-option value=\"SRD\" ?selected=${defaultVal === 'SRD'}>\n <div slot=\"headline\">SRD (Surinamese Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SSP\" ?selected=${defaultVal === 'SSP'}>\n <div slot=\"headline\">SSP (South Sudanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"STN\" ?selected=${defaultVal === 'STN'}>\n <div slot=\"headline\">STN (São Tomé and Príncipe Dobra)</div>\n </md-select-option>\n <md-select-option value=\"SVC\" ?selected=${defaultVal === 'SVC'}>\n <div slot=\"headline\">SVC (Salvadoran Colón)</div>\n </md-select-option>\n <md-select-option value=\"SYP\" ?selected=${defaultVal === 'SYP'}>\n <div slot=\"headline\">SYP (Syrian Pound)</div>\n </md-select-option>\n <md-select-option value=\"SZL\" ?selected=${defaultVal === 'SZL'}>\n <div slot=\"headline\">SZL (Swazi Lilangeni)</div>\n </md-select-option>\n <md-select-option value=\"THB\" ?selected=${defaultVal === 'THB'}>\n <div slot=\"headline\">THB (Thai Baht)</div>\n </md-select-option>\n <md-select-option value=\"TJS\" ?selected=${defaultVal === 'TJS'}>\n <div slot=\"headline\">TJS (Tajikistani Somoni)</div>\n </md-select-option>\n <md-select-option value=\"TMT\" ?selected=${defaultVal === 'TMT'}>\n <div slot=\"headline\">TMT (Turkmenistani Manat)</div>\n </md-select-option>\n <md-select-option value=\"TND\" ?selected=${defaultVal === 'TND'}>\n <div slot=\"headline\">TND (Tunisian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"TOP\" ?selected=${defaultVal === 'TOP'}>\n <div slot=\"headline\">TOP (Tongan Paʻanga)</div>\n </md-select-option>\n <md-select-option value=\"TRY\" ?selected=${defaultVal === 'TRY'}>\n <div slot=\"headline\">TRY (Turkish Lira)</div>\n </md-select-option>\n <md-select-option value=\"TTD\" ?selected=${defaultVal === 'TTD'}>\n <div slot=\"headline\">TTD (Trinidad and Tobago Dollar)</div>\n </md-select-option>\n <md-select-option value=\"TWD\" ?selected=${defaultVal === 'TWD'}>\n <div slot=\"headline\">TWD (New Taiwan Dollar)</div>\n </md-select-option>\n <md-select-option value=\"TZS\" ?selected=${defaultVal === 'TZS'}>\n <div slot=\"headline\">TZS (Tanzanian Shilling)</div>\n </md-select-option>\n <md-select-option value=\"UAH\" ?selected=${defaultVal === 'UAH'}>\n <div slot=\"headline\">UAH (Ukrainian Hryvnia)</div>\n </md-select-option>\n <md-select-option value=\"UGX\" ?selected=${defaultVal === 'UGX'}>\n <div slot=\"headline\">UGX (Ugandan Shilling)</div>\n </md-select-option>\n <md-select-option value=\"USD\" ?selected=${defaultVal === 'USD'}>\n <div slot=\"headline\">USD (United States Dollar)</div>\n </md-select-option>\n <md-select-option value=\"UYU\" ?selected=${defaultVal === 'UYU'}>\n <div slot=\"headline\">UYU (Uruguayan Peso)</div>\n </md-select-option>\n <md-select-option value=\"UZS\" ?selected=${defaultVal === 'UZS'}>\n <div slot=\"headline\">UZS (Uzbekistan Som)</div>\n </md-select-option>\n <md-select-option value=\"VED\" ?selected=${defaultVal === 'VED'}>\n <div slot=\"headline\">VED (Venezuelan Digital Bolívar)</div>\n </md-select-option>\n <md-select-option value=\"VES\" ?selected=${defaultVal === 'VES'}>\n <div slot=\"headline\">VES (Venezuelan Sovereign Bolívar)</div>\n </md-select-option>\n <md-select-option value=\"VND\" ?selected=${defaultVal === 'VND'}>\n <div slot=\"headline\">VND (Vietnamese Dong)</div>\n </md-select-option>\n <md-select-option value=\"VUV\" ?selected=${defaultVal === 'VUV'}>\n <div slot=\"headline\">VUV (Vanuatu Vatu)</div>\n </md-select-option>\n <md-select-option value=\"WST\" ?selected=${defaultVal === 'WST'}>\n <div slot=\"headline\">WST (Samoan Tala)</div>\n </md-select-option>\n <md-select-option value=\"XAF\" ?selected=${defaultVal === 'XAF'}>\n <div slot=\"headline\">XAF (Central African Cfa Franc)</div>\n </md-select-option>\n <md-select-option value=\"XCD\" ?selected=${defaultVal === 'XCD'}>\n <div slot=\"headline\">XCD (East Caribbean Dollar)</div>\n </md-select-option>\n <md-select-option value=\"XOF\" ?selected=${defaultVal === 'XOF'}>\n <div slot=\"headline\">XOF (West African CFA Franc)</div>\n </md-select-option>\n <md-select-option value=\"XPF\" ?selected=${defaultVal === 'XPF'}>\n <div slot=\"headline\">XPF (CFP Franc)</div>\n </md-select-option>\n <md-select-option value=\"XXX\" ?selected=${defaultVal === 'XXX'}>\n <div slot=\"headline\">XXX (No Currency)</div>\n </md-select-option>\n <md-select-option value=\"YER\" ?selected=${defaultVal === 'YER'}>\n <div slot=\"headline\">YER (Yemen Rial)</div>\n </md-select-option>\n <md-select-option value=\"ZAR\" ?selected=${defaultVal === 'ZAR'}>\n <div slot=\"headline\">ZAR (South African Rand)</div>\n </md-select-option>\n <md-select-option value=\"ZMW\" ?selected=${defaultVal === 'ZMW'}>\n <div slot=\"headline\">ZMW (Zambian Kwacha)</div>\n </md-select-option>\n <md-select-option value=\"ZWG\" ?selected=${defaultVal === 'ZWG'}>\n <div slot=\"headline\">ZWG (Zimbabwe Gold)</div>\n </md-select-option>\n </md-filled-select>\n `;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"currency-input.js","sourceRoot":"","sources":["../../src/currency-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAE/C,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,UAAkB,EAClB,QAAiB;IAEjB,OAAO,IAAI,CAAA;0CAC6B,KAAK,gBAAgB,QAAQ;gDACvB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;gDAGpB,UAAU,KAAK,KAAK;;;;GAIjE,CAAC;AACJ,CAAC","sourcesContent":["import { html } from 'lit';\n\nimport '@material/web/select/filled-select.js';\nimport '@material/web/select/select-option.js';\n\nexport function currencyInput(\n label: string,\n defaultVal: string,\n readOnly: boolean,\n) {\n return html`\n <md-filled-select id=\"input\" label=\"${label}\" ?disabled=\"${readOnly}\">\n <md-select-option value=\"AED\" ?selected=${defaultVal === 'AED'}>\n <div slot=\"headline\">AED (UAE Dirham)</div>\n </md-select-option>\n <md-select-option value=\"AFN\" ?selected=${defaultVal === 'AFN'}>\n <div slot=\"headline\">AFN (Afghan Afghani)</div>\n </md-select-option>\n <md-select-option value=\"ALL\" ?selected=${defaultVal === 'ALL'}>\n <div slot=\"headline\">ALL (Albanian Lek)</div>\n </md-select-option>\n <md-select-option value=\"AMD\" ?selected=${defaultVal === 'AMD'}>\n <div slot=\"headline\">AMD (Armenian Dram)</div>\n </md-select-option>\n <md-select-option value=\"ANG\" ?selected=${defaultVal === 'ANG'}>\n <div slot=\"headline\">ANG (Netherlands Antillean Guilder)</div>\n </md-select-option>\n <md-select-option value=\"AOA\" ?selected=${defaultVal === 'AOA'}>\n <div slot=\"headline\">AOA (Angolan Kwanza)</div>\n </md-select-option>\n <md-select-option value=\"ARS\" ?selected=${defaultVal === 'ARS'}>\n <div slot=\"headline\">ARS (Argentine Peso)</div>\n </md-select-option>\n <md-select-option value=\"AUD\" ?selected=${defaultVal === 'AUD'}>\n <div slot=\"headline\">AUD (Australian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"AWG\" ?selected=${defaultVal === 'AWG'}>\n <div slot=\"headline\">AWG (Aruban Florin)</div>\n </md-select-option>\n <md-select-option value=\"AZN\" ?selected=${defaultVal === 'AZN'}>\n <div slot=\"headline\">AZN (Azerbaijani Manat)</div>\n </md-select-option>\n <md-select-option value=\"BAM\" ?selected=${defaultVal === 'BAM'}>\n <div slot=\"headline\">BAM (Bosnia and Herzegovina Convertible Mark)</div>\n </md-select-option>\n <md-select-option value=\"BBD\" ?selected=${defaultVal === 'BBD'}>\n <div slot=\"headline\">BBD (Barbadian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BDT\" ?selected=${defaultVal === 'BDT'}>\n <div slot=\"headline\">BDT (Bangladeshi Taka)</div>\n </md-select-option>\n <md-select-option value=\"BGN\" ?selected=${defaultVal === 'BGN'}>\n <div slot=\"headline\">BGN (Bulgarian Lev)</div>\n </md-select-option>\n <md-select-option value=\"BHD\" ?selected=${defaultVal === 'BHD'}>\n <div slot=\"headline\">BHD (Bahraini Dinar)</div>\n </md-select-option>\n <md-select-option value=\"BIF\" ?selected=${defaultVal === 'BIF'}>\n <div slot=\"headline\">BIF (Burundian Franc)</div>\n </md-select-option>\n <md-select-option value=\"BMD\" ?selected=${defaultVal === 'BMD'}>\n <div slot=\"headline\">BMD (Bermudian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BND\" ?selected=${defaultVal === 'BND'}>\n <div slot=\"headline\">BND (Brunei Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BOB\" ?selected=${defaultVal === 'BOB'}>\n <div slot=\"headline\">BOB (Bolivian Boliviano)</div>\n </md-select-option>\n <md-select-option value=\"BOV\" ?selected=${defaultVal === 'BOV'}>\n <div slot=\"headline\">BOV (Bolivian Mvdol)</div>\n </md-select-option>\n <md-select-option value=\"BRL\" ?selected=${defaultVal === 'BRL'}>\n <div slot=\"headline\">BRL (Brazilian Real)</div>\n </md-select-option>\n <md-select-option value=\"BSD\" ?selected=${defaultVal === 'BSD'}>\n <div slot=\"headline\">BSD (Bahamian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"BTN\" ?selected=${defaultVal === 'BTN'}>\n <div slot=\"headline\">BTN (Bhutanese Ngultrum)</div>\n </md-select-option>\n <md-select-option value=\"BWP\" ?selected=${defaultVal === 'BWP'}>\n <div slot=\"headline\">BWP (Botswana Pula)</div>\n </md-select-option>\n <md-select-option value=\"BYN\" ?selected=${defaultVal === 'BYN'}>\n <div slot=\"headline\">BYN (Belarusian Ruble)</div>\n </md-select-option>\n <md-select-option value=\"BZD\" ?selected=${defaultVal === 'BZD'}>\n <div slot=\"headline\">BZD (Belize Dollar)</div>\n </md-select-option>\n <md-select-option value=\"CAD\" ?selected=${defaultVal === 'CAD'}>\n <div slot=\"headline\">CAD (Canadian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"CDF\" ?selected=${defaultVal === 'CDF'}>\n <div slot=\"headline\">CDF (Congolese Franc)</div>\n </md-select-option>\n <md-select-option value=\"CHE\" ?selected=${defaultVal === 'CHE'}>\n <div slot=\"headline\">CHE (WIR Euro)</div>\n </md-select-option>\n <md-select-option value=\"CHF\" ?selected=${defaultVal === 'CHF'}>\n <div slot=\"headline\">CHF (Swiss Franc)</div>\n </md-select-option>\n <md-select-option value=\"CHW\" ?selected=${defaultVal === 'CHW'}>\n <div slot=\"headline\">CHW (WIR Franc)</div>\n </md-select-option>\n <md-select-option value=\"CLF\" ?selected=${defaultVal === 'CLF'}>\n <div slot=\"headline\">CLF (Chilean Unit of Account)</div>\n </md-select-option>\n <md-select-option value=\"CLP\" ?selected=${defaultVal === 'CLP'}>\n <div slot=\"headline\">CLP (Chilean Peso)</div>\n </md-select-option>\n <md-select-option value=\"CNY\" ?selected=${defaultVal === 'CNY'}>\n <div slot=\"headline\">CNY (Chinese Yuan)</div>\n </md-select-option>\n <md-select-option value=\"COP\" ?selected=${defaultVal === 'COP'}>\n <div slot=\"headline\">COP (Colombian Peso)</div>\n </md-select-option>\n <md-select-option value=\"COU\" ?selected=${defaultVal === 'COU'}>\n <div slot=\"headline\">COU (Unidad de Valor Real)</div>\n </md-select-option>\n <md-select-option value=\"CRC\" ?selected=${defaultVal === 'CRC'}>\n <div slot=\"headline\">CRC (Costa Rican Colon)</div>\n </md-select-option>\n <md-select-option value=\"CUP\" ?selected=${defaultVal === 'CUP'}>\n <div slot=\"headline\">CUP (Cuban Peso)</div>\n </md-select-option>\n <md-select-option value=\"CVE\" ?selected=${defaultVal === 'CVE'}>\n <div slot=\"headline\">CVE (Cape Verdean Escudo)</div>\n </md-select-option>\n <md-select-option value=\"CZK\" ?selected=${defaultVal === 'CZK'}>\n <div slot=\"headline\">CZK (Czech Koruna)</div>\n </md-select-option>\n <md-select-option value=\"DJF\" ?selected=${defaultVal === 'DJF'}>\n <div slot=\"headline\">DJF (Djiboutian Franc)</div>\n </md-select-option>\n <md-select-option value=\"DKK\" ?selected=${defaultVal === 'DKK'}>\n <div slot=\"headline\">DKK (Danish Krone)</div>\n </md-select-option>\n <md-select-option value=\"DOP\" ?selected=${defaultVal === 'DOP'}>\n <div slot=\"headline\">DOP (Dominican Peso)</div>\n </md-select-option>\n <md-select-option value=\"DZD\" ?selected=${defaultVal === 'DZD'}>\n <div slot=\"headline\">DZD (Algerian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"EGP\" ?selected=${defaultVal === 'EGP'}>\n <div slot=\"headline\">EGP (Egyptian Pound)</div>\n </md-select-option>\n <md-select-option value=\"ERN\" ?selected=${defaultVal === 'ERN'}>\n <div slot=\"headline\">ERN (Eritrean Nakfa)</div>\n </md-select-option>\n <md-select-option value=\"ETB\" ?selected=${defaultVal === 'ETB'}>\n <div slot=\"headline\">ETB (Ethiopian Birr)</div>\n </md-select-option>\n <md-select-option value=\"EUR\" ?selected=${defaultVal === 'EUR'}>\n <div slot=\"headline\">EUR (Euro)</div>\n </md-select-option>\n <md-select-option value=\"FJD\" ?selected=${defaultVal === 'FJD'}>\n <div slot=\"headline\">FJD (Fijian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"FKP\" ?selected=${defaultVal === 'FKP'}>\n <div slot=\"headline\">FKP (Falkland Islands Pound)</div>\n </md-select-option>\n <md-select-option value=\"GBP\" ?selected=${defaultVal === 'GBP'}>\n <div slot=\"headline\">GBP (Pound Sterling)</div>\n </md-select-option>\n <md-select-option value=\"GEL\" ?selected=${defaultVal === 'GEL'}>\n <div slot=\"headline\">GEL (Georgian Lari)</div>\n </md-select-option>\n <md-select-option value=\"GHS\" ?selected=${defaultVal === 'GHS'}>\n <div slot=\"headline\">GHS (Ghanaian Cedi)</div>\n </md-select-option>\n <md-select-option value=\"GIP\" ?selected=${defaultVal === 'GIP'}>\n <div slot=\"headline\">GIP (Gibraltar Pound)</div>\n </md-select-option>\n <md-select-option value=\"GMD\" ?selected=${defaultVal === 'GMD'}>\n <div slot=\"headline\">GMD (Gambian Dalasi)</div>\n </md-select-option>\n <md-select-option value=\"GNF\" ?selected=${defaultVal === 'GNF'}>\n <div slot=\"headline\">GNF (Guinean Franc)</div>\n </md-select-option>\n <md-select-option value=\"GTQ\" ?selected=${defaultVal === 'GTQ'}>\n <div slot=\"headline\">GTQ (Guatemalan Quetzal)</div>\n </md-select-option>\n <md-select-option value=\"GYD\" ?selected=${defaultVal === 'GYD'}>\n <div slot=\"headline\">GYD (Guyanese Dollar)</div>\n </md-select-option>\n <md-select-option value=\"HKD\" ?selected=${defaultVal === 'HKD'}>\n <div slot=\"headline\">HKD (Hong Kong Dollar)</div>\n </md-select-option>\n <md-select-option value=\"HNL\" ?selected=${defaultVal === 'HNL'}>\n <div slot=\"headline\">HNL (Honduran Lempira)</div>\n </md-select-option>\n <md-select-option value=\"HTG\" ?selected=${defaultVal === 'HTG'}>\n <div slot=\"headline\">HTG (Haitian Gourde)</div>\n </md-select-option>\n <md-select-option value=\"HUF\" ?selected=${defaultVal === 'HUF'}>\n <div slot=\"headline\">HUF (Hungarian Forint)</div>\n </md-select-option>\n <md-select-option value=\"IDR\" ?selected=${defaultVal === 'IDR'}>\n <div slot=\"headline\">IDR (Indonesian Rupiah)</div>\n </md-select-option>\n <md-select-option value=\"ILS\" ?selected=${defaultVal === 'ILS'}>\n <div slot=\"headline\">ILS (Israeli New Sheqel)</div>\n </md-select-option>\n <md-select-option value=\"INR\" ?selected=${defaultVal === 'INR'}>\n <div slot=\"headline\">INR (Indian Rupee)</div>\n </md-select-option>\n <md-select-option value=\"IQD\" ?selected=${defaultVal === 'IQD'}>\n <div slot=\"headline\">IQD (Iraqi Dinar)</div>\n </md-select-option>\n <md-select-option value=\"IRR\" ?selected=${defaultVal === 'IRR'}>\n <div slot=\"headline\">IRR (Iranian Rial)</div>\n </md-select-option>\n <md-select-option value=\"ISK\" ?selected=${defaultVal === 'ISK'}>\n <div slot=\"headline\">ISK (Icelandic Krona)</div>\n </md-select-option>\n <md-select-option value=\"JMD\" ?selected=${defaultVal === 'JMD'}>\n <div slot=\"headline\">JMD (Jamaican Dollar)</div>\n </md-select-option>\n <md-select-option value=\"JOD\" ?selected=${defaultVal === 'JOD'}>\n <div slot=\"headline\">JOD (Jordanian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"JPY\" ?selected=${defaultVal === 'JPY'}>\n <div slot=\"headline\">JPY (Japanese Yen)</div>\n </md-select-option>\n <md-select-option value=\"KES\" ?selected=${defaultVal === 'KES'}>\n <div slot=\"headline\">KES (Kenyan Shilling)</div>\n </md-select-option>\n <md-select-option value=\"KGS\" ?selected=${defaultVal === 'KGS'}>\n <div slot=\"headline\">KGS (Kyrgyzstani Som)</div>\n </md-select-option>\n <md-select-option value=\"KHR\" ?selected=${defaultVal === 'KHR'}>\n <div slot=\"headline\">KHR (Cambodian Riel)</div>\n </md-select-option>\n <md-select-option value=\"KMF\" ?selected=${defaultVal === 'KMF'}>\n <div slot=\"headline\">KMF (Comorian Franc)</div>\n </md-select-option>\n <md-select-option value=\"KPW\" ?selected=${defaultVal === 'KPW'}>\n <div slot=\"headline\">KPW (North Korean Won)</div>\n </md-select-option>\n <md-select-option value=\"KRW\" ?selected=${defaultVal === 'KRW'}>\n <div slot=\"headline\">KRW (South Korean Won)</div>\n </md-select-option>\n <md-select-option value=\"KWD\" ?selected=${defaultVal === 'KWD'}>\n <div slot=\"headline\">KWD (Kuwaiti Dinar)</div>\n </md-select-option>\n <md-select-option value=\"KYD\" ?selected=${defaultVal === 'KYD'}>\n <div slot=\"headline\">KYD (Cayman Islands Dollar)</div>\n </md-select-option>\n <md-select-option value=\"KZT\" ?selected=${defaultVal === 'KZT'}>\n <div slot=\"headline\">KZT (Kazakhstani Tenge)</div>\n </md-select-option>\n <md-select-option value=\"LAK\" ?selected=${defaultVal === 'LAK'}>\n <div slot=\"headline\">LAK (Laotian Kip)</div>\n </md-select-option>\n <md-select-option value=\"LBP\" ?selected=${defaultVal === 'LBP'}>\n <div slot=\"headline\">LBP (Lebanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"LKR\" ?selected=${defaultVal === 'LKR'}>\n <div slot=\"headline\">LKR (Sri Lankan Rupee)</div>\n </md-select-option>\n <md-select-option value=\"LRD\" ?selected=${defaultVal === 'LRD'}>\n <div slot=\"headline\">LRD (Liberian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"LSL\" ?selected=${defaultVal === 'LSL'}>\n <div slot=\"headline\">LSL (Lesotho Loti)</div>\n </md-select-option>\n <md-select-option value=\"LYD\" ?selected=${defaultVal === 'LYD'}>\n <div slot=\"headline\">LYD (Libyan Dinar)</div>\n </md-select-option>\n <md-select-option value=\"MAD\" ?selected=${defaultVal === 'MAD'}>\n <div slot=\"headline\">MAD (Moroccan Dirham)</div>\n </md-select-option>\n <md-select-option value=\"MDL\" ?selected=${defaultVal === 'MDL'}>\n <div slot=\"headline\">MDL (Moldovan Leu)</div>\n </md-select-option>\n <md-select-option value=\"MGA\" ?selected=${defaultVal === 'MGA'}>\n <div slot=\"headline\">MGA (Malagasy Ariary)</div>\n </md-select-option>\n <md-select-option value=\"MKD\" ?selected=${defaultVal === 'MKD'}>\n <div slot=\"headline\">MKD (Macedonian Denar)</div>\n </md-select-option>\n <md-select-option value=\"MMK\" ?selected=${defaultVal === 'MMK'}>\n <div slot=\"headline\">MMK (Myanmar Kyat)</div>\n </md-select-option>\n <md-select-option value=\"MNT\" ?selected=${defaultVal === 'MNT'}>\n <div slot=\"headline\">MNT (Mongolian Tugrik)</div>\n </md-select-option>\n <md-select-option value=\"MOP\" ?selected=${defaultVal === 'MOP'}>\n <div slot=\"headline\">MOP (Macanese Pataca)</div>\n </md-select-option>\n <md-select-option value=\"MRU\" ?selected=${defaultVal === 'MRU'}>\n <div slot=\"headline\">MRU (Mauritanian Ouguiya)</div>\n </md-select-option>\n <md-select-option value=\"MUR\" ?selected=${defaultVal === 'MUR'}>\n <div slot=\"headline\">MUR (Mauritian Rupee)</div>\n </md-select-option>\n <md-select-option value=\"MVR\" ?selected=${defaultVal === 'MVR'}>\n <div slot=\"headline\">MVR (Maldivian Rufiyaa)</div>\n </md-select-option>\n <md-select-option value=\"MWK\" ?selected=${defaultVal === 'MWK'}>\n <div slot=\"headline\">MWK (Malawian Kwacha)</div>\n </md-select-option>\n <md-select-option value=\"MXN\" ?selected=${defaultVal === 'MXN'}>\n <div slot=\"headline\">MXN (Mexican Peso)</div>\n </md-select-option>\n <md-select-option value=\"MXV\" ?selected=${defaultVal === 'MXV'}>\n <div slot=\"headline\">MXV (Mexican Unidad de Inversion (UDI))</div>\n </md-select-option>\n <md-select-option value=\"MYR\" ?selected=${defaultVal === 'MYR'}>\n <div slot=\"headline\">MYR (Malaysian Ringgit)</div>\n </md-select-option>\n <md-select-option value=\"MZN\" ?selected=${defaultVal === 'MZN'}>\n <div slot=\"headline\">MZN (Mozambican Metical)</div>\n </md-select-option>\n <md-select-option value=\"NAD\" ?selected=${defaultVal === 'NAD'}>\n <div slot=\"headline\">NAD (Namibian Dollar)</div>\n </md-select-option>\n <md-select-option value=\"NGN\" ?selected=${defaultVal === 'NGN'}>\n <div slot=\"headline\">NGN (Nigerian Naira)</div>\n </md-select-option>\n <md-select-option value=\"NIO\" ?selected=${defaultVal === 'NIO'}>\n <div slot=\"headline\">NIO (Nicaraguan Cordoba)</div>\n </md-select-option>\n <md-select-option value=\"NOK\" ?selected=${defaultVal === 'NOK'}>\n <div slot=\"headline\">NOK (Norwegian Krone)</div>\n </md-select-option>\n <md-select-option value=\"NPR\" ?selected=${defaultVal === 'NPR'}>\n <div slot=\"headline\">NPR (Nepalese Rupee)</div>\n </md-select-option>\n <md-select-option value=\"NZD\" ?selected=${defaultVal === 'NZD'}>\n <div slot=\"headline\">NZD (New Zealand Dollar)</div>\n </md-select-option>\n <md-select-option value=\"OMR\" ?selected=${defaultVal === 'OMR'}>\n <div slot=\"headline\">OMR (Omani Rial)</div>\n </md-select-option>\n <md-select-option value=\"PAB\" ?selected=${defaultVal === 'PAB'}>\n <div slot=\"headline\">PAB (Panamanian Balboa)</div>\n </md-select-option>\n <md-select-option value=\"PEN\" ?selected=${defaultVal === 'PEN'}>\n <div slot=\"headline\">PEN (Peruvian Nuevo Sol)</div>\n </md-select-option>\n <md-select-option value=\"PGK\" ?selected=${defaultVal === 'PGK'}>\n <div slot=\"headline\">PGK (Papua New Guinean Kina)</div>\n </md-select-option>\n <md-select-option value=\"PHP\" ?selected=${defaultVal === 'PHP'}>\n <div slot=\"headline\">PHP (Philippine Peso)</div>\n </md-select-option>\n <md-select-option value=\"PKR\" ?selected=${defaultVal === 'PKR'}>\n <div slot=\"headline\">PKR (Pakistani Rupee)</div>\n </md-select-option>\n <md-select-option value=\"PLN\" ?selected=${defaultVal === 'PLN'}>\n <div slot=\"headline\">PLN (Polish Zloty)</div>\n </md-select-option>\n <md-select-option value=\"PYG\" ?selected=${defaultVal === 'PYG'}>\n <div slot=\"headline\">PYG (Paraguayan Guarani)</div>\n </md-select-option>\n <md-select-option value=\"QAR\" ?selected=${defaultVal === 'QAR'}>\n <div slot=\"headline\">QAR (Qatari Rial)</div>\n </md-select-option>\n <md-select-option value=\"RON\" ?selected=${defaultVal === 'RON'}>\n <div slot=\"headline\">RON (Romanian Leu)</div>\n </md-select-option>\n <md-select-option value=\"RUB\" ?selected=${defaultVal === 'RUB'}>\n <div slot=\"headline\">RUB (Russian Ruble)</div>\n </md-select-option>\n <md-select-option value=\"RWF\" ?selected=${defaultVal === 'RWF'}>\n <div slot=\"headline\">RWF (Rwandan Franc)</div>\n </md-select-option>\n <md-select-option value=\"SAR\" ?selected=${defaultVal === 'SAR'}>\n <div slot=\"headline\">SAR (Saudi Riyal)</div>\n </md-select-option>\n <md-select-option value=\"SBD\" ?selected=${defaultVal === 'SBD'}>\n <div slot=\"headline\">SBD (Solomon Islands Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SCR\" ?selected=${defaultVal === 'SCR'}>\n <div slot=\"headline\">SCR (Seychelles Rupee)</div>\n </md-select-option>\n <md-select-option value=\"SDG\" ?selected=${defaultVal === 'SDG'}>\n <div slot=\"headline\">SDG (Sudanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"SEK\" ?selected=${defaultVal === 'SEK'}>\n <div slot=\"headline\">SEK (Swedish Krona)</div>\n </md-select-option>\n <md-select-option value=\"SGD\" ?selected=${defaultVal === 'SGD'}>\n <div slot=\"headline\">SGD (Singapore Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SHP\" ?selected=${defaultVal === 'SHP'}>\n <div slot=\"headline\">SHP (Saint Helena Pound)</div>\n </md-select-option>\n <md-select-option value=\"SLE\" ?selected=${defaultVal === 'SLE'}>\n <div slot=\"headline\">SLE (Sierra Leonean Leone)</div>\n </md-select-option>\n <md-select-option value=\"SOS\" ?selected=${defaultVal === 'SOS'}>\n <div slot=\"headline\">SOS (Somali Shilling)</div>\n </md-select-option>\n <md-select-option value=\"SRD\" ?selected=${defaultVal === 'SRD'}>\n <div slot=\"headline\">SRD (Surinamese Dollar)</div>\n </md-select-option>\n <md-select-option value=\"SSP\" ?selected=${defaultVal === 'SSP'}>\n <div slot=\"headline\">SSP (South Sudanese Pound)</div>\n </md-select-option>\n <md-select-option value=\"STN\" ?selected=${defaultVal === 'STN'}>\n <div slot=\"headline\">STN (São Tomé and Príncipe Dobra)</div>\n </md-select-option>\n <md-select-option value=\"SVC\" ?selected=${defaultVal === 'SVC'}>\n <div slot=\"headline\">SVC (Salvadoran Colón)</div>\n </md-select-option>\n <md-select-option value=\"SYP\" ?selected=${defaultVal === 'SYP'}>\n <div slot=\"headline\">SYP (Syrian Pound)</div>\n </md-select-option>\n <md-select-option value=\"SZL\" ?selected=${defaultVal === 'SZL'}>\n <div slot=\"headline\">SZL (Swazi Lilangeni)</div>\n </md-select-option>\n <md-select-option value=\"THB\" ?selected=${defaultVal === 'THB'}>\n <div slot=\"headline\">THB (Thai Baht)</div>\n </md-select-option>\n <md-select-option value=\"TJS\" ?selected=${defaultVal === 'TJS'}>\n <div slot=\"headline\">TJS (Tajikistani Somoni)</div>\n </md-select-option>\n <md-select-option value=\"TMT\" ?selected=${defaultVal === 'TMT'}>\n <div slot=\"headline\">TMT (Turkmenistani Manat)</div>\n </md-select-option>\n <md-select-option value=\"TND\" ?selected=${defaultVal === 'TND'}>\n <div slot=\"headline\">TND (Tunisian Dinar)</div>\n </md-select-option>\n <md-select-option value=\"TOP\" ?selected=${defaultVal === 'TOP'}>\n <div slot=\"headline\">TOP (Tongan Paʻanga)</div>\n </md-select-option>\n <md-select-option value=\"TRY\" ?selected=${defaultVal === 'TRY'}>\n <div slot=\"headline\">TRY (Turkish Lira)</div>\n </md-select-option>\n <md-select-option value=\"TTD\" ?selected=${defaultVal === 'TTD'}>\n <div slot=\"headline\">TTD (Trinidad and Tobago Dollar)</div>\n </md-select-option>\n <md-select-option value=\"TWD\" ?selected=${defaultVal === 'TWD'}>\n <div slot=\"headline\">TWD (New Taiwan Dollar)</div>\n </md-select-option>\n <md-select-option value=\"TZS\" ?selected=${defaultVal === 'TZS'}>\n <div slot=\"headline\">TZS (Tanzanian Shilling)</div>\n </md-select-option>\n <md-select-option value=\"UAH\" ?selected=${defaultVal === 'UAH'}>\n <div slot=\"headline\">UAH (Ukrainian Hryvnia)</div>\n </md-select-option>\n <md-select-option value=\"UGX\" ?selected=${defaultVal === 'UGX'}>\n <div slot=\"headline\">UGX (Ugandan Shilling)</div>\n </md-select-option>\n <md-select-option value=\"USD\" ?selected=${defaultVal === 'USD'}>\n <div slot=\"headline\">USD (United States Dollar)</div>\n </md-select-option>\n <md-select-option value=\"UYU\" ?selected=${defaultVal === 'UYU'}>\n <div slot=\"headline\">UYU (Uruguayan Peso)</div>\n </md-select-option>\n <md-select-option value=\"UZS\" ?selected=${defaultVal === 'UZS'}>\n <div slot=\"headline\">UZS (Uzbekistan Som)</div>\n </md-select-option>\n <md-select-option value=\"VED\" ?selected=${defaultVal === 'VED'}>\n <div slot=\"headline\">VED (Venezuelan Digital Bolívar)</div>\n </md-select-option>\n <md-select-option value=\"VES\" ?selected=${defaultVal === 'VES'}>\n <div slot=\"headline\">VES (Venezuelan Sovereign Bolívar)</div>\n </md-select-option>\n <md-select-option value=\"VND\" ?selected=${defaultVal === 'VND'}>\n <div slot=\"headline\">VND (Vietnamese Dong)</div>\n </md-select-option>\n <md-select-option value=\"VUV\" ?selected=${defaultVal === 'VUV'}>\n <div slot=\"headline\">VUV (Vanuatu Vatu)</div>\n </md-select-option>\n <md-select-option value=\"WST\" ?selected=${defaultVal === 'WST'}>\n <div slot=\"headline\">WST (Samoan Tala)</div>\n </md-select-option>\n <md-select-option value=\"XAF\" ?selected=${defaultVal === 'XAF'}>\n <div slot=\"headline\">XAF (Central African Cfa Franc)</div>\n </md-select-option>\n <md-select-option value=\"XCD\" ?selected=${defaultVal === 'XCD'}>\n <div slot=\"headline\">XCD (East Caribbean Dollar)</div>\n </md-select-option>\n <md-select-option value=\"XOF\" ?selected=${defaultVal === 'XOF'}>\n <div slot=\"headline\">XOF (West African CFA Franc)</div>\n </md-select-option>\n <md-select-option value=\"XPF\" ?selected=${defaultVal === 'XPF'}>\n <div slot=\"headline\">XPF (CFP Franc)</div>\n </md-select-option>\n <md-select-option value=\"XXX\" ?selected=${defaultVal === 'XXX'}>\n <div slot=\"headline\">XXX (No Currency)</div>\n </md-select-option>\n <md-select-option value=\"YER\" ?selected=${defaultVal === 'YER'}>\n <div slot=\"headline\">YER (Yemen Rial)</div>\n </md-select-option>\n <md-select-option value=\"ZAR\" ?selected=${defaultVal === 'ZAR'}>\n <div slot=\"headline\">ZAR (South African Rand)</div>\n </md-select-option>\n <md-select-option value=\"ZMW\" ?selected=${defaultVal === 'ZMW'}>\n <div slot=\"headline\">ZMW (Zambian Kwacha)</div>\n </md-select-option>\n <md-select-option value=\"ZWG\" ?selected=${defaultVal === 'ZWG'}>\n <div slot=\"headline\">ZWG (Zimbabwe Gold)</div>\n </md-select-option>\n </md-filled-select>\n `;\n}\n"]}
|
|
@@ -7,6 +7,9 @@ declare const _default: {
|
|
|
7
7
|
bType: {
|
|
8
8
|
control: string;
|
|
9
9
|
};
|
|
10
|
+
readOnly: {
|
|
11
|
+
control: string;
|
|
12
|
+
};
|
|
10
13
|
defaultVal: {
|
|
11
14
|
control: string;
|
|
12
15
|
};
|
|
@@ -32,6 +35,7 @@ interface Story<T> {
|
|
|
32
35
|
}
|
|
33
36
|
interface ArgTypes {
|
|
34
37
|
bType?: string;
|
|
38
|
+
readOnly?: boolean;
|
|
35
39
|
defaultVal?: string;
|
|
36
40
|
enumOrdinals?: string[];
|
|
37
41
|
enumLabels?: string[];
|
|
@@ -41,6 +45,7 @@ interface ArgTypes {
|
|
|
41
45
|
export declare const Regular: Story<ArgTypes>;
|
|
42
46
|
export declare const Boolean: Story<ArgTypes>;
|
|
43
47
|
export declare const BooleanWithDefault: Story<ArgTypes>;
|
|
48
|
+
export declare const BooleanReadOnly: Story<ArgTypes>;
|
|
44
49
|
export declare const Int32U: Story<ArgTypes>;
|
|
45
50
|
export declare const Int32: Story<ArgTypes>;
|
|
46
51
|
export declare const Int64WithDefault: Story<ArgTypes>;
|
|
@@ -51,14 +56,17 @@ export declare const Octet6: Story<ArgTypes>;
|
|
|
51
56
|
export declare const Octet16: Story<ArgTypes>;
|
|
52
57
|
export declare const VisString32: Story<ArgTypes>;
|
|
53
58
|
export declare const VisString255: Story<ArgTypes>;
|
|
54
|
-
export declare const Quality: Story<ArgTypes>;
|
|
55
59
|
export declare const QualityWithDefault: Story<ArgTypes>;
|
|
56
60
|
export declare const Currency: Story<ArgTypes>;
|
|
61
|
+
export declare const CurrencyReadOnly: Story<ArgTypes>;
|
|
57
62
|
export declare const EnumHlth: Story<ArgTypes>;
|
|
63
|
+
export declare const EnumHlthReadOnly: Story<ArgTypes>;
|
|
58
64
|
export declare const Timestamp: Story<ArgTypes>;
|
|
59
65
|
export declare const ObjRef: Story<ArgTypes>;
|
|
60
66
|
export declare const Dbpos: Story<ArgTypes>;
|
|
67
|
+
export declare const DbposReadOnly: Story<ArgTypes>;
|
|
61
68
|
export declare const Tcmd: Story<ArgTypes>;
|
|
69
|
+
export declare const TcmdReadOnly: Story<ArgTypes>;
|
|
62
70
|
export declare const EntryTime: Story<ArgTypes>;
|
|
63
71
|
export declare const Check: Story<ArgTypes>;
|
|
64
72
|
export declare const TrgOps: Story<ArgTypes>;
|