Compare commits

..

20 Commits

Author SHA1 Message Date
a55db621ef 1.0.201 2023-09-14 19:46:10 +02:00
c033bdfc3b fix(core): update 2023-09-14 19:46:09 +02:00
2610e56ec1 1.0.200 2023-09-14 19:43:27 +02:00
08aa9e3fe4 fix(core): update 2023-09-14 19:43:26 +02:00
411ae7ee07 1.0.199 2023-09-13 21:14:06 +02:00
41700c1eb1 fix(core): update 2023-09-13 21:14:05 +02:00
8d7bac9793 1.0.198 2023-09-13 21:13:48 +02:00
0229eefa4d fix(core): update 2023-09-13 21:13:47 +02:00
61f646743a 1.0.197 2023-09-13 19:15:54 +02:00
e3babde7e8 fix(core): update 2023-09-13 19:15:53 +02:00
c389e43e93 1.0.196 2023-09-13 18:12:02 +02:00
1511db4eea fix(core): update 2023-09-13 18:12:01 +02:00
d713756034 1.0.195 2023-09-13 16:46:01 +02:00
17d224332d fix(core): update 2023-09-13 16:46:00 +02:00
32dd5e769b 1.0.194 2023-09-13 16:25:55 +02:00
12ace00a90 fix(core): update 2023-09-13 16:25:54 +02:00
bbc09330c9 1.0.193 2023-09-13 13:41:57 +02:00
82ead7bd1a fix(core): update 2023-09-13 13:41:56 +02:00
f8f9b150b8 1.0.192 2023-09-13 01:37:03 +02:00
494e8b7e26 fix(core): update 2023-09-13 01:37:02 +02:00
18 changed files with 307 additions and 44 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@design.estate/dees-catalog", "name": "@design.estate/dees-catalog",
"version": "1.0.191", "version": "1.0.201",
"private": false, "private": false,
"description": "website for lossless.com", "description": "website for lossless.com",
"main": "dist_ts_web/index.js", "main": "dist_ts_web/index.js",
@ -24,7 +24,7 @@
"@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2",
"@push.rocks/smartpromise": "^4.0.3", "@push.rocks/smartpromise": "^4.0.3",
"@push.rocks/smartstring": "^4.0.9", "@push.rocks/smartstring": "^4.0.9",
"@tsclass/tsclass": "^4.0.42", "@tsclass/tsclass": "^4.0.43",
"highlight.js": "11.8.0", "highlight.js": "11.8.0",
"pdfjs-dist": "^3.10.111" "pdfjs-dist": "^3.10.111"
}, },

24
pnpm-lock.yaml generated
View File

