@design.estate/dees-catalog 1.0.245 → 1.0.247

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 (52) hide show
  1. package/dist_bundle/bundle.js +774 -410
  2. package/dist_bundle/bundle.js.map +4 -4
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  4. package/dist_ts_web/elements/dees-contextmenu.js +9 -6
  5. package/dist_ts_web/elements/dees-dataview-statusobject.demo.js +16 -6
  6. package/dist_ts_web/elements/dees-dataview-statusobject.js +31 -5
  7. package/dist_ts_web/elements/dees-form.demo.js +19 -6
  8. package/dist_ts_web/elements/dees-icon.d.ts +1 -0
  9. package/dist_ts_web/elements/dees-icon.js +3 -2
  10. package/dist_ts_web/elements/dees-input-dropdown.js +8 -4
  11. package/dist_ts_web/elements/dees-input-fileupload.js +83 -33
  12. package/dist_ts_web/elements/dees-input-multitoggle.d.ts +1 -0
  13. package/dist_ts_web/elements/dees-input-multitoggle.js +33 -10
  14. package/dist_ts_web/elements/dees-input-text.d.ts +1 -0
  15. package/dist_ts_web/elements/dees-input-text.js +13 -11
  16. package/dist_ts_web/elements/dees-input-typelist.d.ts +1 -0
  17. package/dist_ts_web/elements/dees-input-typelist.js +12 -4
  18. package/dist_ts_web/elements/dees-label.d.ts +8 -0
  19. package/dist_ts_web/elements/dees-label.demo.d.ts +1 -0
  20. package/dist_ts_web/elements/dees-label.demo.js +7 -0
  21. package/dist_ts_web/elements/dees-label.js +74 -0
  22. package/dist_ts_web/elements/dees-modal.js +23 -6
  23. package/dist_ts_web/elements/dees-speechbubble.d.ts +10 -2
  24. package/dist_ts_web/elements/dees-speechbubble.demo.d.ts +1 -0
  25. package/dist_ts_web/elements/dees-speechbubble.demo.js +23 -0
  26. package/dist_ts_web/elements/dees-speechbubble.js +102 -37
  27. package/dist_ts_web/elements/dees-stepper.js +20 -3
  28. package/dist_ts_web/elements/dees-table.js +33 -7
  29. package/dist_ts_web/elements/index.d.ts +1 -0
  30. package/dist_ts_web/elements/index.js +2 -1
  31. package/dist_watch/bundle.js +22813 -2490
  32. package/dist_watch/bundle.js.map +4 -4
  33. package/package.json +7 -7
  34. package/ts_web/00_commitinfo_data.ts +1 -1
  35. package/ts_web/elements/dees-contextmenu.ts +8 -5
  36. package/ts_web/elements/dees-dataview-statusobject.demo.ts +47 -37
  37. package/ts_web/elements/dees-dataview-statusobject.ts +31 -4
  38. package/ts_web/elements/dees-form.demo.ts +18 -5
  39. package/ts_web/elements/dees-icon.ts +2 -0
  40. package/ts_web/elements/dees-input-dropdown.ts +7 -3
  41. package/ts_web/elements/dees-input-fileupload.ts +90 -35
  42. package/ts_web/elements/dees-input-multitoggle.ts +37 -10
  43. package/ts_web/elements/dees-input-text.ts +12 -10
  44. package/ts_web/elements/dees-input-typelist.ts +13 -3
  45. package/ts_web/elements/dees-label.demo.ts +7 -0
  46. package/ts_web/elements/dees-label.ts +70 -0
  47. package/ts_web/elements/dees-modal.ts +23 -5
  48. package/ts_web/elements/dees-speechbubble.demo.ts +23 -0
  49. package/ts_web/elements/dees-speechbubble.ts +105 -32
  50. package/ts_web/elements/dees-stepper.ts +20 -2
  51. package/ts_web/elements/dees-table.ts +32 -6
  52. package/ts_web/elements/index.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "1.0.245",
3
+ "version": "1.0.247",
4
4
  "private": false,
5
5
  "description": "website for lossless.com",
6
6
  "main": "dist_ts_web/index.js",
@@ -9,9 +9,9 @@
9
9
  "author": "Lossless GmbH",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@design.estate/dees-domtools": "^2.0.55",
12
+ "@design.estate/dees-domtools": "^2.0.57",
13
13
  "@design.estate/dees-element": "^2.0.33",
