@design.estate/dees-catalog 3.49.0 → 3.49.2
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_bundle/bundle.js +8843 -3895
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.demo.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.js +2 -2
- package/dist_ts_web/elements/00group-appui/dees-appui/view.registry.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui-appbar/component.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui-appbar/demo.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui-maincontent/dees-appui-maincontent.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.js +2 -2
- package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.d.ts +1 -1
- package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.js +2 -2
- package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.js +1 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +1 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/demo.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +1 -1
- package/dist_ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.js +1 -1
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.demo.js +7 -7
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +9 -6
- package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-datepicker/demo.js +15 -15
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.d.ts +4 -4
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +17 -17
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.d.ts +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +4 -2
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.d.ts +0 -1
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +60 -41
- package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.d.ts +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-richtext/component.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +7 -6
- package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.js +7 -5
- package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.js +6 -5
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.js +6 -5
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.js +6 -5
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.js +6 -5
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.js +16 -13
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +3 -3
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.js +19 -15
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.d.ts +3 -3
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.js +1 -1
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.js +1 -1
- package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.js +7 -7
- package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -3
- package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.d.ts +1 -1
- package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
- package/dist_ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.js +11 -8
- package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +1 -1
- package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +1 -1
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/utils.js +3 -3
- package/dist_ts_web/elements/00group-media/dees-tile-pdf/demo.js +1 -1
- package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +1 -1
- package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.js +2 -2
- package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +1 -1
- package/dist_ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.js +1 -1
- package/dist_ts_web/elements/00group-runtime/environments/WebContainerEnvironment.js +1 -1
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.js +1 -1
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +3 -3
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +2 -2
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +3 -3
- package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.demo.js +1 -1
- package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.js +1 -1
- package/dist_ts_web/elements/00group-utility/dees-searchbar/dees-searchbar.d.ts +1 -1
- package/dist_ts_web/elements/00group-utility/dees-updater/dees-updater.js +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.d.ts +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.js +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.js +1 -1
- package/dist_ts_web/pages/zindex-showcase.js +1 -1
- package/dist_ts_web/services/DeesServiceLibLoader.js +1 -1
- package/dist_ts_web/services/versions.d.ts +1 -1
- package/dist_ts_web/services/versions.js +1 -1
- package/dist_watch/bundle.js +9108 -4129
- package/dist_watch/bundle.js.map +4 -4
- package/license +3 -6
- package/package.json +11 -11
- package/readme.md +6 -4
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui/dees-appui.demo.ts +2 -2
- package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui/view.registry.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui-appbar/component.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui-appbar/demo.ts +5 -5
- package/ts_web/elements/00group-appui/dees-appui-maincontent/dees-appui-maincontent.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +8 -8
- package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.ts +1 -1
- package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.ts +6 -6
- package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +5 -5
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +3 -3
- package/ts_web/elements/00group-chart/dees-chart-area/component.ts +13 -13
- package/ts_web/elements/00group-chart/dees-chart-area/demo.ts +5 -5
- package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.ts +2 -2
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +4 -4
- package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +2 -2
- package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +12 -12
- package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +1 -1
- package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +8 -8
- package/ts_web/elements/00group-form/dees-form/dees-form.ts +7 -5
- package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +2 -2
- package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +3 -3
- package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -1
- package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +3 -3
- package/ts_web/elements/00group-input/dees-input-datepicker/demo.ts +19 -19
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +18 -18
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +5 -5
- package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +3 -3
- package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +5 -3
- package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +59 -40
- package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +4 -4
- package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +1 -1
- package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +5 -5
- package/ts_web/elements/00group-input/dees-input-richtext/component.ts +5 -5
- package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +6 -5
- package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +6 -6
- package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.ts +12 -10
- package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +1 -1
- package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.ts +5 -4
- package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.ts +5 -4
- package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.ts +5 -4
- package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.ts +5 -4
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.ts +19 -16
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +6 -6
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.ts +24 -20
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.ts +2 -2
- package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.ts +4 -4
- package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.ts +8 -8
- package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.ts +2 -2
- package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.ts +8 -8
- package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -2
- package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
- package/ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.ts +16 -12
- package/ts_web/elements/00group-layout/dees-label/dees-label.ts +1 -1
- package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +7 -7
- package/ts_web/elements/00group-media/dees-pdf-shared/utils.ts +2 -2
- package/ts_web/elements/00group-media/dees-tile-pdf/demo.ts +1 -1
- package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +3 -3
- package/ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.ts +24 -24
- package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +10 -10
- package/ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.ts +6 -6
- package/ts_web/elements/00group-runtime/environments/WebContainerEnvironment.ts +1 -1
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts +10 -10
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -6
- package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +6 -6
- package/ts_web/elements/00group-utility/dees-icon/dees-icon.demo.ts +3 -3
- package/ts_web/elements/00group-utility/dees-icon/dees-icon.ts +6 -6
- package/ts_web/elements/00group-utility/dees-updater/dees-updater.ts +3 -3
- package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +4 -4
- package/ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.ts +9 -9
- package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +3 -3
- package/ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.ts +2 -2
- package/ts_web/pages/zindex-showcase.ts +11 -11
- package/ts_web/services/DeesServiceLibLoader.ts +2 -2
- package/ts_web/services/versions.ts +1 -1
- /package/{npmextra.json → .smartconfig.json} +0 -0
|
@@ -89,7 +89,7 @@ export class DeesProgressbar extends DeesElement {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
public async updatePercentage() {
|
|
92
|
-
const progressBarFill = this.shadowRoot
|
|
92
|
+
const progressBarFill = this.shadowRoot!.querySelector('.progressBarFill') as HTMLElement;
|
|
93
93
|
progressBarFill.style.width = `${this.percentage}%`;
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -57,10 +57,10 @@ export const demoFunc = () => html`
|
|
|
57
57
|
const outputDiv = elementArg.querySelector('.form-output');
|
|
58
58
|
|
|
59
59
|
if (form && outputDiv) {
|
|
60
|
-
form.addEventListener('formData', async (eventArg: CustomEvent) => {
|
|
60
|
+
form.addEventListener('formData', (async (eventArg: CustomEvent) => {
|
|
61
61
|
const data = eventArg.detail.data;
|
|
62
62
|
console.log('Form submitted with data:', data);
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
// Show processing state
|
|
65
65
|
form.setStatus('pending', 'Processing your registration...');
|
|
66
66
|
outputDiv.innerHTML = `<strong>Submitted Data:</strong>\n${JSON.stringify(data, null, 2)}`;
|
|
@@ -75,7 +75,7 @@ export const demoFunc = () => html`
|
|
|
75
75
|
await domtools.plugins.smartdelay.delayFor(2000);
|
|
76
76
|
form.reset();
|
|
77
77
|
outputDiv.innerHTML = '<em>Form has been reset</em>';
|
|
78
|
-
});
|
|
78
|
+
}) as unknown as EventListener);
|
|
79
79
|
|
|
80
80
|
// Track individual field changes
|
|
81
81
|
const inputs = form.querySelectorAll('dees-input-text, dees-input-dropdown, dees-input-checkbox');
|
|
@@ -158,14 +158,14 @@ export const demoFunc = () => html`
|
|
|
158
158
|
console.log('Horizontal form layout active');
|
|
159
159
|
|
|
160
160
|
// Monitor filter changes
|
|
161
|
-
form.addEventListener('formData', (event: CustomEvent) => {
|
|
161
|
+
form.addEventListener('formData', ((event: CustomEvent) => {
|
|
162
162
|
const filters = event.detail.data;
|
|
163
163
|
console.log('Filter applied:', filters);
|
|
164
|
-
|
|
164
|
+
|
|
165
165
|
// Simulate search
|
|
166
166
|
const resultsCount = Math.floor(Math.random() * 100) + 1;
|
|
167
167
|
console.log(`Found ${resultsCount} results with filters:`, filters);
|
|
168
|
-
});
|
|
168
|
+
}) as unknown as EventListener);
|
|
169
169
|
|
|
170
170
|
// Setup real-time filter updates
|
|
171
171
|
const inputs = form.querySelectorAll('[key]');
|
|
@@ -224,7 +224,7 @@ export const demoFunc = () => html`
|
|
|
224
224
|
const statusDiv = elementArg.querySelector('#status-display');
|
|
225
225
|
|
|
226
226
|
if (form) {
|
|
227
|
-
form.addEventListener('formData', async (eventArg: CustomEvent) => {
|
|
227
|
+
form.addEventListener('formData', (async (eventArg: CustomEvent) => {
|
|
228
228
|
const data = eventArg.detail.data;
|
|
229
229
|
console.log('Advanced form data:', data);
|
|
230
230
|
|
|
@@ -252,7 +252,7 @@ export const demoFunc = () => html`
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
console.log('Form data logged:', data);
|
|
255
|
-
});
|
|
255
|
+
}) as unknown as EventListener);
|
|
256
256
|
|
|
257
257
|
// Monitor file uploads
|
|
258
258
|
const fileUpload = form.querySelector('dees-input-fileupload');
|
|
@@ -135,13 +135,14 @@ export class DeesForm extends DeesElement {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
public getFormElements(): Array<TFormInputElement> {
|
|
138
|
-
|
|
138
|
+
// Use querySelectorAll('*') to find form inputs nested inside wrapper elements (e.g. <div>)
|
|
139
|
+
return Array.from(this.querySelectorAll('*')).filter((child) =>
|
|
139
140
|
FORM_INPUT_TYPES.includes(child.constructor as any)
|
|
140
141
|
) as unknown as TFormInputElement[];
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
public getSubmitButton(): DeesFormSubmit | undefined {
|
|
144
|
-
return Array.from(this.
|
|
145
|
+
return Array.from(this.querySelectorAll('*')).find(
|
|
145
146
|
(child) => child instanceof DeesFormSubmit
|
|
146
147
|
) as DeesFormSubmit;
|
|
147
148
|
}
|
|
@@ -155,8 +156,9 @@ export class DeesForm extends DeesElement {
|
|
|
155
156
|
requiredOK = false;
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
const submitButton = this.getSubmitButton();
|
|
160
|
+
if (submitButton) {
|
|
161
|
+
submitButton.disabled = !requiredOK;
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
|
|
@@ -199,6 +201,7 @@ export class DeesForm extends DeesElement {
|
|
|
199
201
|
) {
|
|
200
202
|
const inputChildren = this.getFormElements();
|
|
201
203
|
const submitButton = this.getSubmitButton();
|
|
204
|
+
if (!submitButton) return;
|
|
202
205
|
|
|
203
206
|
switch (visualStateArg) {
|
|
204
207
|
case 'normal':
|
|
@@ -239,7 +242,6 @@ export class DeesForm extends DeesElement {
|
|
|
239
242
|
*/
|
|
240
243
|
reset() {
|
|
241
244
|
const inputChildren = this.getFormElements();
|
|
242
|
-
const submitButton = this.getSubmitButton();
|
|
243
245
|
|
|
244
246
|
for (const inputChild of inputChildren) {
|
|
245
247
|
inputChild.value = null;
|
|
@@ -30,7 +30,7 @@ export class DeesFormSubmit extends DeesElement {
|
|
|
30
30
|
accessor disabled = false;
|
|
31
31
|
|
|
32
32
|
@property({ type: String })
|
|
33
|
-
accessor text
|
|
33
|
+
accessor text!: string;
|
|
34
34
|
|
|
35
35
|
@property({ type: String })
|
|
36
36
|
accessor status: 'normal' | 'pending' | 'success' | 'error' = 'normal';
|
|
@@ -42,7 +42,7 @@ export class DeesFormSubmit extends DeesElement {
|
|
|
42
42
|
accessor size: 'sm' | 'default' | 'lg' | 'icon' | 'small' | 'normal' | 'large' = 'default';
|
|
43
43
|
|
|
44
44
|
@property({ type: String })
|
|
45
|
-
accessor icon
|
|
45
|
+
accessor icon!: string;
|
|
46
46
|
|
|
47
47
|
@property({ type: String })
|
|
48
48
|
accessor iconPosition: 'left' | 'right' = 'left';
|
|
@@ -31,10 +31,10 @@ export abstract class DeesInputBase<T = any> extends DeesElement {
|
|
|
31
31
|
* Common properties for all inputs
|
|
32
32
|
*/
|
|
33
33
|
@property({ type: String })
|
|
34
|
-
accessor key
|
|
34
|
+
accessor key!: string;
|
|
35
35
|
|
|
36
36
|
@property({ type: String })
|
|
37
|
-
accessor label
|
|
37
|
+
accessor label!: string;
|
|
38
38
|
|
|
39
39
|
@property({ type: Boolean })
|
|
40
40
|
accessor required: boolean = false;
|
|
@@ -43,7 +43,7 @@ export abstract class DeesInputBase<T = any> extends DeesElement {
|
|
|
43
43
|
accessor disabled: boolean = false;
|
|
44
44
|
|
|
45
45
|
@property({ type: String })
|
|
46
|
-
accessor description
|
|
46
|
+
accessor description!: string;
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Common styles for all input components
|
|
@@ -215,7 +215,7 @@ export class DeesInputCheckbox extends DeesInputBase<DeesInputCheckbox> {
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
public focus(): void {
|
|
218
|
-
const checkboxDiv = this.shadowRoot
|
|
218
|
+
const checkboxDiv = this.shadowRoot!.querySelector('.checkbox');
|
|
219
219
|
if (checkboxDiv) {
|
|
220
220
|
(checkboxDiv as any).focus();
|
|
221
221
|
}
|
|
@@ -610,20 +610,20 @@ export class DeesInputCode extends DeesInputBase<string> {
|
|
|
610
610
|
{
|
|
611
611
|
name: 'Cancel',
|
|
612
612
|
action: async (modalRef) => {
|
|
613
|
-
await modalRef
|
|
613
|
+
await modalRef!.destroy();
|
|
614
614
|
},
|
|
615
615
|
},
|
|
616
616
|
{
|
|
617
617
|
name: 'Save & Close',
|
|
618
618
|
action: async (modalRef) => {
|
|
619
619
|
// Get the editor content from the modal
|
|
620
|
-
modalEditorElement = modalRef
|
|
620
|
+
modalEditorElement = modalRef!.shadowRoot?.querySelector('dees-workspace-monaco') as DeesWorkspaceMonaco;
|
|
621
621
|
if (modalEditorElement) {
|
|
622
622
|
const editor = await modalEditorElement.editorDeferred.promise;
|
|
623
623
|
const newValue = editor.getValue();
|
|
624
624
|
this.setValue(newValue);
|
|
625
625
|
}
|
|
626
|
-
await modalRef
|
|
626
|
+
await modalRef!.destroy();
|
|
627
627
|
},
|
|
628
628
|
},
|
|
629
629
|
],
|
|
@@ -47,9 +47,9 @@ export const demoFunc = () => html`
|
|
|
47
47
|
const datePicker = elementArg.querySelector('dees-input-datepicker');
|
|
48
48
|
|
|
49
49
|
if (datePicker) {
|
|
50
|
-
datePicker.addEventListener('change', (event: CustomEvent) => {
|
|
50
|
+
datePicker.addEventListener('change', ((event: CustomEvent) => {
|
|
51
51
|
console.log('Basic date selected:', (event.target as DeesInputDatepicker).value);
|
|
52
|
-
});
|
|
52
|
+
}) as EventListener);
|
|
53
53
|
}
|
|
54
54
|
}}>
|
|
55
55
|
<dees-panel .title=${'Basic Date Picker'} .subtitle=${'Simple date selection without time'}>
|
|
@@ -66,17 +66,17 @@ export const demoFunc = () => html`
|
|
|
66
66
|
const appointmentPicker = elementArg.querySelector('dees-input-datepicker[label="Appointment"]');
|
|
67
67
|
|
|
68
68
|
if (dateTimePicker) {
|
|
69
|
-
dateTimePicker.addEventListener('change', (event: CustomEvent) => {
|
|
69
|
+
dateTimePicker.addEventListener('change', ((event: CustomEvent) => {
|
|
70
70
|
const value = (event.target as DeesInputDatepicker).value;
|
|
71
71
|
console.log('24h format datetime:', value);
|
|
72
|
-
});
|
|
72
|
+
}) as EventListener);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
if (appointmentPicker) {
|
|
76
|
-
appointmentPicker.addEventListener('change', (event: CustomEvent) => {
|
|
76
|
+
appointmentPicker.addEventListener('change', ((event: CustomEvent) => {
|
|
77
77
|
const value = (event.target as DeesInputDatepicker).value;
|
|
78
78
|
console.log('12h format datetime:', value);
|
|
79
|
-
});
|
|
79
|
+
}) as EventListener);
|
|
80
80
|
}
|
|
81
81
|
}}>
|
|
82
82
|
<dees-panel .title=${'Date and Time Selection'} .subtitle=${'Date pickers with time selection in different formats'}>
|
|
@@ -102,14 +102,14 @@ export const demoFunc = () => html`
|
|
|
102
102
|
const timezonePickers = elementArg.querySelectorAll('dees-input-datepicker');
|
|
103
103
|
|
|
104
104
|
timezonePickers.forEach((picker) => {
|
|
105
|
-
picker.addEventListener('change', (event: CustomEvent) => {
|
|
105
|
+
picker.addEventListener('change', ((event: CustomEvent) => {
|
|
106
106
|
const target = event.target as DeesInputDatepicker;
|
|
107
107
|
console.log(`${target.label} value:`, target.value);
|
|
108
108
|
const input = target.shadowRoot?.querySelector('.date-input') as HTMLInputElement;
|
|
109
109
|
if (input) {
|
|
110
110
|
console.log(`${target.label} formatted:`, input.value);
|
|
111
111
|
}
|
|
112
|
-
});
|
|
112
|
+
}) as EventListener);
|
|
113
113
|
});
|
|
114
114
|
}}>
|
|
115
115
|
<dees-panel .title=${'Timezone Support'} .subtitle=${'Date and time selection with timezone awareness'}>
|
|
@@ -140,7 +140,7 @@ export const demoFunc = () => html`
|
|
|
140
140
|
|
|
141
141
|
if (futureDatePicker) {
|
|
142
142
|
// Show the min/max constraints in action
|
|
143
|
-
futureDatePicker.addEventListener('change', (event: CustomEvent) => {
|
|
143
|
+
futureDatePicker.addEventListener('change', ((event: CustomEvent) => {
|
|
144
144
|
const value = (event.target as DeesInputDatepicker).value;
|
|
145
145
|
if (value) {
|
|
146
146
|
const selectedDate = new Date(value);
|
|
@@ -148,7 +148,7 @@ export const demoFunc = () => html`
|
|
|
148
148
|
const daysDiff = Math.floor((selectedDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24));
|
|
149
149
|
console.log(`Selected date is ${daysDiff} days from today`);
|
|
150
150
|
}
|
|
151
|
-
});
|
|
151
|
+
}) as EventListener);
|
|
152
152
|
}
|
|
153
153
|
}}>
|
|
154
154
|
<dees-panel .title=${'Date Range Constraints'} .subtitle=${'Limit selectable dates with min and max values'}>
|
|
@@ -171,14 +171,14 @@ export const demoFunc = () => html`
|
|
|
171
171
|
|
|
172
172
|
const datePickers = elementArg.querySelectorAll('dees-input-datepicker');
|
|
173
173
|
datePickers.forEach((picker) => {
|
|
174
|
-
picker.addEventListener('change', (event: CustomEvent) => {
|
|
174
|
+
picker.addEventListener('change', ((event: CustomEvent) => {
|
|
175
175
|
const target = event.target as DeesInputDatepicker;
|
|
176
176
|
// Log the formatted value that's displayed in the input
|
|
177
177
|
const input = target.shadowRoot?.querySelector('.date-input') as HTMLInputElement;
|
|
178
178
|
if (input) {
|
|
179
179
|
console.log(`${target.label} format:`, input.value);
|
|
180
180
|
}
|
|
181
|
-
});
|
|
181
|
+
}) as EventListener);
|
|
182
182
|
});
|
|
183
183
|
}}>
|
|
184
184
|
<dees-panel .title=${'Date Formats'} .subtitle=${'Different date display formats for various regions'}>
|
|
@@ -268,7 +268,7 @@ export const demoFunc = () => html`
|
|
|
268
268
|
<dees-demowrapper .runAfterRender=${async (elementArg: HTMLElement) => {
|
|
269
269
|
// Generate weekend dates for the current month
|
|
270
270
|
const generateWeekends = () => {
|
|
271
|
-
const weekends = [];
|
|
271
|
+
const weekends: string[] = [];
|
|
272
272
|
const now = new Date();
|
|
273
273
|
const year = now.getFullYear();
|
|
274
274
|
const month = now.getMonth();
|
|
@@ -286,7 +286,7 @@ export const demoFunc = () => html`
|
|
|
286
286
|
|
|
287
287
|
const picker = elementArg.querySelector('dees-input-datepicker');
|
|
288
288
|
if (picker) {
|
|
289
|
-
picker.disabledDates = generateWeekends();
|
|
289
|
+
(picker as DeesInputDatepicker).disabledDates = generateWeekends();
|
|
290
290
|
console.log('Disabled weekend dates for current month');
|
|
291
291
|
}
|
|
292
292
|
}}>
|
|
@@ -344,7 +344,7 @@ export const demoFunc = () => html`
|
|
|
344
344
|
|
|
345
345
|
const picker = elementArg.querySelector('dees-input-datepicker');
|
|
346
346
|
if (picker) {
|
|
347
|
-
picker.events = sampleEvents;
|
|
347
|
+
(picker as DeesInputDatepicker).events = sampleEvents;
|
|
348
348
|
console.log('Calendar events loaded:', sampleEvents);
|
|
349
349
|
}
|
|
350
350
|
}}>
|
|
@@ -371,7 +371,7 @@ export const demoFunc = () => html`
|
|
|
371
371
|
const output = elementArg.querySelector('#event-output');
|
|
372
372
|
|
|
373
373
|
if (picker && output) {
|
|
374
|
-
picker.addEventListener('change', (event: CustomEvent) => {
|
|
374
|
+
picker.addEventListener('change', ((event: CustomEvent) => {
|
|
375
375
|
const target = event.target as DeesInputDatepicker;
|
|
376
376
|
const value = target.value;
|
|
377
377
|
if (value) {
|
|
@@ -379,16 +379,16 @@ export const demoFunc = () => html`
|
|
|
379
379
|
// Get the formatted value from the input element
|
|
380
380
|
const input = target.shadowRoot?.querySelector('.date-input') as HTMLInputElement;
|
|
381
381
|
const formattedValue = input?.value || 'N/A';
|
|
382
|
-
output.innerHTML = `
|
|
382
|
+
(output as HTMLElement).innerHTML = `
|
|
383
383
|
<strong>Event triggered!</strong><br>
|
|
384
384
|
ISO Value: ${value}<br>
|
|
385
385
|
Formatted: ${formattedValue}<br>
|
|
386
386
|
Date object: ${date.toLocaleString()}
|
|
387
387
|
`;
|
|
388
388
|
} else {
|
|
389
|
-
output.innerHTML = '<em>Date cleared</em>';
|
|
389
|
+
(output as HTMLElement).innerHTML = '<em>Date cleared</em>';
|
|
390
390
|
}
|
|
391
|
-
});
|
|
391
|
+
}) as EventListener);
|
|
392
392
|
|
|
393
393
|
picker.addEventListener('blur', () => {
|
|
394
394
|
console.log('Datepicker lost focus');
|
|
@@ -56,16 +56,16 @@ export const demoFunc = () => html`
|
|
|
56
56
|
|
|
57
57
|
// Log when country changes
|
|
58
58
|
if (countryDropdown) {
|
|
59
|
-
countryDropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
59
|
+
countryDropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
60
60
|
console.log('Country selected:', event.detail);
|
|
61
|
-
});
|
|
61
|
+
}) as EventListener);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// Log when role changes
|
|
65
65
|
if (roleDropdown) {
|
|
66
|
-
roleDropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
66
|
+
roleDropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
67
67
|
console.log('Role selected:', event.detail);
|
|
68
|
-
});
|
|
68
|
+
}) as EventListener);
|
|
69
69
|
}
|
|
70
70
|
}}>
|
|
71
71
|
<dees-panel .title=${'1. Basic Dropdowns'} .subtitle=${'Standard dropdown with search functionality and various options'}>
|
|
@@ -103,9 +103,9 @@ export const demoFunc = () => html`
|
|
|
103
103
|
const priorityDropdown = elementArg.querySelector('dees-input-dropdown');
|
|
104
104
|
|
|
105
105
|
if (priorityDropdown) {
|
|
106
|
-
priorityDropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
106
|
+
priorityDropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
107
107
|
console.log(`Priority changed to: ${event.detail.option}`);
|
|
108
|
-
});
|
|
108
|
+
}) as EventListener);
|
|
109
109
|
}
|
|
110
110
|
}}>
|
|
111
111
|
<dees-panel .title=${'2. Without Search'} .subtitle=${'Dropdown with search functionality disabled for simpler selection'}>
|
|
@@ -128,10 +128,10 @@ export const demoFunc = () => html`
|
|
|
128
128
|
|
|
129
129
|
// Log all changes from horizontal dropdowns
|
|
130
130
|
dropdowns.forEach((dropdown) => {
|
|
131
|
-
dropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
131
|
+
dropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
132
132
|
const label = dropdown.getAttribute('label');
|
|
133
133
|
console.log(`${label}: ${event.detail.option}`);
|
|
134
|
-
});
|
|
134
|
+
}) as EventListener);
|
|
135
135
|
});
|
|
136
136
|
}}>
|
|
137
137
|
<dees-panel .title=${'3. Horizontal Layout'} .subtitle=${'Multiple dropdowns in a horizontal layout for compact forms'}>
|
|
@@ -216,9 +216,9 @@ export const demoFunc = () => html`
|
|
|
216
216
|
const dropdown = elementArg.querySelector('dees-input-dropdown');
|
|
217
217
|
|
|
218
218
|
if (dropdown) {
|
|
219
|
-
dropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
219
|
+
dropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
220
220
|
console.log('Bottom dropdown selected:', event.detail);
|
|
221
|
-
});
|
|
221
|
+
}) as EventListener);
|
|
222
222
|
|
|
223
223
|
// Note: The dropdown automatically detects available space
|
|
224
224
|
// and opens upward when near the bottom of the viewport
|
|
@@ -248,16 +248,16 @@ export const demoFunc = () => html`
|
|
|
248
248
|
output.innerHTML = '<em>Select a product to see details...</em>';
|
|
249
249
|
|
|
250
250
|
// Handle dropdown changes
|
|
251
|
-
dropdown.addEventListener('change', (event: CustomEvent) => {
|
|
251
|
+
dropdown.addEventListener('change', ((event: CustomEvent) => {
|
|
252
252
|
if (event.detail.value) {
|
|
253
|
-
output.innerHTML = `
|
|
253
|
+
(output as HTMLElement).innerHTML = `
|
|
254
254
|
<strong>Selected:</strong> ${event.detail.value.option}<br>
|
|
255
255
|
<strong>Key:</strong> ${event.detail.value.key}<br>
|
|
256
256
|
<strong>Price:</strong> $${event.detail.value.payload?.price || 'N/A'}<br>
|
|
257
257
|
<strong>Features:</strong> ${event.detail.value.payload?.features?.join(', ') || 'N/A'}
|
|
258
258
|
`;
|
|
259
259
|
}
|
|
260
|
-
});
|
|
260
|
+
}) as EventListener);
|
|
261
261
|
}
|
|
262
262
|
}}>
|
|
263
263
|
<dees-panel .title=${'6. Event Handling & Payload'} .subtitle=${'Dropdown with payload data and change event handling'}>
|
|
@@ -281,20 +281,20 @@ export const demoFunc = () => html`
|
|
|
281
281
|
const frameworkDropdown = elementArg.querySelector('dees-input-dropdown[key="framework"]');
|
|
282
282
|
|
|
283
283
|
if (form) {
|
|
284
|
-
form.addEventListener('formData', (event: CustomEvent) => {
|
|
284
|
+
form.addEventListener('formData', ((event: CustomEvent) => {
|
|
285
285
|
console.log('Form submitted with data:', event.detail.data);
|
|
286
|
-
});
|
|
286
|
+
}) as EventListener);
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
if (projectTypeDropdown && frameworkDropdown) {
|
|
290
290
|
// Filter frameworks based on project type
|
|
291
|
-
projectTypeDropdown.addEventListener('selectedOption', (event: CustomEvent) => {
|
|
291
|
+
projectTypeDropdown.addEventListener('selectedOption', ((event: CustomEvent) => {
|
|
292
292
|
const selectedType = event.detail.key;
|
|
293
293
|
console.log(`Project type changed to: ${selectedType}`);
|
|
294
|
-
|
|
294
|
+
|
|
295
295
|
// In a real app, you could filter the framework options based on project type
|
|
296
296
|
// For demo purposes, we just log the change
|
|
297
|
-
});
|
|
297
|
+
}) as EventListener);
|
|
298
298
|
}
|
|
299
299
|
}}>
|
|
300
300
|
<dees-panel .title=${'7. Form Integration'} .subtitle=${'Dropdown working within a form with validation'}>
|
|
@@ -30,14 +30,14 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
|
|
|
30
30
|
accessor options: { option: string; key: string; payload?: any }[] = [];
|
|
31
31
|
|
|
32
32
|
@property()
|
|
33
|
-
accessor selectedOption: { option: string; key: string; payload?: any } = null;
|
|
33
|
+
accessor selectedOption: { option: string; key: string; payload?: any } | null = null;
|
|
34
34
|
|
|
35
35
|
// Add value property for form compatibility
|
|
36
36
|
public get value() {
|
|
37
37
|
return this.selectedOption;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
public set value(val: { option: string; key: string; payload?: any }) {
|
|
40
|
+
public set value(val: { option: string; key: string; payload?: any } | null) {
|
|
41
41
|
this.selectedOption = val;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -372,7 +372,7 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
|
|
|
372
372
|
|
|
373
373
|
if (this.isOpened) {
|
|
374
374
|
// Check available space and set position
|
|
375
|
-
const selectedBox = this.shadowRoot
|
|
375
|
+
const selectedBox = this.shadowRoot!.querySelector('.selectedBox') as HTMLElement;
|
|
376
376
|
const rect = selectedBox.getBoundingClientRect();
|
|
377
377
|
const spaceBelow = window.innerHeight - rect.bottom;
|
|
378
378
|
const spaceAbove = rect.top;
|
|
@@ -382,7 +382,7 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
|
|
|
382
382
|
|
|
383
383
|
// Focus search input if present
|
|
384
384
|
await this.updateComplete;
|
|
385
|
-
const searchInput = this.shadowRoot
|
|
385
|
+
const searchInput = this.shadowRoot!.querySelector('.search input') as HTMLInputElement;
|
|
386
386
|
if (searchInput) {
|
|
387
387
|
searchInput.focus();
|
|
388
388
|
}
|
|
@@ -455,7 +455,7 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
|
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
public getValue(): { option: string; key: string; payload?: any } {
|
|
458
|
+
public getValue(): { option: string; key: string; payload?: any } | null {
|
|
459
459
|
return this.selectedOption;
|
|
460
460
|
}
|
|
461
461
|
|
|
@@ -48,7 +48,7 @@ export class DeesInputFileupload extends DeesInputBase<DeesInputFileupload> {
|
|
|
48
48
|
accessor maxFiles: number = 0; // 0 means no limit
|
|
49
49
|
|
|
50
50
|
@property({ type: String, reflect: true })
|
|
51
|
-
accessor validationState: 'valid' | 'invalid' | 'warn' | 'pending' = null;
|
|
51
|
+
accessor validationState: 'valid' | 'invalid' | 'warn' | 'pending' | null = null;
|
|
52
52
|
|
|
53
53
|
accessor validationMessage: string = '';
|
|
54
54
|
|
|
@@ -266,7 +266,7 @@ export class DeesInputFileupload extends DeesInputBase<DeesInputFileupload> {
|
|
|
266
266
|
return;
|
|
267
267
|
}
|
|
268
268
|
['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
|
|
269
|
-
this.dropArea!.addEventListener(eventName, this.handleDragEvent);
|
|
269
|
+
this.dropArea!.addEventListener(eventName, this.handleDragEvent as unknown as EventListener);
|
|
270
270
|
});
|
|
271
271
|
}
|
|
272
272
|
|
|
@@ -275,7 +275,7 @@ export class DeesInputFileupload extends DeesInputBase<DeesInputFileupload> {
|
|
|
275
275
|
return;
|
|
276
276
|
}
|
|
277
277
|
['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
|
|
278
|
-
this.dropArea!.removeEventListener(eventName, this.handleDragEvent);
|
|
278
|
+
this.dropArea!.removeEventListener(eventName, this.handleDragEvent as unknown as EventListener);
|
|
279
279
|
});
|
|
280
280
|
}
|
|
281
281
|
|
|
@@ -60,7 +60,7 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
|
|
|
60
60
|
|
|
61
61
|
public firstUpdated(_changedProperties: Map<string | number | symbol, unknown>) {
|
|
62
62
|
super.firstUpdated(_changedProperties);
|
|
63
|
-
const deesInputText = this.shadowRoot
|
|
63
|
+
const deesInputText = this.shadowRoot!.querySelector('dees-input-text') as any;
|
|
64
64
|
if (deesInputText && deesInputText.changeSubject) {
|
|
65
65
|
deesInputText.changeSubject.subscribe(() => {
|
|
66
66
|
this.changeSubject.next(this);
|
|
@@ -81,8 +81,10 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
this.enteredIbanIsValid = ibantools.isValidIBAN(this.enteredString.replace(/ /g, ''));
|
|
84
|
-
const deesInputText = this.shadowRoot
|
|
85
|
-
deesInputText
|
|
84
|
+
const deesInputText = this.shadowRoot!.querySelector('dees-input-text') as any;
|
|
85
|
+
if (deesInputText) {
|
|
86
|
+
deesInputText.validationText = `IBAN is valid: ${this.enteredIbanIsValid}`;
|
|
87
|
+
}
|
|
86
88
|
}
|
|
87
89
|
|
|
88
90
|
public getValue(): string {
|