@design.estate/dees-catalog 3.75.0 → 3.76.1

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.
Files changed (82) hide show
  1. package/dist_bundle/bundle.js +544 -530
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +7 -7
  4. package/dist_ts_web/elements/00group-form/dees-form/dees-form.demo.js +5 -5
  5. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.d.ts +6 -0
  6. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +26 -3
  7. package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.demo.js +96 -94
  8. package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.js +2 -8
  9. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +3 -2
  10. package/dist_ts_web/elements/00group-input/dees-input-datepicker/template.js +3 -2
  11. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +28 -25
  12. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +3 -2
  13. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +3 -2
  14. package/dist_ts_web/elements/00group-input/dees-input-fileupload/demo.js +40 -39
  15. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.js +26 -23
  16. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +3 -2
  17. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.demo.js +22 -20
  18. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -11
  19. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.js +68 -65
  20. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +3 -2
  21. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.js +24 -21
  22. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +3 -2
  23. package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.js +11 -10
  24. package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.js +3 -2
  25. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.demo.js +54 -48
  26. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +2 -10
  27. package/dist_ts_web/elements/00group-input/dees-input-richtext/styles.js +1 -8
  28. package/dist_ts_web/elements/00group-input/dees-input-richtext/template.js +2 -2
  29. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.js +21 -19
  30. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +2 -12
  31. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +41 -38
  32. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +3 -2
  33. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.js +35 -33
  34. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +2 -8
  35. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.js +28 -27
  36. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +3 -2
  37. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +4 -3
  38. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -2
  39. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.d.ts +1 -1
  40. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.demo.js +12 -12
  41. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +12 -12
  42. package/dist_watch/bundle.js +125 -133
  43. package/dist_watch/bundle.js.map +3 -3
  44. package/package.json +1 -1
  45. package/ts_web/00_commitinfo_data.ts +1 -1
  46. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +6 -6
  47. package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +4 -4
  48. package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +20 -0
  49. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.demo.ts +95 -93
  50. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -7
  51. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +2 -1
  52. package/ts_web/elements/00group-input/dees-input-datepicker/template.ts +2 -1
  53. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +41 -38
  54. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +2 -1
  55. package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +2 -1
  56. package/ts_web/elements/00group-input/dees-input-fileupload/demo.ts +39 -38
  57. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.ts +25 -22
  58. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +2 -1
  59. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.demo.ts +21 -19
  60. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -10
  61. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.ts +67 -64
  62. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +2 -1
  63. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.ts +23 -20
  64. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +2 -1
  65. package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.ts +10 -9
  66. package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts +2 -1
  67. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.demo.ts +53 -47
  68. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +1 -9
  69. package/ts_web/elements/00group-input/dees-input-richtext/styles.ts +0 -7
  70. package/ts_web/elements/00group-input/dees-input-richtext/template.ts +1 -1
  71. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.ts +20 -18
  72. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +1 -11
  73. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +40 -37
  74. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +2 -1
  75. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.ts +34 -32
  76. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +1 -7
  77. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.ts +27 -26
  78. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +2 -1
  79. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +3 -2
  80. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -1
  81. package/ts_web/elements/00group-layout/dees-label/dees-label.demo.ts +11 -11
  82. package/ts_web/elements/00group-layout/dees-label/dees-label.ts +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "3.75.0",
