@design.estate/dees-catalog 3.74.2 → 3.76.0

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 (77) hide show
  1. package/dist_bundle/bundle.js +142 -148
  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.js +2 -8
  8. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +3 -2
  9. package/dist_ts_web/elements/00group-input/dees-input-datepicker/template.js +3 -2
  10. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +2 -1
  11. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +3 -2
  12. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +3 -2
  13. package/dist_ts_web/elements/00group-input/dees-input-fileupload/demo.js +10 -9
  14. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.js +7 -6
  15. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +3 -2
  16. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -11
  17. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.js +7 -6
  18. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +3 -2
  19. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.js +5 -4
  20. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +3 -2
  21. package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.js +7 -6
  22. package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.js +3 -2
  23. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +2 -10
  24. package/dist_ts_web/elements/00group-input/dees-input-richtext/styles.js +1 -8
  25. package/dist_ts_web/elements/00group-input/dees-input-richtext/template.js +2 -2
  26. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +2 -12
  27. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +5 -4
  28. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +3 -2
  29. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +2 -8
  30. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.js +10 -9
  31. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +3 -2
  32. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +4 -3
  33. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -2
  34. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.d.ts +1 -1
  35. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.demo.js +12 -12
  36. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +12 -12
  37. package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.d.ts +1 -0
  38. package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.js +18 -3
  39. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +2 -10
  40. package/dist_watch/bundle.js +140 -146
  41. package/dist_watch/bundle.js.map +3 -3
  42. package/package.json +1 -1
  43. package/ts_web/00_commitinfo_data.ts +1 -1
  44. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +6 -6
  45. package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +4 -4
  46. package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +20 -0
  47. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -7
  48. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +2 -1
  49. package/ts_web/elements/00group-input/dees-input-datepicker/template.ts +2 -1
  50. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +1 -0
  51. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +2 -1
  52. package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +2 -1
  53. package/ts_web/elements/00group-input/dees-input-fileupload/demo.ts +9 -8
  54. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.ts +6 -5
  55. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +2 -1
  56. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -10
  57. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.ts +6 -5
  58. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +2 -1
  59. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.ts +4 -3
  60. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +2 -1
  61. package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.ts +6 -5
  62. package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts +2 -1
  63. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +1 -9
  64. package/ts_web/elements/00group-input/dees-input-richtext/styles.ts +0 -7
  65. package/ts_web/elements/00group-input/dees-input-richtext/template.ts +1 -1
  66. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +1 -11
  67. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +4 -3
  68. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +2 -1
  69. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +1 -7
  70. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.ts +9 -8
  71. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +2 -1
  72. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +3 -2
  73. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -1
  74. package/ts_web/elements/00group-layout/dees-label/dees-label.demo.ts +11 -11
  75. package/ts_web/elements/00group-layout/dees-label/dees-label.ts +3 -3
  76. package/ts_web/elements/00group-layout/dees-tile/dees-tile.ts +11 -1
  77. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +1 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "3.74.2",
3
+ "version": "3.76.0",
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.74.2',
6
+ version: '3.76.0',
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
  */
@@ -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
 
@@ -72,6 +72,7 @@ export const demoFunc = () => html`
72
72
  <div class="input-group">
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' },
@@ -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
  }
@@ -59,14 +59,15 @@ export const demoFunc = () => html`
59
59
  <div class="demo-stack">
60
60
  <dees-input-fileupload
61
61
  .label=${'Attachments'}
62
- .description=${'Upload supporting documents for your request'}
62
+ .infoText=${'Upload supporting documents for your request'}
63
+ .description=${'Accepted formats: images, PDF, and ZIP archives up to 10MB'}
63
64
  .accept=${'image/*,.pdf,.zip'}
64
65
  .maxSize=${10 * 1024 * 1024}
65
66
  ></dees-input-fileupload>
66
67
 
67
68
  <dees-input-fileupload
68
69
  .label=${'Brand assets'}
69
- .description=${'Upload high-resolution imagery (JPG/PNG)'}
70
+ .infoText=${'Upload high-resolution imagery (JPG/PNG)'}
70
71
  .accept=${'image/jpeg,image/png'}
71
72
  .multiple=${false}
72
73
  .maxSize=${5 * 1024 * 1024}
