@dubai-design-system/components-js 3.11.8 → 3.11.9
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/cjs/dda-header-menu_3.cjs.entry.js +13 -5
- package/dist/cjs/dda-header-menu_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-phonefield.cjs.entry.js +10 -1
- package/dist/cjs/dda-phonefield.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-search-input.cjs.entry.js +13 -6
- package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-select.cjs.entry.js +9 -2
- package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-textarea.cjs.entry.js +6 -1
- package/dist/cjs/dda-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-toggle.cjs.entry.js +4 -2
- package/dist/cjs/dda-toggle.cjs.entry.js.map +1 -1
- package/dist/collection/components/dda-input/dda-input.js +38 -4
- package/dist/collection/components/dda-input/dda-input.js.map +1 -1
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +24 -1
- package/dist/collection/components/dda-phonefield/dda-phonefield.js.map +1 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +17 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.js.map +1 -1
- package/dist/collection/components/dda-search-input/dda-search-input.js +41 -6
- package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
- package/dist/collection/components/dda-select/dda-select.js +37 -2
- package/dist/collection/components/dda-select/dda-select.js.map +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +34 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js.map +1 -1
- package/dist/collection/components/dda-toggle/dda-toggle.js +18 -2
- package/dist/collection/components/dda-toggle/dda-toggle.js.map +1 -1
- package/dist/components/dda-header.js +2 -2
- package/dist/components/dda-input.js +1 -1
- package/dist/components/dda-phonefield.js +10 -1
- package/dist/components/dda-phonefield.js.map +1 -1
- package/dist/components/dda-radiobutton.js +1 -1
- package/dist/components/dda-search-input.js +13 -6
- package/dist/components/dda-search-input.js.map +1 -1
- package/dist/components/dda-select.js +9 -2
- package/dist/components/dda-select.js.map +1 -1
- package/dist/components/dda-textarea.js +6 -1
- package/dist/components/dda-textarea.js.map +1 -1
- package/dist/components/dda-toggle.js +4 -2
- package/dist/components/dda-toggle.js.map +1 -1
- package/dist/components/{p-589645ea.js → p-5b2ec1a3.js} +11 -5
- package/dist/components/p-5b2ec1a3.js.map +1 -0
- package/dist/components/{p-a28f59c6.js → p-c30d0ada.js} +4 -2
- package/dist/components/p-c30d0ada.js.map +1 -0
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/{p-23c2a581.entry.js → p-3e36c414.entry.js} +2 -2
- package/dist/dda/p-3e36c414.entry.js.map +1 -0
- package/dist/dda/p-440094b1.entry.js +2 -0
- package/dist/dda/p-440094b1.entry.js.map +1 -0
- package/dist/dda/{p-16b52e58.entry.js → p-6938a156.entry.js} +2 -2
- package/dist/dda/p-6938a156.entry.js.map +1 -0
- package/dist/dda/p-72e59001.entry.js +2 -0
- package/dist/dda/p-72e59001.entry.js.map +1 -0
- package/dist/dda/{p-c01385d7.entry.js → p-90e88405.entry.js} +2 -2
- package/dist/dda/p-90e88405.entry.js.map +1 -0
- package/dist/dda/p-e9733963.entry.js +2 -0
- package/dist/dda/p-e9733963.entry.js.map +1 -0
- package/dist/esm/dda-header-menu_3.entry.js +13 -5
- package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
- package/dist/esm/dda-phonefield.entry.js +10 -1
- package/dist/esm/dda-phonefield.entry.js.map +1 -1
- package/dist/esm/dda-search-input.entry.js +13 -6
- package/dist/esm/dda-search-input.entry.js.map +1 -1
- package/dist/esm/dda-select.entry.js +9 -2
- package/dist/esm/dda-select.entry.js.map +1 -1
- package/dist/esm/dda-textarea.entry.js +6 -1
- package/dist/esm/dda-textarea.entry.js.map +1 -1
- package/dist/esm/dda-toggle.entry.js +4 -2
- package/dist/esm/dda-toggle.entry.js.map +1 -1
- package/dist/types/components/dda-input/dda-input.d.ts +5 -0
- package/dist/types/components/dda-phonefield/dda-phonefield.d.ts +4 -0
- package/dist/types/components/dda-radiobutton/dda-radiobutton.d.ts +4 -0
- package/dist/types/components/dda-search-input/dda-search-input.d.ts +5 -0
- package/dist/types/components/dda-select/dda-select.d.ts +8 -0
- package/dist/types/components/dda-textarea/dda-textarea.d.ts +5 -0
- package/dist/types/components/dda-toggle/dda-toggle.d.ts +1 -0
- package/dist/types/components.d.ts +22 -0
- package/package.json +2 -2
- package/readme.md +5 -0
- package/www/build/dda.esm.js +1 -1
- package/www/build/{p-23c2a581.entry.js → p-3e36c414.entry.js} +2 -2
- package/www/build/p-3e36c414.entry.js.map +1 -0
- package/www/build/p-440094b1.entry.js +2 -0
- package/www/build/p-440094b1.entry.js.map +1 -0
- package/www/build/{p-16b52e58.entry.js → p-6938a156.entry.js} +2 -2
- package/www/build/p-6938a156.entry.js.map +1 -0
- package/www/build/p-72e59001.entry.js +2 -0
- package/www/build/p-72e59001.entry.js.map +1 -0
- package/www/build/{p-c01385d7.entry.js → p-90e88405.entry.js} +2 -2
- package/www/build/p-90e88405.entry.js.map +1 -0
- package/www/build/p-e9733963.entry.js +2 -0
- package/www/build/p-e9733963.entry.js.map +1 -0
- package/dist/components/p-589645ea.js.map +0 -1
- package/dist/components/p-a28f59c6.js.map +0 -1
- package/dist/dda/p-0e352b46.entry.js +0 -2
- package/dist/dda/p-0e352b46.entry.js.map +0 -1
- package/dist/dda/p-16b52e58.entry.js.map +0 -1
- package/dist/dda/p-23c2a581.entry.js.map +0 -1
- package/dist/dda/p-a4eeb3f8.entry.js +0 -2
- package/dist/dda/p-a4eeb3f8.entry.js.map +0 -1
- package/dist/dda/p-c01385d7.entry.js.map +0 -1
- package/dist/dda/p-c034b0f0.entry.js +0 -2
- package/dist/dda/p-c034b0f0.entry.js.map +0 -1
- package/www/build/p-0e352b46.entry.js +0 -2
- package/www/build/p-0e352b46.entry.js.map +0 -1
- package/www/build/p-16b52e58.entry.js.map +0 -1
- package/www/build/p-23c2a581.entry.js.map +0 -1
- package/www/build/p-a4eeb3f8.entry.js +0 -2
- package/www/build/p-a4eeb3f8.entry.js.map +0 -1
- package/www/build/p-c01385d7.entry.js.map +0 -1
- package/www/build/p-c034b0f0.entry.js +0 -2
- package/www/build/p-c034b0f0.entry.js.map +0 -1
|
@@ -11,15 +11,17 @@ const DdaToggle = class {
|
|
|
11
11
|
constructor(hostRef) {
|
|
12
12
|
index.registerInstance(this, hostRef);
|
|
13
13
|
this.toggleChanged = index.createEvent(this, "toggleChanged", 7);
|
|
14
|
+
this.onChanged = index.createEvent(this, "onChanged", 7);
|
|
14
15
|
this.custom_class = '';
|
|
15
16
|
}
|
|
16
17
|
render() {
|
|
17
18
|
const toggleClass = ['dda-toggle-btn', this.size ? `dda-toggle-${this.size}` : '', this.custom_class ? `${this.custom_class}` : '', this.component_mode]
|
|
18
19
|
.filter(Boolean)
|
|
19
20
|
.join(' ');
|
|
20
|
-
return (index.h(index.Host, { key: '
|
|
21
|
+
return (index.h(index.Host, { key: '5548a49f32dea01195caf2a86f4a04f3f1b14a73' }, index.h("label", { key: '33608675617c7551fdcb519470e806109ef7209e', class: toggleClass, htmlFor: this.input_id }, index.h("input", { key: '5355df7fe3de4dcda50d2fd43920e95bbb4d0968', "aria-label": this.aria_label, type: "checkbox", id: this.input_id, name: this.group_name, checked: this.checked, onChange: event => {
|
|
21
22
|
this.toggleChanged.emit(event);
|
|
22
|
-
|
|
23
|
+
this.onChanged.emit(event);
|
|
24
|
+
} }), index.h("span", { key: 'ed36eef7bb72e28521786f0eda989e9c095d0bb9', class: "toggle" }), index.h("p", { key: 'cf52347775fe7ae54ceee0814f5b23ec66e0433b' }, index.h("span", { key: '3d99822b9da959875f8a7c555fe173525257587f', class: "toggle-title" }, "Radio Button Title"), index.h("span", { key: '9bba5e196b2ee9e0301c0f562e4d343cab20126f', class: "toggle-supporting" }, "Supporting Text")))));
|
|
23
25
|
}
|
|
24
26
|
};
|
|
25
27
|
DdaToggle.style = DdaToggleStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dda-toggle.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,mvEAAmvE,CAAC;AACzwE,wBAAe,YAAY;;MCMd,SAAS;IALtB
|
|
1
|
+
{"file":"dda-toggle.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,mvEAAmvE,CAAC;AACzwE,wBAAe,YAAY;;MCMd,SAAS;IALtB;;;;QAUU,iBAAY,GAAY,EAAE,CAAC;KAsCpC;IA5BC,MAAM;QACJ,MAAM,WAAW,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,GAAG,cAAc,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;aACrJ,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,QACEA,QAACC,UAAI,uDACHD,oEAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,IAC/CA,kFACc,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,KAAK;gBACb,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5B,GACD,EACFA,mEAAM,KAAK,EAAC,QAAQ,GAAQ,EAC5BA,kEACEA,mEAAM,KAAK,EAAC,cAAc,yBAA0B,EACpDA,mEAAM,KAAK,EAAC,mBAAmB,sBAAuB,CACpD,CACE,CACH,EACP;KACH;;;;;;","names":["h","Host"],"sources":["src/components/dda-toggle/dda-toggle.css?tag=dda-toggle","src/components/dda-toggle/dda-toggle.tsx"],"sourcesContent":[".dda-toggle-btn {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n cursor: pointer;\r\n position: relative;\r\n gap: 10px;\r\n}\r\n.dda-toggle-btn p{\r\n margin: 0;\r\n}\r\n.dda-toggle-btn .toggle {\r\n width: 35px;\r\n height: 20px;\r\n vertical-align: sub;\r\n display: inline-block;\r\n background: var(--dda-neutral-variant-90);\r\n border-radius: 60px;\r\n cursor: pointer;\r\n margin: 0px;\r\n position: relative;\r\n}\r\n.dda-toggle-btn input {\r\n position: absolute;\r\n opacity: 0;\r\n cursor: pointer;\r\n height: 0;\r\n width: 0;\r\n}\r\n.dda-toggle-btn .toggle::after {\r\n content: \"\";\r\n position: absolute;\r\n display: block;\r\n /* -moz-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n -o-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n -webkit-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1); */\r\n background: var(--dda-neutral-100);\r\n height: 16px;\r\n width: 16px;\r\n top: 2px;\r\n left: 2px;\r\n border-radius: 60px;\r\n}\r\n.dda-toggle-btn input:checked~.toggle{\r\n background: var(--dda-color-primary-40);\r\n -webkit-box-shadow: 0px 0px 0px 3px var(--dda-primary-95);\r\n -moz-box-shadow: 0px 0px 0px 3px var(--dda-primary-95);\r\n box-shadow: 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n.light-mode.dda-toggle-btn input:checked~.toggle{\r\n background: var(--dda-primary-40);\r\n}\r\n.dda-toggle-btn input:checked~.toggle::after {\r\n left: 17px;\r\n}\r\n\r\n.dda-toggle-sm .toggle{\r\n width: 27px;\r\n height: 16px;\r\n}\r\n.dda-toggle-sm .toggle::after{\r\n width: 12px;\r\n height: 12px;\r\n}\r\n.dda-toggle-sm input:checked~.toggle::after {\r\n left: 13px;\r\n}\r\n\r\n.dda-toggle-md .toggle{\r\n width: 35px;\r\n height: 20px;\r\n}\r\n.dda-toggle-md .toggle::after{\r\n height: 16px;\r\n width: 16px;\r\n}\r\n.dda-toggle-md input:checked~.toggle::after {\r\n left: 17px;\r\n}\r\n\r\n.dda-toggle-lg .toggle{\r\n width: 45px;\r\n height: 24px;\r\n}\r\n.dda-toggle-lg .toggle::after{\r\n height: 20px;\r\n width: 20px;\r\n}\r\n.dda-toggle-lg input:checked~.toggle::after {\r\n left: 23px;\r\n}\r\n\r\n.toggle-title{\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--dda-fw-500);\r\n display: block;\r\n}\r\n.light-mode .toggle-title{\r\n color: var(--dda-neutral-0);\r\n}\r\n.toggle-supporting{\r\n display: block;\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.light-mode .toggle-supporting{\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n.dda-toggle-sm .toggle-title, .dda-toggle-md .toggle-title{\r\n font-size: var(--font-caption);\r\n}\r\n.dda-toggle-sm .toggle-supporting {\r\n font-size: var(--dda-fs-label-lg);\r\n}\r\n.dda-toggle-lg .toggle-title {\r\n font-size: var(--dda-fs-title-sm);\r\n}\r\n.dda-toggle-md .toggle-supporting,\r\n.dda-toggle-lg .toggle-supporting{\r\n font-size: var(--font-caption);\r\n}\r\n\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-toggle-btn .toggle::after {\r\n -moz-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n -o-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n -webkit-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);\r\n } \r\n}","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-toggle',\r\n styleUrls: ['dda-toggle.css'],\r\n shadow: false,\r\n})\r\nexport class DdaToggle {\r\n @Prop() checked: boolean;\r\n // @Prop() labelOn: string = 'On';\r\n //@Prop() labelOff: string = 'Off';\r\n @Prop() size?: string; // e.g., 'sm', 'md', 'lg'\r\n @Prop() custom_class?: string = '';\r\n @Prop() group_name?: string;\r\n @Prop() input_id?: string;\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label: string;\r\n\r\n @Event() toggleChanged: EventEmitter<any>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n\r\n render() {\r\n const toggleClass = ['dda-toggle-btn', this.size ? `dda-toggle-${this.size}` : '', this.custom_class ? `${this.custom_class}` : '', this.component_mode]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return (\r\n <Host>\r\n <label class={toggleClass} htmlFor={this.input_id}>\r\n <input\r\n aria-label={this.aria_label}\r\n type=\"checkbox\"\r\n id={this.input_id}\r\n name={this.group_name}\r\n checked={this.checked}\r\n onChange={event => {\r\n this.toggleChanged.emit(event);\r\n this.onChanged.emit(event);\r\n }}\r\n />\r\n <span class=\"toggle\"></span>\r\n <p>\r\n <span class=\"toggle-title\">Radio Button Title</span>\r\n <span class=\"toggle-supporting\">Supporting Text</span>\r\n </p>\r\n </label>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -15,11 +15,13 @@ export class DdaInput {
|
|
|
15
15
|
}
|
|
16
16
|
async setValue(val) {
|
|
17
17
|
this.internalValue = val;
|
|
18
|
-
this.inputChanged.emit(val);
|
|
18
|
+
// this.inputChanged.emit(val);
|
|
19
|
+
this.onChanged.emit(val);
|
|
19
20
|
}
|
|
20
21
|
async reset() {
|
|
21
22
|
this.internalValue = '';
|
|
22
|
-
this.inputChanged.emit('');
|
|
23
|
+
// this.inputChanged.emit('');
|
|
24
|
+
this.onChanged.emit('');
|
|
23
25
|
}
|
|
24
26
|
componentWillLoad() {
|
|
25
27
|
this.internalValue = this.value || '';
|
|
@@ -62,12 +64,14 @@ export class DdaInput {
|
|
|
62
64
|
describedByIds.push(`${this.validation_id}-helper`);
|
|
63
65
|
if (this.validation_type === 'error' && this.error_message)
|
|
64
66
|
describedByIds.push(`${this.validation_id}-error`);
|
|
65
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: '050ec4a94d4ddce7ea14fc7911cf5225f79e1376' }, h("div", { key: '698dd6f4d8a00790a8ddb65964497dee11e6bf18', class: inputClass }, this.label && (h("label", { key: 'e5a8fefae383e688aa5a8254409da83d7cd2f163', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), h("input", { key: '390569412bb0b904acb174e2caabdbb1473fd6d1', id: this.input_id, name: this.input_name, class: `dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`, type: this.type, role: this.input_role, placeholder: this.placeholder, value: this.internalValue, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', "aria-describedby": `${this.input_id}-label`, "aria-label": !this.label ? this.aria_label : undefined, onInput: event => {
|
|
66
68
|
this.internalValue = event.target.value;
|
|
67
|
-
this.inputChanged.emit(
|
|
69
|
+
this.inputChanged.emit(event);
|
|
70
|
+
this.onChanged.emit(event);
|
|
68
71
|
}, onBlur: event => {
|
|
69
72
|
const value = event.target.value.trim();
|
|
70
73
|
this.inputBlurred.emit({ name: this.input_name, value });
|
|
74
|
+
this.onBlurred.emit({ name: this.input_name, value });
|
|
71
75
|
} }), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
|
|
72
76
|
}
|
|
73
77
|
static get is() { return "dda-input"; }
|
|
@@ -423,6 +427,21 @@ export class DdaInput {
|
|
|
423
427
|
"resolved": "any",
|
|
424
428
|
"references": {}
|
|
425
429
|
}
|
|
430
|
+
}, {
|
|
431
|
+
"method": "onChanged",
|
|
432
|
+
"name": "onChanged",
|
|
433
|
+
"bubbles": true,
|
|
434
|
+
"cancelable": true,
|
|
435
|
+
"composed": true,
|
|
436
|
+
"docs": {
|
|
437
|
+
"tags": [],
|
|
438
|
+
"text": ""
|
|
439
|
+
},
|
|
440
|
+
"complexType": {
|
|
441
|
+
"original": "any",
|
|
442
|
+
"resolved": "any",
|
|
443
|
+
"references": {}
|
|
444
|
+
}
|
|
426
445
|
}, {
|
|
427
446
|
"method": "inputBlurred",
|
|
428
447
|
"name": "inputBlurred",
|
|
@@ -438,6 +457,21 @@ export class DdaInput {
|
|
|
438
457
|
"resolved": "{ name: string; value: string; }",
|
|
439
458
|
"references": {}
|
|
440
459
|
}
|
|
460
|
+
}, {
|
|
461
|
+
"method": "onBlurred",
|
|
462
|
+
"name": "onBlurred",
|
|
463
|
+
"bubbles": true,
|
|
464
|
+
"cancelable": true,
|
|
465
|
+
"composed": true,
|
|
466
|
+
"docs": {
|
|
467
|
+
"tags": [],
|
|
468
|
+
"text": ""
|
|
469
|
+
},
|
|
470
|
+
"complexType": {
|
|
471
|
+
"original": "{ name: string; value: string }",
|
|
472
|
+
"resolved": "{ name: string; value: string; }",
|
|
473
|
+
"references": {}
|
|
474
|
+
}
|
|
441
475
|
}];
|
|
442
476
|
}
|
|
443
477
|
static get methods() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dda-input.js","sourceRoot":"","sources":["../../../src/components/dda-input/dda-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO7G,MAAM,OAAO,QAAQ;IALrB;QAWU,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,MAAM,CAAC;QAI5B,kBAAa,GAAW,MAAM,CAAC;QAQ/B,aAAQ,GAAa,KAAK,CAAC;QAE1B,kBAAa,GAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"dda-input.js","sourceRoot":"","sources":["../../../src/components/dda-input/dda-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO7G,MAAM,OAAO,QAAQ;IALrB;QAWU,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,MAAM,CAAC;QAI5B,kBAAa,GAAW,MAAM,CAAC;QAQ/B,aAAQ,GAAa,KAAK,CAAC;QAE1B,kBAAa,GAAW,EAAE,CAAC;KAyHrC;IA/GC,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAChD,CAAC;IAGD,UAAU,CAAC,QAAgB;QACzB,IAAI,CAAC,aAAa,GAAG,QAAQ,IAAI,EAAE,CAAC;IACtC,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAGD,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IACD,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,gBAAgB;QACd,8BAA8B;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAqB,CAAC;YAClF,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;gBACtC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBACtC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;wBACrB,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;oBACxC,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACxC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG;YACjB,qBAAqB;YACrB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;YACpE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC9C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;YACzD,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;YACvD,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;YACpD,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,cAAc;SACpB;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,WAAW;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,SAAS,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAC;QAE/G,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,UAAU;gBACnB,IAAI,CAAC,KAAK,IAAI,CACb,8DAAO,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,QAAQ,IAChF,IAAI,CAAC,KAAK,CACL,CACT;gBACD,8DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,KAAK,EAAE,kCAAkC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAChG,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,mBACV,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBACnC,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBAC/C,GAAG,IAAI,CAAC,QAAQ,QAAQ,gBAC9B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACrD,OAAO,EAAE,KAAK,CAAC,EAAE;wBACf,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAC5B,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,EAAE;wBACd,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;wBACzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;oBACvD,CAAC,GACD;gBAED,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACxD,YAAM,KAAK,EAAC,mBAAmB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAC,OAAO,IACjE,IAAI,CAAC,aAAa,CACd,CACR,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,WAAW,IAAI,CAClB,YAAM,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,IACjD,IAAI,CAAC,WAAW,CACZ,CACR,CACF,CACG,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host, Event, EventEmitter, Element, State, Method, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaInput {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() placeholder: string;\r\n @Prop() value: string;\r\n @Prop() type: string = 'text';\r\n @Prop() input_role: string = 'text';\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() input_status?: string;\r\n @Prop() custom_class?: string;\r\n @Prop() component_mode?: string;\r\n @Prop() input_id: string;\r\n @Prop() aria_label?: string;\r\n @Prop() input_name?: string;\r\n @Prop() required?: boolean = false;\r\n\r\n @State() internalValue: string = '';\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n // this.inputChanged.emit(val);\r\n this.onChanged.emit(val);\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n // this.inputChanged.emit('');\r\n this.onChanged.emit('')\r\n }\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n }\r\n componentDidLoad() {\r\n // Hide date input placeholder\r\n if (this.type === 'date') {\r\n const dateInput = this.el.querySelector('input[type=\"date\"]') as HTMLInputElement;\r\n if (dateInput) {\r\n dateInput.style.color = 'transparent';\r\n dateInput.addEventListener('focus', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n dateInput.addEventListener('blur', () => {\r\n if (!dateInput.value) {\r\n dateInput.style.color = 'transparent';\r\n }\r\n });\r\n dateInput.addEventListener('change', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_status ? `dda-input-${this.input_status}` : '',\r\n this.type === 'Witherror' ? 'dda-validation-error' : '',\r\n this.type === 'disabled' ? 'dda-input-disabled' : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n const describedByIds: string[] = [];\r\n if (this.helper_text) describedByIds.push(`${this.validation_id}-helper`);\r\n if (this.validation_type === 'error' && this.error_message) describedByIds.push(`${this.validation_id}-error`);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <label htmlFor={this.input_id} class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </label>\r\n )}\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n class={`dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`}\r\n type={this.type}\r\n role={this.input_role}\r\n placeholder={this.placeholder}\r\n value={this.internalValue}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.validation_type === 'error' ? 'true' : 'false'}\r\n aria-describedby={`${this.input_id}-label`}\r\n aria-label={!this.label ? this.aria_label : undefined}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(event);\r\n this.onChanged.emit(event)\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.input_name, value });\r\n this.onBlurred.emit({ name: this.input_name, value })\r\n }}\r\n />\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -25,6 +25,10 @@ export class DdaPhoneField {
|
|
|
25
25
|
name: this.phone_input_name,
|
|
26
26
|
value: this.internalValue.trim()
|
|
27
27
|
});
|
|
28
|
+
this.onBlurred.emit({
|
|
29
|
+
name: this.phone_input_name,
|
|
30
|
+
value: this.internalValue.trim()
|
|
31
|
+
});
|
|
28
32
|
}
|
|
29
33
|
watchHandler(newValue) {
|
|
30
34
|
this.internalValue = newValue;
|
|
@@ -56,6 +60,10 @@ export class DdaPhoneField {
|
|
|
56
60
|
name: this.phone_input_name,
|
|
57
61
|
value: this.internalValue.trim()
|
|
58
62
|
});
|
|
63
|
+
this.onBlurred.emit({
|
|
64
|
+
name: this.phone_input_name,
|
|
65
|
+
value: this.internalValue.trim()
|
|
66
|
+
});
|
|
59
67
|
}
|
|
60
68
|
handlephonenumberChange(event) {
|
|
61
69
|
const target = event.target;
|
|
@@ -77,7 +85,7 @@ export class DdaPhoneField {
|
|
|
77
85
|
}
|
|
78
86
|
render() {
|
|
79
87
|
const inputClass = `${this.component_mode} ${this.size ? `dda-input-size-${this.size}` : ''} ${this.error_message ? `dda-error-message` : ''} ${this.validation_type ? `dda-validation-${this.validation_type}` : ''} ${this.is_focused ? 'dda-input-focus' : ''} ${this.internalValue ? 'dda-input-focus-filled' : ''}`;
|
|
80
|
-
return (h(Host, { key: '
|
|
88
|
+
return (h(Host, { key: '536b5776354d2baa1accb5614e28f18f4e16cc41', ref: (el) => this.hostElement = el }, h("div", { key: '70e1c8297d1c04f8bba3702bad9ce201a1e33309', class: `dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}` }, this.label && h("label", { key: '9527d8fc868abf4b1ddca345d87a71df9aeeeea1', htmlFor: this.input_id, class: "dda-input-label" }, this.label), h("div", { key: 'df78a8dfa93281c3de6206db05b0498c6aa03c9a', class: `dda-input-field-group dda-phone-field` }, h("div", { key: 'feba11b8c237aae12bd36fcf2172bbe75a871295', class: "dda-input-dropdown-btn" }, h("button", { key: '00b4ce8c1e82b23a738f32fe8879291703f0303d', type: "button", name: this.toggle_button_name, class: "dda-dropdown-select", onClick: () => this.toggleDropdown() }, h("img", { key: 'b226050ee9bf0580ca9a39d3a7dd8300bd421fcc', src: this.country_flag, alt: "", width: "20" }), " ", this.country_code, h("i", { key: '4457ef48f82ee65976486a2866c5d1ffc4528ac1', class: "material-icons", "aria-hidden": "true" }, "keyboard_arrow_down")), this.dropdown_open && (h("div", { key: 'd595b834384499e1ea7b3f14916239ca8c03ad85', class: "dda-input-dropdown-list" }, this.countries.map(country => (h("button", { id: `countryCode${country.code}`, name: this.country_select_button_name, "aria-label": this.button_aria_label, type: "button", class: "country-select dda-input-dropdown-item", onClick: () => this.selectCountry(country) }, h("img", { src: country.flag, alt: "", width: "20" }), " ", country.code)))))), h("input", { key: '8b1273e7cdeea5e307ca770f48de3d6f3510d8b4', id: this.input_id, name: this.phone_input_name, "aria-label": this.aria_label, type: "text", inputmode: "numeric", maxlength: this.max_length, pattern: "[0-9]*", class: "dda-field-group-input", placeholder: this.placeholder, value: this.internalValue, disabled: this.disabled, onFocus: this.handleFocus.bind(this), onInput: (e) => this.handlephonenumberChange(e), onKeyDown: (e) => this.handleKeyDown(e), onBlur: () => this.handleBlur() })), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
|
|
81
89
|
}
|
|
82
90
|
static get is() { return "dda-phonefield"; }
|
|
83
91
|
static get properties() {
|
|
@@ -475,6 +483,21 @@ export class DdaPhoneField {
|
|
|
475
483
|
"resolved": "{ name: string; value: string; }",
|
|
476
484
|
"references": {}
|
|
477
485
|
}
|
|
486
|
+
}, {
|
|
487
|
+
"method": "onBlurred",
|
|
488
|
+
"name": "onBlurred",
|
|
489
|
+
"bubbles": true,
|
|
490
|
+
"cancelable": true,
|
|
491
|
+
"composed": true,
|
|
492
|
+
"docs": {
|
|
493
|
+
"tags": [],
|
|
494
|
+
"text": ""
|
|
495
|
+
},
|
|
496
|
+
"complexType": {
|
|
497
|
+
"original": "{ name: string; value: string }",
|
|
498
|
+
"resolved": "{ name: string; value: string; }",
|
|
499
|
+
"references": {}
|
|
500
|
+
}
|
|
478
501
|
}];
|
|
479
502
|
}
|
|
480
503
|
static get methods() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dda-phonefield.js","sourceRoot":"","sources":["../../../src/components/dda-phonefield/dda-phonefield.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, Event, EventEmitter, h, Host, Method, Watch } from '@stencil/core';\r\nimport { CountriesList } from '../../assets/countries';\r\n\r\n@Component({\r\n tag: 'dda-phonefield',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaPhoneField {\r\n @Prop() label: string;\r\n @Prop() placeholder: string = 'Enter phone number';\r\n @Prop() helper_text: string;\r\n @Prop() max_length: string;\r\n @Prop() validation_type?: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() disabled: boolean = false;\r\n @Prop() size?: string;\r\n @Prop() custom_class: string;\r\n @Prop() component_mode?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label: string;\r\n @Prop() button_id?: string;\r\n @Prop() button_aria_label: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() country_select_button_name: string;\r\n @Prop() phone_input_name: string;\r\n @Prop() value: string;\r\n\r\n @State() country_code: string = '+971';\r\n @State() country_flag: string = 'https://flagcdn.com/w320/ae.png';\r\n @State() internalValue: string = '';\r\n @State() is_focused: boolean = false;\r\n @State() dropdown_open: boolean = false;\r\n @State() countries: { code: string; flag: string }[] = [];\r\n @State() hostElement: HTMLElement;\r\n\r\n @Event() phoneBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n @Method()\r\n async validatePhoneField() {\r\n this.phoneBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n }\r\n\r\n @Watch('value')\r\n watchHandler(newValue: string) {\r\n this.internalValue = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.countries = CountriesList;\r\n this.internalValue = this.value || '';\r\n }\r\n\r\n componentDidLoad() {\r\n document.addEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n handleDocumentClick = (event: MouseEvent) => {\r\n if (this.dropdown_open && this.hostElement && !this.hostElement.contains(event.target as Node)) {\r\n this.dropdown_open = false;\r\n }\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown_open = !this.dropdown_open;\r\n }\r\n\r\n selectCountry(country: { code: string; flag: string }) {\r\n this.country_code = country.code;\r\n this.country_flag = country.flag;\r\n this.dropdown_open = false;\r\n }\r\n\r\n handleFocus() {\r\n this.is_focused = true;\r\n }\r\n\r\n handleBlur() {\r\n this.is_focused = false;\r\n this.phoneBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n }\r\n\r\n handlephonenumberChange(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n const targetvalue = target.value.replace(/\\D/g, '');\r\n this.internalValue = targetvalue;\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent) {\r\n const allowedKeys = [\r\n 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Tab'\r\n ];\r\n\r\n if (\r\n allowedKeys.includes(event.key) ||\r\n (event.ctrlKey || event.metaKey) // Allow copy/paste shortcuts\r\n ) {\r\n return;\r\n }\r\n\r\n if (!/^\\d$/.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n render() {\r\n const inputClass = `${this.component_mode} ${this.size ? `dda-input-size-${this.size}` : ''} ${this.error_message ? `dda-error-message` : ''} ${this.validation_type ? `dda-validation-${this.validation_type}` : ''} ${this.is_focused ? 'dda-input-focus' : ''} ${this.internalValue ? 'dda-input-focus-filled' : ''}`;\r\n\r\n return (\r\n <Host ref={(el) => this.hostElement = el as HTMLElement}>\r\n <div class={`dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}`}>\r\n {this.label && <label htmlFor={this.input_id} class=\"dda-input-label\">{this.label}</label>}\r\n <div class={`dda-input-field-group dda-phone-field`}>\r\n <div class=\"dda-input-dropdown-btn\">\r\n <button type=\"button\" name={this.toggle_button_name} class=\"dda-dropdown-select\" onClick={() => this.toggleDropdown()}>\r\n <img src={this.country_flag} alt=\"\" width=\"20\" /> {this.country_code}\r\n <i class=\"material-icons\" aria-hidden=\"true\">keyboard_arrow_down</i>\r\n </button>\r\n {this.dropdown_open && (\r\n <div class=\"dda-input-dropdown-list\">\r\n {this.countries.map(country => (\r\n <button\r\n id={`countryCode${country.code}`}\r\n name={this.country_select_button_name}\r\n aria-label={this.button_aria_label}\r\n type=\"button\"\r\n class=\"country-select dda-input-dropdown-item\"\r\n onClick={() => this.selectCountry(country)}\r\n >\r\n <img src={country.flag} alt=\"\" width=\"20\" /> {country.code}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <input\r\n id={this.input_id}\r\n name={this.phone_input_name}\r\n aria-label={this.aria_label}\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n maxlength={this.max_length}\r\n pattern=\"[0-9]*\"\r\n class=\"dda-field-group-input\"\r\n placeholder={this.placeholder}\r\n value={this.internalValue}\r\n disabled={this.disabled}\r\n onFocus={this.handleFocus.bind(this)}\r\n onInput={(e) => this.handlephonenumberChange(e)}\r\n onKeyDown={(e) => this.handleKeyDown(e)}\r\n onBlur={() => this.handleBlur()}\r\n />\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"dda-phonefield.js","sourceRoot":"","sources":["../../../src/components/dda-phonefield/dda-phonefield.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, Event, EventEmitter, h, Host, Method, Watch } from '@stencil/core';\r\nimport { CountriesList } from '../../assets/countries';\r\n\r\n@Component({\r\n tag: 'dda-phonefield',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaPhoneField {\r\n @Prop() label: string;\r\n @Prop() placeholder: string = 'Enter phone number';\r\n @Prop() helper_text: string;\r\n @Prop() max_length: string;\r\n @Prop() validation_type?: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() disabled: boolean = false;\r\n @Prop() size?: string;\r\n @Prop() custom_class: string;\r\n @Prop() component_mode?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label: string;\r\n @Prop() button_id?: string;\r\n @Prop() button_aria_label: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() country_select_button_name: string;\r\n @Prop() phone_input_name: string;\r\n @Prop() value: string;\r\n\r\n @State() country_code: string = '+971';\r\n @State() country_flag: string = 'https://flagcdn.com/w320/ae.png';\r\n @State() internalValue: string = '';\r\n @State() is_focused: boolean = false;\r\n @State() dropdown_open: boolean = false;\r\n @State() countries: { code: string; flag: string }[] = [];\r\n @State() hostElement: HTMLElement;\r\n\r\n @Event() phoneBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n @Method()\r\n async validatePhoneField() {\r\n this.phoneBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n this.onBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n }\r\n\r\n @Watch('value')\r\n watchHandler(newValue: string) {\r\n this.internalValue = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.countries = CountriesList;\r\n this.internalValue = this.value || '';\r\n }\r\n\r\n componentDidLoad() {\r\n document.addEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n handleDocumentClick = (event: MouseEvent) => {\r\n if (this.dropdown_open && this.hostElement && !this.hostElement.contains(event.target as Node)) {\r\n this.dropdown_open = false;\r\n }\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown_open = !this.dropdown_open;\r\n }\r\n\r\n selectCountry(country: { code: string; flag: string }) {\r\n this.country_code = country.code;\r\n this.country_flag = country.flag;\r\n this.dropdown_open = false;\r\n }\r\n\r\n handleFocus() {\r\n this.is_focused = true;\r\n }\r\n\r\n handleBlur() {\r\n this.is_focused = false;\r\n this.phoneBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n this.onBlurred.emit({\r\n name: this.phone_input_name,\r\n value: this.internalValue.trim()\r\n });\r\n }\r\n\r\n handlephonenumberChange(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n const targetvalue = target.value.replace(/\\D/g, '');\r\n this.internalValue = targetvalue;\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent) {\r\n const allowedKeys = [\r\n 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Tab'\r\n ];\r\n\r\n if (\r\n allowedKeys.includes(event.key) ||\r\n (event.ctrlKey || event.metaKey) // Allow copy/paste shortcuts\r\n ) {\r\n return;\r\n }\r\n\r\n if (!/^\\d$/.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n render() {\r\n const inputClass = `${this.component_mode} ${this.size ? `dda-input-size-${this.size}` : ''} ${this.error_message ? `dda-error-message` : ''} ${this.validation_type ? `dda-validation-${this.validation_type}` : ''} ${this.is_focused ? 'dda-input-focus' : ''} ${this.internalValue ? 'dda-input-focus-filled' : ''}`;\r\n\r\n return (\r\n <Host ref={(el) => this.hostElement = el as HTMLElement}>\r\n <div class={`dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}`}>\r\n {this.label && <label htmlFor={this.input_id} class=\"dda-input-label\">{this.label}</label>}\r\n <div class={`dda-input-field-group dda-phone-field`}>\r\n <div class=\"dda-input-dropdown-btn\">\r\n <button type=\"button\" name={this.toggle_button_name} class=\"dda-dropdown-select\" onClick={() => this.toggleDropdown()}>\r\n <img src={this.country_flag} alt=\"\" width=\"20\" /> {this.country_code}\r\n <i class=\"material-icons\" aria-hidden=\"true\">keyboard_arrow_down</i>\r\n </button>\r\n {this.dropdown_open && (\r\n <div class=\"dda-input-dropdown-list\">\r\n {this.countries.map(country => (\r\n <button\r\n id={`countryCode${country.code}`}\r\n name={this.country_select_button_name}\r\n aria-label={this.button_aria_label}\r\n type=\"button\"\r\n class=\"country-select dda-input-dropdown-item\"\r\n onClick={() => this.selectCountry(country)}\r\n >\r\n <img src={country.flag} alt=\"\" width=\"20\" /> {country.code}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <input\r\n id={this.input_id}\r\n name={this.phone_input_name}\r\n aria-label={this.aria_label}\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n maxlength={this.max_length}\r\n pattern=\"[0-9]*\"\r\n class=\"dda-field-group-input\"\r\n placeholder={this.placeholder}\r\n value={this.internalValue}\r\n disabled={this.disabled}\r\n onFocus={this.handleFocus.bind(this)}\r\n onInput={(e) => this.handlephonenumberChange(e)}\r\n onKeyDown={(e) => this.handleKeyDown(e)}\r\n onBlur={() => this.handleBlur()}\r\n />\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -7,6 +7,7 @@ export class DdaRadiobutton {
|
|
|
7
7
|
this.handleChange = (_e) => {
|
|
8
8
|
this.checked = true;
|
|
9
9
|
this.radioChange.emit({ checked: this.checked, input_id: this.input_id });
|
|
10
|
+
this.onChanged.emit({ checked: this.checked, input_id: this.input_id });
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
render() {
|
|
@@ -21,7 +22,7 @@ export class DdaRadiobutton {
|
|
|
21
22
|
]
|
|
22
23
|
.filter(Boolean)
|
|
23
24
|
.join(' ');
|
|
24
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: '7b1bcd7a1e377d31e33f12e405ee04861482d77c' }, h("div", { key: '64ec9fc299aa076b781f955ed5a5e6027563baa2', class: radiobuttonClass }, h("input", { key: '9b79258b54cb0225a62acc99e42b6520accd6099', type: "radio", id: this.input_id, name: this.group_name, "aria-label": this.aria_label, checked: this.checked, disabled: this.radio_status === 'disabled', onChange: this.handleChange }), h("label", { key: '5621ff15e2c9e573c598273a02a52cb30f0f1283', htmlFor: this.input_id }, h("span", { key: 'd518df5e562c50e45404d4792015e1d1e5fe8d4f', class: "radio-circle" }), h("p", { key: 'f6c5d8b8b7114790cb1b6c71e14a23a83cb32db7' }, h("span", { key: '6c822559bbc8387d9f6530abbb9115e576201cf0', class: "radio-title" }, this.title_text), this.validation_type === 'error' && this.error_message ? (h("span", { class: "radio-error-message", id: this.validation_id }, this.error_message)) : (this.supporting && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.supporting))))))));
|
|
25
26
|
}
|
|
26
27
|
static get is() { return "dda-radiobutton"; }
|
|
27
28
|
static get originalStyleUrls() {
|
|
@@ -342,6 +343,21 @@ export class DdaRadiobutton {
|
|
|
342
343
|
"resolved": "{ checked: boolean; input_id: string; }",
|
|
343
344
|
"references": {}
|
|
344
345
|
}
|
|
346
|
+
}, {
|
|
347
|
+
"method": "onChanged",
|
|
348
|
+
"name": "onChanged",
|
|
349
|
+
"bubbles": true,
|
|
350
|
+
"cancelable": true,
|
|
351
|
+
"composed": true,
|
|
352
|
+
"docs": {
|
|
353
|
+
"tags": [],
|
|
354
|
+
"text": ""
|
|
355
|
+
},
|
|
356
|
+
"complexType": {
|
|
357
|
+
"original": "{ checked: boolean; input_id: string }",
|
|
358
|
+
"resolved": "{ checked: boolean; input_id: string; }",
|
|
359
|
+
"references": {}
|
|
360
|
+
}
|
|
345
361
|
}];
|
|
346
362
|
}
|
|
347
363
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dda-radiobutton.js","sourceRoot":"","sources":["../../../src/components/dda-radiobutton/dda-radiobutton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,GAAiB,MAAM,eAAe,CAAC;AAO/E,MAAM,OAAO,cAAc;IAL3B;QAU0C,YAAO,GAAY,KAAK,CAAC;QAIzD,kBAAa,GAAW,MAAM,CAAC;QAG/B,iBAAY,GAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"dda-radiobutton.js","sourceRoot":"","sources":["../../../src/components/dda-radiobutton/dda-radiobutton.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host, Event, EventEmitter, } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-radiobutton',\r\n styleUrls: ['dda-radiobutton.css'],\r\n shadow: false,\r\n})\r\nexport class DdaRadiobutton {\r\n @Prop() title_text: string;\r\n @Prop() supporting?: string;\r\n @Prop() group_name?: string;\r\n @Prop() input_id?: string;\r\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\r\n @Prop() radio_status?: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() variants?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() contrast_noraml_text?: string;\r\n\r\n // Emits event to parent component\r\n @Event() radioChange: EventEmitter<{ checked: boolean; input_id: string }>;\r\n @Event() onChanged: EventEmitter<{ checked: boolean; input_id: string }>;\r\n\r\n\r\n private handleChange = (_e: Event) => {\r\n this.checked = true;\r\n this.radioChange.emit({ checked: this.checked, input_id: this.input_id });\r\n this.onChanged.emit({ checked: this.checked, input_id: this.input_id });\r\n };\r\n\r\n render() {\r\n const radiobuttonClass = [\r\n 'dda-radio-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-radio-${this.size}` : '',\r\n this.variants ? `dda-radio-${this.variants}` : '',\r\n this.custom_class ? `dda-radio-${this.custom_class}` : '',\r\n this.radio_status ? `dda-radio-${this.radio_status}` : '',\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return (\r\n <Host>\r\n <div class={radiobuttonClass}>\r\n <input\r\n type=\"radio\"\r\n id={this.input_id}\r\n name={this.group_name}\r\n aria-label={this.aria_label}\r\n checked={this.checked}\r\n disabled={this.radio_status === 'disabled'}\r\n onChange={this.handleChange}\r\n />\r\n <label htmlFor={this.input_id}>\r\n <span class=\"radio-circle\"></span>\r\n <p>\r\n <span class=\"radio-title\">{this.title_text}</span>\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"radio-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.supporting && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.supporting}\r\n </span>\r\n )\r\n )}\r\n </p>\r\n </label>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -42,31 +42,36 @@ export class DdaSearchInput {
|
|
|
42
42
|
input.value = '';
|
|
43
43
|
this.internalValue = '';
|
|
44
44
|
this.hasInputValue = false;
|
|
45
|
-
this.inputChanged.emit('');
|
|
45
|
+
// this.inputChanged.emit('');
|
|
46
|
+
this.onChanged.emit('');
|
|
46
47
|
input.focus();
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
async reset() {
|
|
50
51
|
this.internalValue = '';
|
|
51
52
|
this.hasInputValue = false;
|
|
52
|
-
this.inputChanged.emit('');
|
|
53
|
+
// this.inputChanged.emit('');
|
|
54
|
+
this.onChanged.emit('');
|
|
53
55
|
}
|
|
54
56
|
async setValue(val) {
|
|
55
57
|
this.internalValue = val;
|
|
56
58
|
this.hasInputValue = !!val;
|
|
57
|
-
this.inputChanged.emit(val);
|
|
59
|
+
// this.inputChanged.emit(val);
|
|
60
|
+
this.onChanged.emit(val);
|
|
58
61
|
}
|
|
59
62
|
render() {
|
|
60
|
-
return (h(Host, { key: '
|
|
63
|
+
return (h(Host, { key: '788e32324959a661a2e455b68ad5182596fd5425' }, h("div", { key: '14bf0a178e9c6ad063f099e50670469a848b7088', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && (h("label", { key: '98f58b4a01e5f3b2ffefda00588586115852f507', htmlFor: this.button_id, class: "dda-input-label" }, this.label)), h("div", { key: '43393cf11cd9b1fe151190a92bdb1963a657873f', class: "dda-search-area dda-search-action" }, h("i", { key: 'e83ea59abe03acb5d871ad6d001b8d1a753dd593', class: "material-icons icon-left", "aria-hidden": "true" }, "search"), h("input", { key: 'a38947bc2567d5fb162705b4b8227d3f508a51a7', name: this.search_input_name, "aria-label": this.aria_label, id: this.input_id, value: this.internalValue, type: "text", class: `dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`, placeholder: this.placeholder,
|
|
61
64
|
// onInput={this.handleInput}
|
|
62
65
|
onKeyDown: this.handleKeyDown, onInput: event => {
|
|
63
66
|
this.internalValue = event.target.value;
|
|
64
67
|
this.hasInputValue = !!this.internalValue;
|
|
65
|
-
this.inputChanged.emit(
|
|
68
|
+
this.inputChanged.emit(event);
|
|
69
|
+
this.onChanged.emit(event);
|
|
66
70
|
}, onBlur: event => {
|
|
67
71
|
const value = event.target.value.trim();
|
|
68
72
|
this.inputBlurred.emit({ name: this.search_input_name, value });
|
|
69
|
-
|
|
73
|
+
this.onBlurred.emit({ name: this.search_input_name, value });
|
|
74
|
+
} }), h("div", { key: 'a7b692b4c6ed2b8859ff0eef0069dea881363448', class: "dda-search-btngroup" }, this.hasInputValue && (h("button", { key: 'd8fb9737df78af6c4196e4dbd05ca9d74107e1d5', name: this.close_button_name, "aria-label": this.button_aria_label, id: this.button_id, type: "button", class: "dda-search-close-icon", onClick: () => this.clearInput() }, h("i", { key: '7c2f8c45df0060c2fa6d6f55bfab9d2dfa5bab28', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))), this.show_button && (h("button", { key: '10828f37a7569715fccd9ee69f245841423b0fd5', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm", onClick: this.handleSearchClick }, this.button_text)))), this.helper_text && (h("span", { key: '6c94b4c951409ad20a4e84b339ab81516855ef16', class: "dda-helper-text", id: this.validation_id }, this.helper_text)), this.error_message && (h("span", { key: 'ade9a6a691b2c013b23a8c9186b9d2822b6dd74c', class: "dda-error-message", id: this.validation_id }, this.error_message)))));
|
|
70
75
|
}
|
|
71
76
|
static get is() { return "dda-search-input"; }
|
|
72
77
|
static get properties() {
|
|
@@ -480,6 +485,21 @@ export class DdaSearchInput {
|
|
|
480
485
|
"resolved": "any",
|
|
481
486
|
"references": {}
|
|
482
487
|
}
|
|
488
|
+
}, {
|
|
489
|
+
"method": "onChanged",
|
|
490
|
+
"name": "onChanged",
|
|
491
|
+
"bubbles": true,
|
|
492
|
+
"cancelable": true,
|
|
493
|
+
"composed": true,
|
|
494
|
+
"docs": {
|
|
495
|
+
"tags": [],
|
|
496
|
+
"text": ""
|
|
497
|
+
},
|
|
498
|
+
"complexType": {
|
|
499
|
+
"original": "any",
|
|
500
|
+
"resolved": "any",
|
|
501
|
+
"references": {}
|
|
502
|
+
}
|
|
483
503
|
}, {
|
|
484
504
|
"method": "buttonClicked",
|
|
485
505
|
"name": "buttonClicked",
|
|
@@ -510,6 +530,21 @@ export class DdaSearchInput {
|
|
|
510
530
|
"resolved": "{ name: string; value: string; }",
|
|
511
531
|
"references": {}
|
|
512
532
|
}
|
|
533
|
+
}, {
|
|
534
|
+
"method": "onBlurred",
|
|
535
|
+
"name": "onBlurred",
|
|
536
|
+
"bubbles": true,
|
|
537
|
+
"cancelable": true,
|
|
538
|
+
"composed": true,
|
|
539
|
+
"docs": {
|
|
540
|
+
"tags": [],
|
|
541
|
+
"text": ""
|
|
542
|
+
},
|
|
543
|
+
"complexType": {
|
|
544
|
+
"original": "{ name: string; value: string }",
|
|
545
|
+
"resolved": "{ name: string; value: string; }",
|
|
546
|
+
"references": {}
|
|
547
|
+
}
|
|
513
548
|
}];
|
|
514
549
|
}
|
|
515
550
|
static get methods() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dda-search-input.js","sourceRoot":"","sources":["../../../src/components/dda-search-input/dda-search-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host, Element, State, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-search-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaSearchInput {\r\n @Prop() placeholder: string = 'Search';\r\n @Prop() label: string;\r\n @Prop() size: string = 'sm';\r\n @Prop() error_message: string;\r\n @Prop() show_button: boolean = false;\r\n @Prop() helper_text: string;\r\n @Prop() validation_id: string;\r\n @Prop() input_status?: string;\r\n @Prop() has_error: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() button_aria_label?: string;\r\n @Prop() search_input_name: string;\r\n @Prop() close_button_name: string;\r\n @Prop() search_button_name: string;\r\n @Prop() button_text: string;\r\n @Prop() value: string;\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() buttonClicked: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Element() el: HTMLElement;\r\n\r\n @State() hasInputValue: boolean = false;\r\n @State() internalValue: string = '';\r\n\r\n handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.hasInputValue = target.value.length > 0;\r\n };\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'Enter') {\r\n const target = event.target as HTMLInputElement;\r\n console.log('Search input value (Enter):', target.value);\r\n }\r\n };\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n handleSearchClick = () => {\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n // console.log('Search input value (Button):', input.value);\r\n this.buttonClicked.emit(this.internalValue || this.value);\r\n }\r\n };\r\n\r\n clearInput() {\r\n if (!this.input_id) return;\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n input.value = '';\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n this.inputChanged.emit('');\r\n input.focus();\r\n }\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n this.inputChanged.emit('');\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n this.hasInputValue = !!val;\r\n this.inputChanged.emit(val);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n class={`dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}`}\r\n >\r\n {this.label && (\r\n <label htmlFor={this.button_id} class=\"dda-input-label\">\r\n {this.label}\r\n </label>\r\n )}\r\n <div class=\"dda-search-area dda-search-action\">\r\n <i class=\"material-icons icon-left\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n <input\r\n name={this.search_input_name}\r\n aria-label={this.aria_label}\r\n id={this.input_id}\r\n value={this.internalValue}\r\n type=\"text\"\r\n class={`dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`}\r\n placeholder={this.placeholder}\r\n // onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.hasInputValue = !!this.internalValue;\r\n this.inputChanged.emit(this.internalValue);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.search_input_name, value });\r\n }}\r\n />\r\n <div class=\"dda-search-btngroup\">\r\n {this.hasInputValue && (\r\n <button\r\n name={this.close_button_name}\r\n aria-label={this.button_aria_label}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-search-close-icon\"\r\n onClick={() => this.clearInput()}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n close\r\n </i>\r\n </button>\r\n )}\r\n {this.show_button && (\r\n <button name={this.search_button_name} type=\"button\" class=\"dda-btn btn-color-default-primary dda-btn-sm\" onClick={this.handleSearchClick}>\r\n {this.button_text}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n {this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )}\r\n {this.error_message && (\r\n <span class=\"dda-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"dda-search-input.js","sourceRoot":"","sources":["../../../src/components/dda-search-input/dda-search-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host, Element, State, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-search-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaSearchInput {\r\n @Prop() placeholder: string = 'Search';\r\n @Prop() label: string;\r\n @Prop() size: string = 'sm';\r\n @Prop() error_message: string;\r\n @Prop() show_button: boolean = false;\r\n @Prop() helper_text: string;\r\n @Prop() validation_id: string;\r\n @Prop() input_status?: string;\r\n @Prop() has_error: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() button_aria_label?: string;\r\n @Prop() search_input_name: string;\r\n @Prop() close_button_name: string;\r\n @Prop() search_button_name: string;\r\n @Prop() button_text: string;\r\n @Prop() value: string;\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n @Event() buttonClicked: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n\r\n @Element() el: HTMLElement;\r\n\r\n @State() hasInputValue: boolean = false;\r\n @State() internalValue: string = '';\r\n\r\n handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.hasInputValue = target.value.length > 0;\r\n };\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'Enter') {\r\n const target = event.target as HTMLInputElement;\r\n console.log('Search input value (Enter):', target.value);\r\n }\r\n };\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n handleSearchClick = () => {\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n // console.log('Search input value (Button):', input.value);\r\n this.buttonClicked.emit(this.internalValue || this.value);\r\n }\r\n };\r\n\r\n clearInput() {\r\n if (!this.input_id) return;\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n input.value = '';\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n // this.inputChanged.emit('');\r\n this.onChanged.emit('');\r\n input.focus();\r\n }\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n // this.inputChanged.emit('');\r\n this.onChanged.emit('');\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n this.hasInputValue = !!val;\r\n // this.inputChanged.emit(val);\r\n this.onChanged.emit(val);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n class={`dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}`}\r\n >\r\n {this.label && (\r\n <label htmlFor={this.button_id} class=\"dda-input-label\">\r\n {this.label}\r\n </label>\r\n )}\r\n <div class=\"dda-search-area dda-search-action\">\r\n <i class=\"material-icons icon-left\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n <input\r\n name={this.search_input_name}\r\n aria-label={this.aria_label}\r\n id={this.input_id}\r\n value={this.internalValue}\r\n type=\"text\"\r\n class={`dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`}\r\n placeholder={this.placeholder}\r\n // onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.hasInputValue = !!this.internalValue;\r\n this.inputChanged.emit(event);\r\n this.onChanged.emit(event);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.search_input_name, value });\r\n this.onBlurred.emit({ name: this.search_input_name, value });\r\n }}\r\n />\r\n <div class=\"dda-search-btngroup\">\r\n {this.hasInputValue && (\r\n <button\r\n name={this.close_button_name}\r\n aria-label={this.button_aria_label}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-search-close-icon\"\r\n onClick={() => this.clearInput()}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n close\r\n </i>\r\n </button>\r\n )}\r\n {this.show_button && (\r\n <button name={this.search_button_name} type=\"button\" class=\"dda-btn btn-color-default-primary dda-btn-sm\" onClick={this.handleSearchClick}>\r\n {this.button_text}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n {this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )}\r\n {this.error_message && (\r\n <span class=\"dda-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|