3
+ "version": "3.76.1",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.75.0',
6
+ version: '3.76.1',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -610,26 +610,26 @@ export class DeesTable<T> extends DeesElement {
610
610
  <div class="searchGrid hidden">
611
611
  <dees-input-text
612
612
  .label=${'lucene syntax search'}
613
- .description=${`
613
+ .infoText=${`
614
614
  You can use the lucene syntax to search for data, e.g.:
615
-
615
+
616
616
  \`\`\`
617
617
  name: "john" AND age: 18
618
618
  \`\`\`
619
-
619
+
620
620
  `}
621
621
  ></dees-input-text>
622
622
  <dees-input-multitoggle
623
623
  .label=${'search mode'}
624
624
  .options=${['table', 'data', 'server']}
625
625
  .selectedOption=${'table'}
626
- .description=${`
626
+ .infoText=${`
627
627
  There are three basic modes:
628
-
628
+
629
629
  * table: only searches data already in the table
630
630
  * data: searches original data, ignoring table transforms
631
631
  * server: searches data on the server
632
-
632
+
633
633
  `}
634
634
  ></dees-input-multitoggle>
635
635
  </div>
@@ -92,7 +92,7 @@ export const demoFunc = () => html`
92
92
  .required=${true}
93
93
  key="firstName"
94
94
  label="First Name"
95
- .description=${'Your given name'}
95
+ .infoText=${'Your given name'}
96
96
  ></dees-input-text>
97
97
 
98
98
  <dees-input-text
@@ -105,7 +105,7 @@ export const demoFunc = () => html`
105
105
  .required=${true}
106
106
  key="email"
107
107
  label="Email Address"
108
- .description=${'We will use this to contact you'}
108
+ .infoText=${'We will use this to contact you'}
109
109
  ></dees-input-text>
110
110
 
111
111
  <dees-input-dropdown
@@ -126,7 +126,7 @@ export const demoFunc = () => html`
126
126
  key="password"
127
127
  label="Password"
128
128
  isPasswordBool
129
- .description=${'Minimum 8 characters'}
129
+ .infoText=${'Minimum 8 characters'}
130
130
  ></dees-input-text>
131
131
 
132
132
  <dees-input-checkbox
@@ -300,7 +300,7 @@ export const demoFunc = () => html`
300
300
  <dees-input-fileupload
301
301
  key="documents"
302
302
  .label=${'Upload Documents'}
303
- .description=${'PDF, DOC, or DOCX files up to 10MB'}
303
+ .infoText=${'PDF, DOC, or DOCX files up to 10MB'}
304
304
  ></dees-input-fileupload>
305
305
 
306
306
  <dees-form-submit>Submit Application</dees-form-submit>
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  DeesElement,
3
3
  property,
4
+ html,
4
5
  css,
5
6
  type CSSResult,
6
7
  cssManager,
@@ -42,6 +43,9 @@ export abstract class DeesInputBase<T = any> extends DeesElement {
42
43
  @property({ type: Boolean })
43
44
  accessor disabled: boolean = false;
44
45
 
46
+ @property({ type: String })
47
+ accessor infoText!: string;
48
+
45
49
  @property({ type: String })
46
50
  accessor description!: string;
47
51
 
@@ -90,6 +94,14 @@ export abstract class DeesInputBase<T = any> extends DeesElement {
90
94
  :host([label-position="none"]) dees-label {
91
95
  display: none;
92
96
  }
97
+
98
+ /* Description text below input */
99
+ .descriptionText {
100
+ margin-top: 4px;
101
+ font-size: 12px;
102
+ line-height: 1.4;
103
+ color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
104
+ }
93
105
  `,
94
106
  ];
95
107
  }
@@ -155,6 +167,14 @@ export abstract class DeesInputBase<T = any> extends DeesElement {
155
167
  this.disabled = false;
156
168
  }
157
169
 
170
+ /**
171
+ * Renders the description text below the input.
172
+ * Call ${this.renderDescription()} at the end of your render template.
173
+ */
174
+ public renderDescription() {
175
+ return this.description ? html`<div class="descriptionText">${this.description}</div>` : '';
176
+ }
177
+
158
178
  /**
159
179
  * Abstract method that child classes must implement to get their value
160
180
  */