@ -33,8 +33,8 @@ dependencies:
specifier: ^4.0.9 specifier: ^4.0.9
version: 4.0.9 version: 4.0.9
'@tsclass/tsclass': '@tsclass/tsclass':
specifier: ^4.0.42 specifier: ^4.0.43
version: 4.0.42 version: 4.0.43
highlight.js: highlight.js:
specifier: 11.8.0 specifier: 11.8.0
version: 11.8.0 version: 11.8.0
@ -139,7 +139,7 @@ packages:
'@pushrocks/smartsitemap': 2.0.1 '@pushrocks/smartsitemap': 2.0.1
'@pushrocks/smarttime': 4.0.1 '@pushrocks/smarttime': 4.0.1
'@pushrocks/webstore': 2.0.8 '@pushrocks/webstore': 2.0.8
'@tsclass/tsclass': 4.0.42 '@tsclass/tsclass': 4.0.43
'@types/express': 4.17.17 '@types/express': 4.17.17
body-parser: 1.20.2 body-parser: 1.20.2
cors: 2.8.5 cors: 2.8.5
@ -994,7 +994,7 @@ packages:
dependencies: dependencies:
'@pushrocks/smartdelay': 3.0.1 '@pushrocks/smartdelay': 3.0.1
'@pushrocks/smartpromise': 4.0.2 '@pushrocks/smartpromise': 4.0.2
'@tsclass/tsclass': 4.0.42 '@tsclass/tsclass': 4.0.43
dev: false dev: false
/@push.rocks/webstore@2.0.9: /@push.rocks/webstore@2.0.9:
@ -1174,7 +1174,7 @@ packages:
'@pushrocks/smartrequest': 2.0.15 '@pushrocks/smartrequest': 2.0.15
'@pushrocks/smartsitemap': 2.0.1 '@pushrocks/smartsitemap': 2.0.1
'@pushrocks/smarttime': 4.0.1 '@pushrocks/smarttime': 4.0.1
'@tsclass/tsclass': 4.0.42 '@tsclass/tsclass': 4.0.43
'@types/compression': 1.7.2 '@types/compression': 1.7.2
'@types/cors': 2.8.13 '@types/cors': 2.8.13
'@types/express': 4.17.17 '@types/express': 4.17.17
@ -1356,7 +1356,7 @@ packages:
'@pushrocks/smartpromise': 3.1.10 '@pushrocks/smartpromise': 3.1.10
'@pushrocks/smartpuppeteer': 2.0.2 '@pushrocks/smartpuppeteer': 2.0.2
'@pushrocks/smartunique': 3.0.3 '@pushrocks/smartunique': 3.0.3
'@tsclass/tsclass': 4.0.42 '@tsclass/tsclass': 4.0.43
'@types/express': 4.17.17 '@types/express': 4.17.17
express: 4.18.2 express: 4.18.2
pdf-merger-js: 3.4.0 pdf-merger-js: 3.4.0
@ -1682,10 +1682,10 @@ packages:
type-fest: 2.19.0 type-fest: 2.19.0
dev: true dev: true
/@tsclass/tsclass@4.0.42: /@tsclass/tsclass@4.0.43:
resolution: {integrity: sha512-mWZ8k3G7VL/dSNaJCv7mjbad6movf2rTE+1MdsXMoCxblZpJ3YzqlRsKm/JUQkxqF1H28q6m/L5BV42LfNZsiA==} resolution: {integrity: sha512-BGihF65KjD/pqQIrTUemff7OMvQi22FBZCti+7NHWIb7ZxtFrJsciEyAFQrx0de5GQWOFTwQx6HNKqwgkP2Mhg==}
dependencies: dependencies:
type-fest: 3.13.1 type-fest: 4.3.1
/@tsconfig/node10@1.0.9: /@tsconfig/node10@1.0.9:
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
@ -5731,9 +5731,9 @@ packages:
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
engines: {node: '>=12.20'} engines: {node: '>=12.20'}
/type-fest@3.13.1: /type-fest@4.3.1:
resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} resolution: {integrity: sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==}
engines: {node: '>=14.16'} engines: {node: '>=16'}
/type-is@1.6.18: /type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@design.estate/dees-catalog', name: '@design.estate/dees-catalog',
version: '1.0.191', version: '1.0.201',
description: 'website for lossless.com' description: 'website for lossless.com'
} }

View File

@ -0,0 +1,15 @@
import { html } from '@design.estate/dees-element';
export const demoFunc = () => html`
<dees-button>This is a slotted Text</dees-button>
<p>
<dees-button text="Highlighted: This text shows" type="highlighted">Highlighted</dees-button>
</p>
<p><dees-button type="discreet">This is discreete button</dees-button></p>
<p><dees-button disabled>This is a disabled button</dees-button></p>
<p><dees-button type="big">This is a slotted Text</dees-button></p>
<p><dees-button status="normal">Normal Status</dees-button></p>
<p><dees-button disabled status="pending">Pending Status</dees-button></p>
<p><dees-button disabled status="success">Success Status</dees-button></p>
<p><dees-button disabled status="error">Error Status</dees-button></p>
`;

View File