@@ -77,14 +78,14 @@ export const demoFunc = () => html`
77
78
  <div class="demo-stack">
78
79
  <dees-input-fileupload
79
80
  .label=${'Audio uploads'}
80
- .description=${'Share podcast drafts (MP3/WAV, max 25MB each)'}
81
+ .infoText=${'Share podcast drafts (MP3/WAV, max 25MB each)'}
81
82
  .accept=${'audio/*'}
82
83
  .maxSize=${25 * 1024 * 1024}
83
84
  ></dees-input-fileupload>
84
85
 
85
86
  <dees-input-fileupload
86
87
  .label=${'Disabled example'}
87
- .description=${'Uploader is disabled while moderation is pending'}
88
+ .infoText=${'Uploader is disabled while moderation is pending'}
88
89
  .disabled=${true}
89
90
  ></dees-input-fileupload>
90
91
  </div>
@@ -100,7 +101,7 @@ export const demoFunc = () => html`
100
101
  <div class="demo-stack">
101
102
  <dees-input-text
102
103
  .label=${'Project name'}
103
- .description=${'How should we refer to this project internally?'}
104
+ .infoText=${'How should we refer to this project internally?'}
104
105
  .required=${true}
105
106
  .key=${'projectName'}
106
107
  ></dees-input-text>
@@ -114,7 +115,7 @@ export const demoFunc = () => html`
114
115
 
115
116
  <dees-input-fileupload
116
117
  .label=${'Statement of work'}
117
- .description=${'Upload a signed statement of work (PDF, max 15MB)'}
118
+ .infoText=${'Upload a signed statement of work (PDF, max 15MB)'}
118
119
  .required=${true}
119
120
  .accept=${'application/pdf'}
120
121
  .maxSize=${15 * 1024 * 1024}
@@ -124,7 +125,7 @@ export const demoFunc = () => html`
124
125
 
125
126
  <dees-input-fileupload
126
127
  .label=${'Creative references'}
127
- .description=${'Optional. Upload up to five visual references'}
128
+ .infoText=${'Optional. Upload up to five visual references'}
128
129
  .accept=${'image/*'}
129
130
  .maxFiles=${5}
130
131
  .maxSize=${8 * 1024 * 1024}
@@ -133,7 +134,7 @@ export const demoFunc = () => html`
133
134
 
134
135
  <dees-input-text
135
136
  .label=${'Notes'}
136
- .description=${'Add optional context for reviewers'}
137
+ .infoText=${'Add optional context for reviewers'}
137
138
  .inputType=${'textarea'}
138
139
  .key=${'notes'}
139
140
  ></dees-input-text>
@@ -33,12 +33,13 @@ export const demoFunc = () => html`
33
33
  <div class="input-group">
34
34
  <dees-input-iban
35
35
  .label=${'Bank Account IBAN'}
36
- .description=${'Enter your International Bank Account Number'}
36
+ .infoText=${'Enter your International Bank Account Number'}
37
+ .description=${'Your IBAN can be found on your bank statement'}
37
38
  ></dees-input-iban>
38
39
 
39
40
  <dees-input-iban
40
41
  .label=${'Verified IBAN'}
41
- .description=${'This IBAN has been verified'}
42
+ .infoText=${'This IBAN has been verified'}
42
43
  .value=${'DE89370400440532013000'}
43
44
  ></dees-input-iban>
44
45
  </div>
@@ -64,13 +65,13 @@ export const demoFunc = () => html`
64
65
  <div class="input-group">
65
66
  <dees-input-iban
66
67
  .label=${'Payment Account'}
67
- .description=${'Required for processing payments'}
68
+ .infoText=${'Required for processing payments'}
68
69
  .required=${true}
69
70
  ></dees-input-iban>
70
71
 
71
72
  <dees-input-iban
72
73
  .label=${'Locked IBAN'}
73
- .description=${'This IBAN cannot be changed'}
74
+ .infoText=${'This IBAN cannot be changed'}
74
75
  .value=${'FR1420041010050500013M02606'}
75
76
  .disabled=${true}
76
77
  ></dees-input-iban>
@@ -81,7 +82,7 @@ export const demoFunc = () => html`
81
82
  <dees-form>
82
83
  <dees-input-text .label=${'Recipient Name'} .required=${true}></dees-input-text>
83
84
  <dees-input-iban .label=${'Recipient IBAN'} .required=${true}></dees-input-iban>