@@ -111,90 +111,92 @@ export const demoFunc = () => html`
111
111
 
112
112
  <div class="demo-container">
113
113
  <dees-panel .title=${'Basic Checkboxes'} .subtitle=${'Simple checkbox examples with various labels'}>
114
- <div class="checkbox-group">
115
- <dees-input-checkbox
116
- .label=${'I agree to the Terms and Conditions'}
114
+ <dees-form>
115
+ <dees-input-checkbox
116
+ .label=${'I agree to the Terms and Conditions'}
117
117
  .value=${true}
118
118
  .key=${'terms'}
119
119
  ></dees-input-checkbox>
120
-
121
- <dees-input-checkbox
122
- .label=${'Subscribe to newsletter'}
120
+
121
+ <dees-input-checkbox
122
+ .label=${'Subscribe to newsletter'}
123
123
  .value=${false}
124
124
  .key=${'newsletter'}
125
125
  ></dees-input-checkbox>
126
-
127
- <dees-input-checkbox
128
- .label=${'Enable notifications'}
126
+
127
+ <dees-input-checkbox
128
+ .label=${'Enable notifications'}
129
129
  .value=${false}
130
130
  .description=${'Receive email updates about your account'}
131
131
  .key=${'notifications'}
132
132
  ></dees-input-checkbox>
133
- </div>
133
+ </dees-form>
134
134
  </dees-panel>
135
135
 
136
136
  <dees-panel .title=${'Checkbox States'} .subtitle=${'Different checkbox states and configurations'}>
137
- <div class="checkbox-group">
138
- <dees-input-checkbox
139
- .label=${'Default state'}
137
+ <dees-form>
138
+ <dees-input-checkbox
139
+ .label=${'Default state'}
140
140
  .value=${false}
141
141
  ></dees-input-checkbox>
142
-
143
- <dees-input-checkbox
144
- .label=${'Checked state'}
142
+
143
+ <dees-input-checkbox
144
+ .label=${'Checked state'}
145
145
  .value=${true}
146
146
  ></dees-input-checkbox>
147
-
148
- <dees-input-checkbox
149
- .label=${'Disabled unchecked'}
147
+
148
+ <dees-input-checkbox
149
+ .label=${'Disabled unchecked'}
150
150
  .value=${false}
151
151
  .disabled=${true}
152
152
  ></dees-input-checkbox>
153
-
154
- <dees-input-checkbox
155
- .label=${'Disabled checked'}
153
+
154
+ <dees-input-checkbox
155
+ .label=${'Disabled checked'}
156
156
  .value=${true}
157
157
  .disabled=${true}
158
158
  ></dees-input-checkbox>
159
-
160
- <dees-input-checkbox
161
- .label=${'Required checkbox'}
159
+
160
+ <dees-input-checkbox
161
+ .label=${'Required checkbox'}
162
162
  .required=${true}
163
163
  .key=${'required'}
164
164
  ></dees-input-checkbox>
165
- </div>
165
+ </dees-form>
166
166
  </dees-panel>
167
167
 
168
168
  <dees-panel .title=${'Horizontal Layout'} .subtitle=${'Checkboxes arranged horizontally for compact forms'}>
169
- <div class="horizontal-checkboxes">
170
- <dees-input-checkbox
171
- .label=${'Option A'}
172
- .value=${false}
173
- .layoutMode=${'horizontal'}
174
- .key=${'optionA'}
175
- ></dees-input-checkbox>
176
-
177
- <dees-input-checkbox
178
- .label=${'Option B'}
179
- .value=${true}
180
- .layoutMode=${'horizontal'}
181
- .key=${'optionB'}
182
- ></dees-input-checkbox>
183
-
184
- <dees-input-checkbox
185
- .label=${'Option C'}
186
- .value=${false}
187
- .layoutMode=${'horizontal'}
188
- .key=${'optionC'}
189
- ></dees-input-checkbox>
190
-
191
- <dees-input-checkbox
192
- .label=${'Option D'}
193
- .value=${true}
194
- .layoutMode=${'horizontal'}
195
- .key=${'optionD'}
196
- ></dees-input-checkbox>
197
- </div>
169
+ <dees-form>
170
+ <div class="horizontal-checkboxes">
171
+ <dees-input-checkbox
172
+ .label=${'Option A'}
173
+ .value=${false}
174
+ .layoutMode=${'horizontal'}
175
+ .key=${'optionA'}
176
+ ></dees-input-checkbox>
177
+
178
+ <dees-input-checkbox
179
+ .label=${'Option B'}
180
+ .value=${true}
181
+ .layoutMode=${'horizontal'}
182
+ .key=${'optionB'}
183
+ ></dees-input-checkbox>
184
+
185
+ <dees-input-checkbox
186
+ .label=${'Option C'}
187
+ .value=${false}
188
+ .layoutMode=${'horizontal'}
189
+ .key=${'optionC'}
190
+ ></dees-input-checkbox>
191
+
192
+ <dees-input-checkbox
193
+ .label=${'Option D'}
194
+ .value=${true}
195
+ .layoutMode=${'horizontal'}
196
+ .key=${'optionD'}
197
+ ></dees-input-checkbox>
198
+ </div>
199
+ </dees-form>
198
200
  </dees-panel>
199
201
 
200
202
  <dees-panel .title=${'Feature Selection Example'} .subtitle=${'Common use case for feature toggles with batch operations'}>
@@ -204,76 +206,76 @@ export const demoFunc = () => html`
204
206
  </div>
205
207
 
206
208
  <div class="feature-list">
207
- <div class="checkbox-group">
208
- <dees-input-checkbox
209
- .label=${'Dark Mode Support'}
209
+ <dees-form>
210
+ <dees-input-checkbox
211
+ .label=${'Dark Mode Support'}
210
212
  .value=${true}
211
213
  .key=${'feature1'}
212
214
  ></dees-input-checkbox>