14
- "@design.estate/dees-wcctools": "^1.0.85",
14
+ "@design.estate/dees-wcctools": "^1.0.87",
15
15
  "@fortawesome/fontawesome-svg-core": "^6.5.1",
16
16
  "@fortawesome/free-brands-svg-icons": "^6.5.1",
17
17
  "@fortawesome/free-regular-svg-icons": "^6.5.1",
@@ -21,17 +21,17 @@
21
21
  "@push.rocks/smartstring": "^4.0.13",
22
22
  "@tsclass/tsclass": "^4.0.46",
23
23
  "highlight.js": "11.9.0",
24
- "ibantools": "^4.3.8",
24
+ "ibantools": "^4.3.9",
25
25
  "pdfjs-dist": "^4.0.379"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@git.zone/tsbuild": "^2.1.72",
29
- "@git.zone/tsbundle": "^2.0.14",
30
- "@git.zone/tstest": "^1.0.77",
29
+ "@git.zone/tsbundle": "^2.0.15",
30
+ "@git.zone/tstest": "^1.0.86",
31
31
  "@git.zone/tswatch": "^2.0.21",
32
32
  "@push.rocks/projectinfo": "^5.0.2",
33
33
  "@push.rocks/tapbundle": "^5.0.15",
34
- "@types/node": "^20.10.8"
34
+ "@types/node": "^20.11.5"
35
35
  },
36
36
  "files": [
37
37
  "ts/**/*",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '1.0.245',
6
+ version: '1.0.247',
7
7
  description: 'website for lossless.com'
8
8
  }
@@ -1,5 +1,6 @@
1
- import { demoFunc } from './dees-contextmenu.demo.js';
1
+ import * as colors from './00colors.js';
2
2
  import * as plugins from './00plugins.js';
