fix(structure): group components into groups inside the repo

This commit is contained in:
2025-12-08 12:04:01 +00:00
parent f67be189eb
commit 8f8aedc6b0
258 changed files with 675 additions and 403 deletions

View File

@@ -1,5 +1,19 @@
# Changelog # Changelog
## 2025-12-08 - 2.0.7 - fix(structure)
Add many new UI components, input controls, charts, editors, and demos
- Introduce App UI components: dees-appui-appbar, dees-appui-mainmenu, dees-appui-mainselector, dees-appui-maincontent, dees-appui-activitylog, dees-appui-profiledropdown, dees-appui-tabs, dees-appui-base, dees-appui-view (templates, styles and demos included).
- Add a comprehensive set of input components: dees-input-text, dees-input-checkbox, dees-input-dropdown, dees-input-fileupload, dees-input-datepicker, dees-input-phone, dees-input-iban, dees-input-quantityselector, dees-input-list, dees-input-typelist, dees-input-tags, dees-input-multitoggle, dees-input-radiogroup, dees-input-richtext and supporting demos/styles/templates.
- Add form primitives and integration: dees-form and dees-form-submit with validation, collection and demo pages showcasing usage.
- Add button family and utilities: dees-button (with updated variants, sizes, status handling and demo), dees-button-group and dees-button-exit.
- Add charting components: dees-chart-area (ApexCharts integration) and dees-chart-log (log viewer) plus rich demo scenarios and realtime features.
- Add data display components: dees-dataview-codebox (highlight.js integration) and dees-dataview-statusobject with copy/context behaviours and demos.
- Add editor tooling: dees-editor (Monaco loader/version management), dees-editor-markdown and dees-editor-markdownoutlet; also TipTap-based richtext input with toolbar and link handling.
- Add global utilities and infra: dees-toast (programmatic toast API and containers), z-index registry and theme/font helpers (fonts, color tokens), plus many styles and accessibility/keyboard improvements across components.
- Export and index updates: new group exports added to ts_web/elements index and many index.ts files to expose the new components and demos.
- Extensive demos and showcase pages added (input-showcase, component demos) to illustrate integration, keyboard navigation, theming and form flows.
## 2025-12-06 - 2.0.6 - fix(dees-input-richtext) ## 2025-12-06 - 2.0.6 - fix(dees-input-richtext)
Initialize editor and link input element references in firstUpdated to ensure they exist before editor initialization. Initialize editor and link input element references in firstUpdated to ensure they exist before editor initialization.

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@design.estate/dees-catalog', name: '@design.estate/dees-catalog',
version: '2.0.6', version: '2.0.7',
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.' description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
} }

View File