84
- <dees-input-text .label=${'Transfer Reference'} .description=${'Optional reference for the transfer'}></dees-input-text>
85
+ <dees-input-text .label=${'Transfer Reference'} .infoText=${'Optional reference for the transfer'}></dees-input-text>
85
86
  <dees-input-text .label=${'Amount'} .inputType=${'number'} .required=${true}></dees-input-text>
86
87
  </dees-form>
87
88
  </dees-panel>
@@ -44,7 +44,7 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
44
44
  public render(): TemplateResult {
45
45
  return html`
46
46
  <div class="input-wrapper">
47
- <dees-label .label=${this.label || 'IBAN'} .description=${this.description}></dees-label>
47
+ <dees-label .label=${this.label || 'IBAN'} .infoText=${this.infoText}></dees-label>
48
48
  <dees-input-text
49
49
  .value=${this.value}
50
50
  .disabled=${this.disabled}
@@ -64,6 +64,7 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
64
64
  this.validateIban(eventArg);
65
65
  }}
66
66
  ></dees-input-text>
67
+ ${this.renderDescription()}
67
68
  </div>
68
69
  `;
69
70
  }
@@ -373,13 +373,6 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
373
373
  line-height: 1.4;
374
374
  }
375
375
 
376
- .description {
377
- color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
378
- font-size: 12px;
379
- margin-top: 4px;
380
- line-height: 1.4;
381
- }
382
-
383
376
  /* Scrollbar styling */
384
377
  .list-items::-webkit-scrollbar {
385
378
  width: 8px;
@@ -546,9 +539,7 @@ export class DeesInputList extends DeesInputBase<DeesInputList> {
546
539
  <div class="validation-message">${this.validationText}</div>
547
540
  ` : ''}
548
541
 
549
- ${this.description ? html`
550
- <div class="description">${this.description}</div>
551
- ` : ''}
542
+ ${this.renderDescription()}
552
543
  </div>
553
544
  `;
554
545
  }
@@ -55,7 +55,8 @@ export const demoFunc = () => html`
55
55
 
56
56
  <dees-input-multitoggle
57
57
  .label=${'Display Mode'}
58
- .description=${'Choose how content is displayed'}
58
+ .infoText=${'Choose how content is displayed'}
59
+ .description=${'This setting affects how items appear on your dashboard'}
59
60
  .options=${['List View', 'Grid View', 'Compact']}
60
61
  .selectedOption=${'Grid View'}
61
62
  ></dees-input-multitoggle>
@@ -64,7 +65,7 @@ export const demoFunc = () => html`
64
65
 
65
66
  <dees-input-multitoggle
66
67
  .label=${'T-Shirt Size'}
67
- .description=${'Select your preferred size'}
68
+ .infoText=${'Select your preferred size'}
68
69
  .options=${['XS', 'S', 'M', 'L', 'XL', 'XXL']}
69
70
  .selectedOption=${'M'}
70
71
  ></dees-input-multitoggle>
@@ -76,7 +77,7 @@ export const demoFunc = () => html`
76
77
 
77
78
  <dees-input-multitoggle
78
79
  .label=${'Notifications'}
79
- .description=${'Enable or disable push notifications'}
80
+ .infoText=${'Enable or disable push notifications'}
80
81
  .type=${'boolean'}
81
82
  .selectedOption=${'true'}
82
83
  ></dees-input-multitoggle>
@@ -85,7 +86,7 @@ export const demoFunc = () => html`
85
86
 
86
87
  <dees-input-multitoggle
87
88
  .label=${'Theme Mode'}
88
- .description=${'Switch between light and dark theme'}
89
+ .infoText=${'Switch between light and dark theme'}
89
90
  .type=${'boolean'}
90
91
  .booleanTrueName=${'Dark'}
91
92
  .booleanFalseName=${'Light'}
@@ -134,7 +135,7 @@ export const demoFunc = () => html`
134
135
 
135
136
  <dees-input-multitoggle
136
137
  .label=${'Account Type'}
137
- .description=${'This setting is locked'}
138
+ .infoText=${'This setting is locked'}
138
139
  .options=${['Free', 'Pro', 'Enterprise']}
139
140
  .selectedOption=${'Enterprise'}
140
141
  .disabled=${true}
@@ -146,7 +146,7 @@ export class DeesInputMultitoggle extends DeesInputBase<DeesInputMultitoggle> {
146
146
  public render(): TemplateResult {
147
147
  return html`
148
148
  <div class="input-wrapper">
149
- <dees-label .label=${this.label} .description=${this.description}></dees-label>
149
+ <dees-label .label=${this.label} .infoText=${this.infoText}></dees-label>
150
150
  <div class="mainbox">
151
151
  <div class="selections">
152
152
  <div class="indicator"></div>
@@ -158,6 +158,7 @@ export class DeesInputMultitoggle extends DeesInputBase<DeesInputMultitoggle> {
158
158
  )}
