@dubai-design-system/components-js 3.11.7 → 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 +32 -6
- 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 +33 -2
- package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-select.cjs.entry.js +43 -3
- package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-tabs.cjs.entry.js +18 -14
- package/dist/cjs/dda-tabs.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/cjs/dda.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/dda-header-menu/dda-header-menu.css +226 -187
- package/dist/collection/components/dda-input/dda-input.js +97 -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 +106 -2
- package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
- package/dist/collection/components/dda-select/dda-select.js +116 -3
- package/dist/collection/components/dda-select/dda-select.js.map +1 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +20 -16
- package/dist/collection/components/dda-tabs/dda-tabs.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-menu.js +1 -1
- package/dist/components/dda-header.js +3 -3
- 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 +38 -3
- package/dist/components/dda-search-input.js.map +1 -1
- package/dist/components/dda-select.js +48 -4
- package/dist/components/dda-select.js.map +1 -1
- package/dist/components/dda-tabs.js +18 -14
- package/dist/components/dda-tabs.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-93bcdccb.js → p-5b2ec1a3.js} +34 -6
- 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/components/{p-60cb6934.js → p-f0f752d2.js} +2 -2
- package/dist/components/p-f0f752d2.js.map +1 -0
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/dda.esm.js.map +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-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
- package/dist/dda/p-e5783b18.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 +32 -6
- 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 +33 -2
- package/dist/esm/dda-search-input.entry.js.map +1 -1
- package/dist/esm/dda-select.entry.js +43 -3
- package/dist/esm/dda-select.entry.js.map +1 -1
- package/dist/esm/dda-tabs.entry.js +18 -14
- package/dist/esm/dda-tabs.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/esm/dda.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/dda-input/dda-input.d.ts +9 -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 +9 -0
- package/dist/types/components/dda-select/dda-select.d.ts +11 -0
- package/dist/types/components/dda-tabs/dda-tabs.d.ts +1 -2
- 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 +30 -2
- package/package.json +2 -2
- package/readme.md +9 -0
- package/www/build/dda.esm.js +1 -1
- package/www/build/dda.esm.js.map +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-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
- package/www/build/p-e5783b18.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-60cb6934.js.map +0 -1
- package/dist/components/p-93bcdccb.js.map +0 -1
- package/dist/components/p-a28f59c6.js.map +0 -1
- package/dist/dda/p-16b52e58.entry.js.map +0 -1
- package/dist/dda/p-1fad7e82.entry.js.map +0 -1
- package/dist/dda/p-23c2a581.entry.js.map +0 -1
- package/dist/dda/p-48f0e5e3.entry.js +0 -2
- package/dist/dda/p-48f0e5e3.entry.js.map +0 -1
- package/dist/dda/p-a5199deb.entry.js +0 -2
- package/dist/dda/p-a5199deb.entry.js.map +0 -1
- package/dist/dda/p-bd419f43.entry.js +0 -2
- package/dist/dda/p-bd419f43.entry.js.map +0 -1
- package/dist/dda/p-c01385d7.entry.js.map +0 -1
- package/www/build/p-16b52e58.entry.js.map +0 -1
- package/www/build/p-1fad7e82.entry.js.map +0 -1
- package/www/build/p-23c2a581.entry.js.map +0 -1
- package/www/build/p-48f0e5e3.entry.js +0 -2
- package/www/build/p-48f0e5e3.entry.js.map +0 -1
- package/www/build/p-a5199deb.entry.js +0 -2
- package/www/build/p-a5199deb.entry.js.map +0 -1
- package/www/build/p-bd419f43.entry.js +0 -2
- package/www/build/p-bd419f43.entry.js.map +0 -1
- package/www/build/p-c01385d7.entry.js.map +0 -1
|
@@ -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"]}
|
|
@@ -26,26 +26,52 @@ export class DdaSearchInput {
|
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
watchValue(newValue) {
|
|
30
|
+
this.internalValue = newValue || '';
|
|
31
|
+
this.hasInputValue = !!this.internalValue;
|
|
32
|
+
}
|
|
33
|
+
componentWillLoad() {
|
|
34
|
+
this.internalValue = this.value || '';
|
|
35
|
+
this.hasInputValue = !!this.internalValue;
|
|
36
|
+
}
|
|
29
37
|
clearInput() {
|
|
30
38
|
if (!this.input_id)
|
|
31
39
|
return;
|
|
32
40
|
const input = this.el.querySelector(`#${this.input_id}`);
|
|
33
41
|
if (input) {
|
|
34
42
|
input.value = '';
|
|
43
|
+
this.internalValue = '';
|
|
35
44
|
this.hasInputValue = false;
|
|
45
|
+
// this.inputChanged.emit('');
|
|
46
|
+
this.onChanged.emit('');
|
|
36
47
|
input.focus();
|
|
37
48
|
}
|
|
38
49
|
}
|
|
50
|
+
async reset() {
|
|
51
|
+
this.internalValue = '';
|
|
52
|
+
this.hasInputValue = false;
|
|
53
|
+
// this.inputChanged.emit('');
|
|
54
|
+
this.onChanged.emit('');
|
|
55
|
+
}
|
|
56
|
+
async setValue(val) {
|
|
57
|
+
this.internalValue = val;
|
|
58
|
+
this.hasInputValue = !!val;
|
|
59
|
+
// this.inputChanged.emit(val);
|
|
60
|
+
this.onChanged.emit(val);
|
|
61
|
+
}
|
|
39
62
|
render() {
|
|
40
|
-
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,
|
|
41
64
|
// onInput={this.handleInput}
|
|
42
65
|
onKeyDown: this.handleKeyDown, onInput: event => {
|
|
43
66
|
this.internalValue = event.target.value;
|
|
67
|
+
this.hasInputValue = !!this.internalValue;
|
|
44
68
|
this.inputChanged.emit(event);
|
|
69
|
+
this.onChanged.emit(event);
|
|
45
70
|
}, onBlur: event => {
|
|
46
71
|
const value = event.target.value.trim();
|
|
47
72
|
this.inputBlurred.emit({ name: this.search_input_name, value });
|
|
48
|
-
|
|
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)))));
|
|
49
75
|
}
|
|
50
76
|
static get is() { return "dda-search-input"; }
|
|
51
77
|
static get properties() {
|
|
@@ -459,6 +485,21 @@ export class DdaSearchInput {
|
|
|
459
485
|
"resolved": "any",
|
|
460
486
|
"references": {}
|
|
461
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
|
+
}
|
|
462
503
|
}, {
|
|
463
504
|
"method": "buttonClicked",
|
|
464
505
|
"name": "buttonClicked",
|
|
@@ -489,8 +530,71 @@ export class DdaSearchInput {
|
|
|
489
530
|
"resolved": "{ name: string; value: string; }",
|
|
490
531
|
"references": {}
|
|
491
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
|
+
}
|
|
492
548
|
}];
|
|
493
549
|
}
|
|
550
|
+
static get methods() {
|
|
551
|
+
return {
|
|
552
|
+
"reset": {
|
|
553
|
+
"complexType": {
|
|
554
|
+
"signature": "() => Promise<void>",
|
|
555
|
+
"parameters": [],
|
|
556
|
+
"references": {
|
|
557
|
+
"Promise": {
|
|
558
|
+
"location": "global",
|
|
559
|
+
"id": "global::Promise"
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"return": "Promise<void>"
|
|
563
|
+
},
|
|
564
|
+
"docs": {
|
|
565
|
+
"text": "",
|
|
566
|
+
"tags": []
|
|
567
|
+
}
|
|
568
|
+
},
|
|
569
|
+
"setValue": {
|
|
570
|
+
"complexType": {
|
|
571
|
+
"signature": "(val: string) => Promise<void>",
|
|
572
|
+
"parameters": [{
|
|
573
|
+
"name": "val",
|
|
574
|
+
"type": "string",
|
|
575
|
+
"docs": ""
|
|
576
|
+
}],
|
|
577
|
+
"references": {
|
|
578
|
+
"Promise": {
|
|
579
|
+
"location": "global",
|
|
580
|
+
"id": "global::Promise"
|
|
581
|
+
}
|
|
582
|
+
},
|
|
583
|
+
"return": "Promise<void>"
|
|
584
|
+
},
|
|
585
|
+
"docs": {
|
|
586
|
+
"text": "",
|
|
587
|
+
"tags": []
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
}
|
|
494
592
|
static get elementRef() { return "el"; }
|
|
593
|
+
static get watchers() {
|
|
594
|
+
return [{
|
|
595
|
+
"propName": "value",
|
|
596
|
+
"methodName": "watchValue"
|
|
597
|
+
}];
|
|
598
|
+
}
|
|
495
599
|
}
|
|
496
600
|
//# sourceMappingURL=dda-search-input.js.map
|
|
@@ -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 } 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 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.hasInputValue = false;\r\n input.focus();\r\n }\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 || this.value}\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.inputChanged.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 }}\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"]}
|
|
@@ -18,6 +18,10 @@ export class Ddaselect {
|
|
|
18
18
|
name: this.input_name || this.button_id,
|
|
19
19
|
value: this.selectedText || '',
|
|
20
20
|
});
|
|
21
|
+
this.onBlurred.emit({
|
|
22
|
+
name: this.input_name || this.button_id,
|
|
23
|
+
value: this.selectedText || '',
|
|
24
|
+
});
|
|
21
25
|
};
|
|
22
26
|
}
|
|
23
27
|
get parsedOptions() {
|
|
@@ -29,11 +33,14 @@ export class Ddaselect {
|
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
componentWillLoad() {
|
|
32
|
-
const selectedOption = this.parsedOptions.find(
|
|
36
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);
|
|
33
37
|
if (selectedOption) {
|
|
34
38
|
this.selectedId = selectedOption.id;
|
|
35
39
|
this.selectedText = selectedOption.text;
|
|
36
40
|
}
|
|
41
|
+
if (this.selected) {
|
|
42
|
+
this.watchSelected(this.selected);
|
|
43
|
+
}
|
|
37
44
|
}
|
|
38
45
|
toggleSelect() {
|
|
39
46
|
if (!this.disabled) {
|
|
@@ -46,6 +53,7 @@ export class Ddaselect {
|
|
|
46
53
|
this.selectedText = option.text;
|
|
47
54
|
this.is_open = false;
|
|
48
55
|
this.selectChanged.emit(option);
|
|
56
|
+
this.onChanged.emit(option);
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
connectedCallback() {
|
|
@@ -54,6 +62,33 @@ export class Ddaselect {
|
|
|
54
62
|
disconnectedCallback() {
|
|
55
63
|
document.removeEventListener('click', this.handleClickOutside);
|
|
56
64
|
}
|
|
65
|
+
async setSelected(value) {
|
|
66
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);
|
|
67
|
+
if (selectedOption) {
|
|
68
|
+
this.selectedId = selectedOption.id;
|
|
69
|
+
this.selectedText = selectedOption.text;
|
|
70
|
+
this.selected = selectedOption.id.toString();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.selectedId = undefined;
|
|
74
|
+
this.selectedText = '';
|
|
75
|
+
this.selected = '';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async getSelectedText() {
|
|
79
|
+
return this.selectedText;
|
|
80
|
+
}
|
|
81
|
+
watchSelected(newVal) {
|
|
82
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);
|
|
83
|
+
if (selectedOption) {
|
|
84
|
+
this.selectedId = selectedOption.id;
|
|
85
|
+
this.selectedText = selectedOption.text;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.selectedId = undefined;
|
|
89
|
+
this.selectedText = '';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
57
92
|
numberToWord(num) {
|
|
58
93
|
const words = ['One', 'Two', 'Three', 'Four', 'Five'];
|
|
59
94
|
return words[num - 1] || num.toString();
|
|
@@ -61,12 +96,12 @@ export class Ddaselect {
|
|
|
61
96
|
render() {
|
|
62
97
|
const labelId = `${this.button_id}-label`;
|
|
63
98
|
const valueId = `${this.button_id}-value`;
|
|
64
|
-
return (h(Host, { key: '
|
|
99
|
+
return (h(Host, { key: 'b2ea43f3cc071d70ea0c61d143824d49c7aff023' }, h("div", { key: '950000c97017a28e0188deb01243fd13b0963c1b', class: `
|
|
65
100
|
dda-input-container ${this.custom_class}
|
|
66
101
|
${this.component_mode}
|
|
67
102
|
${this.disabled ? 'dda-input-disabled' : ''}
|
|
68
103
|
dda-input-size-${this.size} dda-validation-${this.validation_type}
|
|
69
|
-
` }, this.label && (h("span", { key: '
|
|
104
|
+
` }, this.label && (h("span", { key: '5e6272c8b235646208167480e6149024687d2341', id: labelId, class: "dda-input-label" }, this.label)), h("div", { key: '0caa270da5785caec0c2e47769de205f2b085745', class: "dda-dropdown-container" }, h("button", { key: 'dc0e6b6f5d2d704e0d50c9472a3c82e20f6fbd6b', name: this.toggle_button_name, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-labelledby": `${labelId} ${this.button_id}`, disabled: this.disabled, onClick: () => this.toggleSelect(), onBlur: this.handleBlur }, h("span", { key: '2f4839cad9b6aa1113054c81416798a8cc30d1bb', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), h("i", { key: '50c1eafec7ab95152088b07889dde1ba29aef178', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: 'aca0e036afea36b25ab22e1e4440d25cebd2c41a', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: `option${this.numberToWord(index + 1)}`, type: "button", class: `dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`, role: "option", "aria-selected": this.selectedId === option.id ? 'true' : 'false', onClick: () => this.selectOption(option) }, option.text)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), 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))))));
|
|
70
105
|
}
|
|
71
106
|
static get is() { return "dda-select"; }
|
|
72
107
|
static get properties() {
|
|
@@ -444,6 +479,21 @@ export class Ddaselect {
|
|
|
444
479
|
"resolved": "{ id: number; text: string; }",
|
|
445
480
|
"references": {}
|
|
446
481
|
}
|
|
482
|
+
}, {
|
|
483
|
+
"method": "onChanged",
|
|
484
|
+
"name": "onChanged",
|
|
485
|
+
"bubbles": true,
|
|
486
|
+
"cancelable": true,
|
|
487
|
+
"composed": true,
|
|
488
|
+
"docs": {
|
|
489
|
+
"tags": [],
|
|
490
|
+
"text": ""
|
|
491
|
+
},
|
|
492
|
+
"complexType": {
|
|
493
|
+
"original": "{ id: number; text: string }",
|
|
494
|
+
"resolved": "{ id: number; text: string; }",
|
|
495
|
+
"references": {}
|
|
496
|
+
}
|
|
447
497
|
}, {
|
|
448
498
|
"method": "selectBlurred",
|
|
449
499
|
"name": "selectBlurred",
|
|
@@ -459,8 +509,71 @@ export class Ddaselect {
|
|
|
459
509
|
"resolved": "{ name: string; value: string; }",
|
|
460
510
|
"references": {}
|
|
461
511
|
}
|
|
512
|
+
}, {
|
|
513
|
+
"method": "onBlurred",
|
|
514
|
+
"name": "onBlurred",
|
|
515
|
+
"bubbles": true,
|
|
516
|
+
"cancelable": true,
|
|
517
|
+
"composed": true,
|
|
518
|
+
"docs": {
|
|
519
|
+
"tags": [],
|
|
520
|
+
"text": ""
|
|
521
|
+
},
|
|
522
|
+
"complexType": {
|
|
523
|
+
"original": "{ name: string; value: string }",
|
|
524
|
+
"resolved": "{ name: string; value: string; }",
|
|
525
|
+
"references": {}
|
|
526
|
+
}
|
|
462
527
|
}];
|
|
463
528
|
}
|
|
529
|
+
static get methods() {
|
|
530
|
+
return {
|
|
531
|
+
"setSelected": {
|
|
532
|
+
"complexType": {
|
|
533
|
+
"signature": "(value: string | number) => Promise<void>",
|
|
534
|
+
"parameters": [{
|
|
535
|
+
"name": "value",
|
|
536
|
+
"type": "string | number",
|
|
537
|
+
"docs": ""
|
|
538
|
+
}],
|
|
539
|
+
"references": {
|
|
540
|
+
"Promise": {
|
|
541
|
+
"location": "global",
|
|
542
|
+
"id": "global::Promise"
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
"return": "Promise<void>"
|
|
546
|
+
},
|
|
547
|
+
"docs": {
|
|
548
|
+
"text": "",
|
|
549
|
+
"tags": []
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
"getSelectedText": {
|
|
553
|
+
"complexType": {
|
|
554
|
+
"signature": "() => Promise<string>",
|
|
555
|
+
"parameters": [],
|
|
556
|
+
"references": {
|
|
557
|
+
"Promise": {
|
|
558
|
+
"location": "global",
|
|
559
|
+
"id": "global::Promise"
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"return": "Promise<string>"
|
|
563
|
+
},
|
|
564
|
+
"docs": {
|
|
565
|
+
"text": "",
|
|
566
|
+
"tags": []
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
};
|
|
570
|
+
}
|
|
464
571
|
static get elementRef() { return "el"; }
|
|
572
|
+
static get watchers() {
|
|
573
|
+
return [{
|
|
574
|
+
"propName": "selected",
|
|
575
|
+
"methodName": "watchSelected"
|
|
576
|
+
}];
|
|
577
|
+
}
|
|
465
578
|
}
|
|
466
579
|
//# sourceMappingURL=dda-select.js.map
|