213
-
214
- <dees-input-checkbox
215
- .label=${'Email Notifications'}
215
+
216
+ <dees-input-checkbox
217
+ .label=${'Email Notifications'}
216
218
  .value=${true}
217
219
  .key=${'feature2'}
218
220
  ></dees-input-checkbox>
219
-
220
- <dees-input-checkbox
221
- .label=${'Two-Factor Authentication'}
221
+
222
+ <dees-input-checkbox
223
+ .label=${'Two-Factor Authentication'}
222
224
  .value=${false}
223
225
  .key=${'feature3'}
224
226
  ></dees-input-checkbox>
225
-
226
- <dees-input-checkbox
227
- .label=${'API Access'}
227
+
228
+ <dees-input-checkbox
229
+ .label=${'API Access'}
228
230
  .value=${true}
229
231
  .key=${'feature4'}
230
232
  ></dees-input-checkbox>
231
-
232
- <dees-input-checkbox
233
- .label=${'Advanced Analytics'}
233
+
234
+ <dees-input-checkbox
235
+ .label=${'Advanced Analytics'}
234
236
  .value=${false}
235
237
  .key=${'feature5'}
236
238
  ></dees-input-checkbox>
237
- </div>
239
+ </dees-form>
238
240
  </div>
239
241
  </dees-panel>
240
242
 
241
243
  <dees-panel .title=${'Privacy Settings Example'} .subtitle=${'Checkboxes in a typical form context'}>
242
244
  <div class="form-section">
243
245
  <h4 class="section-title">Privacy Preferences</h4>
244
-
245
- <div class="checkbox-group">
246
- <dees-input-checkbox
247
- .label=${'Share analytics data'}
246
+
247
+ <dees-form>
248
+ <dees-input-checkbox
249
+ .label=${'Share analytics data'}
248
250
  .value=${true}
249
251
  .description=${'Help us improve by sharing anonymous usage data'}
250
252
  ></dees-input-checkbox>
251
-
252
- <dees-input-checkbox
253
- .label=${'Personalized recommendations'}
253
+
254
+ <dees-input-checkbox
255
+ .label=${'Personalized recommendations'}
254
256
  .value=${true}
255
257
  .description=${'Get suggestions based on your activity'}
256
258
  ></dees-input-checkbox>
257
-
258
- <dees-input-checkbox
259
- .label=${'Marketing communications'}
259
+
260
+ <dees-input-checkbox
261
+ .label=${'Marketing communications'}
260
262
  .value=${false}
261
263
  .description=${'Receive promotional emails and special offers'}
262
264
  ></dees-input-checkbox>
263
-
264
- <dees-input-checkbox
265
- .label=${'Third-party integrations'}
265
+
266
+ <dees-input-checkbox
267
+ .label=${'Third-party integrations'}
266
268
  .value=${false}
267
269
  .description=${'Allow approved partners to access your data'}
268
270
  ></dees-input-checkbox>
269
- </div>
271
+ </dees-form>
270
272
  </div>
271
273
  </dees-panel>
272
274
 
273
275
  <dees-panel .title=${'Interactive Example'} .subtitle=${'Click checkboxes to see value changes'}>
274
- <div class="checkbox-group">
275
- <dees-input-checkbox
276
- .label=${'Feature toggle'}
276
+ <dees-form>
277
+ <dees-input-checkbox
278
+ .label=${'Feature toggle'}
277
279
  .value=${false}
278
280
  @changeSubject=${(event: CustomEvent) => {
279
281
  const output = document.querySelector('#checkbox-output');
@@ -283,9 +285,9 @@ export const demoFunc = () => html`
283
285
  }
284
286
  }}
285
287
  ></dees-input-checkbox>
286
-
287
- <dees-input-checkbox
288
- .label=${'Debug mode'}
288
+
289
+ <dees-input-checkbox
290
+ .label=${'Debug mode'}
289
291
  .value=${false}
290
292
  @changeSubject=${(event: CustomEvent) => {
291
293
  const output = document.querySelector('#debug-output');
@@ -295,8 +297,8 @@ export const demoFunc = () => html`
295
297
  }
296
298
  }}
297
299
  ></dees-input-checkbox>
298
- </div>
299
-
300
+ </dees-form>
301
+
300
302
  <div class="interactive-section">
301
303
  <div id="checkbox-output" class="output-text">Feature is disabled</div>
302
304
  <div id="debug-output" class="output-text" style="margin-top: 8px;">Debug mode: OFF</div>