159
159
  </div>
160
160
  </div>
161
+ ${this.renderDescription()}
161
162
  </div>
162
163
  `;
163
164
  }
@@ -33,13 +33,14 @@ export const demoFunc = () => html`
33
33
  <div class="input-group">
34
34
  <dees-input-phone
35
35
  .label=${'Phone Number'}
36
- .description=${'Enter your phone number with country code'}
36
+ .infoText=${'Enter your phone number with country code'}
37
+ .description=${'Include country code for international numbers'}
37
38
  .value=${'5551234567'}
38
39
  ></dees-input-phone>
39
40
 
40
41
  <dees-input-phone
41
42
  .label=${'Contact Phone'}
42
- .description=${'Required for account verification'}
43
+ .infoText=${'Required for account verification'}
43
44
  .required=${true}
44
45
  .placeholder=${'+1 (555) 000-0000'}
45
46
  ></dees-input-phone>
@@ -66,7 +67,7 @@ export const demoFunc = () => html`
66
67
  <div class="input-group">
67
68
  <dees-input-phone
68
69
  .label=${'International Contact'}
69
- .description=${'Automatically formats international numbers'}
70
+ .infoText=${'Automatically formats international numbers'}
70
71
  .value=${'441234567890'}
71
72
  ></dees-input-phone>
72
73
 
@@ -47,7 +47,7 @@ export class DeesInputPhone extends DeesInputBase<DeesInputPhone> {
47
47
  public render(): TemplateResult {
48
48
  return html`
49
49
  <div class="input-wrapper">
50
- <dees-label .label=${this.label} .description=${this.description}></dees-label>
50
+ <dees-label .label=${this.label} .infoText=${this.infoText}></dees-label>
51
51
  <dees-input-text
52
52
  .value=${this.formattedPhone}
53
53
  .disabled=${this.disabled}
