@design.estate/dees-catalog 1.0.246 → 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 (39) hide show
  1. package/dist_bundle/bundle.js +612 -383
  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 +1 -1
  5. package/dist_ts_web/elements/dees-dataview-statusobject.demo.js +16 -6
  6. package/dist_ts_web/elements/dees-dataview-statusobject.js +9 -4
  7. package/dist_ts_web/elements/dees-form.demo.js +8 -5
  8. package/dist_ts_web/elements/dees-input-dropdown.js +8 -4
  9. package/dist_ts_web/elements/dees-input-multitoggle.js +2 -2
  10. package/dist_ts_web/elements/dees-input-text.d.ts +1 -0
  11. package/dist_ts_web/elements/dees-input-text.js +10 -8
  12. package/dist_ts_web/elements/dees-label.d.ts +8 -0
  13. package/dist_ts_web/elements/dees-label.demo.d.ts +1 -0
  14. package/dist_ts_web/elements/dees-label.demo.js +7 -0
  15. package/dist_ts_web/elements/dees-label.js +74 -0
  16. package/dist_ts_web/elements/dees-speechbubble.d.ts +10 -2
  17. package/dist_ts_web/elements/dees-speechbubble.demo.d.ts +1 -0
  18. package/dist_ts_web/elements/dees-speechbubble.demo.js +23 -0
  19. package/dist_ts_web/elements/dees-speechbubble.js +102 -37
  20. package/dist_ts_web/elements/dees-table.js +14 -5
  21. package/dist_ts_web/elements/index.d.ts +1 -0
  22. package/dist_ts_web/elements/index.js +2 -1
  23. package/dist_watch/bundle.js +24253 -4672
  24. package/dist_watch/bundle.js.map +4 -4
  25. package/package.json +3 -3
  26. package/ts_web/00_commitinfo_data.ts +1 -1
  27. package/ts_web/elements/dees-contextmenu.ts +1 -1
  28. package/ts_web/elements/dees-dataview-statusobject.demo.ts +47 -37
  29. package/ts_web/elements/dees-dataview-statusobject.ts +8 -3
  30. package/ts_web/elements/dees-form.demo.ts +7 -4
  31. package/ts_web/elements/dees-input-dropdown.ts +7 -3
  32. package/ts_web/elements/dees-input-multitoggle.ts +1 -1
  33. package/ts_web/elements/dees-input-text.ts +9 -7
  34. package/ts_web/elements/dees-label.demo.ts +7 -0
  35. package/ts_web/elements/dees-label.ts +70 -0
  36. package/ts_web/elements/dees-speechbubble.demo.ts +23 -0
  37. package/ts_web/elements/dees-speechbubble.ts +105 -32
  38. package/ts_web/elements/dees-table.ts +13 -4
  39. 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.246",
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,7 +9,7 @@
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
14
  "@design.estate/dees-wcctools": "^1.0.87",
15
15
  "@fortawesome/fontawesome-svg-core": "^6.5.1",
@@ -27,7 +27,7 @@
27
27
  "devDependencies": {
28
28
  "@git.zone/tsbuild": "^2.1.72",
29
29
  "@git.zone/tsbundle": "^2.0.15",
30
- "@git.zone/tstest": "^1.0.77",
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",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '1.0.246',
6
+ version: '1.0.247',
7
7
  description: 'website for lossless.com'
8
8
  }
@@ -159,7 +159,7 @@ export class DeesContextmenu extends DeesElement {
159
159
  this.destroy();
160
160
  }}>
161
161
  <dees-icon .iconFA=${'xmark'}></dees-icon
162
- >Deactivate Contextmenu globally.
162
+ >allow native context
163
163
  </div>
164
164
  ` : html``}
165
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>`;
@@ -37,6 +37,7 @@ export class DeesDataviewStatusobject extends DeesElement {
37
37
  box-shadow: 0px 1px 3px #00000030;
38
38
  min-height: 48px;
39
39
  color: ${cssManager.bdTheme('#000', '#fff')};
40
+ border-top: ${cssManager.bdTheme('none', '1px solid #ffffff10')};
40
41
  cursor: default;
41
42
  }
42
43
 
