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
+14
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.
+1 -1
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.'
} }
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-appui-activitylog.js';
@@ -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 {
@@ -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';
@@ -0,0 +1 @@
export * from './component.js';
@@ -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)}
@@ -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)}
@@ -0,0 +1 @@
export * from './dees-appui-base.js';
@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,
@@ -0,0 +1 @@
export * from './dees-appui-maincontent.js';
@@ -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]);
}
}
}
@@ -0,0 +1 @@
export * from './dees-appui-mainmenu.js';
@@ -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,
@@ -0,0 +1 @@
export * from './dees-appui-mainselector.js';
@@ -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,
@@ -0,0 +1 @@
export * from './dees-appui-profiledropdown.js';
@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,
@@ -0,0 +1 @@
export * from './dees-appui-tabs.js';
@@ -1,4 +1,4 @@
import * as interfaces from '../interfaces/index.js'; import * as interfaces from '../../interfaces/index.js';
import { import {
DeesElement, DeesElement,
@@ -0,0 +1 @@
export * from './dees-appui-view.js';
+10
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';
@@ -0,0 +1 @@
export * from './dees-button-exit.js';
@@ -0,0 +1 @@
export * from './dees-button-group.js';
@@ -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`
@@ -0,0 +1 @@
export * from './dees-button.js';
+4
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';
@@ -0,0 +1 @@
export * from './component.js';
@@ -0,0 +1 @@
export * from './dees-chart-log.js';
+3
View File
@@ -0,0 +1,3 @@
// Chart Components
export * from './dees-chart-area/index.js';
export * from './dees-chart-log/index.js';
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-dataview-codebox.js';
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-dataview-statusobject.js';
@@ -0,0 +1,3 @@
// Data View Components
export * from './dees-dataview-codebox/index.js';
export * from './dees-dataview-statusobject/index.js';
@@ -0,0 +1 @@
export * from './dees-editor-markdown.js';
@@ -0,0 +1 @@
export * from './dees-editor-markdownoutlet.js';
@@ -1,2 +1 @@
export * from './dees-editor.js'; export * from './dees-editor.js';
export * from './version.js';
+4
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';
@@ -0,0 +1 @@
export * from './dees-form-submit.js';
@@ -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`
@@ -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
@@ -0,0 +1 @@
export * from './dees-form.js';
+3
View File
@@ -0,0 +1,3 @@
// Form Components
export * from './dees-form/index.js';
export * from './dees-form-submit/index.js';
@@ -0,0 +1 @@
export * from './dees-input-base.js';
@@ -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) => {
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-input-checkbox.js';
@@ -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 {
@@ -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';
@@ -0,0 +1 @@
export * from './component.js';
@@ -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>
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-input-dropdown.js';
@@ -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,
@@ -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>
@@ -0,0 +1 @@
export * from './component.js';
@@ -0,0 +1 @@
export * from './dees-input-iban.js';
@@ -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>
@@ -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 {
@@ -0,0 +1 @@
export * from './dees-input-list.js';
@@ -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';
@@ -0,0 +1 @@
export * from './dees-input-multitoggle.js';
@@ -0,0 +1 @@
export * from './dees-input-phone.js';
@@ -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>
@@ -0,0 +1 @@
export * from './dees-input-quantityselector.js';
@@ -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