@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
|
@@ -8,8 +8,10 @@ const DdaSearchInput = class {
|
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
this.inputChanged = index.createEvent(this, "inputChanged", 7);
|
|
11
|
+
this.onChanged = index.createEvent(this, "onChanged", 7);
|
|
11
12
|
this.buttonClicked = index.createEvent(this, "buttonClicked", 7);
|
|
12
13
|
this.inputBlurred = index.createEvent(this, "inputBlurred", 7);
|
|
14
|
+
this.onBlurred = index.createEvent(this, "onBlurred", 7);
|
|
13
15
|
this.placeholder = 'Search';
|
|
14
16
|
this.size = 'sm';
|
|
15
17
|
this.show_button = false;
|
|
@@ -35,28 +37,57 @@ const DdaSearchInput = class {
|
|
|
35
37
|
}
|
|
36
38
|
};
|
|
37
39
|
}
|
|
40
|
+
watchValue(newValue) {
|
|
41
|
+
this.internalValue = newValue || '';
|
|
42
|
+
this.hasInputValue = !!this.internalValue;
|
|
43
|
+
}
|
|
44
|
+
componentWillLoad() {
|
|
45
|
+
this.internalValue = this.value || '';
|
|
46
|
+
this.hasInputValue = !!this.internalValue;
|
|
47
|
+
}
|
|
38
48
|
clearInput() {
|
|
39
49
|
if (!this.input_id)
|
|
40
50
|
return;
|
|
41
51
|
const input = this.el.querySelector(`#${this.input_id}`);
|
|
42
52
|
if (input) {
|
|
43
53
|
input.value = '';
|
|
54
|
+
this.internalValue = '';
|
|
44
55
|
this.hasInputValue = false;
|
|
56
|
+
// this.inputChanged.emit('');
|
|
57
|
+
this.onChanged.emit('');
|
|
45
58
|
input.focus();
|
|
46
59
|
}
|
|
47
60
|
}
|
|
61
|
+
async reset() {
|
|
62
|
+
this.internalValue = '';
|
|
63
|
+
this.hasInputValue = false;
|
|
64
|
+
// this.inputChanged.emit('');
|
|
65
|
+
this.onChanged.emit('');
|
|
66
|
+
}
|
|
67
|
+
async setValue(val) {
|
|
68
|
+
this.internalValue = val;
|
|
69
|
+
this.hasInputValue = !!val;
|
|
70
|
+
// this.inputChanged.emit(val);
|
|
71
|
+
this.onChanged.emit(val);
|
|
72
|
+
}
|
|
48
73
|
render() {
|
|
49
|
-
return (index.h(index.Host, { key: '
|
|
74
|
+
return (index.h(index.Host, { key: '788e32324959a661a2e455b68ad5182596fd5425' }, index.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 && (index.h("label", { key: '98f58b4a01e5f3b2ffefda00588586115852f507', htmlFor: this.button_id, class: "dda-input-label" }, this.label)), index.h("div", { key: '43393cf11cd9b1fe151190a92bdb1963a657873f', class: "dda-search-area dda-search-action" }, index.h("i", { key: 'e83ea59abe03acb5d871ad6d001b8d1a753dd593', class: "material-icons icon-left", "aria-hidden": "true" }, "search"), index.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,
|
|
50
75
|
// onInput={this.handleInput}
|
|
51
76
|
onKeyDown: this.handleKeyDown, onInput: event => {
|
|
52
77
|
this.internalValue = event.target.value;
|
|
78
|
+
this.hasInputValue = !!this.internalValue;
|
|
53
79
|
this.inputChanged.emit(event);
|
|
80
|
+
this.onChanged.emit(event);
|
|
54
81
|
}, onBlur: event => {
|
|
55
82
|
const value = event.target.value.trim();
|
|
56
83
|
this.inputBlurred.emit({ name: this.search_input_name, value });
|
|
57
|
-
|
|
84
|
+
this.onBlurred.emit({ name: this.search_input_name, value });
|
|
85
|
+
} }), index.h("div", { key: 'a7b692b4c6ed2b8859ff0eef0069dea881363448', class: "dda-search-btngroup" }, this.hasInputValue && (index.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() }, index.h("i", { key: '7c2f8c45df0060c2fa6d6f55bfab9d2dfa5bab28', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))), this.show_button && (index.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 && (index.h("span", { key: '6c94b4c951409ad20a4e84b339ab81516855ef16', class: "dda-helper-text", id: this.validation_id }, this.helper_text)), this.error_message && (index.h("span", { key: 'ade9a6a691b2c013b23a8c9186b9d2822b6dd74c', class: "dda-error-message", id: this.validation_id }, this.error_message)))));
|
|
58
86
|
}
|
|
59
87
|
get el() { return index.getElement(this); }
|
|
88
|
+
static get watchers() { return {
|
|
89
|
+
"value": ["watchValue"]
|
|
90
|
+
}; }
|
|
60
91
|
};
|
|
61
92
|
|
|
62
93
|
exports.dda_search_input = DdaSearchInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dda-search-input.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/dda-search-input/dda-search-input.tsx"],"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"],"version":3}
|
|
1
|
+
{"file":"dda-search-input.entry.cjs.js","mappings":"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","names":["h","Host"],"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<{ 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"],"version":3}
|
|
@@ -8,7 +8,9 @@ const Ddaselect = class {
|
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
this.selectChanged = index.createEvent(this, "selectChanged", 7);
|
|
11
|
+
this.onChanged = index.createEvent(this, "onChanged", 7);
|
|
11
12
|
this.selectBlurred = index.createEvent(this, "selectBlurred", 7);
|
|
13
|
+
this.onBlurred = index.createEvent(this, "onBlurred", 7);
|
|
12
14
|
this.disabled = false;
|
|
13
15
|
this.validation_id = 'text';
|
|
14
16
|
this.custom_class = '';
|
|
@@ -26,6 +28,10 @@ const Ddaselect = class {
|
|
|
26
28
|
name: this.input_name || this.button_id,
|
|
27
29
|
value: this.selectedText || '',
|
|
28
30
|
});
|
|
31
|
+
this.onBlurred.emit({
|
|
32
|
+
name: this.input_name || this.button_id,
|
|
33
|
+
value: this.selectedText || '',
|
|
34
|
+
});
|
|
29
35
|
};
|
|
30
36
|
}
|
|
31
37
|
get parsedOptions() {
|
|
@@ -37,11 +43,14 @@ const Ddaselect = class {
|
|
|
37
43
|
}
|
|
38
44
|
}
|
|
39
45
|
componentWillLoad() {
|
|
40
|
-
const selectedOption = this.parsedOptions.find(
|
|
46
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);
|
|
41
47
|
if (selectedOption) {
|
|
42
48
|
this.selectedId = selectedOption.id;
|
|
43
49
|
this.selectedText = selectedOption.text;
|
|
44
50
|
}
|
|
51
|
+
if (this.selected) {
|
|
52
|
+
this.watchSelected(this.selected);
|
|
53
|
+
}
|
|
45
54
|
}
|
|
46
55
|
toggleSelect() {
|
|
47
56
|
if (!this.disabled) {
|
|
@@ -54,6 +63,7 @@ const Ddaselect = class {
|
|
|
54
63
|
this.selectedText = option.text;
|
|
55
64
|
this.is_open = false;
|
|
56
65
|
this.selectChanged.emit(option);
|
|
66
|
+
this.onChanged.emit(option);
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
connectedCallback() {
|
|
@@ -62,6 +72,33 @@ const Ddaselect = class {
|
|
|
62
72
|
disconnectedCallback() {
|
|
63
73
|
document.removeEventListener('click', this.handleClickOutside);
|
|
64
74
|
}
|
|
75
|
+
async setSelected(value) {
|
|
76
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);
|
|
77
|
+
if (selectedOption) {
|
|
78
|
+
this.selectedId = selectedOption.id;
|
|
79
|
+
this.selectedText = selectedOption.text;
|
|
80
|
+
this.selected = selectedOption.id.toString();
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.selectedId = undefined;
|
|
84
|
+
this.selectedText = '';
|
|
85
|
+
this.selected = '';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async getSelectedText() {
|
|
89
|
+
return this.selectedText;
|
|
90
|
+
}
|
|
91
|
+
watchSelected(newVal) {
|
|
92
|
+
const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);
|
|
93
|
+
if (selectedOption) {
|
|
94
|
+
this.selectedId = selectedOption.id;
|
|
95
|
+
this.selectedText = selectedOption.text;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.selectedId = undefined;
|
|
99
|
+
this.selectedText = '';
|
|
100
|
+
}
|
|
101
|
+
}
|
|
65
102
|
numberToWord(num) {
|
|
66
103
|
const words = ['One', 'Two', 'Three', 'Four', 'Five'];
|
|
67
104
|
return words[num - 1] || num.toString();
|
|
@@ -69,14 +106,17 @@ const Ddaselect = class {
|
|
|
69
106
|
render() {
|
|
70
107
|
const labelId = `${this.button_id}-label`;
|
|
71
108
|
const valueId = `${this.button_id}-value`;
|
|
72
|
-
return (index.h(index.Host, { key: '
|
|
109
|
+
return (index.h(index.Host, { key: 'b2ea43f3cc071d70ea0c61d143824d49c7aff023' }, index.h("div", { key: '950000c97017a28e0188deb01243fd13b0963c1b', class: `
|
|
73
110
|
dda-input-container ${this.custom_class}
|
|
74
111
|
${this.component_mode}
|
|
75
112
|
${this.disabled ? 'dda-input-disabled' : ''}
|
|
76
113
|
dda-input-size-${this.size} dda-validation-${this.validation_type}
|
|
77
|
-
` }, this.label && (index.h("span", { key: '
|
|
114
|
+
` }, this.label && (index.h("span", { key: '5e6272c8b235646208167480e6149024687d2341', id: labelId, class: "dda-input-label" }, this.label)), index.h("div", { key: '0caa270da5785caec0c2e47769de205f2b085745', class: "dda-dropdown-container" }, index.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 }, index.h("span", { key: '2f4839cad9b6aa1113054c81416798a8cc30d1bb', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), index.h("i", { key: '50c1eafec7ab95152088b07889dde1ba29aef178', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (index.h("div", { key: 'aca0e036afea36b25ab22e1e4440d25cebd2c41a', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index$1) => (index.h("button", { name: `option${this.numberToWord(index$1 + 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)))) : (index.h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (index.h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (index.h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
|
|
78
115
|
}
|
|
79
116
|
get el() { return index.getElement(this); }
|
|
117
|
+
static get watchers() { return {
|
|
118
|
+
"selected": ["watchSelected"]
|
|
119
|
+
}; }
|
|
80
120
|
};
|
|
81
121
|
|
|
82
122
|
exports.dda_select = Ddaselect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dda-select.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["src/components/dda-select/dda-select.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter } 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() selectBlurred: EventEmitter<{ name: string; value: string }>;\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(\r\n (opt) => opt.id.toString() === this.selected || opt.text === this.selected\r\n );\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\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: number; 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 }\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 };\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 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\">{this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}</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 \r\n class=\"dda-error-message\" \r\n id={this.validation_id}\r\n role=\"alert\"\r\n >\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span \r\n class=\"dda-helper-text\" \r\n id={this.validation_id}\r\n >\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
1
|
+
{"file":"dda-select.entry.cjs.js","mappings":"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","names":["h","Host","index"],"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<{ id: number; text: string }>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\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: number; 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);\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({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\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 @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"],"version":3}
|
|
@@ -20,9 +20,9 @@ const DdaTabs = class {
|
|
|
20
20
|
this.tab_icons = '["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]';
|
|
21
21
|
this.tab_type = 'dda-horizontal-tab';
|
|
22
22
|
this.button_values = '["", "", ""]';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
23
|
+
// private tabhandler = (index) => {
|
|
24
|
+
// this.tabClick.emit(index);
|
|
25
|
+
// };
|
|
26
26
|
this.active_tab = 0;
|
|
27
27
|
}
|
|
28
28
|
get parsedButtonValues() {
|
|
@@ -30,8 +30,8 @@ const DdaTabs = class {
|
|
|
30
30
|
return JSON.parse(this.button_values);
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
|
-
console.error(
|
|
34
|
-
return [
|
|
33
|
+
console.error('Error parsing button_values:', error);
|
|
34
|
+
return ['', '', ''];
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
get parsedTabs() {
|
|
@@ -39,7 +39,7 @@ const DdaTabs = class {
|
|
|
39
39
|
return JSON.parse(this.tab_texts); // Parse the string into an array
|
|
40
40
|
}
|
|
41
41
|
catch (error) {
|
|
42
|
-
console.error(
|
|
42
|
+
console.error('Error parsing tab_texts:', error);
|
|
43
43
|
return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -48,8 +48,8 @@ const DdaTabs = class {
|
|
|
48
48
|
return JSON.parse(this.tab_icons); // Parse the string into an array
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
|
-
console.error(
|
|
52
|
-
return [
|
|
51
|
+
console.error('Error parsing tabicons:', error);
|
|
52
|
+
return ['sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied']; // Fallback to default
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
get parsedButtonIds() {
|
|
@@ -57,18 +57,22 @@ const DdaTabs = class {
|
|
|
57
57
|
return JSON.parse(this.button_ids);
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
60
|
-
console.error(
|
|
61
|
-
return [
|
|
60
|
+
console.error('Error parsing button_ids:', error);
|
|
61
|
+
return ['tab-btn-1', 'tab-btn-2', 'tab-btn-3'];
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
+
// setActiveTab(index: number) {
|
|
65
|
+
// this.active_tab = index;
|
|
66
|
+
// if (this.tabClick) {
|
|
67
|
+
// this.tabhandler(index);
|
|
68
|
+
// }
|
|
69
|
+
// }
|
|
64
70
|
setActiveTab(index) {
|
|
65
71
|
this.active_tab = index;
|
|
66
|
-
|
|
67
|
-
this.tabhandler(index);
|
|
68
|
-
}
|
|
72
|
+
this.tabClick.emit(index);
|
|
69
73
|
}
|
|
70
74
|
render() {
|
|
71
|
-
return (index.h(index.Host, { key: '
|
|
75
|
+
return (index.h(index.Host, { key: '9fba77b9c33c9077f5e8999a1ce8c46535df6302' }, index.h("div", { key: 'dc5d7ccde21eca695798d6e62c4bbcc117b19962', role: "tablist", "aria-label": "Tab Navigation", class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}` }, this.parsedTabs.map((title, index$1) => (index.h("button", { id: this.parsedButtonIds[index$1] || `tab-btn-${index$1 + 1}`, name: this.button_name, "aria-label": title, type: "button", value: this.parsedButtonValues[index$1] || '', class: `dda-tab-item ${this.active_tab === index$1 ? 'active' : ''}`, role: "tab", "aria-selected": this.active_tab === index$1 ? 'true' : 'false', "aria-controls": `tab-btn-${index$1 + 1}`, onClick: () => this.setActiveTab(index$1) }, this.type === 'text-icon' && (index.h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index$1] || '')), index.h("span", null, title)))))));
|
|
72
76
|
}
|
|
73
77
|
};
|
|
74
78
|
DdaTabs.style = DdaTabsStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dda-tabs.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,UAAU,GAAG,m5HAAm5H,CAAC;AACv6H,sBAAe,UAAU;;MCMZ,OAAO;IALpB;;;QAMU,SAAI,GAAyB,MAAM,CAAC;QACpC,gBAAW,GAA2F,iBAAiB,CAAC;QACxH,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,EAAE,CAAC;QAE3B,eAAU,GAAW,yCAAyC,CAAC;QAE/D,cAAS,GAAW,6BAA6B,CAAC;QAClD,cAAS,GAAW,uEAAuE,CAAC;QAE5F,aAAQ,GAA8C,oBAAoB,CAAC;QAE3E,kBAAa,GAAW,cAAc,CAAC;QAEvC,eAAU,GAAG,CAAC,KAAK;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B,CAAC;QAEO,eAAU,GAAW,CAAC,CAAC;KAsEjC;IApEC,IAAI,kBAAkB;QACpB,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SACrB;KACF;IAED,IAAI,UAAU;QACZ,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACpC;KACF;IAED,IAAI,WAAW;QACb,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;SAC9E;KACF;IAED,IAAI,eAAe;QACjB,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;SAChD;KACF;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB;KACF;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,uDACHD,kEAAK,IAAI,EAAC,SAAS,gBAAY,gBAAgB,EAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE,IACzJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAEE,OAAK,MAChCF,oBACE,EAAE,EAAE,IAAI,CAAC,eAAe,CAACE,OAAK,CAAC,IAAI,WAAWA,OAAK,GAAG,CAAC,EAAE,EACzD,IAAI,EAAE,IAAI,CAAC,WAAW,gBACV,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAACA,OAAK,CAAC,IAAI,EAAE,EAC3C,KAAK,EAAE,gBAAgB,IAAI,CAAC,UAAU,KAAKA,OAAK,GAAG,QAAQ,GAAG,EAAE,EAAE,EAClE,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,UAAU,KAAKA,OAAK,GAAG,MAAM,GAAG,OAAO,mBAC5C,WAAWA,OAAK,GAAG,CAAC,EAAE,EACrC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAACA,OAAK,CAAC,IAEtC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAIF,eAAG,KAAK,EAAE,gBAAgB,iBAAc,MAAM,IAAE,IAAI,CAAC,WAAW,CAACE,OAAK,CAAC,IAAI,EAAE,CAAK,EAChHF,sBAAO,KAAK,CAAQ,CACb,CACV,CAAC,CACE,CACD,EACP;KACH;;;;;;","names":["h","Host","index"],"sources":["src/components/dda-tabs/dda-tabs.css?tag=dda-tabs","src/components/dda-tabs/dda-tabs.tsx"],"sourcesContent":[".dda-tabs-container {\r\n display: inline-flex;\r\n gap:1px;\r\n}\r\n\r\n.dda-tab-item {\r\n min-height: 48px;\r\n background: transparent;\r\n display: inline-flex;\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--font-weight-regular);\r\n gap: 8px;\r\n align-items: center;\r\n border: 0;\r\n border-radius: 8px;\r\n padding: 5px 16px;\r\n cursor: pointer;\r\n position: relative;\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\n.light-mode .dda-tab-item{\r\n color: var(--dda-neutral-0);\r\n}\r\n\r\n.dda-tab-item i {\r\n font-size: 22px;\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n/* .dda-tab-item.active span,\r\n.dda-tab-item:hover span {\r\n font-weight: var(--dda-fw-500);\r\n} */\r\n\r\n.dda-tab-default .dda-tab-item.active,\r\n.dda-tab-default .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-default .dda-tab-item.active,\r\n.light-mode.dda-tab-default .dda-tab-item:hover {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-default .dda-tab-item.active i,\r\n.dda-tab-default .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active,\r\n.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-color-primary-40);\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.light-mode.dda-tab-filed .dda-tab-item.active,\r\n.light-mode.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active i,\r\n.dda-tab-filed .dda-tab-item:hover i {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item {\r\n border-bottom: solid 1px var(--dda-neutral-90);\r\n border-radius: 0px;\r\n}\r\n\r\n\r\n.dda-tab-underline .dda-tab-item::after,\r\n.dda-tab-underline-filled .dda-tab-item::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 4px;\r\n background-color: var(--dda-color-primary-40);\r\n border-radius: 8px 8px 0px 0px;\r\n transform: translateX(-50%);\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n.light-mode.dda-tab-underline .dda-tab-item::after,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item::after{\r\n background-color: var(--dda-primary-40);\r\n}\r\n.dda-tab-underline .dda-tab-item:hover::after,\r\n.dda-tab-underline .dda-tab-item.active::after,\r\n.dda-tab-underline-filled .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled .dda-tab-item.active::after{\r\n width: calc(100% - 32px);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item.active,\r\n.dda-tab-underline .dda-tab-item.active i,\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item.active i,\r\n.dda-tab-underline .dda-tab-item:hover,\r\n.dda-tab-underline .dda-tab-item:hover i,\r\n.dda-tab-underline-filled .dda-tab-item:hover,\r\n.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-underline .dda-tab-item.active,\r\n.light-mode.dda-tab-underline .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n}\r\n\r\n.dda-tabs-container.dda-vertical-tab{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n}\r\n.dda-tabs-container.dda-vertical-tab button{\r\n width: 100%;\r\n text-align: start;\r\n}\r\n\r\n\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after {\r\n top: 50%;\r\n inset-inline-start: 0;\r\n width: 4px;\r\n height: 0;\r\n border-radius: 0px 8px 8px 0px;\r\n transform: translateY(-50%);\r\n}\r\n:root[dir='rtl'] .dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n:root[dir='rtl'] .dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after{\r\n border-radius: 8px 0px 0px 8px;\r\n}\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item.active::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item.active::after {\r\n height: calc(100% - 14px);\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-tab-item {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-tab-underline .dda-tab-item::after,\r\n .dda-tab-underline-filled .dda-tab-item::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n}","import { Component, Prop, State, h, Host, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-tabs',\r\n styleUrls: ['dda-tabs.css'],\r\n shadow: false,\r\n})\r\nexport class DdaTabs {\r\n @Prop() type: 'text' | 'text-icon' = 'text';\r\n @Prop() hover_style: 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled' = 'dda-tab-default';\r\n @Prop() border_bottom: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_ids: string = '[\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"]'; // New prop for dynamic button IDs\r\n @Prop() tab_value: string;\r\n @Prop() tab_texts: string = '[\"Tab 1\", \"Tab 2\", \"Tab 3\"]'; // Keep it as a string\r\n @Prop() tab_icons: string = '[\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]';\r\n @Prop() button_name: string;\r\n @Prop() tab_type: 'dda-horizontal-tab' | 'dda-vertical-tab' = 'dda-horizontal-tab';\r\n @Event() tabClick?: EventEmitter<void>;\r\n @Prop() button_values: string = '[\"\", \"\", \"\"]';\r\n\r\n private tabhandler = (index) => {\r\n this.tabClick.emit(index);\r\n };\r\n\r\n @State() active_tab: number = 0;\r\n\r\n get parsedButtonValues() {\r\n try {\r\n return JSON.parse(this.button_values);\r\n } catch (error) {\r\n console.error(\"Error parsing button_values:\", error);\r\n return [\"\", \"\", \"\"];\r\n }\r\n }\r\n\r\n get parsedTabs() {\r\n try {\r\n return JSON.parse(this.tab_texts); // Parse the string into an array\r\n } catch (error) {\r\n console.error(\"Error parsing tab_texts:\", error);\r\n return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedIcons() {\r\n try {\r\n return JSON.parse(this.tab_icons); // Parse the string into an array\r\n } catch (error) {\r\n console.error(\"Error parsing tabicons:\", error);\r\n return [\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedButtonIds() {\r\n try {\r\n return JSON.parse(this.button_ids);\r\n } catch (error) {\r\n console.error(\"Error parsing button_ids:\", error);\r\n return [\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"];\r\n }\r\n }\r\n\r\n setActiveTab(index: number) {\r\n this.active_tab = index;\r\n if (this.tabClick) {\r\n this.tabhandler(index);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div role=\"tablist\" aria-label=\"Tab Navigation\" class={`dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}`}>\r\n {this.parsedTabs.map((title, index) => (\r\n <button\r\n id={this.parsedButtonIds[index] || `tab-btn-${index + 1}`}\r\n name={this.button_name}\r\n aria-label={title}\r\n type=\"button\"\r\n value={this.parsedButtonValues[index] || \"\"}\r\n class={`dda-tab-item ${this.active_tab === index ? 'active' : ''}`}\r\n role=\"tab\"\r\n aria-selected={this.active_tab === index ? 'true' : 'false'}\r\n aria-controls={`tab-btn-${index + 1}`}\r\n onClick={() => this.setActiveTab(index)}\r\n >\r\n {this.type === 'text-icon' && <i class={`material-icons`} aria-hidden=\"true\">{this.parsedIcons[index] || \"\"}</i>}\r\n <span>{title}</span>\r\n </button>\r\n ))}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
1
|
+
{"file":"dda-tabs.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["src/components/dda-tabs/dda-tabs.css?tag=dda-tabs","src/components/dda-tabs/dda-tabs.tsx"],"sourcesContent":[".dda-tabs-container {\r\n display: inline-flex;\r\n gap:1px;\r\n}\r\n\r\n.dda-tab-item {\r\n min-height: 48px;\r\n background: transparent;\r\n display: inline-flex;\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--font-weight-regular);\r\n gap: 8px;\r\n align-items: center;\r\n border: 0;\r\n border-radius: 8px;\r\n padding: 5px 16px;\r\n cursor: pointer;\r\n position: relative;\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\n.light-mode .dda-tab-item{\r\n color: var(--dda-neutral-0);\r\n}\r\n\r\n.dda-tab-item i {\r\n font-size: 22px;\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n/* .dda-tab-item.active span,\r\n.dda-tab-item:hover span {\r\n font-weight: var(--dda-fw-500);\r\n} */\r\n\r\n.dda-tab-default .dda-tab-item.active,\r\n.dda-tab-default .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-default .dda-tab-item.active,\r\n.light-mode.dda-tab-default .dda-tab-item:hover {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-default .dda-tab-item.active i,\r\n.dda-tab-default .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active,\r\n.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-color-primary-40);\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.light-mode.dda-tab-filed .dda-tab-item.active,\r\n.light-mode.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active i,\r\n.dda-tab-filed .dda-tab-item:hover i {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item {\r\n border-bottom: solid 1px var(--dda-neutral-90);\r\n border-radius: 0px;\r\n}\r\n\r\n\r\n.dda-tab-underline .dda-tab-item::after,\r\n.dda-tab-underline-filled .dda-tab-item::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 4px;\r\n background-color: var(--dda-color-primary-40);\r\n border-radius: 8px 8px 0px 0px;\r\n transform: translateX(-50%);\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n.light-mode.dda-tab-underline .dda-tab-item::after,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item::after{\r\n background-color: var(--dda-primary-40);\r\n}\r\n.dda-tab-underline .dda-tab-item:hover::after,\r\n.dda-tab-underline .dda-tab-item.active::after,\r\n.dda-tab-underline-filled .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled .dda-tab-item.active::after{\r\n width: calc(100% - 32px);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item.active,\r\n.dda-tab-underline .dda-tab-item.active i,\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item.active i,\r\n.dda-tab-underline .dda-tab-item:hover,\r\n.dda-tab-underline .dda-tab-item:hover i,\r\n.dda-tab-underline-filled .dda-tab-item:hover,\r\n.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-underline .dda-tab-item.active,\r\n.light-mode.dda-tab-underline .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n}\r\n\r\n.dda-tabs-container.dda-vertical-tab{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n}\r\n.dda-tabs-container.dda-vertical-tab button{\r\n width: 100%;\r\n text-align: start;\r\n}\r\n\r\n\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after {\r\n top: 50%;\r\n inset-inline-start: 0;\r\n width: 4px;\r\n height: 0;\r\n border-radius: 0px 8px 8px 0px;\r\n transform: translateY(-50%);\r\n}\r\n:root[dir='rtl'] .dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n:root[dir='rtl'] .dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after{\r\n border-radius: 8px 0px 0px 8px;\r\n}\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item.active::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item.active::after {\r\n height: calc(100% - 14px);\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-tab-item {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-tab-underline .dda-tab-item::after,\r\n .dda-tab-underline-filled .dda-tab-item::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n}","import { Component, Prop, State, h, Host, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-tabs',\r\n styleUrls: ['dda-tabs.css'],\r\n shadow: false,\r\n})\r\nexport class DdaTabs {\r\n @Prop() type: 'text' | 'text-icon' = 'text';\r\n @Prop() hover_style: 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled' = 'dda-tab-default';\r\n @Prop() border_bottom: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_ids: string = '[\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"]'; // New prop for dynamic button IDs\r\n @Prop() tab_value: string;\r\n @Prop() tab_texts: string = '[\"Tab 1\", \"Tab 2\", \"Tab 3\"]'; // Keep it as a string\r\n @Prop() tab_icons: string = '[\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]';\r\n @Prop() button_name: string;\r\n @Prop() tab_type: 'dda-horizontal-tab' | 'dda-vertical-tab' = 'dda-horizontal-tab';\r\n @Event() tabClick: EventEmitter<number>;\r\n\r\n @Prop() button_values: string = '[\"\", \"\", \"\"]';\r\n\r\n // private tabhandler = (index) => {\r\n // this.tabClick.emit(index);\r\n // };\r\n\r\n @State() active_tab: number = 0;\r\n\r\n get parsedButtonValues() {\r\n try {\r\n return JSON.parse(this.button_values);\r\n } catch (error) {\r\n console.error('Error parsing button_values:', error);\r\n return ['', '', ''];\r\n }\r\n }\r\n\r\n get parsedTabs() {\r\n try {\r\n return JSON.parse(this.tab_texts); // Parse the string into an array\r\n } catch (error) {\r\n console.error('Error parsing tab_texts:', error);\r\n return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedIcons() {\r\n try {\r\n return JSON.parse(this.tab_icons); // Parse the string into an array\r\n } catch (error) {\r\n console.error('Error parsing tabicons:', error);\r\n return ['sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedButtonIds() {\r\n try {\r\n return JSON.parse(this.button_ids);\r\n } catch (error) {\r\n console.error('Error parsing button_ids:', error);\r\n return ['tab-btn-1', 'tab-btn-2', 'tab-btn-3'];\r\n }\r\n }\r\n\r\n // setActiveTab(index: number) {\r\n // this.active_tab = index;\r\n // if (this.tabClick) {\r\n // this.tabhandler(index);\r\n // }\r\n // }\r\n setActiveTab(index: number) {\r\n this.active_tab = index;\r\n this.tabClick.emit(index);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div role=\"tablist\" aria-label=\"Tab Navigation\" class={`dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}`}>\r\n {this.parsedTabs.map((title, index) => (\r\n <button\r\n id={this.parsedButtonIds[index] || `tab-btn-${index + 1}`}\r\n name={this.button_name}\r\n aria-label={title}\r\n type=\"button\"\r\n value={this.parsedButtonValues[index] || ''}\r\n class={`dda-tab-item ${this.active_tab === index ? 'active' : ''}`}\r\n role=\"tab\"\r\n aria-selected={this.active_tab === index ? 'true' : 'false'}\r\n aria-controls={`tab-btn-${index + 1}`}\r\n onClick={() => this.setActiveTab(index)}\r\n >\r\n {this.type === 'text-icon' && (\r\n <i class={`material-icons`} aria-hidden=\"true\">\r\n {this.parsedIcons[index] || ''}\r\n </i>\r\n )}\r\n <span>{title}</span>\r\n </button>\r\n ))}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -16371,7 +16371,9 @@ const DdaTextarea = class {
|
|
|
16371
16371
|
constructor(hostRef) {
|
|
16372
16372
|
index.registerInstance(this, hostRef);
|
|
16373
16373
|
this.textareaChanged = index.createEvent(this, "textareaChanged", 7);
|
|
16374
|
+
this.onChanged = index.createEvent(this, "onChanged", 7);
|
|
16374
16375
|
this.textareaBlurred = index.createEvent(this, "textareaBlurred", 7);
|
|
16376
|
+
this.onBlurred = index.createEvent(this, "onBlurred", 7);
|
|
16375
16377
|
this.value = '';
|
|
16376
16378
|
this.show_info_icon = false;
|
|
16377
16379
|
this.characterCount = 0;
|
|
@@ -16410,6 +16412,7 @@ const DdaTextarea = class {
|
|
|
16410
16412
|
this.internalValue = content;
|
|
16411
16413
|
this.characterCount = this.quill.getText().trim().length;
|
|
16412
16414
|
this.textareaChanged.emit(); // optional
|
|
16415
|
+
this.onChanged.emit();
|
|
16413
16416
|
});
|
|
16414
16417
|
if (this.value) {
|
|
16415
16418
|
this.quill.root.innerHTML = this.value;
|
|
@@ -16427,10 +16430,12 @@ const DdaTextarea = class {
|
|
|
16427
16430
|
this.internalValue = val;
|
|
16428
16431
|
this.characterCount = val.length;
|
|
16429
16432
|
this.textareaChanged.emit(event);
|
|
16433
|
+
this.onChanged.emit(event);
|
|
16430
16434
|
}
|
|
16431
16435
|
handleBlur(event) {
|
|
16432
16436
|
const val = event.target.value.trim();
|
|
16433
16437
|
this.textareaBlurred.emit({ name: this.textarea_name, value: val });
|
|
16438
|
+
this.onBlurred.emit({ name: this.textarea_name, value: val });
|
|
16434
16439
|
}
|
|
16435
16440
|
render() {
|
|
16436
16441
|
const textareaClass = [
|
|
@@ -16441,7 +16446,7 @@ const DdaTextarea = class {
|
|
|
16441
16446
|
this.component_mode,
|
|
16442
16447
|
this.textarea_name,
|
|
16443
16448
|
].filter(Boolean).join(' ');
|
|
16444
|
-
return (index.h(index.Host, { key: '
|
|
16449
|
+
return (index.h(index.Host, { key: 'b115804206b2c236ea220444e422d6f923244219' }, index.h("div", { key: '302195d1acdb1c3705bda71e0f925dd363095693', class: textareaClass }, this.label && (index.h("label", { key: 'e7e7ae567e899b07aa4a8127e7ce8dfd566a48ca', htmlFor: this.input_id, class: "dda-input-label" }, this.label)), this.enable_rich_editor ? (index.h("div", { id: "editor", class: "dda-richeditor-field" })) : (index.h("textarea", { id: this.input_id, name: this.textarea_name, "aria-label": this.aria_label, placeholder: this.placeholder, value: this.internalValue || this.value, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', class: "dda-input-field dda-input-textarea", maxLength: this.max_characters, onInput: (event) => this.handleInput(event), onBlur: (event) => this.handleBlur(event) })), this.validation_type === 'error' && this.error_message ? (index.h("div", { class: "dda-error-message", id: this.validation_id }, index.h("span", { class: "dda-d-flex dda-items-center dda-gap-2" }, this.show_info_icon && (index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info")), this.error_message), index.h("span", { class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))) : (index.h("div", { class: "dda-helper-text", id: this.validation_id }, index.h("span", { class: "dda-d-flex dda-items-center dda-gap-2" }, this.show_info_icon && (index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info")), this.helper_text), index.h("span", { class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))))));
|
|
16445
16450
|
}
|
|
16446
16451
|
get el() { return index.getElement(this); }
|
|
16447
16452
|
};
|