@@ -68,12 +69,12 @@ export class DeesDataviewStatusobject extends DeesElement {
68
69
  font-size: 10px;
69
70
  font-weight: 600;
70
71
  text-transform: uppercase;
71
- border: 1px solid ${cssManager.bdTheme('#999', '#444')};
72
+ border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#444')};
72
73
  text-align: center;
73
74
  padding: 4px;
74
75
  border-radius: 3px;
75
76
  margin-right: 16px;
76
- color: #ffffff80;
77
+ color: ${cssManager.bdTheme('#333', '#ffffff80')};
77
78
  user-select: none;
78
79
  }
79
80
 
@@ -106,7 +107,7 @@ export class DeesDataviewStatusobject extends DeesElement {
106
107
  align-items: center;
107
108
  display: grid;
108
109
  grid-template-columns: 40px auto;
109
- border-top: 1px dotted ${cssManager.bdTheme('#999', '#282828')};
110
+ border-top: 1px dotted ${cssManager.bdTheme('#e0e0e0', '#282828')};
110
111
  transition: all 0.2s;
111
112
  }
112
113
 
@@ -114,6 +115,10 @@ export class DeesDataviewStatusobject extends DeesElement {
114
115
  background: #ffffff05;
115
116
  }
116
117
 
118
+ .detail:active {
119
+ background: #ffffff10;
120
+ }
121
+
117
122
  .detail .detailsText {
118
123
  padding-top: 8px;
119
124
  padding-bottom: 8px;
@@ -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">
@@ -38,7 +39,9 @@ export const demoFunc = () => html`
38
39
  <dees-input-typelist
39
40
  .label=${'a type list'}
40
41
  ></dees-input-typelist>
41
- <dees-input-text .required="${true}" key="hello1" label="a text"></dees-input-text>
42
+ <dees-input-text .required="${true}" key="hello1" label="a text" .description=${`
43
+ This is an awesome description.
44
+ `}></dees-input-text>
42
45
  <dees-input-text .required="${true}" key="hello2" label="also a text"></dees-input-text>
43
46
  <dees-input-text
44
47
  .required="${true}"
@@ -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);
@@ -61,7 +61,7 @@ export class DeesInputMultitoggle extends DeesElement {
61
61
  display: flex;
62
62
  flex-direction: row;
63
63
  flex-wrap: nowrap;
64
- background: #333;
64
+ background: ${cssManager.bdTheme('#fff', '#222')};
65
65
  width: min-content;
66
66
  border-radius: 20px;
67
67
  height: 32px;
@@ -1,3 +1,5 @@
1
+ import * as colors from './00colors.js';
2
+
1
3
  import {
2
4
  customElement,
3
5
  DeesElement,
@@ -31,6 +33,11 @@ export class DeesInputText extends DeesElement {
31
33
  })
32
34
  public label: string;
33
35
 
36
+ @property({
37
+ type: String,
38
+ })
39
+ public description: string;
40
+
34
41
  @property({
35
42
  type: String,
36
43
  reflect: true,
@@ -98,11 +105,6 @@ export class DeesInputText extends DeesElement {
98
105
  color: ${cssManager.bdTheme('#333', '#ccc')};
99
106
  }
100
107
 
101
- .label {
102
- font-size: 14px;
103
- margin-bottom: 8px;
104
- }
105
-
106
108
  input {
107
109
  margin-top: 0px;
108
110
  background: ${cssManager.bdTheme('#fafafa', '#222')};
@@ -132,7 +134,7 @@ export class DeesInputText extends DeesElement {
132
134
 
133
135
  input:focus {
134
136
  outline: none;
135
- border-bottom: 1px solid #e4002b;
137
+ border-bottom: 1px solid ${cssManager.bdTheme( colors.bright.blueActive, colors.dark.blueActive)};
136
138
  cursor: text;
137
139
  }
138
140
 
@@ -192,7 +194,7 @@ export class DeesInputText extends DeesElement {
192
194
  `}
193
195
  </style>
194
196
  <div class="maincontainer">
195
- ${this.label ? html`<div class="label">${this.label}</div>` : html``}
197
+ <dees-label .label=${this.label} .description=${this.description}></dees-label>
196
198
  <input
197
199
  type="${this.isPasswordBool && !this.showPasswordBool ? 'password' : 'text'}"
198
200
  .value=${this.value}
