Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
a736ee9800 | |||
bea2047092 | |||
7d98ac8f38 | |||
32244bb450 | |||
b154631c77 | |||
466a24ac10 | |||
7db91a2fe6 | |||
46652dec6f | |||
50e591b80c | |||
6710a163a9 | |||
a39f43f79a | |||
964520a2f9 | |||
6e680085a4 | |||
286a843b67 | |||
df7c5ebafc | |||
9927323a9d | |||
66f3e66c8b | |||
c68b0c5090 | |||
53ac03507d | |||
0031b51bcf |
10
package.json
10
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@design.estate/dees-catalog",
|
"name": "@design.estate/dees-catalog",
|
||||||
"version": "1.0.211",
|
"version": "1.0.221",
|
||||||
"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",
|
||||||
@ -15,9 +15,9 @@
|
|||||||
"author": "Lossless GmbH",
|
"author": "Lossless GmbH",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"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-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/fontawesome-svg-core": "^6.4.2",
|
||||||
"@fortawesome/free-brands-svg-icons": "^6.4.2",
|
"@fortawesome/free-brands-svg-icons": "^6.4.2",
|
||||||
"@fortawesome/free-regular-svg-icons": "^6.4.2",
|
"@fortawesome/free-regular-svg-icons": "^6.4.2",
|
||||||
@ -26,7 +26,7 @@
|
|||||||
"@push.rocks/smartstring": "^4.0.9",
|
"@push.rocks/smartstring": "^4.0.9",
|
||||||
"@tsclass/tsclass": "^4.0.43",
|
"@tsclass/tsclass": "^4.0.43",
|
||||||
"highlight.js": "11.8.0",
|
"highlight.js": "11.8.0",
|
||||||
"pdfjs-dist": "^3.10.111"
|
"pdfjs-dist": "^3.11.174"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.66",
|
"@gitzone/tsbuild": "^2.1.66",
|
||||||
@ -35,7 +35,7 @@
|
|||||||
"@gitzone/tswatch": "^2.0.7",
|
"@gitzone/tswatch": "^2.0.7",
|
||||||
"@push.rocks/projectinfo": "^5.0.2",
|
"@push.rocks/projectinfo": "^5.0.2",
|
||||||
"@push.rocks/tapbundle": "^5.0.15",
|
"@push.rocks/tapbundle": "^5.0.15",
|
||||||
"@types/node": "^20.6.2"
|
"@types/node": "^20.8.3"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"ts/**/*",
|
"ts/**/*",
|
||||||
|
268
pnpm-lock.yaml
generated
268
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@design.estate/dees-catalog',
|
name: '@design.estate/dees-catalog',
|
||||||
version: '1.0.211',
|
version: '1.0.221',
|
||||||
description: 'website for lossless.com'
|
description: 'website for lossless.com'
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,7 @@ export class DeesButton extends DeesElement {
|
|||||||
:host {
|
:host {
|
||||||
display: block;
|
display: block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
font-family: 'Roboto', 'monospace';
|
||||||
}
|
}
|
||||||
:host([hidden]) {
|
:host([hidden]) {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -48,6 +48,7 @@ export class DeesDataviewCodebox extends DeesElement {
|
|||||||
display: block;
|
display: block;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
}
|
}
|
||||||
.mainbox {
|
.mainbox {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -65,7 +66,6 @@ export class DeesDataviewCodebox extends DeesElement {
|
|||||||
border-bottom: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
|
border-bottom: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
|
||||||
height: 24px;
|
height: 24px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: 'Hubot Sans', 'monospace';
|
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +115,6 @@ export class DeesDataviewCodebox extends DeesElement {
|
|||||||
border-top: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
|
border-top: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222222')};
|
||||||
height: 24px;
|
height: 24px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: 'Hubot Sans', 'monospace';
|
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding-right: 100px;
|
padding-right: 100px;
|
||||||
|
@ -29,7 +29,7 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|||||||
cssManager.defaultStyles,
|
cssManager.defaultStyles,
|
||||||
css`
|
css`
|
||||||
.mainbox {
|
.mainbox {
|
||||||
border-radius: 3px;
|
border-radius: 8px;
|
||||||
background: ${cssManager.bdTheme('#fff', '#1b1b1b')};
|
background: ${cssManager.bdTheme('#fff', '#1b1b1b')};
|
||||||
box-shadow: 0px 1px 3px #00000030;
|
box-shadow: 0px 1px 3px #00000030;
|
||||||
min-height: 48px;
|
min-height: 48px;
|
||||||
|
5
ts_web/elements/dees-hint.demo.ts
Normal file
5
ts_web/elements/dees-hint.demo.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { html } from '@design.estate/dees-element';
|
||||||
|
|
||||||
|
export const demoFunc = () => html`
|
||||||
|
<dees-hint></dees-hint>
|
||||||
|
`;
|
38
ts_web/elements/dees-hint.ts
Normal file
38
ts_web/elements/dees-hint.ts
Normal 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> `;
|
||||||
|
}
|
||||||
|
}
|
@ -48,18 +48,24 @@ import {
|
|||||||
faDesktop as faDesktopSolid,
|
faDesktop as faDesktopSolid,
|
||||||
faEye as faEyeSolid,
|
faEye as faEyeSolid,
|
||||||
faEyeSlash as faEyeSlashSolid,
|
faEyeSlash as faEyeSlashSolid,
|
||||||
|
faFileInvoice as faFileInvoiceSolid,
|
||||||
|
faFileInvoiceDollar as faFileInvoiceDollarSolid,
|
||||||
faGrip as faGripSolid,
|
faGrip as faGripSolid,
|
||||||
faMessage as faMessageSolid,
|
faMessage as faMessageSolid,
|
||||||
|
faMoneyCheckDollar as faMoneyCheckDollarSolid,
|
||||||
faMugHot as faMugHotSolid,
|
faMugHot as faMugHotSolid,
|
||||||
faMinus as faMinusSolid,
|
faMinus as faMinusSolid,
|
||||||
faPaste as faPasteSolid,
|
faPaste as faPasteSolid,
|
||||||
faPenToSquare as faPenToSquareSolid,
|
faPenToSquare as faPenToSquareSolid,
|
||||||
|
faPlus as faPlusSolid,
|
||||||
|
faReceipt as faReceiptSolid,
|
||||||
faRss as faRssSolid,
|
faRss as faRssSolid,
|
||||||
faUsers as faUsersSolid,
|
faUsers as faUsersSolid,
|
||||||
faShare as faShareSolid,
|
faShare as faShareSolid,
|
||||||
faSun as faSunSolid,
|
faSun as faSunSolid,
|
||||||
faTrash as faTrashSolid,
|
faTrash as faTrashSolid,
|
||||||
faTrashCan as faTrashCanSolid,
|
faTrashCan as faTrashCanSolid,
|
||||||
|
faWallet as faWalletSolid,
|
||||||
faXmark as faXmarkSolid,
|
faXmark as faXmarkSolid,
|
||||||
} from '@fortawesome/free-solid-svg-icons';
|
} from '@fortawesome/free-solid-svg-icons';
|
||||||
import { demoFunc } from './dees-icon.demo.js';
|
import { demoFunc } from './dees-icon.demo.js';
|
||||||
@ -68,51 +74,38 @@ export const faIcons = {
|
|||||||
// normal
|
// normal
|
||||||
arrowRight: faArrowRightSolid,
|
arrowRight: faArrowRightSolid,
|
||||||
arrowUpRightFromSquare: faArrowUpRightFromSquareSolid,
|
arrowUpRightFromSquare: faArrowUpRightFromSquareSolid,
|
||||||
arrowUpRightFromSquareSolid: faArrowUpRightFromSquareSolid,
|
|
||||||
bell: faBellSolid,
|
bell: faBellSolid,
|
||||||
bellSolid: faBellSolid,
|
|
||||||
bug: faBugSolid,
|
bug: faBugSolid,
|
||||||
bugSolid: faBugSolid,
|
|
||||||
building: faBuildingSolid,
|
building: faBuildingSolid,
|
||||||
buildingSolid: faBuildingSolid,
|
|
||||||
caretLeft: faCaretLeftSolid,
|
caretLeft: faCaretLeftSolid,
|
||||||
caretLeftSolid: faCaretLeftSolid,
|
|
||||||
caretRight: faCaretRightSolid,
|
caretRight: faCaretRightSolid,
|
||||||
caretRightSolid: faCaretRightSolid,
|
|
||||||
check: faCheckSolid,
|
check: faCheckSolid,
|
||||||
checkSolid: faCheckSolid,
|
|
||||||
circleInfo: faCircleInfoSolid,
|
circleInfo: faCircleInfoSolid,
|
||||||
circleInfoSolid: faCircleInfoSolid,
|
|
||||||
circleCheck: faCircleCheckRegular,
|
circleCheck: faCircleCheckRegular,
|
||||||
circleCheckSolid: faCircleCheckSolid,
|
circleCheckSolid: faCircleCheckSolid,
|
||||||
circleXmark: faCircleXmarkRegular,
|
circleXmark: faCircleXmarkRegular,
|
||||||
circleXmarkSolid: faCircleXmarkSolid,
|
circleXmarkSolid: faCircleXmarkSolid,
|
||||||
clockRotateLeft: faClockRotateLeftSolid,
|
clockRotateLeft: faClockRotateLeftSolid,
|
||||||
clockRotateLeftSolid: faClockRotateLeftSolid,
|
|
||||||
copy: faCopyRegular,
|
copy: faCopyRegular,
|
||||||
copySolid: faCopySolid,
|
copySolid: faCopySolid,
|
||||||
desktop: faDesktopSolid,
|
desktop: faDesktopSolid,
|
||||||
desktopSolid: faDesktopSolid,
|
|
||||||
eye: faEyeSolid,
|
eye: faEyeSolid,
|
||||||
eyeSolid: faEyeSolid,
|
|
||||||
eyeSlash: faEyeSlashSolid,
|
eyeSlash: faEyeSlashSolid,
|
||||||
eyeSlashSolid: faEyeSlashSolid,
|
fileInvoice: faFileInvoiceSolid,
|
||||||
|
fileInvoiceDoller: faFileInvoiceDollarSolid,
|
||||||
grip: faGripSolid,
|
grip: faGripSolid,
|
||||||
gripSolid: faGripSolid,
|
|
||||||
message: faMessageRegular,
|
message: faMessageRegular,
|
||||||
messageSolid: faMessageSolid,
|
messageSolid: faMessageSolid,
|
||||||
|
moneyCheckDollar: faMoneyCheckDollarSolid,
|
||||||
mugHot: faMugHotSolid,
|
mugHot: faMugHotSolid,
|
||||||
mugHotSolid: faMugHotSolid,
|
|
||||||
minus: faMinusSolid,
|
minus: faMinusSolid,
|
||||||
minusSolid: faMinusSolid,
|
|
||||||
paste: faPasteRegular,
|
paste: faPasteRegular,
|
||||||
pasteSolid: faPasteSolid,
|
pasteSolid: faPasteSolid,
|
||||||
penToSquare: faPenToSquareSolid,
|
penToSquare: faPenToSquareSolid,
|
||||||
penToSquareSolid: faPenToSquareSolid,
|
plus: faPlusSolid,
|
||||||
|
receipt: faReceiptSolid,
|
||||||
rss: faRssSolid,
|
rss: faRssSolid,
|
||||||
rssSolid: faRssSolid,
|
|
||||||
share: faShareSolid,
|
share: faShareSolid,
|
||||||
shareSolid: faShareSolid,
|
|
||||||
sun: faSunRegular,
|
sun: faSunRegular,
|
||||||
sunSolid: faSunSolid,
|
sunSolid: faSunSolid,
|
||||||
trash: faTrashSolid,
|
trash: faTrashSolid,
|
||||||
@ -120,8 +113,8 @@ export const faIcons = {
|
|||||||
trashCan: faTrashCanRegular,
|
trashCan: faTrashCanRegular,
|
||||||
trashCanSolid: faTrashCanSolid,
|
trashCanSolid: faTrashCanSolid,
|
||||||
users: faUsersSolid,
|
users: faUsersSolid,
|
||||||
|
wallet: faWalletSolid,
|
||||||
xmark: faXmarkSolid,
|
xmark: faXmarkSolid,
|
||||||
xmarkSolid: faXmarkSolid,
|
|
||||||
// brands
|
// brands
|
||||||
facebook: faFacebook,
|
facebook: faFacebook,
|
||||||
google: faGoogle,
|
google: faGoogle,
|
||||||
|
@ -124,7 +124,7 @@ export class DeesInputFileupload extends DeesElement {
|
|||||||
border-bottom: 1px dashed #444;
|
border-bottom: 1px dashed #444;
|
||||||
color: ${cssManager.bdTheme('#666', '#ccc')};
|
color: ${cssManager.bdTheme('#666', '#ccc')};
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uploadButton:hover .uploadCandidate {
|
.uploadButton:hover .uploadCandidate {
|
||||||
|
@ -89,8 +89,8 @@ export class DeesMobilenavigation extends DeesElement {
|
|||||||
right: 0px;
|
right: 0px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
background: ${cssManager.bdTheme('#eeeeeb', '#000')};;
|
background: ${cssManager.bdTheme('#eeeeeb', '#000')};
|
||||||
border-left: 1px dashed #444;
|
border-left: 1px solid ${cssManager.bdTheme('#eeeeeb', '#222')};
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ export class DeesMobilenavigation extends DeesElement {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
padding: 8px 0px;
|
padding: 8px 0px;
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
border-bottom: 1px dashed #444;
|
border-bottom: 1px dashed #444;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
@ -156,6 +156,7 @@ export class DeesMobilenavigation extends DeesElement {
|
|||||||
const main = this.shadowRoot.querySelector('.main');
|
const main = this.shadowRoot.querySelector('.main');
|
||||||
if (!this.windowLayer) {
|
if (!this.windowLayer) {
|
||||||
this.windowLayer = new DeesWindowLayer();
|
this.windowLayer = new DeesWindowLayer();
|
||||||
|
this.windowLayer.options.blur = true;
|
||||||
this.windowLayer.addEventListener('click', () => {
|
this.windowLayer.addEventListener('click', () => {
|
||||||
this.hide();
|
this.hide();
|
||||||
});
|
});
|
||||||
|
@ -69,7 +69,7 @@ export class DeesModal extends DeesElement {
|
|||||||
cssManager.defaultStyles,
|
cssManager.defaultStyles,
|
||||||
css`
|
css`
|
||||||
:host {
|
:host {
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
color: ${cssManager.bdTheme('#333', '#fff')};
|
color: ${cssManager.bdTheme('#333', '#fff')};
|
||||||
}
|
}
|
||||||
.modalContainer {
|
.modalContainer {
|
||||||
@ -110,7 +110,7 @@ export class DeesModal extends DeesElement {
|
|||||||
|
|
||||||
.modal .heading {
|
.modal .heading {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
font-family: 'Hubot Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
@ -32,7 +32,7 @@ export class DeesPdf extends DeesElement {
|
|||||||
return html`
|
return html`
|
||||||
<style>
|
<style>
|
||||||
:host {
|
:host {
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
display: block;
|
display: block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
|
@ -43,7 +43,7 @@ export class DeesSimpleAppDash extends DeesElement {
|
|||||||
border-bottom: 1px solid ${cssManager.bdTheme('#ccc', '#333')};
|
border-bottom: 1px solid ${cssManager.bdTheme('#ccc', '#333')};
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
font-family: 'Hubot Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
padding: 0px 16px;
|
padding: 0px 16px;
|
||||||
}
|
}
|
||||||
.appcontent {
|
.appcontent {
|
||||||
|
@ -154,7 +154,7 @@ export class DeesStepper extends DeesElement {
|
|||||||
.step .title {
|
.step .title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-top: 50px;
|
padding-top: 50px;
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
}
|
}
|
||||||
|
@ -58,8 +58,8 @@ export const demoFunc = () => html`
|
|||||||
iconName: 'bell',
|
iconName: 'bell',
|
||||||
useTableBehaviour: 'upload',
|
useTableBehaviour: 'upload',
|
||||||
type: ['inRow'],
|
type: ['inRow'],
|
||||||
actionFunc: async (itemArg) => {
|
actionFunc: async (optionsArg) => {
|
||||||
alert(itemArg.amount);
|
alert(optionsArg.item.amount);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -112,7 +112,7 @@ export const demoFunc = () => html`
|
|||||||
type: ['doubleClick', 'contextmenu'],
|
type: ['doubleClick', 'contextmenu'],
|
||||||
iconName: 'eye',
|
iconName: 'eye',
|
||||||
actionFunc: async (itemArg) => {
|
actionFunc: async (itemArg) => {
|
||||||
alert(itemArg.amount);
|
alert(itemArg.item.amount);
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,12 @@ export interface ITableAction<T = any> {
|
|||||||
* @param itemArg
|
* @param itemArg
|
||||||
* @returns
|
* @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;
|
export type TDisplayFunction<T = any> = (itemArg: T) => object;
|
||||||
@ -117,7 +122,7 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
public files: File[] = [];
|
public files: File[] = [];
|
||||||
public fileWeakMap = new WeakMap();
|
public fileWeakMap = new WeakMap();
|
||||||
|
|
||||||
public itemChangeSubject = new domtools.plugins.smartrx.rxjs.Subject();
|
public dataChangeSubject = new domtools.plugins.smartrx.rxjs.Subject();
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@ -128,7 +133,7 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
css`
|
css`
|
||||||
.mainbox {
|
.mainbox {
|
||||||
color: ${cssManager.bdTheme('#333', '#fff')};
|
color: ${cssManager.bdTheme('#333', '#fff')};
|
||||||
font-family: 'Mona Sans', 'Inter', sans-serif;
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
@ -146,13 +151,13 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headingContainer {
|
.headingContainer {
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading {
|
.heading {
|
||||||
font-family: 'Hubot Sans', 'Inter', sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading1 {
|
.heading1 {
|
||||||
@ -223,7 +228,9 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
th {
|
th {
|
||||||
text-transform: uppercase;
|
text-transform: none;
|
||||||
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
th,
|
th,
|
||||||
td {
|
td {
|
||||||
@ -262,7 +269,7 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
left: 0px;
|
left: 0px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: #fa610140;
|
background: #fa610140;
|
||||||
color: inherit;
|
color: ${cssManager.bdTheme('#333', '#fff')};
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
font-weight: inherit;
|
font-weight: inherit;
|
||||||
@ -287,6 +294,7 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
|
font-family: 'Roboto', 'Inter', sans-serif;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: ${cssManager.bdTheme('#111', '#ffffff90')};
|
color: ${cssManager.bdTheme('#111', '#ffffff90')};
|
||||||
background: ${cssManager.bdTheme('#eeeeeb', '#00000050')};
|
background: ${cssManager.bdTheme('#eeeeeb', '#00000050')};
|
||||||
@ -339,7 +347,10 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
html`<div
|
html`<div
|
||||||
class="headerAction"
|
class="headerAction"
|
||||||
@click=${() => {
|
@click=${() => {
|
||||||
action.actionFunc(this.selectedDataRow);
|
action.actionFunc({
|
||||||
|
item: this.selectedDataRow,
|
||||||
|
table: this,
|
||||||
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
${action.iconName
|
${action.iconName
|
||||||
@ -439,7 +450,10 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
name: action.name,
|
name: action.name,
|
||||||
iconName: action.iconName as any,
|
iconName: action.iconName as any,
|
||||||
action: async () => {
|
action: async () => {
|
||||||
await action.actionFunc(itemArg);
|
await action.actionFunc({
|
||||||
|
item: itemArg,
|
||||||
|
table: this,
|
||||||
|
});
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -460,7 +474,10 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
actionArg.type.includes('doubleClick')
|
actionArg.type.includes('doubleClick')
|
||||||
);
|
);
|
||||||
if (wantedAction) {
|
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(
|
${this.getActionsForType('inRow').map(
|
||||||
(actionArg) => html`<div
|
(actionArg) => html`<div
|
||||||
class="action"
|
class="action"
|
||||||
@click=${() => actionArg.actionFunc(itemArg)}
|
@click=${() => actionArg.actionFunc({
|
||||||
|
item: itemArg,
|
||||||
|
table: this,
|
||||||
|
})}
|
||||||
>
|
>
|
||||||
${actionArg.iconName
|
${actionArg.iconName
|
||||||
? html`
|
? html`
|
||||||
@ -513,7 +533,10 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
html`<div
|
html`<div
|
||||||
class="footerAction"
|
class="footerAction"
|
||||||
@click=${() => {
|
@click=${() => {
|
||||||
action.actionFunc(this.selectedDataRow);
|
action.actionFunc({
|
||||||
|
item: this.selectedDataRow,
|
||||||
|
table: this,
|
||||||
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
${action.iconName
|
${action.iconName
|
||||||
@ -580,8 +603,11 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
return actions;
|
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 target = event.target as HTMLElement;
|
||||||
|
const originalColor = target.style.color;
|
||||||
|
target.style.color = 'transparent';
|
||||||
const transformedItem = this.displayFunction(itemArg);
|
const transformedItem = this.displayFunction(itemArg);
|
||||||
const initialValue = (transformedItem[key] as unknown as string) || '';
|
const initialValue = (transformedItem[key] as unknown as string) || '';
|
||||||
// Create an input element
|
// Create an input element
|
||||||
@ -589,16 +615,16 @@ export class DeesTable<T> extends DeesElement {
|
|||||||
input.type = 'text';
|
input.type = 'text';
|
||||||
input.value = initialValue;
|
input.value = initialValue;
|
||||||
|
|
||||||
const blurInput = (blurArg = true, saveArg = false) => {
|
const blurInput = async (blurArg = true, saveArg = false) => {
|
||||||
if (blurArg) {
|
if (blurArg) {
|
||||||
input.blur();
|
input.blur();
|
||||||
}
|
}
|
||||||
if (saveArg) {
|
if (saveArg) {
|
||||||
itemArg[key] = input.value as any; // Convert string to T (you might need better type casting depending on your data structure)
|
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
|
// 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
|
// Replace the cell's content with the input
|
||||||
target.innerHTML = '';
|
|
||||||
target.appendChild(input);
|
target.appendChild(input);
|
||||||
input.focus();
|
input.focus();
|
||||||
}
|
}
|
||||||
|
5
ts_web/elements/dees-toast.demo.ts
Normal file
5
ts_web/elements/dees-toast.demo.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { html } from '@design.estate/dees-element';
|
||||||
|
|
||||||
|
export const demoFunc = async () => {
|
||||||
|
return html`<dees-toast></dees-toast>`;
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
import { customElement, DeesElement, type TemplateResult, html, type CSSResult, } from '@design.estate/dees-element';
|
import { customElement, DeesElement, type TemplateResult, html, type CSSResult, } from '@design.estate/dees-element';
|
||||||
|
|
||||||
import * as domtools from '@design.estate/dees-domtools';
|
import * as domtools from '@design.estate/dees-domtools';
|
||||||
|
import { demoFunc } from './dees-toast.demo.js';
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface HTMLElementTagNameMap {
|
interface HTMLElementTagNameMap {
|
||||||
@ -10,6 +11,7 @@ declare global {
|
|||||||
|
|
||||||
@customElement('dees-toast')
|
@customElement('dees-toast')
|
||||||
export class DeesToast extends DeesElement {
|
export class DeesToast extends DeesElement {
|
||||||
|
public static demo = demoFunc;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -6,6 +6,7 @@ export * from './dees-dataview-codebox.js';
|
|||||||
export * from './dees-dataview-statusobject.js';
|
export * from './dees-dataview-statusobject.js';
|
||||||
export * from './dees-form-submit.js';
|
export * from './dees-form-submit.js';
|
||||||
export * from './dees-form.js';
|
export * from './dees-form.js';
|
||||||
|
export * from './dees-hint.js';
|
||||||
export * from './dees-icon.js';
|
export * from './dees-icon.js';
|
||||||
export * from './dees-input-checkbox.js';
|
export * from './dees-input-checkbox.js';
|
||||||
export * from './dees-input-dropdown.js';
|
export * from './dees-input-dropdown.js';
|
||||||
|
Reference in New Issue
Block a user