@@ -1,4 +1,4 @@
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import { import {
DeesElement, DeesElement,
type TemplateResult, type TemplateResult,
@@ -10,8 +10,8 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
import { DeesContextmenu } from '../dees-contextmenu/dees-contextmenu.js'; import { DeesContextmenu } from '../../dees-contextmenu/dees-contextmenu.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
@customElement('dees-appui-activitylog') @customElement('dees-appui-activitylog')
export class DeesAppuiActivitylog extends DeesElement { export class DeesAppuiActivitylog extends DeesElement {

View File

@@ -0,0 +1 @@
export * from './dees-appui-activitylog.js';

View File

@@ -8,15 +8,15 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import { demoFunc } from './demo.js'; import { demoFunc } from './demo.js';
import { appuiAppbarStyles } from './styles.js'; import { appuiAppbarStyles } from './styles.js';
import { renderAppuiAppbar } from './template.js'; import { renderAppuiAppbar } from './template.js';
// Import required components // Import required components
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import '../dees-windowcontrols/dees-windowcontrols.js'; import '../../dees-windowcontrols/dees-windowcontrols.js';
import '../dees-appui-profiledropdown/dees-appui-profiledropdown.js'; import '../dees-appui-profiledropdown/dees-appui-profiledropdown.js';
declare global { declare global {

View File

@@ -1,6 +1,6 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import type { DeesAppuiBar } from './component.js'; import type { DeesAppuiBar } from './component.js';
import type { IAppBarMenuItem } from '../interfaces/appbarmenuitem.js'; import type { IAppBarMenuItem } from '../../interfaces/appbarmenuitem.js';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import './component.js'; import './component.js';

View File

@@ -0,0 +1 @@
export * from './component.js';

View File

@@ -1,9 +1,10 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import type { DeesAppuiBase } from '../dees-appui-base/dees-appui-base.js'; import type { DeesAppuiBase } from '../dees-appui-base/dees-appui-base.js';
import type { IAppBarMenuItem } from '../interfaces/appbarmenuitem.js'; import type { IAppBarMenuItem } from '../../interfaces/appbarmenuitem.js';
import type { ITab } from '../interfaces/tab.js'; import type { ITab } from '../../interfaces/tab.js';
import type { ISelectionOption } from '../interfaces/selectionoption.js'; import type { ISelectionOption } from '../../interfaces/selectionoption.js';
import * as plugins from '../00plugins.js'; import type { IMenuGroup } from '../../interfaces/menugroup.js';
import * as plugins from '../../00plugins.js';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
export const demoFunc = () => { export const demoFunc = () => {
@@ -63,12 +64,35 @@ export const demoFunc = () => {
} }
]; ];
// Main menu tabs (left sidebar) // Main menu groups (left sidebar)
const mainMenuTabs: ITab[] = [ const mainMenuGroups: IMenuGroup[] = [
{ key: 'dashboard', iconName: 'lucide:home', action: () => console.log('Dashboard selected') }, {
{ key: 'projects', iconName: 'lucide:folder', action: () => console.log('Projects selected') }, tabs: [
{ key: 'analytics', iconName: 'lucide:lineChart', action: () => console.log('Analytics selected') }, { key: 'Dashboard', iconName: 'lucide:home', action: () => console.log('Dashboard selected') },
{ key: 'settings', iconName: 'lucide:settings', action: () => console.log('Settings selected') }, { key: 'Inbox', iconName: 'lucide:inbox', action: () => console.log('Inbox selected') },
]
},
{
name: 'Workspace',
tabs: [
{ key: 'Projects', iconName: 'lucide:folder', action: () => console.log('Projects selected') },
{ key: 'Tasks', iconName: 'lucide:checkSquare', action: () => console.log('Tasks selected') },
{ key: 'Documents', iconName: 'lucide:fileText', action: () => console.log('Documents selected') },
]
},
{
name: 'Analytics',
tabs: [
{ key: 'Reports', iconName: 'lucide:barChart3', action: () => console.log('Reports selected') },
{ key: 'Insights', iconName: 'lucide:lightbulb', action: () => console.log('Insights selected') },
]
}
];
// Main menu bottom tabs (pinned to bottom)
const mainMenuBottomTabs: ITab[] = [
{ key: 'Settings', iconName: 'lucide:settings', action: () => console.log('Settings selected') },
{ key: 'Help', iconName: 'lucide:helpCircle', action: () => console.log('Help selected') },
]; ];
// Selector options (second sidebar) // Selector options (second sidebar)
@@ -127,7 +151,10 @@ export const demoFunc = () => {
.appbarProfileMenuItems=${profileMenuItems} .appbarProfileMenuItems=${profileMenuItems}
.appbarShowWindowControls=${true} .appbarShowWindowControls=${true}
.appbarShowSearch=${true} .appbarShowSearch=${true}
.mainmenuTabs=${mainMenuTabs} .mainmenuLogoIcon=${'lucide:box'}
.mainmenuLogoText=${'Acme App'}
.mainmenuGroups=${mainMenuGroups}
.mainmenuBottomTabs=${mainMenuBottomTabs}
.mainselectorOptions=${selectorOptions} .mainselectorOptions=${selectorOptions}
.maincontentTabs=${mainContentTabs} .maincontentTabs=${mainContentTabs}
@appbar-menu-select=${(e: CustomEvent) => console.log('Menu selected:', e.detail)} @appbar-menu-select=${(e: CustomEvent) => console.log('Menu selected:', e.detail)}

View File

@@ -8,8 +8,8 @@ import {
cssManager, cssManager,
state, state,
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import type { DeesAppuiBar } from '../dees-appui-appbar/index.js'; import type { DeesAppuiBar } from '../dees-appui-appbar/index.js';
import type { DeesAppuiMainmenu } from '../dees-appui-mainmenu/dees-appui-mainmenu.js'; import type { DeesAppuiMainmenu } from '../dees-appui-mainmenu/dees-appui-mainmenu.js';
import type { DeesAppuiMainselector } from '../dees-appui-mainselector/dees-appui-mainselector.js'; import type { DeesAppuiMainselector } from '../dees-appui-mainselector/dees-appui-mainselector.js';
@@ -57,6 +57,18 @@ export class DeesAppuiBase extends DeesElement {
accessor appbarShowSearch: boolean = false; accessor appbarShowSearch: boolean = false;
// Properties for mainmenu // Properties for mainmenu
@property({ type: String })
accessor mainmenuLogoIcon: string = '';
@property({ type: String })
accessor mainmenuLogoText: string = '';
@property({ type: Array })
accessor mainmenuGroups: interfaces.IMenuGroup[] = [];
@property({ type: Array })
accessor mainmenuBottomTabs: interfaces.ITab[] = [];
@property({ type: Array }) @property({ type: Array })
accessor mainmenuTabs: interfaces.ITab[] = []; accessor mainmenuTabs: interfaces.ITab[] = [];
@@ -105,7 +117,8 @@ export class DeesAppuiBase extends DeesElement {
height: calc(100% - 40px); height: calc(100% - 40px);
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-columns: 60px 240px 1fr 240px; grid-template-columns: 200px 240px 1fr 240px;
grid-template-rows: 1fr;
} }
`, `,
]; ];
@@ -130,6 +143,10 @@ export class DeesAppuiBase extends DeesElement {
></dees-appui-appbar> ></dees-appui-appbar>
<div class="maingrid"> <div class="maingrid">
<dees-appui-mainmenu <dees-appui-mainmenu
.logoIcon=${this.mainmenuLogoIcon}
.logoText=${this.mainmenuLogoText}
.menuGroups=${this.mainmenuGroups}
.bottomTabs=${this.mainmenuBottomTabs}
.tabs=${this.mainmenuTabs} .tabs=${this.mainmenuTabs}
.selectedTab=${this.mainmenuSelectedTab} .selectedTab=${this.mainmenuSelectedTab}
@tab-select=${(e: CustomEvent) => this.handleMainmenuTabSelect(e)} @tab-select=${(e: CustomEvent) => this.handleMainmenuTabSelect(e)}

View File

@@ -0,0 +1 @@
export * from './dees-appui-base.js';

View File

@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,

View File

@@ -0,0 +1 @@
export * from './dees-appui-maincontent.js';

View File

@@ -0,0 +1,352 @@
import * as plugins from '../../00plugins.js';
import * as interfaces from '../../interfaces/index.js';
import { zIndexLayers } from '../../00zindex.js';
import {
DeesElement,
type TemplateResult,
property,
customElement,
html,
css,
cssManager,
} from '@design.estate/dees-element';
import { DeesContextmenu } from '../../dees-contextmenu/dees-contextmenu.js';
/**
* the most left menu
* usually used as organization selector
*/
@customElement('dees-appui-mainmenu')
export class DeesAppuiMainmenu extends DeesElement {
public static demo = () => html`
<style>
.demo-mainmenu-container {
height: 500px;
background: #1a1a1a;
border-radius: 8px;
overflow: hidden;
}
</style>
<div class="demo-mainmenu-container">
<dees-appui-mainmenu
.logoIcon=${'lucide:box'}
.logoText=${'Acme App'}
.menuGroups=${[
{
tabs: [
{ key: 'Dashboard', iconName: 'lucide:home', action: () => console.log('Dashboard') },
{ key: 'Inbox', iconName: 'lucide:inbox', action: () => console.log('Inbox') },
]
},
{
name: 'Workspace',
tabs: [
{ key: 'Projects', iconName: 'lucide:folder', action: () => console.log('Projects') },
{ key: 'Tasks', iconName: 'lucide:checkSquare', action: () => console.log('Tasks') },
{ key: 'Documents', iconName: 'lucide:fileText', action: () => console.log('Documents') },
]
},
{
name: 'Analytics',
tabs: [
{ key: 'Reports', iconName: 'lucide:barChart3', action: () => console.log('Reports') },
{ key: 'Insights', iconName: 'lucide:lightbulb', action: () => console.log('Insights') },
]
}
]}
.bottomTabs=${[
{ key: 'Settings', iconName: 'lucide:settings', action: () => console.log('Settings') },
{ key: 'Help', iconName: 'lucide:helpCircle', action: () => console.log('Help') },
]}
></dees-appui-mainmenu>
</div>
`;
// INSTANCE
// Logo properties
@property({ type: String })
accessor logoIcon: string = '';
@property({ type: String })
accessor logoText: string = '';
// Menu groups (new way)
@property({ type: Array })
accessor menuGroups: interfaces.IMenuGroup[] = [];
// Bottom tabs (pinned to bottom)
@property({ type: Array })
accessor bottomTabs: interfaces.ITab[] = [];
// Legacy tabs property (for backward compatibility)
@property({ type: Array })
accessor tabs: interfaces.ITab[] = [];
@property()
accessor selectedTab: interfaces.ITab;
public static styles = [
cssManager.defaultStyles,
css`
:host {
display: block;
height: 100%;
}
.mainContainer {
--menuWidth: 200px;
color: ${cssManager.bdTheme('#666', '#ccc')};
z-index: ${zIndexLayers.fixed.appBar};
display: flex;
flex-direction: column;
position: relative;
width: var(--menuWidth);
height: 100%;
background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
user-select: none;
border-right: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
font-family: 'Geist Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
/* Logo Section */
.logoSection {
display: flex;
align-items: center;
gap: 10px;
padding: 16px 14px;
border-bottom: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
flex-shrink: 0;
}
.logoSection dees-icon {
font-size: 22px;
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
}
.logoSection .logoText {
font-size: 15px;
font-weight: 600;
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Middle Section (scrollable) */
.menuSection {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
padding: 8px 0;
}
.menuSection::-webkit-scrollbar {
width: 6px;
}
.menuSection::-webkit-scrollbar-track {
background: transparent;
}
.menuSection::-webkit-scrollbar-thumb {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.15)', 'rgba(255, 255, 255, 0.15)')};
border-radius: 3px;
}
.menuSection::-webkit-scrollbar-thumb:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.25)', 'rgba(255, 255, 255, 0.25)')};
}
/* Menu Group */
.menuGroup {
padding: 0 8px;
margin-bottom: 8px;
}
.menuGroup:last-child {
margin-bottom: 0;
}
.groupHeader {
padding: 8px 12px 6px;
font-size: 11px;
font-weight: 600;
color: ${cssManager.bdTheme('#737373', '#737373')};
text-transform: uppercase;
letter-spacing: 0.5px;
}
.groupTabs {
display: flex;
flex-direction: column;
gap: 2px;
}
/* Tab Item */
.tab {
position: relative;
display: flex;
align-items: center;
gap: 12px;
padding: 10px 12px;
font-size: 13px;
font-weight: 500;
border-radius: 6px;
cursor: pointer;
transition: all 0.15s ease;
color: ${cssManager.bdTheme('#525252', '#a3a3a3')};
}
.tab:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.04)', 'rgba(255, 255, 255, 0.06)')};
color: ${cssManager.bdTheme('#262626', '#e5e5e5')};
}
.tab:active {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
}
.tab.selectedTab {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
}
.tab.selectedTab::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 16px;
background: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
border-radius: 0 2px 2px 0;
}
.tab dees-icon {
font-size: 18px;
opacity: 0.85;
flex-shrink: 0;
}
.tab.selectedTab dees-icon {
opacity: 1;
}
.tab .tabLabel {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Bottom Section */
.bottomSection {
flex-shrink: 0;
padding: 8px;
border-top: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
display: flex;
flex-direction: column;
gap: 2px;
}
`,
];
public render(): TemplateResult {
// Get all tabs for selection (from groups or legacy tabs)
const allTabs = this.getAllTabs();
return html`
<div class="mainContainer" @contextmenu=${(eventArg: MouseEvent) => {
DeesContextmenu.openContextMenuWithOptions(eventArg, [{
name: 'app settings',
action: async () => {},
iconName: 'gear',
}])
}}>
${this.logoIcon || this.logoText ? html`
<div class="logoSection">
${this.logoIcon ? html`<dees-icon .icon="${this.logoIcon}"></dees-icon>` : ''}
${this.logoText ? html`<span class="logoText">${this.logoText}</span>` : ''}
</div>
` : ''}
<div class="menuSection">
${this.menuGroups.length > 0 ? this.renderMenuGroups() : this.renderLegacyTabs()}
</div>
${this.bottomTabs.length > 0 ? html`
<div class="bottomSection">
${this.bottomTabs.map((tabArg) => this.renderTab(tabArg))}
</div>
` : ''}
</div>
`;
}
private renderMenuGroups(): TemplateResult {
return html`
${this.menuGroups.map((group) => html`
<div class="menuGroup">
${group.name ? html`<div class="groupHeader">${group.name}</div>` : ''}
<div class="groupTabs">
${group.tabs.map((tabArg) => this.renderTab(tabArg))}
</div>
</div>
`)}
`;
}
private renderLegacyTabs(): TemplateResult {
return html`
<div class="menuGroup">
<div class="groupTabs">
${this.tabs.map((tabArg) => this.renderTab(tabArg))}
</div>
</div>
`;
}
private renderTab(tabArg: interfaces.ITab): TemplateResult {
return html`
<div
class="tab ${tabArg === this.selectedTab ? 'selectedTab' : ''}"
@click="${() => {
this.updateTab(tabArg);
}}"
>
<dees-icon .icon="${tabArg.iconName || ''}"></dees-icon>
<span class="tabLabel">${tabArg.key}</span>
</div>
`;
}
private getAllTabs(): interfaces.ITab[] {
if (this.menuGroups.length > 0) {
const groupTabs = this.menuGroups.flatMap(group => group.tabs);
return [...groupTabs, ...this.bottomTabs];
}
return [...this.tabs, ...this.bottomTabs];
}
updateTab(tabArg: interfaces.ITab) {
this.selectedTab = tabArg;
this.selectedTab.action();
// Emit tab-select event
this.dispatchEvent(new CustomEvent('tab-select', {
detail: { tab: tabArg },
bubbles: true,
composed: true
}));
}
firstUpdated() {
const allTabs = this.getAllTabs();
if (allTabs.length > 0) {
this.updateTab(allTabs[0]);
}
}
}

View File

@@ -0,0 +1 @@
export * from './dees-appui-mainmenu.js';

View File

@@ -1,8 +1,8 @@
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { DeesContextmenu } from '../dees-contextmenu/dees-contextmenu.js'; import { DeesContextmenu } from '../../dees-contextmenu/dees-contextmenu.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import { import {
DeesElement, DeesElement,

View File

@@ -0,0 +1 @@
export * from './dees-appui-mainselector.js';

View File

@@ -1,5 +1,5 @@
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import { zIndexLayers } from '../00zindex.js'; import { zIndexLayers } from '../../00zindex.js';
import { import {
DeesElement, DeesElement,

View File

@@ -0,0 +1 @@
export * from './dees-appui-profiledropdown.js';

View File

@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,

View File

@@ -0,0 +1 @@
export * from './dees-appui-tabs.js';

View File

@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,

View File

@@ -0,0 +1 @@
export * from './dees-appui-view.js';

View File

@@ -0,0 +1,10 @@
// App UI Components
export * from './dees-appui-activitylog/index.js';
export * from './dees-appui-appbar/index.js';
export * from './dees-appui-base/index.js';
export * from './dees-appui-maincontent/index.js';
export * from './dees-appui-mainmenu/index.js';
export * from './dees-appui-mainselector/index.js';
export * from './dees-appui-profiledropdown/index.js';
export * from './dees-appui-tabs/index.js';
export * from './dees-appui-view/index.js';

View File

@@ -0,0 +1 @@
export * from './dees-button-exit.js';

View File

@@ -0,0 +1 @@
export * from './dees-button-group.js';

View File

@@ -1,10 +1,10 @@
import { html, css, cssManager, domtools } from '@design.estate/dees-element'; import { html, css, cssManager, domtools } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
import '../dees-form/dees-form.js'; import '../../00group-form/dees-form/dees-form.js';
import '../dees-form-submit/dees-form-submit.js'; import '../../00group-form/dees-form-submit/dees-form-submit.js';
import '../dees-input-text/dees-input-text.js'; import '../../00group-input/dees-input-text/dees-input-text.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import type { DeesButton } from '../dees-button/dees-button.js'; import type { DeesButton } from '../dees-button/dees-button.js';
export const demoFunc = () => html` export const demoFunc = () => html`

View File

@@ -0,0 +1 @@
export * from './dees-button.js';

View File

@@ -0,0 +1,4 @@
// Button Components
export * from './dees-button/index.js';
export * from './dees-button-exit/index.js';
export * from './dees-button-group/index.js';

View File

@@ -0,0 +1 @@
export * from './component.js';

View File

@@ -0,0 +1 @@
export * from './dees-chart-log.js';

View File

@@ -0,0 +1,3 @@
// Chart Components
export * from './dees-chart-area/index.js';
export * from './dees-chart-log/index.js';

View File

@@ -8,14 +8,14 @@ import {
state, state,
cssManager, cssManager,
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import { cssGeistFontFamily, cssMonoFontFamily } from '../00fonts.js'; import { cssGeistFontFamily, cssMonoFontFamily } from '../../00fonts.js';
import hlight from 'highlight.js'; import hlight from 'highlight.js';
import * as smartstring from '@push.rocks/smartstring'; import * as smartstring from '@push.rocks/smartstring';
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
import { DeesContextmenu } from '../dees-contextmenu/dees-contextmenu.js'; import { DeesContextmenu } from '../../dees-contextmenu/dees-contextmenu.js';
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {

View File

@@ -0,0 +1 @@
export * from './dees-dataview-codebox.js';

View File

@@ -1,5 +1,5 @@
import * as colors from '../00colors.js'; import * as colors from '../../00colors.js';
import * as plugins from '../00plugins.js'; import * as plugins from '../../00plugins.js';
import { demoFunc } from './dees-dataview-statusobject.demo.js'; import { demoFunc } from './dees-dataview-statusobject.demo.js';
import { import {
@@ -15,7 +15,7 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import * as tsclass from '@tsclass/tsclass'; import * as tsclass from '@tsclass/tsclass';
import { DeesContextmenu } from '../dees-contextmenu/dees-contextmenu.js'; import { DeesContextmenu } from '../../dees-contextmenu/dees-contextmenu.js';
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {

View File

@@ -0,0 +1 @@
export * from './dees-dataview-statusobject.js';

View File

@@ -0,0 +1,3 @@
// Data View Components
export * from './dees-dataview-codebox/index.js';
export * from './dees-dataview-statusobject/index.js';

View File

@@ -0,0 +1 @@
export * from './dees-editor-markdown.js';

View File

@@ -0,0 +1 @@
export * from './dees-editor-markdownoutlet.js';

View File

@@ -1,2 +1 @@
export * from './dees-editor.js'; export * from './dees-editor.js';
export * from './version.js';

View File

@@ -0,0 +1,4 @@
// Editor Components
export * from './dees-editor/index.js';
export * from './dees-editor-markdown/index.js';
export * from './dees-editor-markdownoutlet/index.js';

View File

@@ -0,0 +1 @@
export * from './dees-form-submit.js';

View File

@@ -1,5 +1,5 @@
import { html, css, domtools, cssManager } from '@design.estate/dees-element'; import { html, css, domtools, cssManager } from '@design.estate/dees-element';
import type { DeesForm } from '../dees-form/dees-form.js'; import type { DeesForm } from './dees-form.js';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
export const demoFunc = () => html` export const demoFunc = () => html`

View File

@@ -8,19 +8,19 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
import { DeesInputCheckbox } from '../dees-input-checkbox/dees-input-checkbox.js'; import { DeesInputCheckbox } from '../../00group-input/dees-input-checkbox/dees-input-checkbox.js';
import { DeesInputDatepicker } from '../dees-input-datepicker/index.js'; import { DeesInputDatepicker } from '../../00group-input/dees-input-datepicker/index.js';
import { DeesInputText } from '../dees-input-text/dees-input-text.js'; import { DeesInputText } from '../../00group-input/dees-input-text/dees-input-text.js';
import { DeesInputQuantitySelector } from '../dees-input-quantityselector/dees-input-quantityselector.js'; import { DeesInputQuantitySelector } from '../../00group-input/dees-input-quantityselector/dees-input-quantityselector.js';
import { DeesInputRadiogroup } from '../dees-input-radiogroup/dees-input-radiogroup.js'; import { DeesInputRadiogroup } from '../../00group-input/dees-input-radiogroup/dees-input-radiogroup.js';
import { DeesInputDropdown } from '../dees-input-dropdown/dees-input-dropdown.js'; import { DeesInputDropdown } from '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
import { DeesInputFileupload } from '../dees-input-fileupload/index.js'; import { DeesInputFileupload } from '../../00group-input/dees-input-fileupload/index.js';
import { DeesInputIban } from '../dees-input-iban/dees-input-iban.js'; import { DeesInputIban } from '../../00group-input/dees-input-iban/dees-input-iban.js';
import { DeesInputMultitoggle } from '../dees-input-multitoggle/dees-input-multitoggle.js'; import { DeesInputMultitoggle } from '../../00group-input/dees-input-multitoggle/dees-input-multitoggle.js';
import { DeesInputPhone } from '../dees-input-phone/dees-input-phone.js'; import { DeesInputPhone } from '../../00group-input/dees-input-phone/dees-input-phone.js';
import { DeesInputTypelist } from '../dees-input-typelist/dees-input-typelist.js'; import { DeesInputTypelist } from '../../00group-input/dees-input-typelist/dees-input-typelist.js';
import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js'; import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js';
import { DeesTable } from '../dees-table/index.js'; import { DeesTable } from '../../dees-table/index.js';
import { demoFunc } from './dees-form.demo.js'; import { demoFunc } from './dees-form.demo.js';
// Unified set for form input types // Unified set for form input types

View File

@@ -0,0 +1 @@
export * from './dees-form.js';

View File

@@ -0,0 +1,3 @@
// Form Components
export * from './dees-form/index.js';
export * from './dees-form-submit/index.js';

View File

@@ -0,0 +1 @@
export * from './dees-input-base.js';

View File

@@ -1,8 +1,8 @@
import { html, css, cssManager } from '@design.estate/dees-element'; import { html, css, cssManager } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
import type { DeesInputCheckbox } from '../dees-input-checkbox/dees-input-checkbox.js'; import type { DeesInputCheckbox } from '../dees-input-checkbox/dees-input-checkbox.js';
import '../dees-button/dees-button.js'; import '../../00group-button/dees-button/dees-button.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<dees-demowrapper .runAfterRender=${async (elementArg: HTMLElement) => { <dees-demowrapper .runAfterRender=${async (elementArg: HTMLElement) => {

View File

@@ -8,7 +8,7 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import { DeesInputBase } from '../dees-input-base/dees-input-base.js'; import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import { demoFunc } from './dees-input-checkbox.demo.js'; import { demoFunc } from './dees-input-checkbox.demo.js';
import { cssGeistFontFamily } from '../00fonts.js'; import { cssGeistFontFamily } from '../../00fonts.js';
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {

View File

@@ -0,0 +1 @@
export * from './dees-input-checkbox.js';

View File

@@ -9,8 +9,8 @@ import { demoFunc } from './demo.js';
import { datepickerStyles } from './styles.js'; import { datepickerStyles } from './styles.js';
import { renderDatepicker } from './template.js'; import { renderDatepicker } from './template.js';
import type { IDateEvent } from './types.js'; import type { IDateEvent } from './types.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import '../dees-label/dees-label.js'; import '../../dees-label/dees-label.js';
declare global { declare global {

View File

@@ -1,6 +1,6 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
import './component.js'; import './component.js';
import type { DeesInputDatepicker } from './component.js'; import type { DeesInputDatepicker } from './component.js';

View File

@@ -0,0 +1 @@
export * from './component.js';

View File

@@ -1,8 +1,8 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
import '../dees-form/dees-form.js'; import '../../00group-form/dees-form/dees-form.js';
import '../dees-form-submit/dees-form-submit.js'; import '../../00group-form/dees-form-submit/dees-form-submit.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<style> <style>

View File

@@ -10,7 +10,7 @@ import {
import * as domtools from '@design.estate/dees-domtools'; import * as domtools from '@design.estate/dees-domtools';
import { demoFunc } from './dees-input-dropdown.demo.js'; import { demoFunc } from './dees-input-dropdown.demo.js';
import { DeesInputBase } from '../dees-input-base/dees-input-base.js'; import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import { cssGeistFontFamily } from '../00fonts.js'; import { cssGeistFontFamily } from '../../00fonts.js';
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {

View File

@@ -0,0 +1 @@
export * from './dees-input-dropdown.js';

View File

@@ -1,8 +1,8 @@
import { DeesInputBase } from '../dees-input-base/dees-input-base.js'; import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import { demoFunc } from './demo.js'; import { demoFunc } from './demo.js';
import { fileuploadStyles } from './styles.js'; import { fileuploadStyles } from './styles.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import '../dees-label/dees-label.js'; import '../../dees-label/dees-label.js';
import { import {
customElement, customElement,

View File

@@ -1,6 +1,6 @@
import { css, cssManager, html } from '@design.estate/dees-element'; import { css, cssManager, html } from '@design.estate/dees-element';
import './component.js'; import './component.js';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<dees-demowrapper> <dees-demowrapper>

View File

@@ -0,0 +1 @@
export * from './component.js';

View File

@@ -0,0 +1 @@
export * from './dees-input-iban.js';

View File

@@ -1,9 +1,9 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
import '../dees-form/dees-form.js'; import '../../00group-form/dees-form/dees-form.js';
import '../dees-input-text/dees-input-text.js'; import '../dees-input-text/dees-input-text.js';
import '../dees-form-submit/dees-form-submit.js'; import '../../00group-form/dees-form-submit/dees-form-submit.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<dees-demowrapper> <dees-demowrapper>

View File

@@ -8,8 +8,8 @@ import {
type TemplateResult, type TemplateResult,
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import { DeesInputBase } from '../dees-input-base/dees-input-base.js'; import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import '../dees-icon/dees-icon.js'; import '../../dees-icon/dees-icon.js';
import '../dees-button/dees-button.js'; import '../../00group-button/dees-button/dees-button.js';
import { demoFunc } from './dees-input-list.demo.js'; import { demoFunc } from './dees-input-list.demo.js';
declare global { declare global {

View File

@@ -0,0 +1 @@
export * from './dees-input-list.js';

View File

@@ -8,7 +8,7 @@ import {
} from '@design.estate/dees-element'; } from '@design.estate/dees-element';
import { DeesInputBase } from '../dees-input-base/dees-input-base.js'; import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import * as colors from '../00colors.js' import * as colors from '../../00colors.js'
import { demoFunc } from './dees-input-multitoggle.demo.js'; import { demoFunc } from './dees-input-multitoggle.demo.js';

View File

@@ -0,0 +1 @@
export * from './dees-input-multitoggle.js';

View File

@@ -0,0 +1 @@
export * from './dees-input-phone.js';

View File

@@ -1,5 +1,5 @@
import { html, css, cssManager } from '@design.estate/dees-element'; import { html, css, cssManager } from '@design.estate/dees-element';
import '../dees-shopping-productcard/dees-shopping-productcard.js'; import '../../dees-shopping-productcard/dees-shopping-productcard.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<dees-demowrapper> <dees-demowrapper>

View File

@@ -0,0 +1 @@
export * from './dees-input-quantityselector.js';

View File

@@ -1,6 +1,6 @@
import { html, css } from '@design.estate/dees-element'; import { html, css } from '@design.estate/dees-element';
import '@design.estate/dees-wcctools/demotools'; import '@design.estate/dees-wcctools/demotools';
import '../dees-panel/dees-panel.js'; import '../../dees-panel/dees-panel.js';
export const demoFunc = () => html` export const demoFunc = () => html`
<dees-demowrapper> <dees-demowrapper>

Some files were not shown because too many files have changed in this diff Show More