Compare commits

...

18 Commits

Author SHA1 Message Date
7d98ac8f38 1.0.220 2023-10-11 12:24:13 +02:00
32244bb450 fix(core): update 2023-10-11 12:24:12 +02:00
b154631c77 1.0.219 2023-10-07 20:01:50 +02:00
466a24ac10 fix(core): update 2023-10-07 20:01:49 +02:00
7db91a2fe6 1.0.218 2023-10-07 19:33:05 +02:00
46652dec6f fix(core): update 2023-10-07 19:33:04 +02:00
50e591b80c 1.0.217 2023-10-05 22:42:34 +02:00
6710a163a9 fix(core): update 2023-10-05 22:42:33 +02:00
a39f43f79a 1.0.216 2023-10-05 14:37:00 +02:00
964520a2f9 fix(core): update 2023-10-05 14:36:59 +02:00
6e680085a4 1.0.215 2023-09-22 20:02:49 +02:00
286a843b67 fix(core): update 2023-09-22 20:02:48 +02:00
df7c5ebafc 1.0.214 2023-09-22 19:42:23 +02:00
9927323a9d fix(core): update 2023-09-22 19:42:23 +02:00
66f3e66c8b 1.0.213 2023-09-22 19:04:03 +02:00
c68b0c5090 fix(core): update 2023-09-22 19:04:02 +02:00
53ac03507d 1.0.212 2023-09-22 13:15:34 +02:00
0031b51bcf fix(core): update 2023-09-22 13:15:34 +02:00
20 changed files with 302 additions and 140 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@design.estate/dees-catalog",
"version": "1.0.211",
"version": "1.0.220",
"private": false,
"description": "website for lossless.com",
"main": "dist_ts_web/index.js",
@ -15,9 +15,9 @@
"author": "Lossless GmbH",
"license": "MIT",
"dependencies": {
"@design.estate/dees-domtools": "^2.0.41",
"@design.estate/dees-domtools": "^2.0.51",
"@design.estate/dees-element": "^2.0.29",
"@design.estate/dees-wcctools": "^1.0.78",
"@design.estate/dees-wcctools": "^1.0.81",
"@fortawesome/fontawesome-svg-core": "^6.4.2",
"@fortawesome/free-brands-svg-icons": "^6.4.2",
"@fortawesome/free-regular-svg-icons": "^6.4.2",
@ -26,7 +26,7 @@
"@push.rocks/smartstring": "^4.0.9",
"@tsclass/tsclass": "^4.0.43",
"highlight.js": "11.8.0",
"pdfjs-dist": "^3.10.111"
"pdfjs-dist": "^3.11.174"
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.66",
@ -35,7 +35,7 @@
"@gitzone/tswatch": "^2.0.7",
"@push.rocks/projectinfo": "^5.0.2",
"@push.rocks/tapbundle": "^5.0.15",
"@types/node": "^20.6.2"
"@types/node": "^20.8.3"
},
"files": [
"ts/**/*",

268
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -65,6 +65,7 @@ export class DeesButton extends DeesElement {
:host {
display: block;
box-sizing: border-box;
font-family: 'Roboto', 'monospace';
}
:host([hidden]) {
display: none;

View File

@ -48,6 +48,7 @@ export class DeesDataviewCodebox extends DeesElement {
display: block;
text-align: left;
font-size: 16px;
font-family: 'Roboto', 'Inter', sans-serif;
}
.mainbox {
position: relative;
@ -65,7 +66,6 @@ export class DeesDataviewCodebox extends DeesElement {
border-bottom: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
height: 24px;
font-size: 12px;
font-family: 'Hubot Sans', 'monospace';
line-height: 24px;
}
@ -115,7 +115,6 @@ export class DeesDataviewCodebox extends DeesElement {
border-top: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
height: 24px;
font-size: 12px;
font-family: 'Hubot Sans', 'monospace';
line-height: 24px;
text-align: right;
padding-right: 100px;

View File

@ -29,7 +29,7 @@ export class DeesDataviewStatusobject extends DeesElement {
cssManager.defaultStyles,
css`
.mainbox {
border-radius: 3px;
border-radius: 8px;
background: ${cssManager.bdTheme('#fff', '#1b1b1b')};
box-shadow: 0px 1px 3px #00000030;
min-height: 48px;

View File

@ -0,0 +1,5 @@
import { html } from '@design.estate/dees-element';
export const demoFunc = () => html`
<dees-hint></dees-hint>
`;

View File

@ -0,0 +1,38 @@
import {
DeesElement,
css,
cssManager,
customElement,
html,
property,
type CSSResult,
type TemplateResult,
} from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools';
import { demoFunc } from './dees-hint.demo.js';
declare global {
interface HTMLElementTagNameMap {
'dees-hint': DeesHint;
}
}
@customElement('dees-hint')
export class DeesHint extends DeesElement {
public static demo = demoFunc;
@property({ type: String })
public type: 'info' | 'warn' | 'error' | 'critical' = 'info';
constructor() {
super();
domtools.elementBasic.setup();
}
public static styles = [cssManager.defaultStyles, css``];
public render(): TemplateResult {
return html` <div class="mainbox"></div> `;
}
}

View File

@ -54,6 +54,7 @@ import {
faMinus as faMinusSolid,
faPaste as faPasteSolid,
faPenToSquare as faPenToSquareSolid,
faPlus as faPlusSolid,
faRss as faRssSolid,
faUsers as faUsersSolid,
faShare as faShareSolid,
@ -68,51 +69,34 @@ export const faIcons = {
// normal
arrowRight: faArrowRightSolid,
arrowUpRightFromSquare: faArrowUpRightFromSquareSolid,
arrowUpRightFromSquareSolid: faArrowUpRightFromSquareSolid,
bell: faBellSolid,
bellSolid: faBellSolid,
bug: faBugSolid,
bugSolid: faBugSolid,
building: faBuildingSolid,
buildingSolid: faBuildingSolid,
caretLeft: faCaretLeftSolid,
caretLeftSolid: faCaretLeftSolid,
caretRight: faCaretRightSolid,
caretRightSolid: faCaretRightSolid,
check: faCheckSolid,
checkSolid: faCheckSolid,
circleInfo: faCircleInfoSolid,
circleInfoSolid: faCircleInfoSolid,
circleCheck: faCircleCheckRegular,
circleCheckSolid: faCircleCheckSolid,
circleXmark: faCircleXmarkRegular,
circleXmarkSolid: faCircleXmarkSolid,
clockRotateLeft: faClockRotateLeftSolid,
clockRotateLeftSolid: faClockRotateLeftSolid,
copy: faCopyRegular,
copySolid: faCopySolid,
desktop: faDesktopSolid,
desktopSolid: faDesktopSolid,
eye: faEyeSolid,
eyeSolid: faEyeSolid,
eyeSlash: faEyeSlashSolid,
eyeSlashSolid: faEyeSlashSolid,
grip: faGripSolid,
gripSolid: faGripSolid,
message: faMessageRegular,
messageSolid: faMessageSolid,
mugHot: faMugHotSolid,
mugHotSolid: faMugHotSolid,
minus: faMinusSolid,
minusSolid: faMinusSolid,
paste: faPasteRegular,
pasteSolid: faPasteSolid,
penToSquare: faPenToSquareSolid,
penToSquareSolid: faPenToSquareSolid,
plus: faPlusSolid,
rss: faRssSolid,
rssSolid: faRssSolid,
share: faShareSolid,
shareSolid: faShareSolid,
sun: faSunRegular,
sunSolid: faSunSolid,
trash: faTrashSolid,
@ -121,7 +105,6 @@ export const faIcons = {
trashCanSolid: faTrashCanSolid,
users: faUsersSolid,
xmark: faXmarkSolid,
xmarkSolid: faXmarkSolid,
// brands
facebook: faFacebook,
google: faGoogle,

View File

@ -124,7 +124,7 @@ export class DeesInputFileupload extends DeesElement {
border-bottom: 1px dashed #444;
color: ${cssManager.bdTheme('#666', '#ccc')};
padding: 8px;
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
}
.uploadButton:hover .uploadCandidate {

View File

@ -89,8 +89,8 @@ export class DeesMobilenavigation extends DeesElement {
right: 0px;
top: 0px;
bottom: 0px;
background: ${cssManager.bdTheme('#eeeeeb', '#000')};;
border-left: 1px dashed #444;
background: ${cssManager.bdTheme('#eeeeeb', '#000')};
border-left: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222')};
pointer-events: none;
}
@ -116,7 +116,7 @@ export class DeesMobilenavigation extends DeesElement {
text-align: left;
font-size: 24px;
padding: 8px 0px;
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
font-weight: 300;
border-bottom: 1px dashed #444;
margin-top: 16px;
@ -156,6 +156,7 @@ export class DeesMobilenavigation extends DeesElement {
const main = this.shadowRoot.querySelector('.main');
if (!this.windowLayer) {
this.windowLayer = new DeesWindowLayer();
this.windowLayer.options.blur = true;
this.windowLayer.addEventListener('click', () => {
this.hide();
});

View File

@ -69,7 +69,7 @@ export class DeesModal extends DeesElement {
cssManager.defaultStyles,
css`
:host {
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
color: ${cssManager.bdTheme('#333', '#fff')};
}
.modalContainer {
@ -110,7 +110,7 @@ export class DeesModal extends DeesElement {
.modal .heading {
height: 32px;
font-family: 'Hubot Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
line-height: 32px;
text-align: center;
font-weight: 600;

View File

@ -32,7 +32,7 @@ export class DeesPdf extends DeesElement {
return html`
<style>
:host {
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
display: block;
box-sizing: border-box;
max-width: 800px;

View File

@ -43,7 +43,7 @@ export class DeesSimpleAppDash extends DeesElement {
border-bottom: 1px solid ${cssManager.bdTheme('#ccc', '#333')};
font-size: 14px;
line-height: 40px;
font-family: 'Hubot Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
padding: 0px 16px;
}
.appcontent {

View File

@ -154,7 +154,7 @@ export class DeesStepper extends DeesElement {
.step .title {
text-align: center;
padding-top: 50px;
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
font-size: 25px;
font-weight: 300;
}

View File

@ -58,8 +58,8 @@ export const demoFunc = () => html`
iconName: 'bell',
useTableBehaviour: 'upload',
type: ['inRow'],
actionFunc: async (itemArg) => {
alert(itemArg.amount);
actionFunc: async (optionsArg) => {
alert(optionsArg.item.amount);
},
},
{
@ -112,7 +112,7 @@ export const demoFunc = () => html`
type: ['doubleClick', 'contextmenu'],
iconName: 'eye',
actionFunc: async (itemArg) => {
alert(itemArg.amount);
alert(itemArg.item.amount);
return null;
},
}

View File

@ -57,7 +57,12 @@ export interface ITableAction<T = any> {
* @param itemArg
* @returns
*/
actionFunc: (itemArg: T) => Promise<any>;
actionFunc: (actionDataArg: ITableActionDataArg<T>) => Promise<any>;
}
export interface ITableActionDataArg<T> {
item: T,
table: DeesTable<T>,
}
export type TDisplayFunction<T = any> = (itemArg: T) => object;
@ -117,7 +122,7 @@ export class DeesTable<T> extends DeesElement {
public files: File[] = [];
public fileWeakMap = new WeakMap();
public itemChangeSubject = new domtools.plugins.smartrx.rxjs.Subject();
public dataChangeSubject = new domtools.plugins.smartrx.rxjs.Subject();
constructor() {
super();
@ -128,7 +133,7 @@ export class DeesTable<T> extends DeesElement {
css`
.mainbox {
color: ${cssManager.bdTheme('#333', '#fff')};
font-family: 'Mona Sans', 'Inter', sans-serif;
font-family: 'Roboto', 'Inter', sans-serif;
font-weight: 400;
font-size: 14px;
padding: 16px;
@ -146,13 +151,13 @@ export class DeesTable<T> extends DeesElement {
display: flex;
justify-content: flex-end;
align-items: center;
font-family: 'Roboto', 'Inter', sans-serif;
}
.headingContainer {
}
.heading {
font-family: 'Hubot Sans', 'Inter', sans-serif;
}
.heading1 {
@ -223,7 +228,9 @@ export class DeesTable<T> extends DeesElement {
}
th {
text-transform: uppercase;
text-transform: none;
font-family: 'Roboto', 'Inter', sans-serif;
font-weight: 500;
}
th,
td {
@ -262,7 +269,7 @@ export class DeesTable<T> extends DeesElement {
left: 0px;
position: absolute;
background: #fa610140;
color: inherit;
color: ${cssManager.bdTheme('#333', '#fff')};
font-family: inherit;
font-size: inherit;
font-weight: inherit;
@ -287,6 +294,7 @@ export class DeesTable<T> extends DeesElement {
}
.footer {
font-family: 'Roboto', 'Inter', sans-serif;
font-size: 14px;
color: ${cssManager.bdTheme('#111', '#ffffff90')};
background: ${cssManager.bdTheme('#eeeeeb', '#00000050')};
@ -339,7 +347,10 @@ export class DeesTable<T> extends DeesElement {
html`<div
class="headerAction"
@click=${() => {
action.actionFunc(this.selectedDataRow);
action.actionFunc({
item: this.selectedDataRow,
table: this,
});
}}
>
${action.iconName
@ -439,7 +450,10 @@ export class DeesTable<T> extends DeesElement {
name: action.name,
iconName: action.iconName as any,
action: async () => {
await action.actionFunc(itemArg);
await action.actionFunc({
item: itemArg,
table: this,
});
return null;
},
};
@ -460,7 +474,10 @@ export class DeesTable<T> extends DeesElement {
actionArg.type.includes('doubleClick')
);
if (wantedAction) {
wantedAction.actionFunc(itemArg);
wantedAction.actionFunc({
item: itemArg,
table: this,
});
}
}
}}
@ -477,7 +494,10 @@ export class DeesTable<T> extends DeesElement {
${this.getActionsForType('inRow').map(
(actionArg) => html`<div
class="action"
@click=${() => actionArg.actionFunc(itemArg)}
@click=${() => actionArg.actionFunc({
item: itemArg,
table: this,
})}
>
${actionArg.iconName
? html`
@ -513,7 +533,10 @@ export class DeesTable<T> extends DeesElement {
html`<div
class="footerAction"
@click=${() => {
action.actionFunc(this.selectedDataRow);
action.actionFunc({
item: this.selectedDataRow,
table: this,
});
}}
>
${action.iconName
@ -580,8 +603,11 @@ export class DeesTable<T> extends DeesElement {
return actions;
}
handleCellEditing(event: Event, itemArg: T, key: string) {
async handleCellEditing(event: Event, itemArg: T, key: string) {
const domtools = await this.domtoolsPromise;
const target = event.target as HTMLElement;
const originalColor = target.style.color;
target.style.color = 'transparent';
const transformedItem = this.displayFunction(itemArg);
const initialValue = (transformedItem[key] as unknown as string) || '';
// Create an input element
@ -589,16 +615,16 @@ export class DeesTable<T> extends DeesElement {
input.type = 'text';
input.value = initialValue;
const blurInput = (blurArg = true, saveArg = false) => {
const blurInput = async (blurArg = true, saveArg = false) => {
if (blurArg) {
input.blur();
}
if (saveArg) {
itemArg[key] = input.value as any; // Convert string to T (you might need better type casting depending on your data structure)
target.innerHTML = input.value; // Update the cell's display
} else {
target.innerHTML = initialValue;
}
input.remove();
target.style.color = originalColor;
this.requestUpdate();
};
// When the input loses focus or the Enter key is pressed, update the data
@ -612,7 +638,6 @@ export class DeesTable<T> extends DeesElement {
});
// Replace the cell's content with the input
target.innerHTML = '';
target.appendChild(input);
input.focus();
}

View File

@ -0,0 +1,5 @@
import { html } from '@design.estate/dees-element';
export const demoFunc = async () => {
return html`<dees-toast></dees-toast>`;
}

View File

@ -1,6 +1,7 @@
import { customElement, DeesElement, type TemplateResult, html, type CSSResult, } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools';
import { demoFunc } from './dees-toast.demo.js';
declare global {
interface HTMLElementTagNameMap {
@ -10,6 +11,7 @@ declare global {
@customElement('dees-toast')
export class DeesToast extends DeesElement {
public static demo = demoFunc;
constructor() {
super();

View File

@ -6,6 +6,7 @@ export * from './dees-dataview-codebox.js';
export * from './dees-dataview-statusobject.js';
export * from './dees-form-submit.js';
export * from './dees-form.js';
export * from './dees-hint.js';
export * from './dees-icon.js';
export * from './dees-input-checkbox.js';
export * from './dees-input-dropdown.js';