@@ -147,12 +147,6 @@ export class DeesInputCheckbox extends DeesInputBase<DeesInputCheckbox> {
147
147
  color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
148
148
  }
149
149
 
150
- /* Description */
151
- .description-text {
152
- font-size: 12px;
153
- color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
154
- line-height: 1.5;
155
- }
156
150
  `,
157
151
  ];
158
152
 
@@ -185,7 +179,7 @@ export class DeesInputCheckbox extends DeesInputBase<DeesInputCheckbox> {
185
179
  </div>
186
180
  <div class="label-container">
187
181
  ${this.label ? html`<div class="checkbox-label">${this.label}</div>` : ''}
188
- ${this.description ? html`<div class="description-text">${this.description}</div>` : ''}
182
+ ${this.renderDescription()}
189
183
  </div>
190
184
  </div>
191
185
  </div>
@@ -284,7 +284,7 @@ export class DeesInputCode extends DeesInputBase<string> {
284
284
  }
285
285
  </style>
286
286
  <div class="input-wrapper">
287
- <dees-label .label=${this.label} .description=${this.description} .required=${this.required}></dees-label>
287
+ <dees-label .label=${this.label} .infoText=${this.infoText} .required=${this.required}></dees-label>
288
288
  <dees-tile>
289
289
  <div slot="header" class="toolbar">
290
290
  <div class="toolbar-left">
@@ -362,6 +362,7 @@ export class DeesInputCode extends DeesInputBase<string> {
362
362
  </div>
363
363
  </div>
364
364
  </dees-tile>
365
+ ${this.renderDescription()}
365
366
  </div>
366
367
  `;
367
368
  }
@@ -4,7 +4,7 @@ import type { DeesInputDatepicker } from './component.js';
4
4
  export const renderDatepicker = (component: DeesInputDatepicker): TemplateResult => {
5
5
  return html`
6
6
  <div class="input-wrapper">
7
- <dees-label .label=${component.label} .description=${component.description} .required=${component.required}></dees-label>
7
+ <dees-label .label=${component.label} .infoText=${component.infoText} .required=${component.required}></dees-label>
8
8
  <div class="input-container">
9
9
  <input
10
10
  type="text"
@@ -27,6 +27,7 @@ export const renderDatepicker = (component: DeesInputDatepicker): TemplateResult
27
27
  <dees-icon class="calendar-icon" icon="lucide:calendar" iconSize="16"></dees-icon>
28
28
  </div>
29
29
  </div>
30
+ ${component.renderDescription()}
30
31
  </div>
31
32
  `;
32
33
 
@@ -69,9 +69,10 @@ export const demoFunc = () => html`
69
69
  }
70
70
  }}>
71
71
  <dees-panel .title=${'1. Basic Dropdowns'} .subtitle=${'Standard dropdown with search functionality and various options'}>
72
- <div class="input-group">
72
+ <dees-form>
73
73
  <dees-input-dropdown
74
74
  .label=${'Select Country'}
75
+ .description=${'Choose the country where your business is registered'}
75
76
  .options=${[
76
77
  { option: 'United States', key: 'us' },
77
78
  { option: 'Canada', key: 'ca' },
@@ -94,7 +95,7 @@ export const demoFunc = () => html`
94
95
  { option: 'Guest', key: 'guest' }
95
96
  ]}
96
97
  ></dees-input-dropdown>
97
- </div>
98
+ </dees-form>
98
99
  </dees-panel>
99
100
  </dees-demowrapper>
100
101
 