@@ -0,0 +1,7 @@
1
+ import { html, cssManager } from '@design.estate/dees-element';
2
+
3
+ export const demoFunc = () => {
4
+ return html`
5
+ <dees-label .label=${'a label'}></dees-label>
6
+ `;
7
+ }
@@ -0,0 +1,70 @@
1
+ import * as plugins from './00plugins.js';
2
+ import * as colors from './00colors.js';
3
+
4
+ import {
5
+ customElement,
6
+ html,
7
+ css,
8
+ cssManager,
9
+ DeesElement,
10
+ property,
11
+ unsafeCSS,
12
+ query,
13
+ } from '@design.estate/dees-element';
14
+
15
+ import { demoFunc } from './dees-label.demo.js';
16
+
17
+ @customElement('dees-label')
18
+ export class DeesLabel extends DeesElement {
19
+ public static demo = demoFunc;
20
+
21
+ // INSTANCE
22
+
23
+ @property({
24
+ type: String,
25
+ reflect: true,
26
+ })
27
+ public label = '';
28
+
29
+ @property({
30
+ type: String,
31
+ reflect: true,
32
+ })
33
+ public description: string;
34
+
35
+ public static styles = [
36
+ cssManager.defaultStyles,
37
+ css`
38
+ .label {
39
+ color: ${cssManager.bdTheme('#333', '#ccc')};
40
+ font-size: 14px;
41
+ margin-bottom: 8px;
42
+ cursor: default;
43
+ user-select: none;
44
+ }
45
+ dees-icon {
46
+ display: inline-block;
47
+ font-size: 14px;
48
+ transform: translateY(1.5px);
49
+ }
50
+ `,
51
+ ];
52
+
53
+ public render() {
54
+ return html`
55
+ ${this.label
56
+ ? html`
57
+ <div class="label">
58
+ ${this.label}
59
+ ${this.description
60
+ ? html`
61
+ <dees-icon .iconFA=${'circleInfo'}></dees-icon>
62
+ <dees-speechbubble .text=${this.description}></dees-speechbubble>
63
+ `
64
+ : html``}
65
+ </div>
66
+ `
67
+ : html``}
68
+ `;
69
+ }
70
+ }
@@ -0,0 +1,23 @@
1
+ import { html, cssManager } from '@design.estate/dees-element';
2
+
3
+ export const demoFunc = () => {
4
+ return html`
5
+ <style>
6
+ .ref1 {
7
+ margin: 20px;
8
+ width: 10px;
9
+ height: 10px;
10
+ background-color: red;
11
+ }
12
+ </style>
13
+ <div class="ref1"></div>
14
+ <dees-speechbubble .text=${`
15
+ **This is a longer markdown text that can be used the write**
16
+ a longer description about whats going on the app
17
+
18
+ **This is a subheader**
19
+ and another text
20
+
21
+ `}></dees-speechbubble>
22
+ `;
23
+ };
@@ -1,3 +1,7 @@
1
+ import * as colors from './00colors.js';
2
+ import * as plugins from './00plugins.js';
3
+
4
+ import { demoFunc } from './dees-speechbubble.demo.js';
1
5
  import {
2
6
  customElement,
3
7
  html,
@@ -8,9 +12,11 @@ import {
8
12
  css,
9
13
  type CSSResult,
10
14
  unsafeCSS,
15
+ domtools,
16
+ directives,
17
+ unsafeHTML,
11
18
  } from '@design.estate/dees-element';
12
-
13
- import * as domtools from '@design.estate/dees-domtools';
19
+ import { DeesWindowLayer } from './dees-windowlayer.js';
14
20
 
15
21
  declare global {
16
22
  interface HTMLElementTagNameMap {
@@ -20,26 +26,53 @@ declare global {
20
26
 
21
27
  @customElement('dees-speechbubble')
22
28
  export class DeesSpeechbubble extends DeesElement {
23
- public static demo = () => html` <dees-speechbubble></dees-speechbubble> `;
29
+ public static demo = demoFunc;
30
+
31
+ // STATIC
32
+ public static async createAndShow(refElement: HTMLElement, textArg: string) {
33
+ const windowLayer = await DeesWindowLayer.createAndShow({
34
+ blur: false,
35
+ });
36
+ const speechbubble = document.createElement('dees-speechbubble');
37
+ speechbubble.windowLayer = windowLayer;
38
+ speechbubble.reffedElement = refElement;
39
+ speechbubble.text = textArg;
40
+ speechbubble.manifested = true;
41
+ windowLayer.appendChild(speechbubble);
42
+ windowLayer.style.pointerEvents = 'none';
43
+ (windowLayer.shadowRoot.querySelector('.windowOverlay') as HTMLElement).style.pointerEvents = 'none';
44
+ return speechbubble;
45
+ }
24
46
 
25
- @property()
47
+ // INSTANCE
48
+ @property({
49
+ type: Object,
50
+ })
51
+ reffedElement: HTMLElement;
52
+
53
+ @property({
54
+ type: String,
55
+ reflect: true,
56
+ })
26
57
  public text: string;
27
58
 
28
59
  @property({
29
60
  type: Boolean,
30
61
  })
31
- public disabled = false;
62
+ public wave: boolean = false;
32
63
 
33
64
  @property({
34
65
  type: Boolean,
35
66
  })
36
- public isHidden = false;
67
+ public manifested = false;
37
68
 
38
69
  @property({
39
70
  type: String,
40
71
  })
41
72
  public status: 'normal' | 'pending' | 'success' | 'error' = 'normal';
42
73
 
74
+ public windowLayer: DeesWindowLayer;
75
+
43
76
  constructor() {
44
77
  super();
45
78
  }
@@ -48,27 +81,22 @@ export class DeesSpeechbubble extends DeesElement {
48
81
  cssManager.defaultStyles,
49
82
  css`
50
83
  :host {
51
- position: relative;
52
- display: block;
53
84
  box-sizing: border-box;
54
85
  color: ${cssManager.bdTheme('#333', '#fff')};
55
86
  user-select: none;
56
87
  }
57
- :host([hidden]) {
58
- display: none;
59
- }
60
88
 
61
89
  .maincontainer {
90
+ position: relative;
62
91
  will-change: transform;
63
92
  transition: transform 0.2s;
64
93
  transform: translateX(0px);
65
- position: relative;
66
94
  transition: all 0.2s;
67
95
  margin-left: 0px;
68
- }
69
-
70
- .maincontainer:hover {
71
- transform: translateX(3px);
96
+ filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.2));
97
+ pointer-events: none;
98
+ opacity: 0;
99
+ transition: all 0.2s;
72
100
  }
73
101
 
74
102
  .arrow {
@@ -77,17 +105,17 @@ export class DeesSpeechbubble extends DeesElement {
77
105
  background: ${cssManager.bdTheme('#fff', '#333')};
78
106
  height: 15px;
79
107
  width: 15px;
80
- left: 4px;
81
- top: 5px;
82
- border-radius: 2px;
108
+ left: 2px;
109
+ top: 12px;
110
+ border-radius: 3px;
83
111
  }
84
112
 
85
113
  .speechbubble {
86
114
  background: ${cssManager.bdTheme('#fff', '#333')};
87
- padding: 0px 10px;
115
+ padding: 0px 16px;
88
116
  border-radius: 3px;
89
117
  position: absolute;
90
- line-height: 25px;
118
+ min-width: 240px;
91
119
  font-size: 12px;
92
120
  top: 0px;
93
121
  left: 8px;
@@ -132,25 +160,70 @@ export class DeesSpeechbubble extends DeesElement {
132
160
 
133
161
  public render(): TemplateResult {
134
162
  return html`
135
- <div class="maincontainer" @click=${this.handleClick}>
136
- <div class="arrow"></div>
137
- <div class="speechbubble"><span class="wave">👋</span> We build with launch.sh, and you can too.</div>
138
- </div>
163
+ ${this.manifested
164
+ ? html`
165
+ <div class="maincontainer" @click=${this.handleClick}>
166
+ <div class="arrow"></div>
167
+ <div class="speechbubble">
168
+ ${this.wave ? html`<span class="wave">👋</span>` : html``}
169
+ ${directives.resolve(this.getHtml())}
170
+ </div>
171
+ </div>
172
+ `
173
+ : html``}
139
174
  `;
140
175
  }
141
176
 
142
177
  public async handleClick() {
143
- if (this.disabled) {
144
- return;
178
+ console.log('speechbubble got clicked.');
179
+ }
180
+
181
+ public async firstUpdated() {
182
+ // lets make sure we have a ref
183
+ if (!this.reffedElement) {
184
+ this.reffedElement = this.previousElementSibling as HTMLElement;
145
185
  }
186
+ if (this.manifested) {
187
+ await this.updatePosition();
188
+ (this.shadowRoot.querySelector('.maincontainer') as HTMLElement).style.opacity = '1';
189
+ } else {
190
+ // lets make sure we instrument it
191
+ let speechbubble: DeesSpeechbubble;
192
+ this.reffedElement.addEventListener('mouseenter', async () => {
193
+ speechbubble = await DeesSpeechbubble.createAndShow(this.reffedElement, this.text);
194
+ });
195
+ this.reffedElement.addEventListener('mouseleave', () => {
196
+ speechbubble.destroy();
197
+ });
198
+ }
199
+ }
146
200
 
147
- globalThis.location.href = "https://launch.sh"
201
+ public async updatePosition() {
202
+ const refElement = this.reffedElement;
203
+ const boundingClientRect = refElement.getBoundingClientRect();
204
+ this.style.position = 'fixed';
205
+ this.style.top = `${boundingClientRect.top - 13}px`;
206
+ this.style.left = `${boundingClientRect.left + refElement.clientWidth + 4}px`;
207
+ if (boundingClientRect.right > 250) {
208
+ this.style.width = `250px`;
209
+ }
148
210
  }
149
211
 
150
- public async firstUpdated() {
151
- if (!this.textContent) {
152
- this.textContent = 'Button';
153
- this.performUpdate();
212
+ public async getHtml(): Promise<any> {
213
+ if (!this.text) {
214
+ return '';
154
215
  }
216
+ const normalized = domtools.plugins.smartstring.normalize.standard(this.text);
217
+ const result = await domtools.plugins.smartmarkdown.SmartMarkdown.easyMarkdownToHtml(
218
+ normalized
219
+ );
220
+ return unsafeHTML(result);
221
+ }
222
+
223
+ public async show() {}
224
+
225
+ public async destroy() {
226
+ (this.shadowRoot.querySelector('.maincontainer') as HTMLElement).style.opacity = '0';
227
+ this.windowLayer.destroy();
155
228
  }
156
229
  }
@@ -218,6 +218,12 @@ export class DeesTable<T> extends DeesElement {
218
218
  margin-right: 8px;
219
219
  }
220
220
 
221
+ .searchGrid {
222
+ display: grid;
223
+ grid-gap: 16px;
224
+ grid-template-columns: 1fr 200px;
225
+ }
226
+
221
227
  table,
222
228
  .noDataSet {
223
229
  margin-top: 16px;
@@ -237,7 +243,6 @@ export class DeesTable<T> extends DeesElement {
237
243
  text-align: left;
238
244
  }
239
245
  tr:hover {
240
-
241
246
  }
242
247
  tr:hover td {
243
248
  background: ${cssManager.bdTheme('#22222210', '#ffffff10')};
@@ -369,7 +374,6 @@ export class DeesTable<T> extends DeesElement {
369
374
  }
370
375
 
371
376
  .footerActions .footerAction:hover dees-icon {
372
-
373
377
  }
374
378
  `,
375
379
  ];
@@ -410,8 +414,13 @@ export class DeesTable<T> extends DeesElement {
410
414
  </div>
411
415
  </div>
412
416
  <div class="headingSeparation"></div>
413
-
414
- <dees-input-text></dees-input-text>
417
+ <div class="searchGrid">
418
+ <dees-input-text .label=${'lucene syntax search'}></dees-input-text>
419
+ <dees-input-multitoggle
420
+ .label=${'search mode'}
421
+ .options=${['table', 'data', 'server']}
422
+ ></dees-input-multitoggle>
423
+ </div>
415
424
 
416
425
  <!-- the actual table -->
417
426
  <style></style>
@@ -18,6 +18,7 @@ export * from './dees-progressbar.js';
18
18
  export * from './dees-input-quantityselector.js';
19
19
  export * from './dees-input-radio.js';
20
20
  export * from './dees-input-text.js';
21
+ export * from './dees-label.js';
21
22
  export * from './dees-mobilenavigation.js';
22
23
  export * from './dees-modal.js';
23
24
  export * from './dees-input-multitoggle.js';