@@ -55,6 +55,7 @@ export class DeesInputPhone extends DeesInputBase<DeesInputPhone> {
55
55
  .placeholder=${this.placeholder}
56
56
  @input=${(event: InputEvent) => this.handlePhoneInput(event)}
57
57
  ></dees-input-text>
58
+ ${this.renderDescription()}
58
59
  </div>
59
60
  `;
60
61
  }
@@ -69,13 +69,14 @@ export const demoFunc = () => html`
69
69
  <div class="input-group">
70
70
  <dees-input-quantityselector
71
71
  .label=${'Quantity'}
72
- .description=${'Select the desired quantity'}
72
+ .infoText=${'Select the desired quantity'}
73
+ .description=${'Minimum order quantity is 1 item'}
73
74
  .value=${1}
74
75
  ></dees-input-quantityselector>
75
76
 
76
77
  <dees-input-quantityselector
77
78
  .label=${'Items in Cart'}
78
- .description=${'Adjust the quantity of items'}
79
+ .infoText=${'Adjust the quantity of items'}
79
80
  .value=${3}
80
81
  ></dees-input-quantityselector>
81
82
  </div>
@@ -180,14 +181,14 @@ export const demoFunc = () => html`
180
181
  <div class="input-group">
181
182
  <dees-input-quantityselector
182
183
  .label=${'Number of Licenses'}
183
- .description=${'Select how many licenses you need'}
184
+ .infoText=${'Select how many licenses you need'}
184
185
  .required=${true}
185
186
  .value=${1}
186
187
  ></dees-input-quantityselector>
187
188
 
188
189
  <dees-input-quantityselector
189
190
  .label=${'Fixed Quantity'}
190
- .description=${'This quantity cannot be changed'}
191
+ .infoText=${'This quantity cannot be changed'}
191
192
  .disabled=${true}
192
193
  .value=${5}
193
194
  ></dees-input-quantityselector>
@@ -204,7 +205,7 @@ export const demoFunc = () => html`
204
205
  ></dees-input-dropdown>
205
206
  <dees-input-quantityselector
206
207
  .label=${'Quantity'}
207
- .description=${'Number of licenses'}
208
+ .infoText=${'Number of licenses'}
208
209
  .value=${1}
209
210
  ></dees-input-quantityselector>
210
211
  <dees-input-text
@@ -129,7 +129,7 @@ export class DeesInputQuantitySelector extends DeesInputBase<DeesInputQuantitySe
129
129
  public render(): TemplateResult {
130
130
  return html`
131
131
  <div class="input-wrapper">
132
- ${this.label ? html`<dees-label .label=${this.label} .description=${this.description} .required=${this.required}></dees-label>` : ''}
132
+ ${this.label ? html`<dees-label .label=${this.label} .infoText=${this.infoText} .required=${this.required}></dees-label>` : ''}
133
133
  <div
134
134
  class="quantity-container ${this.disabled ? 'disabled' : ''}"
135
135
  data-min="${this.value <= 0}"
@@ -162,6 +162,7 @@ export class DeesInputQuantitySelector extends DeesInputBase<DeesInputQuantitySe
162
162
  aria-label="Increase quantity"
163
163
  >+</div>
164
164
  </div>
165
+ ${this.renderDescription()}
165
166
  </div>
166
167
  `;
167
168
  }
@@ -189,14 +189,6 @@ export class DeesInputRadiogroup extends DeesInputBase<string | object> {
189
189
  line-height: 20px;
190
190
  }
191
191
 
192
- .description-text {
193
- font-size: 13px;
194
- color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
195
- margin-top: 10px;
196
- line-height: 1.5;
197
- letter-spacing: -0.003em;
198
- }
199
-
200
192
  /* Validation styles */
201
193
  :host([validationState="invalid"]) .radio-circle {
202
194
  border-color: ${cssManager.bdTheme('hsl(0 72.2% 50.6%)', 'hsl(0 62.8% 30.6%)')};
@@ -256,7 +248,7 @@ export class DeesInputRadiogroup extends DeesInputBase<string | object> {
256
248
  `;
257
249
  })}
258
250
  </div>
259
- ${this.description ? html`<div class="description-text">${this.description}</div>` : ''}
251
+ ${this.renderDescription()}
260
252
  </div>
261
253
  `;
262
254
  }
@@ -278,13 +278,6 @@ export const richtextStyles = [
278
278
  border-color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
279
279
  }
280
280
 
281
- .description {
282
- margin-top: 8px;
283
- font-size: 12px;
284
- color: ${cssManager.bdTheme('hsl(215.4 16.3% 46.9%)', 'hsl(215 20.2% 65.1%)')};
285
- line-height: 1.4;
286
- }
287
-
288
281
  :host([disabled]) dees-tile {
289
282
  opacity: 0.6;
290
283
  cursor: not-allowed;
@@ -26,7 +26,7 @@ export const renderRichtext = (component: DeesInputRichtext): TemplateResult =>
26
26
  `
27
27
  : ''}
28
28
  </dees-tile>
29
- ${component.description ? html`<div class="description">${component.description}</div>` : ''}
29
+ ${component.renderDescription()}
30
30
  </div>
31
31
  `;
32
32
 
@@ -210,14 +210,6 @@ export class DeesInputTags extends DeesInputBase<DeesInputTags> {
210
210
  line-height: 1.5;
211
211
  }
212
212
 
213
- /* Description styles */
214
- .description {
215
- color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
216
- font-size: 13px;
217
- margin-top: 6px;
218
- line-height: 1.5;
219
- }
220
-
221
213
  /* Scrollbar styling */
222
214
  .suggestions-dropdown::-webkit-scrollbar {
223
215
  width: 8px;
@@ -302,9 +294,7 @@ export class DeesInputTags extends DeesInputBase<DeesInputTags> {
302
294
  <div class="validation-message">${this.validationText}</div>
303
295
  ` : ''}
304
296
 
305
- ${this.description ? html`
306
- <div class="description">${this.description}</div>
307
- ` : ''}
297
+ ${this.renderDescription()}
308
298
  </div>
309
299
  `;
310
300
  }