@@ -135,40 +136,42 @@ export const demoFunc = () => html`
135
136
  });
136
137
  }}>
137
138
  <dees-panel .title=${'3. Horizontal Layout'} .subtitle=${'Multiple dropdowns in a horizontal layout for compact forms'}>
138
- <div class="horizontal-group">
139
- <dees-input-dropdown
140
- .label=${'Department'}
141
- .layoutMode=${'horizontal'}
142
- .options=${[
143
- { option: 'Engineering', key: 'eng' },
144
- { option: 'Design', key: 'design' },
145
- { option: 'Marketing', key: 'marketing' },
146
- { option: 'Sales', key: 'sales' }
147
- ]}
148
- ></dees-input-dropdown>
149
-
150
- <dees-input-dropdown
151
- .label=${'Team Size'}
152
- .layoutMode=${'horizontal'}
153
- .enableSearch=${false}
154
- .options=${[
155
- { option: '1-5', key: 'small' },
156
- { option: '6-20', key: 'medium' },
157
- { option: '21-50', key: 'large' },
158
- { option: '50+', key: 'xlarge' }
159
- ]}
160
- ></dees-input-dropdown>
161
-
162
- <dees-input-dropdown
163
- .label=${'Location'}
164
- .layoutMode=${'horizontal'}
165
- .options=${[
166
- { option: 'Remote', key: 'remote' },
167
- { option: 'On-site', key: 'onsite' },
168
- { option: 'Hybrid', key: 'hybrid' }
169
- ]}
170
- ></dees-input-dropdown>
171
- </div>
139
+ <dees-form>
140
+ <div class="horizontal-group">
141
+ <dees-input-dropdown
142
+ .label=${'Department'}
143
+ .layoutMode=${'horizontal'}
144
+ .options=${[
145
+ { option: 'Engineering', key: 'eng' },
146
+ { option: 'Design', key: 'design' },
147
+ { option: 'Marketing', key: 'marketing' },
148
+ { option: 'Sales', key: 'sales' }
149
+ ]}
150
+ ></dees-input-dropdown>
151
+
152
+ <dees-input-dropdown
153
+ .label=${'Team Size'}
154
+ .layoutMode=${'horizontal'}
155
+ .enableSearch=${false}
156
+ .options=${[
157
+ { option: '1-5', key: 'small' },
158
+ { option: '6-20', key: 'medium' },
159
+ { option: '21-50', key: 'large' },
160
+ { option: '50+', key: 'xlarge' }
161
+ ]}
162
+ ></dees-input-dropdown>
163
+
164
+ <dees-input-dropdown
165
+ .label=${'Location'}
166
+ .layoutMode=${'horizontal'}
167
+ .options=${[
168
+ { option: 'Remote', key: 'remote' },
169
+ { option: 'On-site', key: 'onsite' },
170
+ { option: 'Hybrid', key: 'hybrid' }
171
+ ]}
172
+ ></dees-input-dropdown>
173
+ </div>
174
+ </dees-form>
172
175
  </dees-panel>
173
176
  </dees-demowrapper>
174
177
 
@@ -184,7 +187,7 @@ export const demoFunc = () => html`
184
187
  }
185
188
  }}>
186
189
  <dees-panel .title=${'4. States'} .subtitle=${'Different states and configurations'}>
187
- <div class="input-group">
190
+ <dees-form>
188
191
  <dees-input-dropdown
189
192
  .label=${'Required Field'}
190
193
  .required=${true}
@@ -203,7 +206,7 @@ export const demoFunc = () => html`
203
206
  ]}
204
207
  .selectedOption=${{ option: 'Cannot Select', key: 'disabled' }}
205
208
  ></dees-input-dropdown>
206
- </div>
209
+ </dees-form>
207
210
  </dees-panel>
208
211
  </dees-demowrapper>
209
212
 
@@ -168,7 +168,7 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
168
168
  public render(): TemplateResult {
169
169
  return html`
170
170
  <div class="input-wrapper">
171
- <dees-label .label=${this.label} .description=${this.description} .required=${this.required}></dees-label>
171
+ <dees-label .label=${this.label} .infoText=${this.infoText} .required=${this.required}></dees-label>
172
172
  <div class="maincontainer">
173
173
  <div
174
174
  class="selectedBox ${this.isOpened ? 'open' : ''} ${this.disabled ? 'disabled' : ''}"
@@ -179,6 +179,7 @@ export class DeesInputDropdown extends DeesInputBase<DeesInputDropdown> {
179
179
  ${this.selectedOption?.option || 'Select an option'}
180
180
  </div>
181
181
  </div>
182
+ ${this.renderDescription()}
182
183
  </div>
183
184
  `;
184
185
  }
@@ -73,7 +73,7 @@ export class DeesInputFileupload extends DeesInputBase<DeesInputFileupload> {
73
73
  <div class="input-wrapper">
74
74
  <dees-label
75
75
  .label=${this.label}
76
- .description=${this.description}
76
+ .infoText=${this.infoText}
77
77
  .required=${this.required}
78
78
  ></dees-label>
79
79
  <dees-tile
@@ -114,6 +114,7 @@ export class DeesInputFileupload extends DeesInputBase<DeesInputFileupload> {
114
114
  ${this.validationMessage
115
115
  ? html`<div class="validation-message" aria-live="polite">${this.validationMessage}</div>`
116
116
  : html``}
117
+ ${this.renderDescription()}
117
118
  </div>
118
119
  `;
119
120
  }