@dubai-design-system/components-js 3.12.2-alpha.0 → 3.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dda-number-field.cjs.entry.js +18 -2
- package/dist/cjs/dda-number-field.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-search-input.cjs.entry.js +31 -2
- package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-select.cjs.entry.js +15 -2
- package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dda-textarea.cjs.entry.js +10 -1
- package/dist/cjs/dda-textarea.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-number-field/dda-number-field.js +43 -2
- package/dist/collection/components/dda-number-field/dda-number-field.js.map +1 -1
- package/dist/collection/components/dda-search-input/dda-search-input.js +31 -2
- package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
- package/dist/collection/components/dda-select/dda-select.js +15 -2
- package/dist/collection/components/dda-select/dda-select.js.map +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +10 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js.map +1 -1
- package/dist/components/dda-number-field.js +20 -3
- package/dist/components/dda-number-field.js.map +1 -1
- package/dist/components/dda-search-input.js +31 -2
- package/dist/components/dda-search-input.js.map +1 -1
- package/dist/components/dda-select.js +15 -2
- package/dist/components/dda-select.js.map +1 -1
- package/dist/components/dda-textarea.js +10 -1
- package/dist/components/dda-textarea.js.map +1 -1
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/dda.esm.js.map +1 -1
- package/dist/dda/p-210d62fb.entry.js +2 -0
- package/dist/dda/p-210d62fb.entry.js.map +1 -0
- package/dist/dda/{p-631f86fd.entry.js → p-6907700e.entry.js} +2 -2
- package/dist/dda/p-6907700e.entry.js.map +1 -0
- package/dist/dda/p-a3f284bc.entry.js +2 -0
- package/dist/dda/p-a3f284bc.entry.js.map +1 -0
- package/dist/dda/p-d93f2102.entry.js +2 -0
- package/dist/dda/p-d93f2102.entry.js.map +1 -0
- package/dist/esm/dda-number-field.entry.js +19 -3
- package/dist/esm/dda-number-field.entry.js.map +1 -1
- package/dist/esm/dda-search-input.entry.js +31 -2
- package/dist/esm/dda-search-input.entry.js.map +1 -1
- package/dist/esm/dda-select.entry.js +15 -2
- package/dist/esm/dda-select.entry.js.map +1 -1
- package/dist/esm/dda-textarea.entry.js +10 -1
- package/dist/esm/dda-textarea.entry.js.map +1 -1
- package/dist/esm/dda.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/dda-number-field/dda-number-field.d.ts +3 -0
- package/dist/types/components/dda-select/dda-select.d.ts +1 -0
- package/dist/types/components/dda-textarea/dda-textarea.d.ts +2 -0
- package/dist/types/components.d.ts +1 -0
- package/package.json +2 -2
- package/readme.md +4 -0
- package/www/build/dda.esm.js +1 -1
- package/www/build/dda.esm.js.map +1 -1
- package/www/build/p-210d62fb.entry.js +2 -0
- package/www/build/p-210d62fb.entry.js.map +1 -0
- package/www/build/{p-631f86fd.entry.js → p-6907700e.entry.js} +2 -2
- package/www/build/p-6907700e.entry.js.map +1 -0
- package/www/build/p-a3f284bc.entry.js +2 -0
- package/www/build/p-a3f284bc.entry.js.map +1 -0
- package/www/build/p-d93f2102.entry.js +2 -0
- package/www/build/p-d93f2102.entry.js.map +1 -0
- package/dist/dda/p-24c14c34.entry.js +0 -2
- package/dist/dda/p-24c14c34.entry.js.map +0 -1
- package/dist/dda/p-3239666b.entry.js +0 -2
- package/dist/dda/p-3239666b.entry.js.map +0 -1
- package/dist/dda/p-631f86fd.entry.js.map +0 -1
- package/dist/dda/p-95f9ac9c.entry.js +0 -2
- package/dist/dda/p-95f9ac9c.entry.js.map +0 -1
- package/www/build/p-24c14c34.entry.js +0 -2
- package/www/build/p-24c14c34.entry.js.map +0 -1
- package/www/build/p-3239666b.entry.js +0 -2
- package/www/build/p-3239666b.entry.js.map +0 -1
- package/www/build/p-631f86fd.entry.js.map +0 -1
- package/www/build/p-95f9ac9c.entry.js +0 -2
- package/www/build/p-95f9ac9c.entry.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as i,H as a,g as e}from"./p-1b339a0a.js";const h=class{constructor(i){t(this,i);this.inputChanged=s(this,"inputChanged",7);this.onChanged=s(this,"onChanged",7);this.buttonClicked=s(this,"buttonClicked",7);this.inputBlurred=s(this,"inputBlurred",7);this.onBlurred=s(this,"onBlurred",7);this.placeholder="Search";this.size="sm";this.show_button=false;this.has_error=false;this.custom_class="";this.hasInputValue=false;this.internalValue="";this.handleInput=t=>{const s=t.target;this.hasInputValue=s.value.length>0};this.handleKeyDown=t=>{if(t.key==="Enter"){const s=t.target;console.log("Search input value (Enter):",s.value)}};this.handleSearchClick=()=>{const t=this.el.querySelector(`#${this.input_id}`);if(t){this.buttonClicked.emit(this.internalValue||this.value)}}}watchValue(t){this.internalValue=t||"";this.hasInputValue=!!this.internalValue}componentWillLoad(){this.internalValue=this.value||"";this.hasInputValue=!!this.internalValue}clearInput(){if(!this.input_id)return;const t=this.el.querySelector(`#${this.input_id}`);if(t){t.value="";this.internalValue="";this.hasInputValue=false;this.onChanged.emit("");t.focus()}}async reset(){this.internalValue="";this.hasInputValue=false;this.onChanged.emit("")}async setValue(t){this.internalValue=t;this.hasInputValue=!!t;this.onChanged.emit(t)}render(){return i(a,{key:"63cc7ca7960af3191ef0f2555f46d9e124698f8b"},i("div",{key:"580758f178fc17fd14a8f55f60c00f2a2e2df8fa",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&&i("label",{key:"65ed51e543cd333b99ecfbdb4f5bbb4f329b53e6",htmlFor:this.button_id,class:"dda-input-label"},this.label),i("div",{key:"6aa00d11a082ca868dfe4da8586937f6d4479876",class:"dda-search-area dda-search-action"},i("i",{key:"9cb8039c3e30f1637f250c8c80b3ae8287eb043a",class:"material-icons icon-left","aria-hidden":"true"},"search"),i("input",{key:"72c2c96353d9431e0cf6f3251edb426e1401510d",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,onKeyDown:this.handleKeyDown,onInput:t=>{this.internalValue=t.target.value;this.hasInputValue=!!this.internalValue;this.inputChanged.emit(t);this.onChanged.emit(t)},onBlur:t=>{const s=t.target.value.trim();this.inputBlurred.emit({name:this.search_input_name,value:s});this.onBlurred.emit(s)}}),i("div",{key:"80747d9137284f1b05cb0d25a7a8ad6c8a7b1048",class:"dda-search-btngroup"},this.hasInputValue&&i("button",{key:"25e82c8100f168b6855426d2a2a75c1bf734409c",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()},i("i",{key:"f7612c86c0bd7e9ccd7c4e9666bca0e6da89c29b",class:"material-icons material-symbols-outlined","aria-hidden":"true"},"close")),this.show_button&&i("button",{key:"6b763a5850c1d48e0a7375a361f8dfaf67e8fd06",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&&i("span",{key:"e6f8b2cd39ad001b30a3c749d08326d344ad6430",class:"dda-helper-text",id:this.validation_id},this.helper_text),this.error_message&&i("span",{key:"417fe2bdb508400276bf19144b18c62a7b448220",class:"dda-error-message",id:this.validation_id},this.error_message)))}get el(){return e(this)}static get watchers(){return{value:["watchValue"]}}};export{h as dda_search_input};
|
|
2
|
-
//# sourceMappingURL=p-95f9ac9c.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DdaSearchInput","constructor","hostRef","this","placeholder","size","show_button","has_error","custom_class","hasInputValue","internalValue","handleInput","event","target","value","length","handleKeyDown","key","console","log","handleSearchClick","input","el","querySelector","input_id","buttonClicked","emit","watchValue","newValue","componentWillLoad","clearInput","onChanged","focus","reset","setValue","val","render","h","Host","class","component_mode","input_status","label","htmlFor","button_id","name","search_input_name","aria_label","id","type","onKeyDown","onInput","inputChanged","onBlur","trim","inputBlurred","onBlurred","close_button_name","button_aria_label","onClick","search_button_name","button_text","helper_text","validation_id","error_message"],"sources":["src/components/dda-search-input/dda-search-input.tsx"],"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<any>;\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(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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as e,H as i,g as a}from"./p-1b339a0a.js";const d=class{constructor(e){t(this,e);this.selectChanged=s(this,"selectChanged",7);this.onChanged=s(this,"onChanged",7);this.selectBlurred=s(this,"selectBlurred",7);this.onBlurred=s(this,"onBlurred",7);this.disabled=false;this.validation_id="text";this.custom_class="";this.placeholder="";this.main_aria_label="";this.input_name="";this.is_open=false;this.handleClickOutside=t=>{if(this.is_open&&!this.el.contains(t.target)){this.is_open=false}};this.handleBlur=()=>{this.selectBlurred.emit({name:this.input_name||this.button_id,value:this.selectedText||""});this.onBlurred.emit(this.selectedId);this.el.dispatchEvent(new FocusEvent("blur",{bubbles:true,composed:true}))}}get parsedOptions(){try{return JSON.parse(this.options)}catch(t){return[]}}componentWillLoad(){const t=this.parsedOptions.find((t=>t.id.toString()===this.selected||t.text===this.selected));if(t){this.selectedId=t.id;this.selectedText=t.text}if(this.selected){this.watchSelected(this.selected)}}toggleSelect(){if(!this.disabled){this.is_open=!this.is_open}}selectOption(t){if(!this.disabled){this.selectedId=t.id;this.selectedText=t.text;this.is_open=false;this.selectChanged.emit(t);this.onChanged.emit(t.id);this.el.dispatchEvent(new InputEvent("input",{bubbles:true,composed:true,data:t.id,inputType:"select"}))}}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}async setSelected(t){const s=this.parsedOptions.find((s=>s.id.toString()===t.toString()||s.text===t));if(s){this.selectedId=s.id;this.selectedText=s.text;this.selected=s.id.toString()}else{this.selectedId=undefined;this.selectedText="";this.selected=""}}async getSelectedText(){return this.selectedText}async getValue(){return this.selectedText||""}watchSelected(t){const s=this.parsedOptions.find((s=>s.id.toString()===t||s.text===t));if(s){this.selectedId=s.id;this.selectedText=s.text}else{this.selectedId=undefined;this.selectedText=""}}numberToWord(t){const s=["One","Two","Three","Four","Five"];return s[t-1]||t.toString()}render(){const t=`${this.button_id}-label`;const s=`${this.button_id}-value`;return e(i,{key:"ced7dbfc2a4f358c971a706761472784bb3e6628"},e("div",{key:"8956ae24671d419e61eb32c6956358e2b51ec945",class:`\n dda-input-container ${this.custom_class} \n ${this.component_mode} \n ${this.disabled?"dda-input-disabled":""} \n dda-input-size-${this.size} dda-validation-${this.validation_type}\n `},this.label&&e("span",{key:"c3a1db279d1f8a136972f3c70b4d506e7e0c34b1",id:t,class:"dda-input-label"},this.label),e("div",{key:"3bac51fcde9784786b6a7937a1342aa7f32cdafa",class:"dda-dropdown-container"},e("button",{key:"5aa2a7d4a9f7ae8336da1a5a7bb3f09a43e51e07",name:this.toggle_button_name,id:this.button_id,type:"button",class:"dda-input-field dda-select-header","aria-labelledby":`${t} ${this.button_id}`,disabled:this.disabled,onClick:()=>this.toggleSelect(),onBlur:this.handleBlur},e("span",{key:"ec74a3c2c026e3d9cda8ad78ede8082bd19e3b57",id:s,class:"dda-select-button-label"},this.selectedText||this.placeholder),e("i",{key:"aff9db53adce2ab32a3b27d4a34680c68357ca2e",class:"material-icons","aria-hidden":"true"},this.is_open?"keyboard_arrow_up":"keyboard_arrow_down")),this.is_open&&e("div",{key:"41849c086b485acb4087e935464a759cfc3488be",class:"dda-input-dropdown-list dda-select-list"},this.parsedOptions.length>0?this.parsedOptions.map(((t,s)=>e("button",{name:`option${this.numberToWord(s+1)}`,type:"button",class:`dda-input-dropdown-item ${this.selectedId===t.id?"selected":""}`,role:"option","aria-selected":this.selectedId===t.id?"true":"false",onClick:()=>this.selectOption(t)},t.text))):e("div",{class:"dda-input-dropdown-item"},"No options available"))),this.validation_type==="error"&&this.error_message?e("span",{class:"dda-error-message",id:this.validation_id,role:"alert"},this.error_message):this.helper_text&&e("span",{class:"dda-helper-text",id:this.validation_id},this.helper_text)))}get el(){return a(this)}static get watchers(){return{selected:["watchSelected"]}}};export{d as dda_select};
|
|
2
|
-
//# sourceMappingURL=p-24c14c34.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Ddaselect","constructor","hostRef","this","disabled","validation_id","custom_class","placeholder","main_aria_label","input_name","is_open","handleClickOutside","event","el","contains","target","handleBlur","selectBlurred","emit","name","button_id","value","selectedText","onBlurred","selectedId","dispatchEvent","FocusEvent","bubbles","composed","parsedOptions","JSON","parse","options","_a","componentWillLoad","selectedOption","find","opt","id","toString","selected","text","watchSelected","toggleSelect","selectOption","option","selectChanged","onChanged","InputEvent","data","inputType","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","setSelected","undefined","getSelectedText","getValue","newVal","numberToWord","num","words","render","labelId","valueId","h","Host","key","class","component_mode","size","validation_type","label","toggle_button_name","type","onClick","onBlur","length","map","index","role","error_message","helper_text"],"sources":["src/components/dda-select/dda-select.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-select',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class Ddaselect {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() options: string;\r\n @Prop() selected: string; // can be id or text\r\n @Prop() disabled: boolean = false;\r\n @Prop() error?: string;\r\n @Prop() error_message: string;\r\n @Prop() helper_text: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() option_select_button_name: string;\r\n @Prop() placeholder: string = '';\r\n @Prop() main_aria_label: string = '';\r\n @Prop() input_name: string = '';\r\n\r\n @State() is_open: boolean = false;\r\n @State() selectedId: number;\r\n @State() selectedText: string;\r\n\r\n @Event() selectChanged: EventEmitter<{ id: number; text: string }>;\r\n @Event() onChanged: EventEmitter<any>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<any>;\r\n\r\n private get parsedOptions(): { id: number; text: string }[] {\r\n try {\r\n return JSON.parse(this.options);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n }\r\n if (this.selected) {\r\n this.watchSelected(this.selected);\r\n }\r\n }\r\n\r\n toggleSelect() {\r\n if (!this.disabled) {\r\n this.is_open = !this.is_open;\r\n }\r\n }\r\n\r\n selectOption(option: { id: any; text: string }) {\r\n if (!this.disabled) {\r\n this.selectedId = option.id;\r\n this.selectedText = option.text;\r\n this.is_open = false;\r\n this.selectChanged.emit(option);\r\n this.onChanged.emit(option.id);\r\n\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: option.id,\r\n inputType: 'select',\r\n }),\r\n );\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n if (this.is_open && !this.el.contains(event.target as Node)) {\r\n this.is_open = false;\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n this.selectBlurred.emit({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\r\n });\r\n this.onBlurred.emit(this.selectedId);\r\n\r\n this.el.dispatchEvent(\r\n new FocusEvent('blur', {\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Method()\r\n async setSelected(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n @Method()\r\n async getSelectedText() {\r\n return this.selectedText;\r\n }\r\n\r\n async getValue() {\r\n return this.selectedText || '';\r\n }\r\n\r\n @Watch('selected')\r\n watchSelected(newVal: string) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n }\r\n }\r\n\r\n private numberToWord(num: number): string {\r\n const words = ['One', 'Two', 'Three', 'Four', 'Five'];\r\n return words[num - 1] || num.toString();\r\n }\r\n\r\n render() {\r\n const labelId = `${this.button_id}-label`;\r\n const valueId = `${this.button_id}-value`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={`\r\n dda-input-container ${this.custom_class} \r\n ${this.component_mode} \r\n ${this.disabled ? 'dda-input-disabled' : ''} \r\n dda-input-size-${this.size} dda-validation-${this.validation_type}\r\n `}\r\n >\r\n {this.label && (\r\n <span id={labelId} class=\"dda-input-label\">\r\n {this.label}\r\n </span>\r\n )}\r\n <div class=\"dda-dropdown-container\">\r\n <button\r\n name={this.toggle_button_name}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-input-field dda-select-header\"\r\n aria-labelledby={`${labelId} ${this.button_id}`}\r\n disabled={this.disabled}\r\n onClick={() => this.toggleSelect()}\r\n onBlur={this.handleBlur}\r\n >\r\n <span id={valueId} class=\"dda-select-button-label\">\r\n {this.selectedText || this.placeholder}\r\n </span>\r\n <i class=\"material-icons\" aria-hidden=\"true\">\r\n {this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\r\n </i>\r\n </button>\r\n\r\n {this.is_open && (\r\n <div class=\"dda-input-dropdown-list dda-select-list\">\r\n {this.parsedOptions.length > 0 ? (\r\n this.parsedOptions.map((option, index) => (\r\n <button\r\n name={`option${this.numberToWord(index + 1)}`}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`}\r\n role=\"option\"\r\n aria-selected={this.selectedId === option.id ? 'true' : 'false'}\r\n onClick={() => this.selectOption(option)}\r\n >\r\n {option.text}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,H as e}from"./p-1b339a0a.js";const i=class{constructor(s){t(this,s);this.selected_currency="USD";this.is_focused=false;this.custom_class="";this.isCurrencyDropdownOpen=false;this.handleOutsideClick=t=>{if(!this.hostElement.contains(t.target)){this.isCurrencyDropdownOpen=false}}}connectedCallback(){document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick)}handleInput(t){const s=t.target;const e=s.value.replace(/[^0-9.]/g,"");s.value=e}handleFocus(){this.is_focused=true}handleBlur(){this.is_focused=false}toggleCurrencyDropdown(){this.isCurrencyDropdownOpen=!this.isCurrencyDropdownOpen;this.handleFocus();this.handleBlur()}selectCurrency(t){this.selected_currency=t;this.isCurrencyDropdownOpen=false}get parsedCurrencies(){try{return JSON.parse(this.currencies)}catch(t){return[]}}render(){const t=["dda-input-container",this.validation_type?`dda-validation-${this.validation_type}`:"",this.size?`dda-input-size-${this.size}`:"",this.input_status?`dda-input-${this.input_status}`:"",this.is_focused?"dda-input-focus":"",this.error_message?"dda-error-message":"",this.custom_class?`${this.custom_class}`:"",this.component_mode].filter(Boolean).join(" ");return s(e,{key:"206115f19125245cff3037023b3e74ec7b3bc969",ref:t=>this.hostElement=t},s("div",{key:"d1b1fff44900235f41cc479ce8bedb113e031555",class:t},this.label&&s("label",{key:"487ed45829adf69a159534e44452cade2866de01",htmlFor:this.input_id,class:"dda-input-label"},this.label),s("div",{key:"b30be2cff6488c318a0883821c90e4f285e5de90",class:"dda-input-field-group dda-number-field"},s("input",{key:"44b93fd0ccc032253cb4e0b0f5fbe47cdc3a5fa9",id:this.input_id,name:this.input_name,"aria-label":this.aria_label,type:"number",placeholder:this.placeholder,value:this.value,pattern:"[0-9]*",onInput:t=>this.handleInput(t),onFocus:this.handleFocus.bind(this),onBlur:this.handleBlur.bind(this),class:"dda-field-group-input"}),s("div",{key:"df600a2a0fd07fd4f5bbe55cfdd0cac93f0700b2",class:"dda-input-dropdown-btn"},s("button",{key:"7f0b120e445cf46d403049fcf7fc3fb04c9b6db1",name:this.toggle_button_name,type:"button",class:"dda-dropdown-select",onClick:()=>this.toggleCurrencyDropdown()},this.selected_currency," ",s("i",{key:"dba31196d20cf9a10cefa7bde22c7d18e40a2657",class:`material-icons`,"aria-hidden":"true"},this.isCurrencyDropdownOpen?"keyboard_arrow_up":"keyboard_arrow_down")),this.isCurrencyDropdownOpen&&s("div",{key:"b84d4160de88048c8cea9404b41d9b99aba07a99",class:"dda-input-dropdown-list"},this.parsedCurrencies.length>0?this.parsedCurrencies.map((t=>s("button",{name:this.currency_button_name,type:"button",class:`dda-input-dropdown-item ${this.selected_currency===t?"selected":""}`,onClick:()=>this.selectCurrency(t)},t))):s("div",{class:"dda-input-dropdown-item"},"No options available")))),this.helper_text&&s("span",{key:"217a462603bef7804f1c556ed5fa4aa9d8542ad0",class:"dda-helper-text"},this.helper_text),this.error_message&&s("span",{key:"fcf554321d416f6235bb70bf7e1beceff2c43968",class:"dda-error-message"},this.error_message)))}};export{i as dda_number_field};
|
|
2
|
-
//# sourceMappingURL=p-3239666b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DdaNumberField","constructor","hostRef","this","selected_currency","is_focused","custom_class","isCurrencyDropdownOpen","handleOutsideClick","event","hostElement","contains","target","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","handleInput","inputElement","inputValue","value","replace","handleFocus","handleBlur","toggleCurrencyDropdown","selectCurrency","currency","parsedCurrencies","JSON","parse","currencies","_a","render","containerClass","validation_type","size","input_status","error_message","component_mode","filter","Boolean","join","h","Host","key","ref","el","class","label","htmlFor","input_id","id","name","input_name","aria_label","type","placeholder","pattern","onInput","onFocus","bind","onBlur","toggle_button_name","onClick","length","map","option","currency_button_name","helper_text"],"sources":["src/components/dda-number-field/dda-number-field.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-number-field',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaNumberField {\r\n @Prop() placeholder: string;\r\n @Prop() label: string;\r\n @Prop() value: string;\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() size?: string;\r\n @Prop() input_status?: string; // JSON string of currency options\r\n @Prop() currencies: string;\r\n @Prop() selected_currency: string = 'USD';\r\n @State() is_focused: boolean = false;\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() toggle_button_name?: string;\r\n @Prop() currency_button_name?: string;\r\n\r\n @State() isCurrencyDropdownOpen: boolean = false;\r\n\r\n private hostElement!: HTMLElement;\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n handleOutsideClick = (event: MouseEvent) => {\r\n if (!this.hostElement.contains(event.target as Node)) {\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n };\r\n\r\n handleInput(event) {\r\n const inputElement = event.target as HTMLInputElement;\r\n const inputValue = inputElement.value.replace(/[^0-9.]/g, '');\r\n inputElement.value = inputValue;\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 }\r\n\r\n toggleCurrencyDropdown() {\r\n this.isCurrencyDropdownOpen = !this.isCurrencyDropdownOpen;\r\n this.handleFocus();\r\n this.handleBlur();\r\n }\r\n\r\n selectCurrency(currency: string) {\r\n this.selected_currency = currency;\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n\r\n private get parsedCurrencies(): string[] {\r\n try {\r\n return JSON.parse(this.currencies);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n render() {\r\n const containerClass = [\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.is_focused ? 'dda-input-focus' : '',\r\n this.error_message ? 'dda-error-message' : '',\r\n this.custom_class ? `${this.custom_class}` : '',\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n return (\r\n <Host ref={el => (this.hostElement = el as HTMLElement)}>\r\n <div class={containerClass}>\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-number-field\">\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n aria-label={this.aria_label}\r\n type=\"number\"\r\n placeholder={this.placeholder}\r\n value={this.value}\r\n pattern={\"[0-9]*\"}\r\n onInput={event => this.handleInput(event)}\r\n onFocus={this.handleFocus.bind(this)}\r\n onBlur={this.handleBlur.bind(this)}\r\n class=\"dda-field-group-input\"\r\n />\r\n <div class=\"dda-input-dropdown-btn\">\r\n <button\r\n name={this.toggle_button_name}\r\n type=\"button\"\r\n class=\"dda-dropdown-select\"\r\n onClick={() => this.toggleCurrencyDropdown()}\r\n >\r\n {this.selected_currency} <i class={`material-icons`} aria-hidden=\"true\">{this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}</i>\r\n </button>\r\n {this.isCurrencyDropdownOpen && (\r\n <div class=\"dda-input-dropdown-list\">\r\n {this.parsedCurrencies.length > 0 ? (\r\n this.parsedCurrencies.map(option => (\r\n <button\r\n name={this.currency_button_name}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`}\r\n onClick={() => this.selectCurrency(option)}\r\n >\r\n {option}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {this.helper_text && <span class=\"dda-helper-text\">{this.helper_text}</span>}\r\n {this.error_message && <span class=\"dda-error-message\">{this.error_message}</span>}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|