@design.estate/dees-catalog 1.0.243 → 1.0.246
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 +502 -317
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00colors.d.ts +10 -0
- package/dist_ts_web/elements/00colors.js +11 -0
- package/dist_ts_web/elements/00plugins.d.ts +4 -0
- package/dist_ts_web/elements/00plugins.js +7 -0
- package/dist_ts_web/elements/dees-contextmenu.d.ts +1 -1
- package/dist_ts_web/elements/dees-contextmenu.demo.js +2 -2
- package/dist_ts_web/elements/dees-contextmenu.js +8 -5
- package/dist_ts_web/elements/dees-dataview-statusobject.js +24 -3
- package/dist_ts_web/elements/dees-form.demo.js +12 -2
- package/dist_ts_web/elements/dees-icon.d.ts +2 -0
- package/dist_ts_web/elements/dees-icon.js +4 -2
- package/dist_ts_web/elements/dees-input-fileupload.js +83 -33
- package/dist_ts_web/elements/dees-input-multitoggle.d.ts +1 -0
- package/dist_ts_web/elements/dees-input-multitoggle.js +32 -9
- package/dist_ts_web/elements/dees-input-text.js +5 -5
- package/dist_ts_web/elements/dees-input-typelist.d.ts +1 -0
- package/dist_ts_web/elements/dees-input-typelist.js +12 -4
- package/dist_ts_web/elements/dees-mobilenavigation.d.ts +1 -1
- package/dist_ts_web/elements/dees-mobilenavigation.js +2 -2
- package/dist_ts_web/elements/dees-modal.d.ts +1 -1
- package/dist_ts_web/elements/dees-modal.js +24 -7
- package/dist_ts_web/elements/dees-progressbar.d.ts +10 -1
- package/dist_ts_web/elements/dees-progressbar.demo.d.ts +1 -0
- package/dist_ts_web/elements/dees-progressbar.demo.js +10 -0
- package/dist_ts_web/elements/dees-progressbar.js +94 -2
- package/dist_ts_web/elements/dees-stepper.js +20 -3
- package/dist_ts_web/elements/dees-table.demo.js +2 -2
- package/dist_ts_web/elements/dees-table.js +22 -5
- package/dist_ts_web/elements/dees-updater.d.ts +3 -2
- package/dist_ts_web/elements/dees-updater.demo.d.ts +1 -1
- package/dist_ts_web/elements/dees-updater.demo.js +6 -2
- package/dist_ts_web/elements/dees-updater.js +46 -33
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_watch/bundle.js +2973 -2106
- package/dist_watch/bundle.js.map +4 -4
- package/package.json +5 -5
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00colors.ts +11 -0
- package/ts_web/elements/dees-contextmenu.demo.ts +1 -1
- package/ts_web/elements/dees-contextmenu.ts +7 -4
- package/ts_web/elements/dees-dataview-statusobject.ts +24 -2
- package/ts_web/elements/dees-form.demo.ts +11 -1
- package/ts_web/elements/dees-icon.ts +4 -0
- package/ts_web/elements/dees-input-fileupload.ts +90 -35
- package/ts_web/elements/dees-input-multitoggle.ts +36 -9
- package/ts_web/elements/dees-input-text.ts +4 -4
- package/ts_web/elements/dees-input-typelist.ts +13 -3
- package/ts_web/elements/dees-mobilenavigation.ts +1 -1
- package/ts_web/elements/dees-modal.ts +24 -6
- package/ts_web/elements/dees-progressbar.demo.ts +11 -0
- package/ts_web/elements/dees-progressbar.ts +95 -0
- package/ts_web/elements/dees-stepper.ts +20 -2
- package/ts_web/elements/dees-table.demo.ts +1 -1
- package/ts_web/elements/dees-table.ts +21 -4
- package/ts_web/elements/dees-updater.demo.ts +5 -2
- package/ts_web/elements/dees-updater.ts +53 -35
- package/ts_web/elements/index.ts +1 -0
- /package/ts_web/elements/{plugins.ts → 00plugins.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.246",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "website for lossless.com",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@design.estate/dees-domtools": "^2.0.55",
|
|
13
13
|
"@design.estate/dees-element": "^2.0.33",
|
|
14
|
-
"@design.estate/dees-wcctools": "^1.0.
|
|
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.
|
|
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.
|
|
29
|
+
"@git.zone/tsbundle": "^2.0.15",
|
|
30
30
|
"@git.zone/tstest": "^1.0.77",
|
|
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.
|
|
34
|
+
"@types/node": "^20.11.5"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
37
|
"ts/**/*",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import * as colors from './00colors.js';
|
|
2
|
+
import * as plugins from './00plugins.js';
|
|
1
3
|
import { demoFunc } from './dees-contextmenu.demo.js';
|
|
2
|
-
import * as plugins from './plugins.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', '#
|
|
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(
|
|
136
|
+
background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
|
|
134
137
|
}
|
|
135
138
|
|
|
136
139
|
.mainbox .menuitem:active {
|
|
@@ -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,7 @@ 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
|
+
cursor: default;
|
|
37
41
|
}
|
|
38
42
|
|
|
39
43
|
.heading {
|
|
@@ -69,7 +73,20 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
69
73
|
padding: 4px;
|
|
70
74
|
border-radius: 3px;
|
|
71
75
|
margin-right: 16px;
|
|
72
|
-
color: #ffffff80
|
|
76
|
+
color: #ffffff80;
|
|
77
|
+
user-select: none;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.copyMain:hover {
|
|
81
|
+
background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
|
|
82
|
+
border: 1px solid ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
|
|
83
|
+
color: #fff;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.copyMain:active {
|
|
87
|
+
background: ${cssManager.bdTheme(colors.bright.blueActive, colors.dark.blueActive)};
|
|
88
|
+
border: 1px solid ${cssManager.bdTheme(colors.bright.blueActive, colors.dark.blueActive)};
|
|
89
|
+
color: #fff;
|
|
73
90
|
}
|
|
74
91
|
|
|
75
92
|
.statusdot.ok {
|
|
@@ -85,11 +102,16 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
85
102
|
}
|
|
86
103
|
|
|
87
104
|
.detail {
|
|
88
|
-
|
|
105
|
+
min-height: 60px;
|
|
89
106
|
align-items: center;
|
|
90
107
|
display: grid;
|
|
91
108
|
grid-template-columns: 40px auto;
|
|
92
109
|
border-top: 1px dotted ${cssManager.bdTheme('#999', '#282828')};
|
|
110
|
+
transition: all 0.2s;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.detail:hover {
|
|
114
|
+
background: #ffffff05;
|
|
93
115
|
}
|
|
94
116
|
|
|
95
117
|
.detail .detailsText {
|
|
@@ -35,7 +35,9 @@ export const demoFunc = () => html`
|
|
|
35
35
|
{ option: 'option 2', key: 'option2' },
|
|
36
36
|
{ option: 'option 3', key: 'option3' },
|
|
37
37
|
]}></dees-input-multiselect>
|
|
38
|
-
<dees-input-typelist
|
|
38
|
+
<dees-input-typelist
|
|
39
|
+
.label=${'a type list'}
|
|
40
|
+
></dees-input-typelist>
|
|
39
41
|
<dees-input-text .required="${true}" key="hello1" label="a text"></dees-input-text>
|
|
40
42
|
<dees-input-text .required="${true}" key="hello2" label="also a text"></dees-input-text>
|
|
41
43
|
<dees-input-text
|
|
@@ -50,6 +52,14 @@ export const demoFunc = () => html`
|
|
|
50
52
|
label="another text"
|
|
51
53
|
></dees-input-checkbox>
|
|
52
54
|
<dees-input-iban></dees-input-iban>
|
|
55
|
+
<dees-input-multitoggle
|
|
56
|
+
.label=${'multi select'}
|
|
57
|
+
.options=${['option 1', 'option 2', 'option 3']}
|
|
58
|
+
.selectedOption=${'option 1'}
|
|
59
|
+
></dees-input-multitoggle>
|
|
60
|
+
<dees-input-fileupload
|
|
61
|
+
.label=${'attachments'}
|
|
62
|
+
></dees-input-fileupload>
|
|
53
63
|
<dees-form-submit>Submit</dees-form-submit>
|
|
54
64
|
</dees-form>
|
|
55
65
|
</div>
|
|
@@ -50,11 +50,13 @@ import {
|
|
|
50
50
|
faEyeSlash as faEyeSlashSolid,
|
|
51
51
|
faFileInvoice as faFileInvoiceSolid,
|
|
52
52
|
faFileInvoiceDollar as faFileInvoiceDollarSolid,
|
|
53
|
+
faGear as faGearSolid,
|
|
53
54
|
faGrip as faGripSolid,
|
|
54
55
|
faMessage as faMessageSolid,
|
|
55
56
|
faMoneyCheckDollar as faMoneyCheckDollarSolid,
|
|
56
57
|
faMugHot as faMugHotSolid,
|
|
57
58
|
faMinus as faMinusSolid,
|
|
59
|
+
faPaperclip as faPaperclipSolid,
|
|
58
60
|
faPaste as faPasteSolid,
|
|
59
61
|
faPenToSquare as faPenToSquareSolid,
|
|
60
62
|
faPlus as faPlusSolid,
|
|
@@ -93,12 +95,14 @@ export const faIcons = {
|
|
|
93
95
|
eyeSlash: faEyeSlashSolid,
|
|
94
96
|
fileInvoice: faFileInvoiceSolid,
|
|
95
97
|
fileInvoiceDoller: faFileInvoiceDollarSolid,
|
|
98
|
+
gear: faGearSolid,
|
|
96
99
|
grip: faGripSolid,
|
|
97
100
|
message: faMessageRegular,
|
|
98
101
|
messageSolid: faMessageSolid,
|
|
99
102
|
moneyCheckDollar: faMoneyCheckDollarSolid,
|
|
100
103
|
mugHot: faMugHotSolid,
|
|
101
104
|
minus: faMinusSolid,
|
|
105
|
+
paperclip: faPaperclipSolid,
|
|
102
106
|
paste: faPasteRegular,
|
|
103
107
|
pasteSolid: faPasteSolid,
|
|
104
108
|
penToSquare: faPenToSquareSolid,
|
|
@@ -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 = () =>
|
|
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:
|
|
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:
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
145
|
-
|
|
146
|
-
${this.value.map(
|
|
147
|
-
|
|
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('.
|
|
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,9 +45,17 @@ export class DeesInputMultitoggle extends DeesElement {
|
|
|
40
45
|
cssManager.defaultStyles,
|
|
41
46
|
css`
|
|
42
47
|
:host {
|
|
43
|
-
|
|
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;
|
|
@@ -51,30 +64,37 @@ export class DeesInputMultitoggle extends DeesElement {
|
|
|
51
64
|
background: #333;
|
|
52
65
|
width: min-content;
|
|
53
66
|
border-radius: 20px;
|
|
54
|
-
height:
|
|
67
|
+
height: 32px;
|
|
68
|
+
border-top: 1px solid #ffffff10;
|
|
55
69
|
}
|
|
56
70
|
|
|
57
71
|
.option {
|
|
58
|
-
color: #
|
|
72
|
+
color: #ccc;
|
|
59
73
|
position: relative;
|
|
60
74
|
padding: 0px 16px;
|
|
61
|
-
line-height:
|
|
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:
|
|
95
|
+
height: 24px;
|
|
76
96
|
left: 4px;
|
|
77
|
-
top:
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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`;
|
|
@@ -100,14 +100,14 @@ export class DeesInputText extends DeesElement {
|
|
|
100
100
|
|
|
101
101
|
.label {
|
|
102
102
|
font-size: 14px;
|
|
103
|
-
margin-bottom:
|
|
103
|
+
margin-bottom: 8px;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
input {
|
|
107
|
-
margin-top:
|
|
107
|
+
margin-top: 0px;
|
|
108
108
|
background: ${cssManager.bdTheme('#fafafa', '#222')};
|
|
109
|
-
border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #
|
|
110
|
-
border-bottom: ${cssManager.bdTheme('1px solid #CCC', '1px solid #
|
|
109
|
+
border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #ffffff10')};
|
|
110
|
+
border-bottom: ${cssManager.bdTheme('1px solid #CCC', '1px solid #222')};
|
|
111
111
|
border-right: ${cssManager.bdTheme('1px solid #CCC', 'none')};
|
|
112
112
|
border-left: ${cssManager.bdTheme('1px solid #CCC', 'none')};
|
|
113
113
|
padding-left: 10px;
|
|
@@ -16,6 +16,14 @@ const { demoFunc } = await import('./dees-input-typelist.demo.js');
|
|
|
16
16
|
export class DeesInputTypelist extends DeesElement {
|
|
17
17
|
public static demo = demoFunc;
|
|
18
18
|
|
|
19
|
+
|
|
20
|
+
// INSTANCE
|
|
21
|
+
|
|
22
|
+
@property({
|
|
23
|
+
type: String,
|
|
24
|
+
})
|
|
25
|
+
public label: string;
|
|
26
|
+
|
|
19
27
|
constructor() {
|
|
20
28
|
super();
|
|
21
29
|
}
|
|
@@ -24,11 +32,13 @@ export class DeesInputTypelist extends DeesElement {
|
|
|
24
32
|
cssManager.defaultStyles,
|
|
25
33
|
css`
|
|
26
34
|
:host {
|
|
27
|
-
|
|
35
|
+
display: block;
|
|
36
|
+
color: ${cssManager.bdTheme('#333', '#fff')};
|
|
37
|
+
margin: 8px 0px 24px 0px;
|
|
28
38
|
}
|
|
29
39
|
.label {
|
|
30
40
|
font-size: 14px;
|
|
31
|
-
margin-bottom:
|
|
41
|
+
margin-bottom: 8px;
|
|
32
42
|
}
|
|
33
43
|
.mainbox {
|
|
34
44
|
border-radius: 3px;
|
|
@@ -74,7 +84,7 @@ export class DeesInputTypelist extends DeesElement {
|
|
|
74
84
|
|
|
75
85
|
public render(): TemplateResult {
|
|
76
86
|
return html`
|
|
77
|
-
<div class="label"
|
|
87
|
+
<div class="label">${this.label}</div>
|
|
78
88
|
<div class="mainbox">
|
|
79
89
|
<div class="tags" @click=${() => {
|
|
80
90
|
this.shadowRoot.querySelector('input').focus();
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as colors from './00colors.js';
|
|
2
|
+
import * as plugins from './00plugins.js';
|
|
3
|
+
|
|
2
4
|
import { demoFunc } from './dees-modal.demo.js';
|
|
3
5
|
import {
|
|
4
6
|
customElement,
|
|
@@ -123,19 +125,35 @@ export class DeesModal extends DeesElement {
|
|
|
123
125
|
padding: 16px;
|
|
124
126
|
}
|
|
125
127
|
.modal .bottomButtons {
|
|
126
|
-
display:
|
|
128
|
+
display: flex;
|
|
129
|
+
flex-direction: row;
|
|
127
130
|
border-top: 1px solid #222;
|
|
131
|
+
justify-content: flex-end;
|
|
128
132
|
}
|
|
129
133
|
|
|
130
134
|
.modal .bottomButtons .bottomButton {
|
|
131
|
-
|
|
132
|
-
|
|
135
|
+
margin: 8px 0px;
|
|
136
|
+
padding: 8px 12px;
|
|
137
|
+
border-radius: 4px;
|
|
138
|
+
line-height: 16px;
|
|
133
139
|
text-align: center;
|
|
134
140
|
font-size: 14px;
|
|
135
|
-
|
|
141
|
+
cursor: default;
|
|
142
|
+
user-select: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.modal .bottomButtons .bottomButton:first-child {
|
|
146
|
+
margin-left: 8px;
|
|
136
147
|
}
|
|
148
|
+
.modal .bottomButtons .bottomButton:last-child {
|
|
149
|
+
margin-right: 8px;
|
|
150
|
+
}
|
|
151
|
+
|
|
137
152
|
.modal .bottomButtons .bottomButton:hover {
|
|
138
|
-
background:
|
|
153
|
+
background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
|
|
154
|
+
}
|
|
155
|
+
.modal .bottomButtons .bottomButton:active {
|
|
156
|
+
background: ${cssManager.bdTheme(colors.bright.blueActive, colors.dark.blueActive)};
|
|
139
157
|
}
|
|
140
158
|
.modal .bottomButtons .bottomButton:last-child {
|
|
141
159
|
border-right: none;
|