3
+ import { demoFunc } from './dees-contextmenu.demo.js';
3
4
  import {
4
5
  customElement,
5
6
  html,
@@ -110,16 +111,18 @@ export class DeesContextmenu extends DeesElement {
110
111
  color: ${cssManager.bdTheme('#222', '#ccc')};
111
112
  font-size: 14px;
112
113
  width: 200px;
113
- border: 1px solid ${cssManager.bdTheme('#fff', '#444')};
114
+ border: 1px solid ${cssManager.bdTheme('#fff', '#ffffff10')};
114
115
  min-height: 34px;
115
116
  border-radius: 3px;
116
117
  background: ${cssManager.bdTheme('#fff', '#222')};
117
118
  box-shadow: 0px 1px 4px ${cssManager.bdTheme('#00000020', '#000000')};
118
119
  user-select: none;
120
+ padding: 4px;
119
121
  }
120
122
 
121
123
  .mainbox .menuitem {
122
- padding: 8px;
124
+ padding: 4px 8px;
125
+ border-radius: 3px;
123
126
  }
124
127
 
125
128
  .mainbox .menuitem dees-icon {
@@ -130,7 +133,7 @@ export class DeesContextmenu extends DeesElement {
130
133
  }
131
134
 
132
135
  .mainbox .menuitem:hover {
133
- background: ${cssManager.bdTheme('#00000010', '#ffffff10')};
136
+ background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
134
137
  }
135
138
 
136
139
  .mainbox .menuitem:active {
@@ -156,7 +159,7 @@ export class DeesContextmenu extends DeesElement {
156
159
  this.destroy();
157
160
  }}>
158
161
  <dees-icon .iconFA=${'xmark'}></dees-icon
159
- >Deactivate Contextmenu globally.
162
+ >allow native context
160
163
  </div>
161
164
  ` : html``}
162
165
  </div>
@@ -1,39 +1,49 @@
1
- import { html } from '@design.estate/dees-element';
1
+ import { html, cssManager } from '@design.estate/dees-element';
2
2
  import * as tsclass from '@tsclass/tsclass';
3
3
 
4
- export const demoFunc = () => html`<dees-dataview-statusobject
5
- .statusObject=${{
6
- id: '1',
7
- name: 'Demo Item',
8
- combinedStatus: 'partly_ok',
9
- combinedStatusText: 'partly_ok',
10
- details: [
11
- {
12
- name: 'Detail 1',
13
- value: 'Value 1',
14
- status: 'ok',
15
- statusText: 'OK',
16
- },
17
- {
18
- name: 'Detail 2',
19
- value: 'Value 2',
20
- status: 'partly_ok',
21
- statusText: 'partly_ok',
22
- },
23
- {
24
- name: 'Detail 3',
25
- value: 'Value 3',
26
- status: 'not_ok',
27
- statusText: 'not_ok',
28
- },
29
- {
30
- name: 'Detail 4',
31
- value:
32
- 'Value 4 jhdkfjhalskdfjhfdjskalsdkfjhfdjskalskdjfhjdkslaksjdhfjdkslaskdfjhfjdkslaskdjfhjdskalskdjhfdjskalskdjfhdjskl',
33
- status: 'ok',
34
- statusText: 'OK',
35
- },
36
- ],
37
- } as tsclass.code.IStatusObject}
38
- >
39
- </dees-dataview-statusobject>`;
4
+ export const demoFunc = () => html` <style>
5
+ .demo {
6
+ background: ${cssManager.bdTheme('#eeeeeb', '#000000')};
7
+ display: block;
8
+ content: '';
9
+ padding: 40px;
10
+ }
11
+ </style>
12
+ <div class="demo">
13
+ <dees-dataview-statusobject
14
+ .statusObject=${{
15
+ id: '1',
16
+ name: 'Demo Item',
17
+ combinedStatus: 'partly_ok',
18
+ combinedStatusText: 'partly_ok',
19
+ details: [
20
+ {
21
+ name: 'Detail 1',
22
+ value: 'Value 1',
23
+ status: 'ok',
24
+ statusText: 'OK',
25
+ },
26
+ {
27
+ name: 'Detail 2',
28
+ value: 'Value 2',
29
+ status: 'partly_ok',
30
+ statusText: 'partly_ok',
31
+ },
32
+ {
33
+ name: 'Detail 3',
34
+ value: 'Value 3',
35
+ status: 'not_ok',
36
+ statusText: 'not_ok',
37
+ },
38
+ {
39
+ name: 'Detail 4',
40
+ value:
41
+ 'Value 4 jhdkfjhalskdfjhfdjskalsdkfjhfdjskalskdjfhjdkslaksjdhfjdkslaskdfjhfjdkslaskdjfhjdskalskdjhfdjskalskdjfhdjskl',
42
+ status: 'ok',
43
+ statusText: 'OK',
44
+ },
45
+ ],
46
+ } as tsclass.code.IStatusObject}
47
+ >
48
+ </dees-dataview-statusobject>
49
+ </div>`;
@@ -1,3 +1,6 @@
1
+ import * as colors from './00colors.js';
2
+ import * as plugins from './00plugins.js';
3
+
1
4
  import { demoFunc } from './dees-dataview-statusobject.demo.js';
2
5
  import {
3
6
  DeesElement,
@@ -34,6 +37,8 @@ export class DeesDataviewStatusobject extends DeesElement {
34
37
  box-shadow: 0px 1px 3px #00000030;
35
38
  min-height: 48px;
36
39
  color: ${cssManager.bdTheme('#000', '#fff')};
40
+ border-top: ${cssManager.bdTheme('none', '1px solid #ffffff10')};
41
+ cursor: default;
37
42
  }
38
43
 
39
44
  .heading {
@@ -64,12 +69,25 @@ export class DeesDataviewStatusobject extends DeesElement {
64
69
  font-size: 10px;
65
70
  font-weight: 600;
66
71
  text-transform: uppercase;
67
- border: 1px solid ${cssManager.bdTheme('#999', '#444')};
72
+ border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#444')};
68
73
  text-align: center;
69
74
  padding: 4px;
70
75
  border-radius: 3px;
71
76
  margin-right: 16px;
72
- color: #ffffff80
77
+ color: ${cssManager.bdTheme('#333', '#ffffff80')};
78
+ user-select: none;
79
+ }
80
+
81
+ .copyMain:hover {
82
+ background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
83
+ border: 1px solid ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
84
+ color: #fff;
85
+ }
86
+
87
+ .copyMain:active {
88
+ background: ${cssManager.bdTheme(colors.bright.blueActive, colors.dark.blueActive)};
89
+ border: 1px solid ${cssManager.bdTheme(colors.bright.blueActive, colors.dark.blueActive)};
90
+ color: #fff;
73
91
  }
74
92
 
75
93
  .statusdot.ok {
@@ -85,11 +103,20 @@ export class DeesDataviewStatusobject extends DeesElement {
85
103
  }
86
104
 
87
105
  .detail {
88
- minheight: 60px;
106
+ min-height: 60px;
89
107
  align-items: center;
90
108
  display: grid;
91
109
  grid-template-columns: 40px auto;
92
- border-top: 1px dotted ${cssManager.bdTheme('#999', '#282828')};
110
+ border-top: 1px dotted ${cssManager.bdTheme('#e0e0e0', '#282828')};
111
+ transition: all 0.2s;
112
+ }
113
+
114
+ .detail:hover {
115
+ background: #ffffff05;
116
+ }
117
+
118
+ .detail:active {
119
+ background: #ffffff10;
93
120
  }
94
121
 
95
122
  .detail .detailsText {
@@ -1,13 +1,14 @@
1
- import { html, domtools } from '@design.estate/dees-element';
1
+ import { html, domtools, cssManager } from '@design.estate/dees-element';
2
2
  import type { DeesForm } from './dees-form.js';
3
3
 
4
4
  export const demoFunc = () => html`
5
5
  <style>
6
6
  .demoContainer {
7
7
  max-width: 400px;
8
- margin: auto;
8
+ margin: 24px auto;
9
9
  padding: 16px;
10
- background: #111;
10
+ background: ${cssManager.bdTheme('#eeeeeb', '#111')};
11
+ box-shadow: 0px 1px 3px #00000030;
11
12
  }
12
13
  </style>
13
14
  <div class="demoContainer">
@@ -35,8 +36,12 @@ export const demoFunc = () => html`
35
36
  { option: 'option 2', key: 'option2' },
36
37
  { option: 'option 3', key: 'option3' },
37
38
  ]}></dees-input-multiselect>
38
- <dees-input-typelist></dees-input-typelist>
39
- <dees-input-text .required="${true}" key="hello1" label="a text"></dees-input-text>
39
+ <dees-input-typelist
40
+ .label=${'a type list'}
41
+ ></dees-input-typelist>
42
+ <dees-input-text .required="${true}" key="hello1" label="a text" .description=${`
43
+ This is an awesome description.
44
+ `}></dees-input-text>
40
45
  <dees-input-text .required="${true}" key="hello2" label="also a text"></dees-input-text>
41
46
  <dees-input-text
42
47
  .required="${true}"
@@ -50,6 +55,14 @@ export const demoFunc = () => html`
50
55
  label="another text"
51
56
  ></dees-input-checkbox>
52
57
  <dees-input-iban></dees-input-iban>
58
+ <dees-input-multitoggle
59
+ .label=${'multi select'}
60
+ .options=${['option 1', 'option 2', 'option 3']}
61
+ .selectedOption=${'option 1'}
62
+ ></dees-input-multitoggle>
63
+ <dees-input-fileupload
64
+ .label=${'attachments'}
65
+ ></dees-input-fileupload>
53
66
  <dees-form-submit>Submit</dees-form-submit>
54
67
  </dees-form>
55
68
  </div>
@@ -56,6 +56,7 @@ import {
56
56
  faMoneyCheckDollar as faMoneyCheckDollarSolid,
57
57
  faMugHot as faMugHotSolid,
58
58
  faMinus as faMinusSolid,
59
+ faPaperclip as faPaperclipSolid,
59
60
  faPaste as faPasteSolid,
60
61
  faPenToSquare as faPenToSquareSolid,
61
62
  faPlus as faPlusSolid,
@@ -101,6 +102,7 @@ export const faIcons = {
101
102
  moneyCheckDollar: faMoneyCheckDollarSolid,
102
103
  mugHot: faMugHotSolid,
103
104
  minus: faMinusSolid,
105
+ paperclip: faPaperclipSolid,
104
106
  paste: faPasteRegular,
105
107
  pasteSolid: faPasteSolid,
106
108
  penToSquare: faPenToSquareSolid,
@@ -89,7 +89,7 @@ export class DeesInputDropdown extends DeesElement {
89
89
 
90
90
  .label {
91
91
  font-size: 14px;
92
- margin-bottom: 4px;
92
+ margin-bottom: 8px;
93
93
  }
94
94
 
95
95
  .selectedBox {
@@ -102,9 +102,11 @@ export class DeesInputDropdown extends DeesElement {
102
102
  background: ${cssManager.bdTheme('#fafafa', '#222222')};
103
103
  box-shadow: ${cssManager.bdTheme('0px 1px 4px rgba(0,0,0,0.3)', 'none')};
104
104
  border-radius: 3px;
105
- border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #444')};
106
- border-bottom: ${cssManager.bdTheme('1px solid #CCC', '1px solid #333')};
105
+ border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #ffffff10')};
106
+ border-bottom: ${cssManager.bdTheme('1px solid #CCC', '1px solid #222')};
107
107
  transition: all 0.2s ease;
108
+ font-size: 16px;
109
+ color: ${cssManager.bdTheme('#222', '#ccc')};
108
110
  }
109
111
 
110
112
  .selectedBox:hover {
@@ -132,6 +134,8 @@ export class DeesInputDropdown extends DeesElement {
132
134
  padding: 4px 8px;
133
135
  position: absolute;
134
136
  user-select: none;
137
+ margin: 3px 0px 0px 0px;
138
+ border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #ffffff10')};
135
139
  }
136
140
  .selectionBox.top {
137
141
  transform: translate(0px, 4px);
@@ -1,3 +1,8 @@
1
+ import * as colors from './00colors.js';
2
+ import * as plugins from './00plugins.js';
3
+
4
+ import { DeesContextmenu } from './dees-contextmenu.js';
5
+
1
6
  import {
2
7
  customElement,
3
8
  DeesElement,
@@ -19,7 +24,8 @@ declare global {
19
24
 
20
25
  @customElement('dees-input-fileupload')
21
26
  export class DeesInputFileupload extends DeesElement {
22
- public static demo = () => html`<dees-input-fileupload .label=${'Attachments'}></dees-input-fileupload>`;
27
+ public static demo = () =>
28
+ html`<dees-input-fileupload .label=${'Attachments'}></dees-input-fileupload>`;
23
29
 
24
30
  // INSTANCE
25
31
  public changeSubject = new domtools.plugins.smartrx.rxjs.Subject();
@@ -70,6 +76,7 @@ export class DeesInputFileupload extends DeesElement {
70
76
  display: grid;
71
77
  margin: 10px 0px;
72
78
  margin-bottom: 24px;
79
+ color: ${cssManager.bdTheme('#333', '#ccc')};
73
80
  }
74
81
 
75
82
  .hidden {
@@ -77,13 +84,37 @@ export class DeesInputFileupload extends DeesElement {
77
84
  }
78
85
 
79
86
  .maincontainer {
87
+ position: relative;
88
+ border-radius: 3px;
89
+ padding: 8px;
90
+ background: ${cssManager.bdTheme('#fafafa', '#222222')};
80
91
  color: ${cssManager.bdTheme('#333', '#ccc')};
81
-
92
+ border-top: 1px solid #ffffff10;
93
+ }
94
+
95
+ .maincontainer::after {
96
+ top: 2px;
97
+ right: 2px;
98
+ left: 2px;
99
+ bottom: 2px;
100
+ transform: scale3d(0.98, 0.9, 1);
101
+ position: absolute;
102
+ content: '';
103
+ display: block;
104
+ border: 2px dashed rgba(255, 255, 255, 0);
105
+ transition: all 0.2s;
106
+ pointer-events: none;
107
+ background: #00000000;
108
+ }
109
+ .maincontainer.dragOver::after {
110
+ transform: scale3d(1, 1, 1);
111
+ border: 2px dashed rgba(255, 255, 255, 0.3);
112
+ background: #00000080;
82
113
  }
83
114
 
84
115
  .label {
85
116
  font-size: 14px;
86
- margin-bottom: 5px;
117
+ margin-bottom: 8px;
87
118
  }
88
119
 
89
120
  .uploadButton {
@@ -93,46 +124,50 @@ export class DeesInputFileupload extends DeesElement {
93
124
  background: ${cssManager.bdTheme('#fafafa', '#333333')};
94
125
  border-radius: 3px;
95
126
  text-align: center;
127
+ font-size: 14px;
128
+ cursor: default;
96
129
  }
97
130
 
98
131
  .uploadButton:hover {
99
132
  color: #fff;
100
- background: rgb(3, 155, 229);
101
- }
102
-
103
- .uploadButton::after {
104
- top: 2px;
105
- right: 2px;
106
- left: 2px;
107
- bottom: 2px;
108
- transform: scale3d(0.98, 0.9, 1);
109
- position: absolute;
110
- content: '';
111
- display: block;
112
- border: 2px dashed rgba(255, 255, 255, 0);
113
- transition: all 0.2s;
114
- }
115
- .uploadButton.dragOver::after {
116
- transform: scale3d(1, 1, 1);
117
- border: 2px dashed rgba(255, 255, 255, 0.3);
133
+ background: ${unsafeCSS(colors.dark.blue)};
118
134
  }
119
135
 
120
136
  .uploadCandidate {
137
+ display: grid;
138
+ grid-template-columns: 48px auto;
139
+ background: #333;
140
+ padding: 8px 8px 8px 0px;
141
+ margin-bottom: 8px;
121
142
  text-align: left;
122
- border-bottom: 1px dashed #444;
143
+ border-radius: 3px;
123
144
  color: ${cssManager.bdTheme('#666', '#ccc')};
124
- padding: 8px;
125
145
  font-family: 'Roboto', 'Inter', sans-serif;
126
- }
127
-
128
- .uploadButton:hover .uploadCandidate {
129
- color: ${cssManager.bdTheme('#fff', '#fff')};
130
- border-bottom: 1px dashed #fff;
146
+ cursor: default;
147
+ transition: all 0.2s;
148
+ border-top: 1px solid #ffffff10;
131
149
  }
132
150
 
133
151
  .uploadCandidate:last-child {
134
152
  margin-bottom: 8px;
135
153
  }
154
+
155
+ .uploadCandidate .icon {
156
+ display: flex;
157
+ align-items: center;
158
+ justify-content: center;
159
+ font-size: 16px;
160
+ }
161
+
162
+ .uploadCandidate:hover {
163
+ background: #393939;
164
+ }
165
+
166
+ .uploadCandidate .description {
167
+ font-size: 14px;
168
+ border-left: 1px solid #ffffff10;
169
+ padding-left: 8px;
170
+ }
136
171
  `,
137
172
  ];
138
173
 
@@ -141,10 +176,32 @@ export class DeesInputFileupload extends DeesElement {
141
176
  <div class="hidden">
142
177
  <input type="file"></div>
143
178
  </div>
144
- <div class="maincontainer">
145
- ${this.label ? html`<div class="label">${this.label}</div>` : null}
146
- ${this.value.map((fileArg) => html` <div class="uploadCandidate">${fileArg.name} | ${fileArg.size}</div> `)}
147
- <div class="uploadButton ${this.state === 'dragOver' ? 'dragOver' : ''}" @click=${this.openFileSelector}>
179
+ ${this.label ? html`<div class="label">${this.label}</div>` : null}
180
+ <div class="maincontainer ${this.state === 'dragOver' ? 'dragOver' : ''}">
181
+ ${this.value.map(
182
+ (fileArg) => html`
183
+ <div class="uploadCandidate" @contextmenu=${eventArg => {
184
+ DeesContextmenu.openContextMenuWithOptions(eventArg, [{
185
+ iconName: 'trash',
186
+ name: 'Remove',
187
+ action: async () => {
188
+ this.value.splice(this.value.indexOf(fileArg), 1);
189
+ this.requestUpdate();
190
+ }
191
+ }]);
192
+ }}>
193
+ <div class="icon">
194
+ <dees-icon .iconFA=${'paperclip'}></dees-icon>
195
+ </div>
196
+ <div class="description">
197
+ <span style="font-weight: 600">${fileArg.name}</span><br />
198
+ <span style="font-weight: 400">${fileArg.size}</span>
199
+ </div>
200
+ </div> `
201
+ )}
202
+ <div class="uploadButton" @click=${
203
+ this.openFileSelector
204
+ }>
148
205
  ${this.buttonText}
149
206
  </div>
150
207
  </div>
@@ -157,7 +214,6 @@ export class DeesInputFileupload extends DeesElement {
157
214
  this.state = 'idle';
158
215
  this.buttonText = 'Upload more files...';
159
216
  }
160
-
161
217
 
162
218
  public async updateValue(eventArg: Event) {
163
219
  const target: any = eventArg.target;
@@ -178,9 +234,8 @@ export class DeesInputFileupload extends DeesElement {
178
234
  target.value = '';
179
235
  });
180
236
 
181
-
182
237
  // lets handle drag and drop
183
- const dropArea = this.shadowRoot.querySelector('.uploadButton');
238
+ const dropArea = this.shadowRoot.querySelector('.maincontainer');
184
239
  const handlerFunction = (eventArg: DragEvent) => {
185
240
  eventArg.preventDefault();
186
241
  switch (eventArg.type) {
@@ -16,6 +16,11 @@ const { demoFunc } = await import('./dees-input-multitoggle.demo.js');
16
16
  export class DeesInputMultitoggle extends DeesElement {
17
17
  public static demo = demoFunc;
18
18
 
19
+ @property({
20
+ type: String,
21
+ })
22
+ public label: string;
23
+
19
24
  @property()
20
25
  type: 'boolean' | 'multi' | 'single' = 'multi';
21
26
 
@@ -40,41 +45,56 @@ export class DeesInputMultitoggle extends DeesElement {
40
45
  cssManager.defaultStyles,
41
46
  css`
42
47
  :host {
43
- color: ${cssManager.bdTheme('#333', '#fff')};
48
+ display: block;
49
+ color: ${cssManager.bdTheme('#333', '#ccc')};
44
50
  user-select: none;
51
+ margin: 8px 0px 24px 0px;
45
52
  }
53
+
54
+ .label {
55
+ font-size: 14px;
56
+ margin-bottom: 8px;
57
+ }
58
+
46
59
  .selections {
47
60
  position: relative;
48
61
  display: flex;
49
62
  flex-direction: row;
50
63
  flex-wrap: nowrap;
51
- background: #333;
64
+ background: ${cssManager.bdTheme('#fff', '#222')};
52
65
  width: min-content;
53
66
  border-radius: 20px;
54
- height: 40px;
67
+ height: 32px;
68
+ border-top: 1px solid #ffffff10;
55
69
  }
56
70
 
57
71
  .option {
58
- color: #CCC;
72
+ color: #ccc;
59
73
  position: relative;
60
74
  padding: 0px 16px;
61
- line-height: 40px;
75
+ line-height: 32px;
62
76
  cursor: default;
63
77
  width: min-content; /* Make the width as per the content */
64
78
  white-space: nowrap; /* Prevent text wrapping */
65
79
  transition: all 0.1s;
80
+ font-size: 14px;
81
+ transform: translateY(-1px);
66
82
  }
67
83
 
68
84
  .option:hover {
69
85
  color: #fff;
70
86
  }
71
87
 
88
+ .option.selected {
89
+ color: #fff;
90
+ }
91
+
72
92
  .indicator {
73
93
  opacity: 0;
74
94
  position: absolute;
75
- height: 32px;
95
+ height: 24px;
76
96
  left: 4px;
77
- top: 4px;
97
+ top: 3px;
78
98
  border-radius: 16px;
79
99
  background: #0050b9;
80
100
  min-width: 36px;
@@ -84,11 +104,16 @@ export class DeesInputMultitoggle extends DeesElement {
84
104
 
85
105
  public render(): TemplateResult {
86
106
  return html`
87
- <div class="label">MultiSelect</div>
107
+ ${this.label ? html`<div class="label">${this.label}</div>` : html``}
88
108
  <div class="mainbox">
89
109
  <div class="selections">
90
110
  <div class="indicator"></div>
91
- ${this.options.map((option) => html` <div class="option" @click=${() => this.handleSelection(option)}>${option}</div> `)}
111
+ ${this.options.map(
112
+ (option) =>
113
+ html`<div class="option ${option === this.selectedOption ? 'selected': ''}" @click=${() => this.handleSelection(option)}>
114
+ ${option}
115
+ </div> `
116
+ )}
92
117
  </div>
93
118
  </div>
94
119
  `;
@@ -108,7 +133,9 @@ export class DeesInputMultitoggle extends DeesElement {
108
133
 
109
134
  public async setIndicator() {
110
135
  const indicator: HTMLDivElement = this.shadowRoot.querySelector('.indicator');
111
- const option: HTMLDivElement = this.shadowRoot.querySelector(`.option:nth-child(${this.options.indexOf(this.selectedOption) + 2})`);
136
+ const option: HTMLDivElement = this.shadowRoot.querySelector(
137
+ `.option:nth-child(${this.options.indexOf(this.selectedOption) + 2})`
138
+ );
112
139
  if (indicator && option) {
113
140
  indicator.style.width = `${option.clientWidth - 8}px`;
114
141
  indicator.style.left = `${option.offsetLeft + 4}px`;