@ -1,3 +1,4 @@
import { demoFunc } from './dees-button.demo.js';
import { import {
customElement, customElement,
html, html,
@ -20,17 +21,7 @@ declare global {
@customElement('dees-button') @customElement('dees-button')
export class DeesButton extends DeesElement { export class DeesButton extends DeesElement {
public static demo = () => html` public static demo = demoFunc;
<dees-button>This is a slotted Text</dees-button>
<p><dees-button text="Highlighted: This text shows" type="highlighted">Highlighted</dees-button></p>
<p><dees-button type="discreet">This is discreete button</dees-button></p>
<p><dees-button disabled>This is a disabled button</dees-button></p>
<p><dees-button type="big">This is a slotted Text</dees-button></p>
<p><dees-button status="normal">Normal Status</dees-button></p>
<p><dees-button disabled status="pending">Pending Status</dees-button></p>
<p><dees-button disabled status="success">Success Status</dees-button></p>
<p><dees-button disabled status="error">Error Status</dees-button></p>
`;
@property({ @property({
reflect: true, reflect: true,

View File

@ -33,7 +33,7 @@ export const demoFunc = () => html`
}, },
}, },
]); ]);
}}>Hello</dees-button> }}>Right-Click for contextmenu</dees-button>
<dees-contextmenu class="withMargin"></dees-contextmenu> <dees-contextmenu class="withMargin"></dees-contextmenu>
<dees-contextmenu <dees-contextmenu
class="withMargin" class="withMargin"

View File

@ -31,7 +31,7 @@ export class DeesContextmenu extends DeesElement {
eventArg.preventDefault(); eventArg.preventDefault();
eventArg.stopPropagation(); eventArg.stopPropagation();
const contextMenu = new DeesContextmenu(); const contextMenu = new DeesContextmenu();
contextMenu.style.position = 'absolute'; contextMenu.style.position = 'fixed';
contextMenu.style.zIndex = '2000'; contextMenu.style.zIndex = '2000';
contextMenu.style.top = `${eventArg.clientY.toString()}px`; contextMenu.style.top = `${eventArg.clientY.toString()}px`;
contextMenu.style.left = `${eventArg.clientX.toString()}px`; contextMenu.style.left = `${eventArg.clientX.toString()}px`;

View File

@ -42,6 +42,7 @@ import {
faCircleInfo as faCircleInfoSolid, faCircleInfo as faCircleInfoSolid,
faCircleCheck as faCircleCheckSolid, faCircleCheck as faCircleCheckSolid,
faCircleXmark as faCircleXmarkSolid, faCircleXmark as faCircleXmarkSolid,
faClockRotateLeft as faClockRotateLeftSolid,
faCopy as faCopySolid, faCopy as faCopySolid,
faDesktop as faDesktopSolid, faDesktop as faDesktopSolid,
faEye as faEyeSolid, faEye as faEyeSolid,
@ -82,6 +83,8 @@ export const faIcons = {
circleCheckSolid: faCircleCheckSolid, circleCheckSolid: faCircleCheckSolid,
circleXmark: faCircleXmarkRegular, circleXmark: faCircleXmarkRegular,
circleXmarkSolid: faCircleXmarkSolid, circleXmarkSolid: faCircleXmarkSolid,
clockRotateLeft: faClockRotateLeftSolid,
clockRotateLeftSolid: faClockRotateLeftSolid,
copy: faCopyRegular, copy: faCopyRegular,
copySolid: faCopySolid, copySolid: faCopySolid,
desktop: faDesktopSolid, desktop: faDesktopSolid,
@ -95,7 +98,7 @@ export const faIcons = {
message: faMessageRegular, message: faMessageRegular,
messageSolid: faMessageSolid, messageSolid: faMessageSolid,
mugHot: faMugHotSolid, mugHot: faMugHotSolid,
faMugHotSolid: faMugHotSolid, mugHotSolid: faMugHotSolid,
minus: faMinusSolid, minus: faMinusSolid,
minusSolid: faMinusSolid, minusSolid: faMinusSolid,
paste: faPasteRegular, paste: faPasteRegular,

View File

@ -16,11 +16,12 @@ export class DeesMobilenavigation extends DeesElement {
// STATIC // STATIC
public static demo = () => html` public static demo = () => html`
<dees-button @click=${() => { <dees-button @click=${() => {
DeesMobilenavigation.createAndInit([ DeesMobilenavigation.createAndShow([
{ {
name: 'Test', name: 'Test',
action: () => { action: async (deesMobileNav) => {
alert('test'); alert('test');
return null;
}, },
}, },
]); ]);
@ -28,7 +29,7 @@ export class DeesMobilenavigation extends DeesElement {
`; `;
private static singletonRef: DeesMobilenavigation; private static singletonRef: DeesMobilenavigation;
public static async createAndInit(menuItemsArg: plugins.tsclass.website.IMenuItem[]) { public static async createAndShow(menuItemsArg: plugins.tsclass.website.IMenuItem<DeesMobilenavigation>[]) {
if (!this.singletonRef) { if (!this.singletonRef) {
this.singletonRef = new DeesMobilenavigation(); this.singletonRef = new DeesMobilenavigation();
document.body.append(this.singletonRef); document.body.append(this.singletonRef);
@ -134,7 +135,7 @@ export class DeesMobilenavigation extends DeesElement {
class="menuItem" class="menuItem"
@click="${() => { @click="${() => {
this.hide(); this.hide();
menuItem.action(); menuItem.action(this);
}}" }}"
> >
${menuItem.name} ${menuItem.name}

View File

@ -0,0 +1,37 @@
import { html } from '@design.estate/dees-element';
import { DeesModal } from './dees-modal.js';
export const demoFunc = () => html`
<dees-button @click=${() => {
DeesModal.createAndShow({
heading: 'This is a heading',
content: html`
<dees-form>
<dees-input-text
.label=${'Username'}
>
</dees-input-text>
<dees-input-text
.label=${'Password'}
>
</dees-input-text>
</dees-form>
`,
menuOptions: [{
name: 'Cancel',
iconName: null,
action: async (deesModalArg) => {
deesModalArg.destroy();
return null;
}
}, {
name: 'Ok',
iconName: null,
action: async (deesModalArg) => {
deesModalArg.destroy();
return null;
}
}],
});
}}>open modal</dees-button>
`

View File

@ -0,0 +1,196 @@
import * as plugins from './plugins.js';
import { demoFunc } from './dees-modal.demo.js';
import {
customElement,
html,
DeesElement,
property,
type TemplateResult,
cssManager,
css,
type CSSResult,
unsafeCSS,
unsafeHTML,
state,
} from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools';
import { DeesWindowLayer } from './dees-windowlayer.js';
declare global {
interface HTMLElementTagNameMap {
'dees-modal': DeesModal;
}
}
@customElement('dees-modal')
export class DeesModal extends DeesElement {
// STATIC
public static demo = demoFunc;
public static async createAndShow(optionsArg: {
heading: string;
content: TemplateResult;
menuOptions: plugins.tsclass.website.IMenuItem<DeesModal>[];
}) {
const body = document.body;
const modal = new DeesModal();
modal.heading = optionsArg.heading;
modal.content = optionsArg.content;
modal.menuOptions = optionsArg.menuOptions;
modal.windowLayer = await DeesWindowLayer.createAndShow({
blur: true,
});
modal.windowLayer.addEventListener('click', async () => {
await modal.destroy();
});
body.append(modal.windowLayer);
body.append(modal);
}
// INSTANCE
@property({
type: String,
})
public heading = '';
@state({})
public content: TemplateResult;
@state({})
public menuOptions: plugins.tsclass.website.IMenuItem<DeesModal>[] = [];
constructor() {
super();
}
public static styles = [
cssManager.defaultStyles,
css`
:host {
font-family: 'Mona Sans', 'Inter', sans-serif;
color: ${cssManager.bdTheme('#333', '#fff')};
}
.modalContainer {
display: flex;
position: fixed;
top: 0px;
left: 0px;
width: 100vw;
height: 100vh;
box-sizing: border-box;
align-items: center;
justify-content: center;
z-index: 2000;
}
.modal {
will-change: transform;
transform: translateY(0px) scale(0.95);
opacity: 0;
width: 480px;
min-height: 120px;
background: #111;
border-radius: 8px;
border: 1px solid #222;
transition: all 0.2s;
overflow: hidden;
box-shadow: 0px 2px 5px #00000080;
}
.modal.show {
opacity: 1;
transform: translateY(0px) scale(1);
}
.modal.show.predestroy {
opacity: 0;
transform: translateY(10px) scale(1);
}
.modal .heading {
height: 32px;
font-family: 'Hubot Sans', 'Inter', sans-serif;
line-height: 32px;
text-align: center;
font-weight: 600;
font-size: 12px;
border-bottom: 1px solid #222;
}
.modal .content {
padding: 16px;
}
.modal .bottomButtons {
display: grid;
border-top: 1px solid #222;
}
.modal .bottomButtons .bottomButton {
height: 40px;
line-height: 40px;
text-align: center;
font-size: 14px;
border-right: 1px solid #222;
cursor: pointer;
}
.modal .bottomButtons .bottomButton:hover {
background: #222;
}
.modal .bottomButtons .bottomButton:last-child {
border-right: none;
}
`,
];
public render(): TemplateResult {
return html`
<style>
.modal .bottomButtons {
grid-template-columns: ${cssManager.cssGridColumns(this.menuOptions.length, 0)};
}
</style>
<div class="modalContainer" @click=${this.handleOutsideClick}>
<div class="modal">
<div class="heading">${this.heading}</div>
<div class="content">${this.content}</div>
<div class="bottomButtons">
${this.menuOptions.map(
(actionArg) => html`
<div class="bottomButton" @click=${() => {
actionArg.action(this);
}}>${actionArg.name}</div>
`
)}
</div>
</div>
</div>
`;
}
private windowLayer: DeesWindowLayer;
public async firstUpdated(_changedProperties: Map<string | number | symbol, unknown>) {
super.firstUpdated(_changedProperties);
const domtools = await this.domtoolsPromise;
await domtools.convenience.smartdelay.delayFor(30);
const modal = this.shadowRoot.querySelector('.modal');
modal.classList.add('show');
}
public async handleOutsideClick(eventArg: MouseEvent) {
eventArg.stopPropagation();
const modalContainer = this.shadowRoot.querySelector('.modalContainer');
if (eventArg.target === modalContainer) {
await this.destroy();
}
}
public async destroy() {
const domtools = await this.domtoolsPromise;
const modal = this.shadowRoot.querySelector('.modal');
modal.classList.add('predestroy');
await domtools.convenience.smartdelay.delayFor(200);
document.body.removeChild(this);
await this.windowLayer.destroy();
}
}

View File

@ -25,7 +25,7 @@ export class DeesSimpleAppDash extends DeesElement {
// INSTANCE // INSTANCE
@property() @property()
public title = 'Dees Simple Login'; public name = 'Dees Simple Login';
public static styles = [ public static styles = [
cssManager.defaultStyles, cssManager.defaultStyles,

View File

@ -1,3 +1,3 @@
import { html } from '@design.estate/dees-element'; import { html } from '@design.estate/dees-element';
export const demoFunc = () => html` <dees-simple-login> Hello there </dees-simple-login> `; export const demoFunc = () => html` <dees-simple-login name="someapp"> Hello there </dees-simple-login> `;

View File

@ -26,7 +26,7 @@ export class DeesSimpleLogin extends DeesElement {
// INSTANCE // INSTANCE
@property() @property()
public title = 'Dees Simple Login'; public name = 'Dees Simple Login';
public static styles = [ public static styles = [
cssManager.defaultStyles, cssManager.defaultStyles,
@ -69,7 +69,7 @@ export class DeesSimpleLogin extends DeesElement {
<div class="loginContainer"> <div class="loginContainer">
<div class="login"> <div class="login">
<dees-form> <dees-form>
<div class="header">Login to ${this.title}</div> <div class="header">Login to ${this.name}</div>
<dees-input-text key="username" label="username" required></dees-input-text> <dees-input-text key="username" label="username" required></dees-input-text>
<dees-input-text key="password" label="password" isPasswordBool required></dees-input-text> <dees-input-text key="password" label="password" isPasswordBool required></dees-input-text>
<dees-form-submit disabled>login</dees-form-submit> <dees-form-submit disabled>login</dees-form-submit>

View File

@ -2,6 +2,12 @@ import { type ITableAction } from './dees-table.js';
import * as plugins from './plugins.js'; import * as plugins from './plugins.js';
import { html } from '@design.estate/dees-element'; import { html } from '@design.estate/dees-element';
interface ITableDemoData {
date: string;
amount: string;
description: string;
}
export const demoFunc = () => html` export const demoFunc = () => html`
<style> <style>
.demoWrapper { .demoWrapper {
@ -51,7 +57,7 @@ export const demoFunc = () => html`
iconName: 'bell', iconName: 'bell',
useTableBehaviour: 'upload', useTableBehaviour: 'upload',
type: ['inRow'], type: ['inRow'],
actionFunc: async (itemArg: any) => { actionFunc: async (itemArg) => {
alert(itemArg.amount); alert(itemArg.amount);
}, },
}, },
@ -100,7 +106,7 @@ export const demoFunc = () => html`
return null; return null;
}, },
}, },
] as ITableAction[]}" ] as (ITableAction<ITableDemoData>)[] as any}"
.displayFunction=${(itemArg) => { .displayFunction=${(itemArg) => {
return { return {
...itemArg, ...itemArg,

View File

@ -84,7 +84,7 @@ export class DeesTable<T> extends DeesElement {
@property({ @property({
type: Array, type: Array,
}) })
public dataActions: ITableAction[] = []; public dataActions: ITableAction<T>[] = [];
@property({ @property({
attribute: false, attribute: false,

View File

@ -1,4 +1,4 @@
import { customElement, DeesElement, type TemplateResult, html, property, type CSSResult, } from '@design.estate/dees-element'; import { customElement, DeesElement, type TemplateResult, html, property, type CSSResult, state, } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
@ -8,20 +8,33 @@ declare global {
} }
} }
export interface IOptions_DeesWindowLayer {
blur: boolean;
}
@customElement('dees-windowlayer') @customElement('dees-windowlayer')
export class DeesWindowLayer extends DeesElement { export class DeesWindowLayer extends DeesElement {
// STATIC // STATIC
public static demo = () => html`<dees-windowlayer></dees-windowlayer>`; public static demo = () => html`<dees-windowlayer></dees-windowlayer>`;
public static async createAndShow() { public static async createAndShow(optionsArg?: IOptions_DeesWindowLayer) {
const domtoolsInstance = domtools.DomTools.getGlobalDomToolsSync(); const domtoolsInstance = domtools.DomTools.getGlobalDomToolsSync();
const windowLayer = new DeesWindowLayer(); const windowLayer = new DeesWindowLayer();
windowLayer.options = {
...windowLayer.options,
...optionsArg,
}
document.body.append(windowLayer); document.body.append(windowLayer);
await domtoolsInstance.convenience.smartdelay.delayFor(0); await domtoolsInstance.convenience.smartdelay.delayFor(0);
windowLayer.show(); windowLayer.show();
return windowLayer; return windowLayer;
} }
@state()
public options: IOptions_DeesWindowLayer = {
blur: false
};
// INSTANCE // INSTANCE
@property({ @property({
type: Boolean type: Boolean
@ -49,14 +62,14 @@ export class DeesWindowLayer extends DeesElement {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background: rgba(0, 0, 0, 0.0); background: rgba(0, 0, 0, 0.0);
backdrop-filter: brightness(1); backdrop-filter: brightness(1) ${this.options.blur ? 'blur(0px)' : ''};
pointer-events: none; pointer-events: none;
z-index: 200; z-index: 200;
} }
.visible { .visible {
background: rgba(0, 0, 0, 0.2); background: rgba(0, 0, 0, 0.2);
backdrop-filter: brightness(0.3); backdrop-filter: brightness(0.9) ${this.options.blur ? 'blur(2px)' : ''};
pointer-events: all; pointer-events: all;
} }
</style> </style>

View File

@ -14,6 +14,7 @@ export * from './dees-input-quantityselector.js';
export * from './dees-input-radio.js'; export * from './dees-input-radio.js';
export * from './dees-input-text.js'; export * from './dees-input-text.js';
export * from './dees-mobilenavigation.js'; export * from './dees-mobilenavigation.js';
export * from './dees-modal.js';
export * from './dees-pdf.js'; export * from './dees-pdf.js';
export * from './dees-simple-appdash.js'; export * from './dees-simple-appdash.js';
export * from './dees-simple-login.js'; export * from './dees-simple-login.js';