@design.estate/dees-catalog

components for building sane web applications

readme.md for @design.estate/dees-catalog

A comprehensive web components library built with TypeScript and LitElement, providing 90+ production-ready UI components for building modern web applications with consistent design and behavior. πŸš€

TypeScript LitElement

Issue Reporting and Security

For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.

✨ Features

πŸ“¦ Installation

npm install @design.estate/dees-catalog
# or
pnpm add @design.estate/dees-catalog

πŸš€ Quick Start

import { html, DeesElement, customElement } from '@design.estate/dees-element';
import '@design.estate/dees-catalog';

@customElement('my-app')
class MyApp extends DeesElement {
  render() {
    return html`
      <dees-button type="highlighted" @click=${() => alert('Hello!')}>
        Click me!
      </dees-button>
    `;
  }
}

πŸ“– Development Guide

For developers working on this library, please refer to the UI Components Playbook for comprehensive patterns, best practices, and architectural guidelines.

πŸ“š Components Overview

Category Components
Core UI DeesButton, DeesButtonExit, DeesButtonGroup, DeesBadge, DeesChips, DeesHeading, DeesHint, DeesIcon, DeesLabel, DeesPanel, DeesSearchbar, DeesSpinner, DeesToast, DeesWindowcontrols, DeesActionbar
Forms DeesForm, DeesInputText, DeesInputCheckbox, DeesInputDropdown, DeesInputRadiogroup, DeesInputFileupload, DeesInputIban, DeesInputPhone, DeesInputQuantitySelector, DeesInputMultitoggle, DeesInputToggle, DeesInputTags, DeesInputTypelist, DeesInputList, DeesInputProfilepicture, DeesInputRichtext, DeesInputWysiwyg, DeesInputDatepicker, DeesInputSearchselect, DeesInputCode, DeesFormSubmit
App Shell (Layout) DeesAppui, DeesAppuiMainmenu, DeesAppuiSecondarymenu, DeesAppuiMaincontent, DeesAppuiAppbar, DeesAppuiActivitylog, DeesAppuiBottombar, DeesAppuiProfiledropdown, DeesAppuiTabs, DeesMobileNavigation, DeesDashboardGrid
Data Display DeesTable, DeesDataviewCodebox, DeesDataviewStatusobject, DeesPdf, DeesStatsGrid, DeesPagination
Media & Tiles DeesTilePdf, DeesTileImage, DeesTileAudio, DeesTileVideo, DeesTileNote, DeesTileFolder, DeesPreview, DeesPdfViewer, DeesPdfPreview, DeesImageViewer, DeesAudioViewer, DeesVideoViewer
Visualization DeesChartArea, DeesChartLog
Dialogs & Overlays DeesModal, DeesContextmenu, DeesSpeechbubble, DeesWindowlayer
Navigation DeesStepper, DeesProgressbar
Workspace / IDE DeesWorkspace, DeesWorkspaceMonaco, DeesWorkspaceDiffEditor, DeesWorkspaceFiletree, DeesWorkspaceTerminal, DeesWorkspaceTerminalPreview, DeesWorkspaceMarkdown, DeesWorkspaceMarkdownoutlet, DeesWorkspaceBottombar
Theming DeesTheme
Pre-built Templates DeesSimpleAppdash, DeesSimpleLogin
Shopping DeesShoppingProductcard

🎯 Detailed Component Documentation

Core UI Components

DeesButton

A versatile button component supporting multiple styles and states.

// Basic usage
const button = document.createElement('dees-button');
button.text = 'Click me';

// With options
<dees-button
  type="highlighted"  // Options: normal, highlighted, discreet
  status="pending"    // Options: normal, pending, success, error
  disabled={false}    // Optional: disables the button
  @click=${handleClick}
>Click me</dees-button>

DeesBadge

Display status indicators or counts with customizable styles.

<dees-badge
  type="success"  // Options: default, primary, success, warning, error
  text="New"      // Text to display
  rounded        // Optional: applies rounded corners
></dees-badge>

DeesChips

Interactive chips/tags with selection capabilities.

<dees-chips
  selectionMode="multiple"  // Options: none, single, multiple
  chipsAreRemovable        // Optional: allows removing chips
  .selectableChips=${[
    { key: 'tag1', value: 'Important' },
    { key: 'tag2', value: 'Urgent' }
  ]}
  @selection-change=${handleSelection}
></dees-chips>

DeesIcon

Display icons from FontAwesome and Lucide icon libraries with library prefixes.

// FontAwesome icons β€” use 'fa:' prefix
<dees-icon
  icon="fa:check"       // FontAwesome icon with fa: prefix
  iconSize="24"         // Size in pixels
  color="#22c55e"       // Optional: custom color
></dees-icon>

// Lucide icons β€” use 'lucide:' prefix
<dees-icon
  icon="lucide:menu"    // Lucide icon with lucide: prefix
  iconSize="24"         // Size in pixels
  color="#007bff"       // Optional: custom color
  strokeWidth="2"       // Optional: stroke width for Lucide icons
></dees-icon>

// Legacy API (deprecated but still supported)
<dees-icon
  iconFA="check"        // Without prefix β€” assumes FontAwesome
></dees-icon>

DeesLabel

Text label component with optional icon and status indicators.

<dees-label
  text="Status"         // Label text
  icon="info-circle"    // Optional: icon name
  type="info"           // Options: default, info, success, warning, error
  size="medium"         // Options: small, medium, large
></dees-label>

DeesSpinner

Loading indicator with customizable appearance.

<dees-spinner
  size="medium"         // Options: small, medium, large
  type="primary"        // Options: primary, secondary, light, dark
  overlay              // Optional: adds a full-screen overlay
></dees-spinner>

DeesToast

Notification toast messages with various styles, positions, and auto-dismiss functionality.

// Programmatic usage
DeesToast.show({
  message: 'Operation successful',
  type: 'success',      // Options: info, success, warning, error
  duration: 3000,       // Time in milliseconds before auto-dismiss
  position: 'top-right' // Options: top-right, top-left, bottom-right, bottom-left, top-center, bottom-center
});

// Convenience methods
DeesToast.info('Information message');
DeesToast.success('Success message');
DeesToast.warning('Warning message');
DeesToast.error('Error message');

// Advanced control
const toast = await DeesToast.show({
  message: 'Processing...',
  type: 'info',
  duration: 0  // No auto-dismiss
});

// Later dismiss programmatically
toast.dismiss();

Key Features:

DeesButtonExit

Exit/close button component with consistent styling.

<dees-button-exit
  @click=${handleClose}
></dees-button-exit>

DeesButtonGroup

Container for grouping related buttons together.

<dees-button-group
  .buttons=${[
    { text: 'Save', type: 'highlighted', action: handleSave },
    { text: 'Cancel', type: 'normal', action: handleCancel }
  ]}
  spacing="medium"    // Options: small, medium, large
></dees-button-group>

DeesHeading

Consistent heading component with level and styling options.

<dees-heading
  level={1}           // 1-6 for H1-H6
  text="Page Title"
  .subheading=${'Optional subtitle'}
  centered           // Optional: center alignment
></dees-heading>

DeesHint

Hint/tooltip component for providing contextual help.

<dees-hint
  text="This field is required"
  type="info"        // Options: info, warning, error, success
  position="top"     // Options: top, bottom, left, right
></dees-hint>

DeesPanel

Container component for grouping related content with optional title and actions.

<dees-panel
  .title=${'Panel Title'}
  .subtitle=${'Optional subtitle'}
  collapsible        // Optional: allow collapse/expand
  collapsed={false}  // Initial collapsed state
  .actions=${[
    { icon: 'settings', action: handleSettings }
  ]}
>
  <!-- Panel content -->
</dees-panel>

DeesSearchbar

Search input component with suggestions and search handling.

<dees-searchbar
  placeholder="Search..."
  .suggestions=${['item1', 'item2', 'item3']}
  showClearButton    // Show clear button when has value
  @search=${handleSearch}
  @suggestion-select=${handleSuggestionSelect}
></dees-searchbar>

DeesWindowcontrols

Window control buttons (minimize, maximize, close) for desktop-like applications.

<dees-windowcontrols
  .controls=${['minimize', 'maximize', 'close']}
  @minimize=${handleMinimize}
  @maximize=${handleMaximize}
  @close=${handleClose}
></dees-windowcontrols>

DeesActionbar

Floating action bar for contextual actions.

<dees-actionbar
  .actions=${[
    { icon: 'lucide:save', label: 'Save', action: () => handleSave() },
    { icon: 'lucide:trash', label: 'Delete', action: () => handleDelete() }
  ]}
></dees-actionbar>

Form Components

DeesForm

Container component for form elements with built-in validation and data handling.

<dees-form
  @formData=${(e) => handleFormData(e.detail)}  // Emitted when form is submitted
  @formValidation=${(e) => handleValidation(e.detail)}  // Emitted during validation
>
  <dees-input-text required></dees-input-text>
  <dees-form-submit>Submit</dees-form-submit>
</dees-form>

DeesInputText

Text input field with validation and formatting options.

<dees-input-text
  key="email"           // Unique identifier for form data
  label="Email"         // Input label
  value="initial@value.com"  // Initial value
  required             // Makes the field required
  disabled            // Disables the input
  placeholder="Enter your email"
></dees-input-text>

DeesInputCheckbox

Checkbox input component for boolean values.

<dees-input-checkbox
  key="terms"
  label="Accept Terms"
  checked             // Initial checked state
  required
  @change=${handleChange}
></dees-input-checkbox>

DeesInputToggle

Toggle switch component for boolean on/off states.

<dees-input-toggle
  key="darkMode"
  label="Enable Dark Mode"
  .value=${true}
  @change=${handleToggle}
></dees-input-toggle>

DeesInputDropdown

Dropdown selection component with search and filtering capabilities.

<dees-input-dropdown
  key="country"
  label="Select Country"
  .options=${[
    { key: 'us', option: 'United States' },
    { key: 'uk', option: 'United Kingdom' }
  ]}
  searchable          // Enables search functionality
  multiple           // Allows multiple selections
></dees-input-dropdown>

DeesInputFileupload

File upload component with drag-and-drop support.

<dees-input-fileupload
  key="documents"
  label="Upload Files"
  multiple            // Allow multiple file selection
  accept=".pdf,.doc"  // Accepted file types
  maxSize="5MB"      // Maximum file size
  @upload=${handleUpload}
></dees-input-fileupload>

DeesInputIban

Specialized input for IBAN (International Bank Account Number) with validation.

<dees-input-iban
  key="bankAccount"
  label="IBAN"
  country="DE"        // Default country format
  required
  @validate=${handleIbanValidation}
></dees-input-iban>

DeesInputPhone

Phone number input with country code selection and formatting.

<dees-input-phone
  key="phone"
  label="Phone Number"
  defaultCountry="US"  // Default country code
  required
  @validate=${handlePhoneValidation}
></dees-input-phone>

DeesInputQuantitySelector

Numeric input with increment/decrement controls.

<dees-input-quantity-selector
  key="quantity"
  label="Quantity"
  min="0"             // Minimum value
  max="100"           // Maximum value
  step="1"            // Increment/decrement step
  value="1"           // Initial value
></dees-input-quantity-selector>

DeesInputMultitoggle

Multi-state toggle button group.

<dees-input-multitoggle
  key="status"
  label="Status"
  .options=${[
    { key: 'active', label: 'Active' },
    { key: 'pending', label: 'Pending' },
    { key: 'inactive', label: 'Inactive' }
  ]}
  value="active"      // Initial selected value
></dees-input-multitoggle>

DeesInputRadiogroup

Radio button group for single-choice selections with internal state management.

<dees-input-radiogroup
  key="plan"
  label="Select Plan"
  .options=${['Free', 'Pro', 'Enterprise']}
  selectedOption="Pro"
  required
  @change=${handlePlanChange}
></dees-input-radiogroup>

// With custom option objects
<dees-input-radiogroup
  key="priority"
  label="Priority Level"
  .options=${[
    { key: 'low', label: 'Low Priority' },
    { key: 'medium', label: 'Medium Priority' },
    { key: 'high', label: 'High Priority' }
  ]}
  selectedOption="medium"
></dees-input-radiogroup>

DeesInputTags

Tag input component for managing lists of tags with auto-complete and validation.

<dees-input-tags
  key="skills"
  label="Skills"
  .value=${['JavaScript', 'TypeScript', 'CSS']}
  placeholder="Add a skill..."
  .suggestions=${[
    'JavaScript', 'TypeScript', 'Python', 'Go', 'Rust',
    'React', 'Vue', 'Angular', 'Node.js', 'Docker'
  ]}
  maxTags={10}  // Optional: limit number of tags
  required
  @change=${handleTagsChange}
></dees-input-tags>

Key Features:

DeesInputTypelist

Dynamic list input for managing arrays of typed values.

<dees-input-typelist
  key="features"
  label="Product Features"
  placeholder="Add a feature..."
  .value=${['Feature 1', 'Feature 2']}
  @change=${handleFeaturesChange}
></dees-input-typelist>

DeesInputList

Advanced list input with drag-and-drop reordering, inline editing, and validation.

<dees-input-list
  key="items"
  label="List Items"
  placeholder="Add new item..."
  .value=${['Item 1', 'Item 2', 'Item 3']}
  maxItems={10}            // Optional: maximum items
  minItems={1}             // Optional: minimum items
  allowDuplicates={false}  // Optional: allow duplicate values
  sortable={true}          // Optional: enable drag-and-drop reordering
  confirmDelete={true}     // Optional: confirm before deletion
  @change=${handleListChange}
></dees-input-list>

Key Features:

DeesInputProfilepicture

Profile picture input with cropping, zoom, and image processing.

<dees-input-profilepicture
  key="avatar"
  label="Profile Picture"
  shape="round"           // Options: round, square
  size={120}              // Display size in pixels
  .value=${imageBase64}   // Base64 encoded image or URL
  allowUpload={true}      // Enable upload button
  allowDelete={true}      // Enable delete button
  maxFileSize={5242880}   // Max file size in bytes (5MB)
  .acceptedFormats=${['image/jpeg', 'image/png', 'image/webp']}
  outputSize={800}        // Output resolution in pixels
  outputQuality={0.95}    // JPEG quality (0-1)
  @change=${handleAvatarChange}
></dees-input-profilepicture>

Key Features:

DeesInputDatepicker

Date and time picker component with calendar interface and manual typing support.

<dees-input-datepicker
  key="eventDate"
  label="Event Date"
  placeholder="YYYY-MM-DD"
  value="2025-01-15T14:30:00Z"  // ISO string format
  dateFormat="YYYY-MM-DD"        // Display format (default: YYYY-MM-DD)
  enableTime={true}              // Enable time selection
  timeFormat="24h"               // Options: 24h, 12h
  minuteIncrement={15}           // Time step in minutes
  minDate="2025-01-01"          // Minimum selectable date
  maxDate="2025-12-31"          // Maximum selectable date
  .disabledDates=${[            // Array of disabled dates
    '2025-01-10',
    '2025-01-11'
  ]}
  weekStartsOn={1}              // 0 = Sunday, 1 = Monday
  required
  @change=${handleDateChange}
></dees-input-datepicker>

Key Features:

Manual Input Formats:

// Date formats supported
"2023-12-20"     // ISO format (YYYY-MM-DD)
"20.12.2023"     // European format (DD.MM.YYYY)
"12/20/2023"     // US format (MM/DD/YYYY)

// Date with time (add space and time after any date format)
"2023-12-20 14:30"
"20.12.2023 9:45"
"12/20/2023 16:00"

DeesInputSearchselect

Search-enabled dropdown selection component.

<dees-input-searchselect
  key="category"
  label="Select Category"
  placeholder="Search categories..."
  .options=${[
    { key: 'tech', label: 'Technology' },
    { key: 'health', label: 'Healthcare' },
    { key: 'finance', label: 'Finance' }
  ]}
  required
  @change=${handleCategoryChange}
></dees-input-searchselect>

DeesInputRichtext

Rich text editor with formatting toolbar powered by TipTap.

<dees-input-richtext
  key="content"
  label="Article Content"
  .value=${htmlContent}
  placeholder="Start writing..."
  minHeight={300}      // Minimum editor height
  showWordCount={true} // Show word/character count
  @change=${handleContentChange}
></dees-input-richtext>

Key Features:

DeesInputWysiwyg

Advanced block-based editor with slash commands and rich content blocks.

<dees-input-wysiwyg
  key="document"
  label="Document Editor"
  .value=${documentContent}
  outputFormat="html"  // Options: html, markdown, json
  @change=${handleDocumentChange}
></dees-input-wysiwyg>

Key Features:

DeesInputCode

Code input component for editing source code with syntax highlighting.

<dees-input-code
  key="snippet"
  label="Code Snippet"
  .value=${codeString}
  language="typescript"
  @change=${handleCodeChange}
></dees-input-code>

DeesFormSubmit

Submit button component specifically designed for DeesForm.

<dees-form-submit
  disabled            // Optional: disable submit button
  status="normal"     // Options: normal, pending, success, error
>Submit Form</dees-form-submit>

App Shell (Layout) Components

DeesAppui πŸ—οΈ

A comprehensive application shell component providing a complete UI framework with navigation, menus, activity logging, bottom bar, and view management.

Full API Documentation: See ts_web/elements/00group-appui/dees-appui/readme.md for complete documentation including all programmatic APIs, view lifecycle hooks, and TypeScript interfaces.

Quick Start:

import { html, DeesElement, customElement } from '@design.estate/dees-element';
import { DeesAppui } from '@design.estate/dees-catalog';

@customElement('my-app')
class MyApp extends DeesElement {
  private appui: DeesAppui;

  async firstUpdated() {
    this.appui = this.shadowRoot.querySelector('dees-appui');

    this.appui.configure({
      branding: { logoIcon: 'lucide:box', logoText: 'My App' },
      views: [
        { id: 'dashboard', name: 'Dashboard', iconName: 'lucide:home', content: 'my-dashboard' },
        { id: 'settings', name: 'Settings', iconName: 'lucide:settings', content: 'my-settings' },
      ],
      mainMenu: {
        sections: [{ name: 'Main', views: ['dashboard', 'settings'] }]
      },
      defaultView: 'dashboard',
      bottomBar: {
        visible: true,
        widgets: [
          { id: 'status', iconName: 'lucide:activity', label: 'Online', status: 'success' }
        ]
      }
    });
  }

  render() {
    return html`<dees-appui></dees-appui>`;
  }
}

Architecture Overview:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AppBar (dees-appui-appbar)                                         β”‚
β”‚  β”œβ”€β”€ Menus (File, Edit, View...)                                    β”‚
β”‚  β”œβ”€β”€ Breadcrumbs                                                    β”‚
β”‚  β”œβ”€β”€ User Profile + Dropdown                                        β”‚
β”‚  └── Activity Log Toggle                                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Main Menu   β”‚  Content Area                     β”‚  Activity Log     β”‚
β”‚ (collapsed/ β”‚  β”œβ”€β”€ Content Tabs                 β”‚  (slide panel)    β”‚
β”‚  expanded)  β”‚  β”‚   (closable, from tables/lists)β”‚                   β”‚
β”‚             β”‚  └── View Container               β”‚                   β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚      └── Active View              β”‚                   β”‚
β”‚ β”‚ 🏠 Home β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                   β”‚
β”‚ β”‚ πŸ“ Filesβ”‚ β”‚ Secondary Menu                  β”‚ β”‚                   β”‚
β”‚ β”‚ βš™ Set.. β”‚ β”‚  β”œβ”€β”€ Collapsible Groups         β”‚ β”‚                   β”‚
β”‚ β”‚         β”‚ β”‚  β”‚   β”œβ”€β”€ Tabs / Actions          β”‚ β”‚                   β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚   β”œβ”€β”€ Filters / Links         β”‚ β”‚                   β”‚
β”‚             β”‚  β”‚   └── Dividers / Headers       β”‚ β”‚                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Bottom Bar (dees-appui-bottombar) β€” 24px status bar                β”‚
β”‚  β”œβ”€β”€ Status widgets (left/right)                                    β”‚
β”‚  └── Action buttons (left/right)                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Configuration (IAppConfig):

interface IAppConfig {
  branding?: { logoIcon?: string; logoText?: string };
  appBar?: IAppBarConfig;
  views: IViewDefinition[];
  mainMenu?: IMainMenuConfig;
  defaultView?: string;
  activityLog?: IActivityLogConfig;
  bottomBar?: IBottomBarConfig;
  onViewChange?: (viewId: string, view: IViewDefinition) => void;
  onSearch?: (query: string) => void;
}

Key Features:

Programmatic APIs:

Area Methods
Navigation navigateToView(viewId, params?), getCurrentView(), getViewRegistry()
App Bar setAppBarMenus(), updateAppBarMenu(), setBreadcrumbs(), setUser(), setProfileMenuItems(), setSearchVisible(), onSearch(), setWindowControlsVisible()
Main Menu setMainMenu(), updateMainMenuGroup(), addMainMenuItem(), removeMainMenuItem(), setMainMenuSelection(), setMainMenuCollapsed(), setMainMenuVisible(), setMainMenuBadge(), clearMainMenuBadge()
Secondary Menu setSecondaryMenu(), updateSecondaryMenuGroup(), addSecondaryMenuItem(), setSecondaryMenuSelection(), setSecondaryMenuCollapsed(), setSecondaryMenuVisible(), clearSecondaryMenu()
Content Tabs setContentTabs(), addContentTab(), removeContentTab(), selectContentTab(), getSelectedContentTab(), setContentTabsVisible(), setContentTabsAutoHide()
Activity Log activityLog.add(), activityLog.addMany(), activityLog.clear(), activityLog.getEntries(), activityLog.filter(), activityLog.search(), setActivityLogVisible(), toggleActivityLog(), getActivityLogVisible()
Bottom Bar bottomBar.addWidget(), bottomBar.updateWidget(), bottomBar.removeWidget(), bottomBar.getWidget(), bottomBar.clearWidgets(), bottomBar.addAction(), bottomBar.removeAction(), bottomBar.clearActions(), setBottomBarVisible(), getBottomBarVisible()
Observables viewChanged$, viewLifecycle$

View Lifecycle Hooks:

import { DeesElement, customElement } from '@design.estate/dees-element';
import type { IViewActivationContext, IViewLifecycle } from '@design.estate/dees-catalog';

@customElement('my-settings-view')
class MySettingsView extends DeesElement implements IViewLifecycle {
  // Called when view becomes visible
  async onActivate(context: IViewActivationContext) {
    const { appui, viewId, params } = context;

    // Set view-specific secondary menu
    appui.setSecondaryMenu({
      heading: 'Settings',
      groups: [{ name: 'Options', items: [...] }]
    });

    // Control visibility of other shell parts
    appui.setContentTabsVisible(false);
    appui.setSecondaryMenuVisible(true);
  }

  // Called when navigating away
  onDeactivate() { /* cleanup */ }

  // Return false or a message string to block navigation
  canDeactivate(): boolean | string {
    if (this.hasUnsavedChanges) return 'You have unsaved changes. Leave anyway?';
    return true;
  }
}

Secondary Menu Item Types:

The secondary menu supports 8 distinct item types for building rich contextual sidebars:

Type Description
Tab (default) Selectable item that stays highlighted
Action Executes on click without staying selected (blue styling)
Filter Checkbox toggle for filtering
MultiFilter Collapsible multi-select filter box
Divider Visual separator line
Header Non-interactive section label
Link Opens an external URL
Danger Action Red-styled action with optional confirmation

DeesAppuiMainmenu

Main navigation menu component for application-wide navigation. Supports collapsed (icon-only) mode.

<dees-appui-mainmenu
  .menuGroups=${[
    {
      name: 'Main',
      items: [
        { key: 'dashboard', iconName: 'lucide:home', action: () => navigate('dashboard') },
        { key: 'settings', iconName: 'lucide:settings', action: () => navigate('settings') }
      ]
    }
  ]}
  collapsed           // Optional: show collapsed icon-only version
></dees-appui-mainmenu>

DeesAppuiSecondarymenu

Secondary navigation component for sub-section selection with collapsible groups, badges, and 8 item types.

<dees-appui-secondarymenu
  .heading=${'Projects'}
  .groups=${[
    {
      name: 'Active',
      iconName: 'lucide:folder',
      items: [
        { key: 'Frontend App', iconName: 'lucide:code', action: () => select('frontend'), badge: 3, badgeVariant: 'warning' },
        { key: 'API Server', iconName: 'lucide:server', action: () => select('api') }
      ]
    }
  ]}
  @item-select=${handleSectionChange}
></dees-appui-secondarymenu>

DeesAppuiMaincontent

Main content area with tab management support.

<dees-appui-maincontent
  .tabs=${[
    { key: 'Overview', iconName: 'lucide:home', action: () => selectTab('overview') },
    { key: 'Details', iconName: 'lucide:info', action: () => selectTab('details') }
  ]}
  @tab-select=${handleTabChange}
>
  <!-- Content goes here -->
</dees-appui-maincontent>

DeesAppuiAppbar

Professional application bar component with hierarchical menus, breadcrumb navigation, user account management, and activity log toggle.

<dees-appui-appbar
  .menuItems=${[
    {
      name: 'File',
      action: async () => {},
      submenu: [
        { name: 'New File', shortcut: 'Cmd+N', iconName: 'file-plus', action: async () => handleNewFile() },
        { name: 'Open...', shortcut: 'Cmd+O', iconName: 'folder-open', action: async () => handleOpen() },
        { divider: true },
        { name: 'Save', shortcut: 'Cmd+S', iconName: 'save', action: async () => handleSave(), disabled: true }
      ]
    }
  ]}
  .breadcrumbs=${'Project > src > components'}
  .showWindowControls=${true}
  .showSearch=${true}
  .showActivityLogToggle=${true}
  .activityLogCount=${5}
  .activityLogActive=${false}
  .user=${{
    name: 'John Doe',
    avatar: '/path/to/avatar.jpg',
    status: 'online'  // Options: 'online' | 'offline' | 'busy' | 'away'
  }}
  @menu-select=${(e) => handleMenuSelect(e.detail.item)}
  @breadcrumb-navigate=${(e) => handleBreadcrumbClick(e.detail)}
  @activity-toggle=${() => handleActivityToggle()}
></dees-appui-appbar>

Key Features:

DeesAppuiActivitylog

Real-time activity log panel for displaying user actions and system events.

<dees-appui-activitylog></dees-appui-activitylog>

// Programmatic API
activityLog.add({
  type: 'update',        // Options: login, logout, view, create, update, delete, custom
  user: 'John Doe',
  message: 'Updated project settings',
  iconName: 'lucide:settings'  // Optional: custom icon
});

activityLog.addMany(entries);  // Add multiple entries
activityLog.clear();           // Clear all entries
activityLog.getEntries();      // Get all entries
activityLog.filter({ user: 'John' });  // Filter by user/type
activityLog.search('settings');        // Search by message

Key Features:

DeesAppuiBottombar

A 24px fixed-height status bar at the bottom of the application shell. Supports status widgets and action buttons positioned left or right.

// Configure via DeesAppui
appui.configure({
  bottomBar: {
    visible: true,
    widgets: [
      {
        id: 'status',
        iconName: 'lucide:activity',
        label: 'System Online',
        status: 'success',       // 'idle' | 'active' | 'success' | 'warning' | 'error'
        tooltip: 'All systems operational',
        onClick: () => console.log('Status clicked'),
      },
      {
        id: 'version',
        iconName: 'lucide:gitBranch',
        label: 'v1.2.3',
        position: 'right',
      }
    ],
    actions: [
      {
        id: 'terminal',
        iconName: 'lucide:terminal',
        tooltip: 'Open Terminal',
        position: 'right',
        onClick: () => console.log('Terminal clicked'),
      }
    ]
  }
});

// Programmatic updates
appui.bottomBar.addWidget({ id: 'build', iconName: 'lucide:hammer', label: 'Building...', loading: true, status: 'active' });
appui.bottomBar.updateWidget('build', { label: 'Build complete', loading: false, status: 'success' });
appui.bottomBar.removeWidget('build');

appui.bottomBar.addAction({ id: 'refresh', iconName: 'lucide:refreshCw', onClick: () => location.reload() });
appui.bottomBar.removeAction('refresh');

appui.setBottomBarVisible(false);

Key Features:

DeesAppuiTabs

Reusable tab component with horizontal/vertical layout support.

<dees-appui-tabs
  .tabs=${[
    { key: 'Home', iconName: 'lucide:home', action: () => console.log('Home') },
    { key: 'Settings', iconName: 'lucide:settings', action: () => console.log('Settings') }
  ]}
  tabStyle="horizontal"  // Options: horizontal, vertical
  showTabIndicator={true}
  @tab-select=${handleTabSelect}
></dees-appui-tabs>

Data Display Components

DeesTable

Advanced table component with sorting, filtering, and action support.

<dees-table
  .data=${tableData}
  .displayFunction=${(item) => ({
    name: item.name,
    date: item.date,
    amount: item.amount,
    description: item.description
  })}
  .dataActions=${[
    {
      name: 'Edit',
      icon: 'edit',
      action: (item) => handleEdit(item)
    },
    {
      name: 'Delete',
      icon: 'trash',
      action: (item) => handleDelete(item)
    }
  ]}
  heading1="Transactions"
  heading2="Recent Activity"
  searchable           // Enable search functionality
  dataName="transaction"  // Name for single data item
  @selection-change=${handleSelectionChange}
></dees-table>

Advanced Features:

DeesDataviewCodebox

Code display component with syntax highlighting and line numbers.

<dees-dataview-codebox
  progLang="typescript"  // Programming language for syntax highlighting
  .codeToDisplay=${`
    import { html } from '@design.estate/dees-element';

    export const myComponent = () => {
      return html\`<div>Hello World</div>\`;
    };
  `}
></dees-dataview-codebox>

DeesDataviewStatusobject

Status display component for complex objects with nested status indicators.

<dees-dataview-statusobject
  .statusObject=${{
    id: '1',
    name: 'System Status',
    combinedStatus: 'partly_ok',
    combinedStatusText: 'Partially OK',
    details: [
      { name: 'Database', value: 'Connected', status: 'ok', statusText: 'OK' },
      { name: 'API Service', value: 'Degraded', status: 'partly_ok', statusText: 'Partially OK' }
    ]
  }}
></dees-dataview-statusobject>

DeesPdf

PDF viewer component with navigation and zoom controls.

<dees-pdf
  source="path/to/document.pdf"  // URL or base64 encoded PDF
  page={1}            // Current page number
  scale={1.0}         // Zoom level
  .controls=${['zoom', 'download', 'print', 'navigation']}
  @page-change=${handlePageChange}
></dees-pdf>

DeesStatsGrid

A responsive grid component for displaying statistical data with various visualization types.

<dees-statsgrid
  .tiles=${[
    {
      id: 'revenue',
      title: 'Total Revenue',
      value: 125420,
      unit: '$',
      type: 'number',
      icon: 'lucide:dollarSign',
      description: '+12.5% from last month',
      color: '#22c55e'
    },
    {
      id: 'cpu',
      title: 'CPU Usage',
      value: 73,
      type: 'gauge',
      icon: 'lucide:cpu',
      gaugeOptions: {
        min: 0, max: 100,
        thresholds: [
          { value: 0, color: '#22c55e' },
          { value: 60, color: '#f59e0b' },
          { value: 80, color: '#ef4444' }
        ]
      }
    },
    {
      id: 'requests',
      title: 'API Requests',
      value: '1.2k',
      unit: '/min',
      type: 'trend',
      icon: 'lucide:server',
      trendData: [45, 52, 38, 65, 72, 68, 75, 82, 79, 85, 88, 92]
    },
    {
      id: 'cores',
      title: 'CPU Cores',
      value: 0,
      type: 'cpuCores',
      icon: 'lucide:cpu',
      columnSpan: 2,
      coresData: [
        { id: 0, usage: 45, label: '0' },
        { id: 1, usage: 72, label: '1' },
        { id: 2, usage: 30, label: '2' },
        { id: 3, usage: 88, label: '3' }
      ]
    }
  ]}
  .minTileWidth=${250}
  .gap=${16}
></dees-statsgrid>

Tile Types: number, gauge, percentage, trend, text, multiPercentage, cpuCores

DeesPagination

Pagination component for navigating through large datasets.

<dees-pagination
  totalItems={500}
  itemsPerPage={20}
  currentPage={1}
  maxVisiblePages={7}
  @page-change=${handlePageChange}
></dees-pagination>

Media & Tile Components 🎬

A rich collection of tile-based preview components for displaying media files in grids. All tiles share a consistent base class (DeesTileBase) with lazy loading via IntersectionObserver, hover interactions, click events, context menus, and three size variants (small, default, large).

All tile badges use a unified styling system with label-awareness β€” when a label is set, bottom badges automatically shift up to avoid overlapping.

DeesTilePdf

PDF document tile with live page preview on hover.

<dees-tile-pdf
  pdfUrl="/documents/report.pdf"
  label="Annual Report"
  clickable
  @tile-click=${handleClick}
></dees-tile-pdf>

Key Features:

DeesTileImage

Image tile with lazy loading and dimension display.

<dees-tile-image
  src="/photos/landscape.jpg"
  alt="Mountain landscape"
  label="landscape.jpg"
  clickable
  @tile-click=${handleClick}
></dees-tile-image>

Key Features:

DeesTileAudio

Audio file tile with waveform visualization.

<dees-tile-audio
  src="/music/track.mp3"
  title="Summer Vibes"
  artist="DJ Example"
  clickable
  @tile-click=${handleClick}
></dees-tile-audio>

Key Features:

DeesTileVideo

Video tile with thumbnail capture and hover preview.

<dees-tile-video
  src="/videos/intro.mp4"
  poster="/thumbs/intro.jpg"
  label="Introduction"
  clickable
  @tile-click=${handleClick}
></dees-tile-video>

Key Features:

DeesTileNote

Code/text snippet tile with syntax-aware display.

<dees-tile-note
  title="config.ts"
  language="TypeScript"
  .content=${codeString}
  clickable
  @tile-click=${handleClick}
></dees-tile-note>

Key Features:

DeesTileFolder

Folder tile with 2Γ—2 content preview grid.

<dees-tile-folder
  name="Project Assets"
  .items=${[
    { type: 'image', name: 'logo.png', thumbnailSrc: '/thumbs/logo.png' },
    { type: 'pdf', name: 'spec.pdf' },
    { type: 'audio', name: 'jingle.mp3' },
    { type: 'video', name: 'demo.mp4' },
  ]}
  clickable
  @tile-click=${handleClick}
></dees-tile-folder>

Key Features:

DeesPreview

Unified preview component that auto-selects the right tile type based on content.

DeesPdfViewer / DeesPdfPreview

Full PDF viewing components with navigation controls.

DeesImageViewer

Full-screen image viewer with zoom and pan.

DeesAudioViewer

Audio playback component with waveform and controls.

DeesVideoViewer

Video playback component with standard controls.


Visualization Components

DeesChartArea

Area chart component built on ApexCharts for visualizing time-series data.

<dees-chart-area
  label="System Usage"
  .series=${[
    {
      name: 'CPU',
      data: [
        { x: '2025-01-15T03:00:00', y: 25 },
        { x: '2025-01-15T07:00:00', y: 30 },
        { x: '2025-01-15T11:00:00', y: 20 }
      ]
    }
  ]}
></dees-chart-area>

DeesChartLog

Specialized chart component for visualizing log data and events.

<dees-chart-log
  label="System Events"
  .data=${[
    { timestamp: '2025-01-15T03:00:00', event: 'Server Start', type: 'info' },
    { timestamp: '2025-01-15T03:15:00', event: 'Error Detected', type: 'error' }
  ]}
  .filters=${['info', 'warning', 'error']}
  @event-click=${handleEventClick}
></dees-chart-log>

Dialogs & Overlays Components

DeesModal

Modal dialog component with customizable content and actions.

// Programmatic usage
DeesModal.createAndShow({
  heading: 'Confirm Action',
  content: html`
    <dees-form>
      <dees-input-text .label=${'Enter reason'}></dees-input-text>
    </dees-form>
  `,
  menuOptions: [
    { name: 'Cancel', action: async (modal) => { modal.destroy(); return null; } },
    { name: 'Confirm', action: async (modal) => { /* handle */ modal.destroy(); return null; } }
  ]
});

DeesContextmenu

Context menu component for right-click actions with nested submenu support.

// Programmatic usage
DeesContextmenu.openContextMenuWithOptions(mouseEvent, [
  {
    name: 'Edit',
    iconName: 'lucide:edit',
    action: async () => handleEdit()
  },
  { divider: true },
  {
    name: 'More Options',
    iconName: 'lucide:moreHorizontal',
    submenu: [
      { name: 'Duplicate', iconName: 'lucide:copy', action: async () => handleDuplicate() },
      { name: 'Archive', iconName: 'lucide:archive', action: async () => handleArchive() },
    ]
  },
  {
    name: 'Delete',
    iconName: 'lucide:trash2',
    action: async () => handleDelete()
  }
]);

// Component-based (implement getContextMenuItems on any element)
class MyComponent extends DeesElement {
  getContextMenuItems() {
    return [
      { name: 'View Details', iconName: 'lucide:eye', action: async () => { ... } },
      { name: 'Edit', iconName: 'lucide:edit', action: async () => { ... } },
    ];
  }
}

DeesSpeechbubble

Tooltip-style speech bubble component for contextual information.

// Programmatic usage
const bubble = await DeesSpeechbubble.createAndShow(
  referenceElement,
  'Helpful information about this feature'
);

DeesWindowlayer

Base overlay component used by modal dialogs and other overlay components.

const layer = await DeesWindowLayer.createAndShow({
  blur: true,
});

Navigation Components

DeesStepper

Multi-step navigation component for guided user flows.

<dees-stepper
  .steps=${[
    { key: 'personal', label: 'Personal Info', content: html`<div>Form 1</div>` },
    { key: 'address', label: 'Address', content: html`<div>Form 2</div>` },
    { key: 'confirm', label: 'Confirmation', content: html`<div>Review</div>` }
  ]}
  currentStep="personal"
  @step-change=${handleStepChange}
  @complete=${handleComplete}
></dees-stepper>

DeesProgressbar

Progress indicator component for tracking completion status.

<dees-progressbar
  value={75}
  label="Uploading"
  showPercentage
  type="determinate"  // Options: determinate, indeterminate
  status="normal"     // Options: normal, success, warning, error
></dees-progressbar>

Theming Components

DeesTheme

Theme provider component that wraps children and provides CSS custom properties for consistent theming.

// Basic usage β€” wrap your app
<dees-theme>
  <my-app></my-app>
</dees-theme>

// With custom overrides
<dees-theme
  .customColors=${{
    primary: '#007bff',
    success: '#28a745'
  }}
  .customSpacing=${{
    lg: '24px',
    xl: '32px'
  }}
>
  <my-section></my-section>
</dees-theme>

Key Features:


Workspace / IDE Components πŸ’»

DeesWorkspace

Top-level workspace shell that composes editor, file tree, terminal, and bottom bar into an IDE-like layout.

<dees-workspace></dees-workspace>

DeesWorkspaceMonaco

Monaco Editor integration for code editing with full IntelliSense, syntax highlighting, and language support.

<dees-workspace-monaco
  .value=${code}
  .language=${'typescript'}
  @change=${handleCodeChange}
></dees-workspace-monaco>

DeesWorkspaceDiffEditor

Side-by-side diff editor powered by Monaco for comparing file versions.

<dees-workspace-diff-editor
  .originalValue=${originalCode}
  .modifiedValue=${modifiedCode}
  .language=${'typescript'}
></dees-workspace-diff-editor>

DeesWorkspaceFiletree

File tree navigation component with expand/collapse, file icons, and selection.

<dees-workspace-filetree
  .files=${fileTreeData}
  @file-select=${handleFileSelect}
></dees-workspace-filetree>

DeesWorkspaceTerminal

Terminal emulator component powered by xterm.js.

<dees-workspace-terminal></dees-workspace-terminal>

DeesWorkspaceTerminalPreview

Terminal with integrated preview pane for output visualization.

DeesWorkspaceMarkdown

Markdown editor with live preview.

DeesWorkspaceMarkdownoutlet

Read-only markdown renderer for documentation display.

DeesWorkspaceBottombar

IDE-style bottom status bar for the workspace.


Pre-built Templates

DeesSimpleAppdash

Simple application dashboard component for quick prototyping.

<dees-simple-appdash
  .appTitle=${'My Application'}
  .menuItems=${[
    { name: 'Dashboard', icon: 'home', route: '/dashboard' },
    { name: 'Settings', icon: 'settings', route: '/settings' }
  ]}
  .user=${{ name: 'John Doe', role: 'Administrator' }}
  @menu-select=${handleMenuSelect}
>
  <!-- Dashboard content -->
</dees-simple-appdash>

DeesSimpleLogin

Simple login form component with validation and customization.

<dees-simple-login
  .appName=${'My Application'}
  .logo=${'./assets/logo.png'}
  .backgroundImage=${'./assets/background.jpg'}
  .fields=${['username', 'password']}
  showForgotPassword
  showRememberMe
  @login=${handleLogin}
  @forgot-password=${handleForgotPassword}
></dees-simple-login>

Shopping Components

DeesShoppingProductcard

Product card component for e-commerce applications.

<dees-shopping-productcard
  .productData=${{
    name: 'Premium Headphones',
    category: 'Electronics',
    description: 'High-quality wireless headphones with noise cancellation',
    price: 199.99,
    originalPrice: 249.99,
    currency: '$',
    inStock: true,
    imageUrl: '/images/headphones.jpg'
  }}
  quantity={1}
  showQuantitySelector={true}
  @quantityChange=${handleQuantityChange}
></dees-shopping-productcard>

πŸ”§ TypeScript Interfaces

The library exports unified interfaces for consistent API patterns:

// Base menu item interface (used by tabs, menus, etc.)
interface IMenuItem {
  key: string;
  iconName?: string;
  action: () => void;
  badge?: string | number;
  badgeVariant?: 'default' | 'success' | 'warning' | 'error';
  closeable?: boolean;
  onClose?: () => void;
}

// Menu group interface for organized menus
interface IMenuGroup {
  name: string;
  items: IMenuItem[];
  collapsed?: boolean;
  iconName?: string;
}

// View definition for app navigation
interface IViewDefinition {
  id: string;
  name: string;
  iconName?: string;
  content: string | (new () => HTMLElement) | (() => TemplateResult) | (() => Promise<any>);
  secondaryMenu?: ISecondaryMenuGroup[];
  contentTabs?: IMenuItem[];
  route?: string;
  badge?: string | number;
  badgeVariant?: 'default' | 'success' | 'warning' | 'error';
  cache?: boolean;
}

// Activity log entry
interface IActivityEntry {
  id?: string;
  timestamp?: Date;
  type: 'login' | 'logout' | 'view' | 'create' | 'update' | 'delete' | 'custom';
  user: string;
  message: string;
  iconName?: string;
  data?: Record<string, unknown>;
}

// Bottom bar widget
interface IBottomBarWidget {
  id: string;
  iconName?: string;
  label?: string;
  status?: 'idle' | 'active' | 'success' | 'warning' | 'error';
  tooltip?: string;
  loading?: boolean;
  onClick?: () => void;
  position?: 'left' | 'right';
  order?: number;
}

// Bottom bar action button
interface IBottomBarAction {
  id: string;
  iconName: string;
  tooltip?: string;
  onClick: () => void | Promise<void>;
  disabled?: boolean;
  position?: 'left' | 'right';
}

// View activation context (passed to onActivate)
interface IViewActivationContext {
  appui: DeesAppui;
  viewId: string;
  params?: Record<string, string>;
}

// Tile folder item (for DeesTileFolder)
interface ITileFolderItem {
  type: 'pdf' | 'image' | 'audio' | 'video' | 'note' | 'folder' | 'unknown';
  thumbnailSrc?: string;
  name: string;
}

This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the LICENSE file.

Please note: The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.

Trademarks

This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.

Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.

Company Information

Task Venture Capital GmbH Registered at District Court Bremen HRB 35230 HB, Germany

By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

changelog.md for @design.estate/dees-catalog

2026-03-18 - 3.49.0 - feat(dataview-statusobject)

add last updated footer to status object and refresh demo data

2026-03-14 - 3.48.5 - fix(repo)

no changes to commit

2026-03-14 - 3.48.4 - fix(storage-browser)

rename S3-specific storage browser interfaces to generic storage types

2026-03-14 - 3.48.3 - fix(dataview)

rename dees-s3-browser exports and custom elements to dees-storage-browser

2026-03-12 - 3.48.2 - fix(repo)

no changes to commit

2026-03-12 - 3.48.1 - fix(repo)

no changes to commit

2026-03-12 - 3.48.0 - feat(dataview)

add an S3 browser component with column and list views, file preview, editing, and object management

2026-03-11 - 3.47.2 - fix(deps)

bump @design.estate/dees-domtools and @design.estate/dees-element dependencies

2026-03-11 - 3.47.1 - fix(dees-statsgrid)

add tablet breakpoint to render stats grid as three columns

2026-03-11 - 3.47.0 - feat(dees-statsgrid)

add container-responsive behavior and responsive CSS to dees-statsgrid; bump @design.estate/dees-element dependency to ^2.2.1

2026-03-10 - 3.46.1 - fix(dees-appui)

add min-height: 0 to mainmenu and secondarymenu to prevent unintended container height and fix layout stacking

2026-03-10 - 3.46.0 - feat(dees-tile)

unify tile metadata into a consistent bottom info bar and add PDF file-size display

2026-03-10 - 3.45.1 - fix(dees-appui)

substitute route params into URL hash when navigating

2026-03-10 - 3.45.0 - feat(dees-form)

register new input components (tags, list, wysiwyg, richtext) and emit change notification for richtext updates

2026-03-10 - 3.44.0 - feat(appui-tabs)

add support for left/right tab action buttons and content tab action APIs

2026-03-09 - 3.43.4 - fix(media)

remove deprecated dees-pdf and dees-pdf-preview components and bump several dependencies

2026-02-24 - 3.43.3 - fix(dees-table)

use lucide icon identifier for Search action in dees-table

2026-02-21 - 3.43.2 - fix(dees-chart-log)

avoid duplicate log entries, optimize incremental updates, enforce maxEntries, and respect filters when writing logs

2026-02-21 - 3.43.1 - fix(dees-chart-log)

replay buffered log entries when terminal becomes ready and sync logEntries updates to re-render filtered logs

2026-02-17 - 3.43.0 - feat(dees-form)

add layout styles to dees-form and standardize demo input grouping

2026-02-16 - 3.42.2 - fix(dees-chart-area)

add ApexAxisChartSeries type to dees-chart-area component to improve typing for ApexCharts series data

2026-02-16 - 3.42.1 - fix(dees-table)

Guard against undefined action.type in dees-table by using optional chaining and update several dependencies

2026-02-02 - 3.42.0 - feat(dees-form-submit)

forward button properties to internal dees-button, use property bindings, add demo and styles

2026-02-02 - 3.41.6 - fix(dees-simple-appdash)

respect selectedView when loading initial view, falling back to the first tab

2026-02-01 - 3.41.5 - fix(dees-service-lib-loader)

prevent horizontal scrollbar by offsetting xterm WidthCache measurement container

2026-01-29 - 3.41.4 - fix()

no changes

2026-01-29 - 3.41.3 - fix(dees-pdf-viewer)

use in-memory PDF data for download and print; add robust print wrapper, cleanup and error handling

2026-01-28 - 3.41.2 - fix(dees-pdf-viewer)

account for devicePixelRatio when setting canvas dimensions and scale 2D context to render crisp PDF pages and thumbnails on high-DPI displays

2026-01-27 - 3.41.1 - fix(dataview-codebox)

fix dees-dataview codebox layout to ensure full-height, proper flex behavior and scrolling; bump internal dependencies

2026-01-27 - 3.41.0 - feat(docs)

document new media & tile components and expand Workspace/IDE component docs; update component count to 90+

2026-01-27 - 3.40.0 - feat(dees-tile)

unify tile badge styling and markup; replace component-specific badge classes with shared tile-badge classes and update related imports/tests

2026-01-27 - 3.39.1 - fix(dees-tile-note)

use horizontal pointer position to scroll note body by computing percentage from clientX and element width instead of clientY and height

2026-01-27 - 3.39.0 - feat(components)

add large set of new UI components and demos, reorganize groups, and bump a few dependencies

2026-01-26 - 3.38.0 - feat(appui)

add app shell and bottom bar APIs, new input components, and update README component listings and docs

2026-01-25 - 3.37.1 - fix(editor)

fix monaco/editor layout, update dev deps, simplify watch script and remove Playwright snapshots

2026-01-13 - 3.37.0 - feat(dees-button,dees-statsgrid)

add unified icon property and icon-position support to dees-button; add partition and disk tile types to dees-statsgrid

2026-01-12 - 3.36.0 - feat(dees-chart-log)

add xterm search addon support and enhance chart log demo with structured/raw (Docker-like) logs and themeable styles

2026-01-12 - 3.35.1 - fix(dees-statsgrid)

center CPU core bars when they occupy less than ~66% of the tile and switch bar fills to absolute positioning for correct alignment and smoother transitions

2026-01-12 - 3.35.0 - feat(dees-statsgrid)

add cpuCores tile type with column spanning, rendering, demo and docs

2026-01-12 - 3.34.1 - fix(deps)

move @design.estate/dees-wcctools from devDependencies to dependencies

2026-01-07 - 3.34.0 - feat(dees-input-toggle)

Add DeesInputToggle component (toggle switch) with demo and exports; integrate into inputs and DeesForm

2026-01-06 - 3.33.0 - feat(dees-statsgrid)

add multiPercentage tile type to stats grid

2026-01-04 - 3.32.0 - feat(demo)

add demoGroup metadata to components and update related dependencies

2026-01-04 - 3.31.0 - feat(dees-input-list)

enhance drag-and-drop reordering for dees-input-list and migrate tests to chromium runner

2026-01-04 - 3.30.1 - fix(dees-statsgrid)

refine spacing, sizing, and colors in dees-statsgrid for a tighter, more compact appearance

2026-01-03 - 3.30.0 - feat(appui)

add dees-appui-bottombar component with config, programmatic API, demo and docs

2026-01-03 - 3.29.3 - fix(elements/appui)

prevent scroll chaining on app UI components by adding overscroll-behavior: contain

2026-01-03 - 3.29.2 - fix(dees-appui)

set min-height: 0 on .maingrid > dees-appui-maincontent to prevent layout overflow in flex container

2026-01-03 - 3.29.1 - fix(dees-appui)

prevent main grid overflow by adding overflow:hidden; and add Playwright scroll containment screenshots

2026-01-03 - 3.29.0 - feat(docs)

add documentation for new input components, activity log features, theming, and expand DeesAppui docs

2026-01-03 - 3.28.1 - fix(appui)

adjust layout and spacing in app UI components: fix activity log overflow, contain main content overscroll, and refine secondary menu padding/transition

2026-01-02 - 3.28.0 - feat(dees-appui)

Rename DeesAppuiBase to DeesAppui and migrate related API, exports, demos and docs

2026-01-01 - 3.27.1 - fix(dees-actionbar)

always render actionbar wrapper and delay adding visible class to ensure grid/opacity animations run reliably

2026-01-01 - 3.27.0 - feat(services)

introduce DeesServiceLibLoader to lazy-load heavy client libraries from CDN and update components to use it

2026-01-01 - 3.26.1 - fix(dees-actionbar)

animate actionbar hide using grid-template-rows and wait for animation before clearing state

2026-01-01 - 3.26.0 - feat(workspace)

add external file change detection, conflict resolution UI, and diff editor

2026-01-01 - 3.25.0 - feat(dees-actionbar)

add action bar component and improve workspace package update handling

2026-01-01 - 3.24.0 - feat(workspace)

add workspace bottom bar, terminal tab manager, and run-process integration

2025-12-31 - 3.23.0 - feat(workspace)

add resizable file tree and terminal panes with draggable handles and public layout APIs

2025-12-31 - 3.22.0 - feat(workspace)

add resizable markdown editor/preview split with draggable handle and markdown outlet styling/demo

2025-12-31 - 3.21.0 - feat(terminal)

add dynamic bright/dark theming for terminal components and terminal preview

2025-12-31 - 3.20.1 - fix(dees-workspace)

fix demo wrapper and workspace layout; always render terminal preview

2025-12-31 - 3.20.0 - feat(workspace)

rename editor components to workspace group and move terminal & TypeScript intellisense into workspace

2025-12-31 - 3.19.1 - fix(intellisense)

Debounce TypeScript/JavaScript IntelliSense processing and cache missing packages to reduce work and noisy logs

2025-12-31 - 3.19.0 - feat(dees-editor-workspace)

improve TypeScript IntelliSense, auto-run workspace init commands, and watch node_modules for new packages

2025-12-31 - 3.18.0 - feat(filetree)

add filesystem watch support to WebContainer environment and auto-refresh file tree; improve icon handling and context menu behavior

2025-12-31 - 3.17.0 - feat(editor)

add file explorer toolbar, empty-space context menu, editor auto-save, save-all, and keyboard save shortcuts

2025-12-30 - 3.16.0 - feat(editor)

improve TypeScript IntelliSense and module resolution for Monaco editor

2025-12-30 - 3.15.0 - feat(editor)

enable file-backed Monaco models and add Problems panel; lazy-init project TypeScript IntelliSense

2025-12-30 - 3.14.2 - fix(editor)

bump monaco-editor to 0.55.1 and adapt TypeScript intellisense integration to the updated Monaco API

2025-12-30 - 3.14.1 - fix(build)

bump @webcontainer/api and enable skipLibCheck to avoid type-check conflicts

2025-12-30 - 3.14.0 - feat(editor)

add modal prompts for file/folder creation, improve Monaco editor reactivity and add TypeScript IntelliSense support

2025-12-30 - 3.13.1 - fix(webcontainer)

prevent double initialization and race conditions when booting WebContainer and loading editor workspace/file tree

2025-12-30 - 3.13.0 - feat(editor/runtime)

Replace bare editor with Monaco-based editor and add runtime + workspace/filetree integration

2025-12-30 - 3.12.2 - fix(dees-editor-bare)

make Monaco editor follow domtools theme and clean up theme subscription on disconnect

2025-12-30 - 3.12.1 - fix(modal)

fix modal editor layout to prevent overlap by adding relative positioning and reducing height

2025-12-30 - 3.12.0 - feat(editor)

add code input component and editor-bare, replace dees-editor usage, and add modal contentPadding

2025-12-30 - 3.11.2 - fix(tests)

make WYSIWYG tests more robust and deterministic by initializing and attaching elements consistently, awaiting customElements/firstUpdated, adjusting selectors and assertions, and cleaning up DOM after tests

2025-12-30 - 3.11.1 - fix(tests)

migrate tests to @git.zone/tstest tapbundle and export tap.start() in browser tests

2025-12-30 - 3.11.0 - feat(dees-appui-tabs)

improve horizontal tabs UX with scroll fades, hover scrollbar, and smooth scroll-to-selected

2025-12-29 - 3.10.0 - feat(appui-tabs)

add closeable tabs and auto-hide behavior for content tabs, plus API and events to control them

2025-12-29 - 3.9.0 - feat(dees-appui-mainmenu)

add status badges to main menu items with theme-aware styling

2025-12-29 - 3.8.0 - feat(dees-appui-base)

add interactive demo controls to manipulate appui via view activation context

2025-12-29 - 3.7.1 - fix(dees-appui-maincontent)

migrate main content layout to CSS Grid and enable topbar collapse transitions

2025-12-29 - 3.7.0 - feat(dees-contextmenu,dees-appui-tabs,test)

Prevent double-destruction of context menus, await window layer teardown, update destroyAll behavior, remove tabs content slot, and adjust tests

2025-12-29 - 3.6.1 - fix(readme)

document new App UI APIs to control main/secondary menu and content tabs visibility

2025-12-29 - 3.6.0 - feat(dees-appui)

add visibility toggles for main/secondary menus and ability to show/hide content tabs; expose corresponding setters and appconfig entries

2025-12-29 - 3.5.1 - fix(dees-appui-view)

remove DeesAppuiView component, its demo, documentation snippet, and related exports

2025-12-29 - 3.5.0 - feat(theme,interfaces)

Introduce a global theming system and unify menu/tab interfaces; migrate components to use themeDefaultStyles and update APIs accordingly

2025-12-19 - 3.4.0 - feat(dees-appui-base)

overhaul AppUI core: replace simple view rendering with a full-featured ViewRegistry (caching, hide/show lifecycle, async lazy-loading), introduce view lifecycle hooks and activation context, add activity log API/component, remove built-in router and state manager, and update configuration interfaces and demos

2025-12-19 - 3.3.3 - fix(tests)

update test imports to new dees-input-wysiwyg paths

2025-12-19 - 3.3.2 - fix(build)

update build config, bump dependencies, and adjust test import paths after element reorganization

2025-12-11 - 3.3.1 - fix(dees-pdf-viewer)

Scroll active PDF thumbnail into view after rendering and on page changes; update dependency versions

2025-12-09 - 3.3.0 - feat(dees-appui-base)

Add unified App UI API to dees-appui-base with ViewRegistry, AppRouter and StateManager

2025-12-08 - 3.2.0 - feat(dees-simple-appdash,dees-simple-login,dees-terminal)

Revamp UI: dashboard & login styling, standardize icons to Lucide, and add terminal background/config

2025-12-08 - 3.1.2 - fix(DeesAppuiMainmenu, DeesAppuiSecondarymenu)

Add position: relative to main and secondary app UI menus to fix positioning of overlays and tooltips

2025-12-08 - 3.1.1 - fix(dees-appui)

Extract demos for main and secondary app menus, adjust collapsed styles and toggle placement, bump devDependency

2025-12-08 - 3.1.0 - feat(dees-appui)

Add collapsible/compact mode to AppUI sidebars (mainmenu & secondarymenu) with toggles, tooltips and improved z-index stacking

2025-12-08 - 3.0.1 - fix(dees-appui)

Normalize header heights and box-sizing for App UI components

2025-12-08 - 3.0.0 - BREAKING CHANGE(dees-appui-secondarymenu)

Add SecondaryMenu component and replace Mainselector with new SecondaryMenu in AppUI

2025-12-08 - 2.0.7 - fix(structure)

Add many new UI components, input controls, charts, editors, and demos

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.

2025-12-06 - 2.0.5 - fix(build)

Bump devDependencies: update @git.zone/tsbundle and @git.zone/tswatch to patched versions

2025-12-06 - 2.0.4 - fix(imports)

Normalize and fix relative import paths for web components to ensure correct module resolution

2025-12-03 - 2.0.3 - fix(dependencies)

Bump dependencies and developer tooling versions

2025-11-30 - 2.0.2 - fix(dees-stepper)

Make step validation abortable and cancel active step listeners when navigating

2025-11-30 - 2.0.1 - fix(dees-stepper)

Improve dees-stepper visual style and transitions

2025-11-17 - 2.0.0 - BREAKING CHANGE(decorators)

Migrate to TC39 standard decorators (accessor) across components, update tsconfig and bump dependencies

2025-10-23 - 1.12.6 - fix(dependencies)

Bump FontAwesome to ^7.1.0 and add local claude settings

2025-09-23 - 1.12.5 - fix(ci)

Add local permissions settings for development

2025-09-20 - 1.12.4 - fix(ci)

Add local assistant settings to enable permitted dev tooling commands

2025-09-19 - 1.12.3 - fix(dees-input-fileupload)

Show selected files inside dropzone and improve file upload UX

2025-09-18 - 1.12.2 - fix(dees-input-wysiwyg)

Integrate output format preview into WYSIWYG demo; update plan and add local dev settings

2025-09-18 - 1.12.1 - fix(ci)

Add local settings to allow running pnpm scripts and enable dev chat permission

2025-09-18 - 1.12.0 - feat(dees-stepper)

Revamp dees-stepper: modern styling, new steps and improved navigation/validation

2025-09-18 - 1.11.8 - fix(ci)

Add local tool permissions config to allow running pnpm scripts and enable mcp__zen__chat

2025-09-16 - 1.11.7 - fix(readme)

Expand README with comprehensive component documentation, examples and developer guide; add local Claude settings

2025-09-16 - 1.11.6 - fix(dees-table)

Improve Lucene range comparisons, pin monaco-editor to 0.52.2, and add local dev metadata

2025-09-16 - 1.11.5 - fix(ci)

Add local Claude agent settings for CI tooling

2025-09-10 - 1.11.4 - fix(readme)

Rewrite and expand README with Quick Start, feature highlights, demos and usage examples; add local Claude settings file

2025-09-08 - 1.11.3 - fix(dees-input-list)

Prevent list animations from affecting scroll bounds and fix content-visibility issues in dees-input-list; add local developer settings

2025-09-07 - 1.11.2 - fix(DeesFormSubmit)

Make form submit robust by locating nearest dees-form via closest(); add local CLAUDE settings

2025-09-06 - 1.11.1 - fix(dees-input-text)

Normalize Lucide icon names for password toggle

2025-09-05 - 1.11.0 - feat(dees-icon)

Add full icon list and improve dees-icon demo with copy-all functionality and UI tweaks

2025-09-05 - 1.10.12 - fix(dees-simple-appdash)

Fix icon rendering in dees-simple-appdash to respect provided icon strings

2025-09-05 - 1.10.11 - fix(dees-simple-appdash)

Bump deps and fix dees-simple-appdash icon binding and terminal sizing

2025-06-29 - 1.10.10 - improve(dees-dashboardgrid, dees-input-wysiwyg)

Enhanced dashboard grid component with advanced spacing and layout features inspired by gridstack.js

Dashboard Grid improvements:

WYSIWYG editor drag and drop fixes:

2025-06-28 - 1.10.9 - feat(dees-dashboardgrid)

Add new dashboard grid component with drag-and-drop and resize capabilities

2025-06-27 - 1.10.8 - feat(ui-components)

Update multiple components with shadcn-aligned styling and improved animations

2025-06-27 - 1.10.1 - fix(modal)

Improve modal overscroll behavior by adding 'overscroll-behavior: contain' to content container

2025-06-26 - 1.10.0 - feat(dees-modal)

Add mobileFullscreen option to modals for full-screen mobile support

2025-06-26 - 1.9.9 - fix(dees-input-multitoggle, dees-input-typelist)

Replace dynamic import with static import for demo functions in dees-input-multitoggle and dees-input-typelist

2025-06-26 - 1.9.8 - fix(deps, windowlayer)

Update dependency versions and adjust dees-windowlayer CSS to add pointer-events fix

2025-06-22 - 1.9.0 - feat(form-inputs)

Improve form input consistency and auto spacing across inputs and buttons

2025-06-20 - 1.8.20 - fix(deps)

Update dependency versions: bump @design.estate/dees-domtools from ^2.1.1 to ^2.3.3, @design.estate/dees-element from ^2.0.42 to ^2.0.44, lucide from ^0.515.0 to ^0.518.0, and @git.zone/tsbundle from ^2.0.15 to ^2.4.0

2025-06-10 - 1.8.1 - fix(dees-statsgrid)

Adjust stats grid styling for better alignment and improved visualizations in gauge and trend tiles.

2025-04-25 - 1.8.0 - feat(dees-pagination)

Add new pagination component to the library along with its demo and integration in the main export.

2025-04-22 - 1.7.0 - feat(dees-searchbar)

Add dees-searchbar component with live search and filter demo

2025-04-22 - 1.6.0 - feat(documentation/dees-heading)

Add codex documentation overview and dees-heading component demo

2025-04-18 - 1.5.6 - fix(dependencies)

Bump dependency versions and update demo code references

2025-04-12 - 1.5.5 - fix(catalog)

No code or documentation changes were detected. This commit records an empty update in commit information and confirms that the current state remains stable.

2025-04-11 - 1.5.4 - fix(readme)

Update readme with company and trademark guidelines, clarifying legal usage without exposing licensing details.

2025-04-11 - 1.5.3 - fix(readme)

Update readme.md: remove redundant usage section and refine component documentation with improved examples.

2025-04-11 - 1.5.3 - fix(readme)

Update readme.md for clearer documentation: removed redundant 'Usage' section and refined component examples (e.g., DeesButton's basic and options usage) for improved clarity and consistency.

2025-04-11 - 1.5.2 - fix(ci)

Remove obsolete GitLab CI configuration file

2025-04-11 - 1.5.1 - fix(readme)

Update readme with comprehensive reference documentation: add a usage snippet for components like DeesButton, introduce a detailed overview table of all component categories, and enhance documentation sections for each component group.

2025-04-11 - 1.5.0 - feat(badge)

Add dees-badge component with demo file and update packageManager field in package.json

2025-01-20 - 1.4.1 - fix(dependencies)

Update dependency versions for smartpromise, webcontainer/api, tapbundle, and @types/node

2025-01-20 - 1.4.0 - feat(dees-terminal)

Enhanced the dees-terminal component to support environment variable settings and improved setup command execution.

2025-01-15 - 1.3.4 - fix(chart)

Fix chart rendering and appearance issues in the DeesChartArea component.

2024-12-17 - 1.3.3 - fix(dees-input-multitoggle)

Add missing TypeScript declaration for dees-input-multitoggle

2024-12-09 - 1.3.2 - fix(metadata)

Updated package metadata and readme for better project description and structure.

2024-11-07 - 1.3.1 - fix(DeesSimpleAppDash)

Fix: add border to controlbar in DeesSimpleAppDash

2024-11-07 - 1.3.0 - feat(dees-simple-appdash)

Enhance responsive styling and terminal setup command

2024-10-07 - 1.2.0 - feat(index.ts)

Add export for colors module in index.ts

2024-10-06 - 1.1.13 - fix(dees-button)

Fix styling issue in button component.

2024-10-06 - 1.1.12 - fix(dees-button)

Fix reflect attribute for disabled property on dees-button component

2024-10-05 - 1.1.11 - fix(DeesStepper)

Adjusted CSS properties in DeesStepper component

2024-10-04 - 1.1.10 - fix(dependencies)

Reverted @webcontainer/api version

2024-10-04 - 1.1.9 - fix(dependencies)

Update various dependencies for compatibility and stability.

2024-09-02 - 1.1.8 - fix(dees-simple-appdash)

Corrected viewTab active background color

2024-09-02 - 1.1.7 - fix(dependencies)

Update dependencies to their latest versions

2024-07-01 - 1.1.6 - fix(dees-dataview-codebox)

Corrected the font-family order for better font rendering.

2024-07-01 - 1.1.5 - fix(dees-dataview-codebox)

Adjusted line number font weight in codebox

2024-07-01 - 1.1.4 - fix(UI)

Fixed font-family order for code and value elements

2024-07-01 - 1.1.3 - fix(dees-dataview-codebox)

Adjusted codebox font weight and font family.

2024-06-30 - 1.1.2 - fix(elements)

Fix various UI components and improve styles

2024-06-30 - 1.1.1 - fix(build)

Fix build script by updating source folders.

2024-06-30 - 1.1.0 - feat(project dependencies)

Updated various dependencies and internal fonts

2024-04-20 - 1.0.289 - Documentation Update

Updated the project documentation.

2024-02-05 to 2024-02-13 - 1.0.277 to 1.0.288 - Core Fixes

Series of core updates and patches.

2024-01-22 to 2024-02-05 - 1.0.257 to 1.0.276 - Core Fixes

More core updates and patches.

2024-01-21 - 1.0.256 to 1.0.257 - Core Fixes

Minor bugfixes for core functionalities.

2024-01-18 - 1.0.246 - Core Fixes

Bugfixes for core functionalities.

2024-01-15 - 1.0.242 to 1.0.245 - Core Fixes

Various core bugfixes.

2024-01-11 - 1.0.241 to 1.0.242 - Core Fixes

Bugfixes for core functionalities.

2024-01-10 - 1.0.240 to 1.0.241 - Core Fixes

Minor core fixes and improvements.

2024-01-09 - 1.0.239 to 1.0.240 - Core Fixes

Core updates and patches.

2023-12-26 - 1.0.238 to 1.0.239 - Core Fixes

Updates to core functionalities.

2023-12-20 - 1.0.236 to 1.0.238 - Core Fixes

Bugfixes and updates for core functionalities.

2023-12-08 - 1.0.233 to 1.0.236 - Core Fixes

Multiple updates to core functionalities.

2023-11-29 - 1.0.231 to 1.0.232 - Core Fixes

Minor core patches.

2023-10-31 - 1.0.229 to 1.0.230 - Core Fixes

Various updates and fixes for core.

2023-10-24 - 1.0.228 to 1.0.229 - Core Fixes

More core updates and patches.

2023-10-23 - 1.0.226 to 1.0.228 - Core Fixes

Series of updates and fixes for core functionalities.

2023-10-20 - 1.0.223 to 1.0.225 - Core Fixes

Minor updates and fixes for core.

2023-10-18 - 1.0.222 to 1.0.223 - Core Fixes

Core patches and bugfixes.

2023-10-17 - 1.0.221 to 1.0.222 - Core Fixes

Further updates to core functionalities.

2023-10-12 - 1.0.220 to 1.0.221 - Core Fixes

Minor core updates.

2023-10-11 - 1.0.219 to 1.0.220 - Core Fixes

Bugfixes and updates for core.

2023-10-07 - 1.0.217 to 1.0.219 - Core Fixes

Series of core updates and patches.

2023-10-05 - 1.0.216 to 1.0.217 - Core Fixes

Minor updates for core functionalities.

2023-09-22 - 1.0.212 to 1.0.215 - Core Fixes

Various updates and fixes for core.

2023-09-20 - 1.0.210 to 1.0.211 - Core Fixes

Series of core patches.

2023-09-18 - 1.0.209 to 1.0.210 - Core Fixes

Bugfixes and improvements to core.

2023-09-17 - 1.0.207 to 1.0.209 - Core Fixes

Minor updates and fixes.

2023-09-15 - 1.0.203 to 1.0.206 - Core Fixes

Series of core improvements and fixes.

2023-09-14 - 1.0.199 to 1.0.202 - Core Fixes

Patches for core functionalities.

2023-09-13 - 1.0.194 to 1.0.198 - Core Fixes

Various bugfixes and updates for core.

2023-09-12 - 1.0.190 to 1.0.193 - Core Fixes

Minor core patches.

2023-09-09 - 1.0.188 to 1.0.189 - Core Fixes

Updates and bugfixes for core.

2023-09-07 - 1.0.186 to 1.0.187 - Core Fixes

Core patches and improvements.

2023-09-04 - 1.0.184 to 1.0.185 - Core Fixes

Series of updates and bugfixes for core.

2023-09-01 - 1.0.180 to 1.0.183 - Core Fixes

Various core updates and fixes.

2023-08-28 - 1.0.177 to 1.0.179 - Core Fixes

Minor bugfixes and updates.

2023-08-26 - 1.0.176 to 1.0.177 - Core Fixes

Bugfixes for core functionalities.

2023-08-20 - 1.0.173 to 1.0.175 - Core Fixes

Series of updates and fixes for core.

2023-08-08 - 1.0.172 to 1.0.173 - Core Fixes

Minor core updates.

2023-08-07 - 1.0.171 to 1.0.172 - Core Fixes

Various updates to core.

2023-04-12 - 1.0.169 to 1.0.170 - Core Fixes

Bugfixes for core functionalities.

2023-04-10 - 1.0.163 to 1.0.168 - Core Fixes

Series of core updates and patches.

2023-04-07 - 1.0.160 to 1.0.162 - Core Fixes

Various updates for core functionalities.

2023-04-06 - 1.0.155 to 1.0.159 - Core Fixes

Bugfixes and improvements to core.

2023-03-27 - 1.0.150 to 1.0.154 - Core Fixes

Minor updates and patches for core functionalities.

2023-03-09 - 1.0.149 to 1.0.150 - Core Fixes

Bugfixes for core functionalities.

2023-01-17 - 1.0.146 to 1.0.148 - Core Fixes

Updates and fixes for core.

2023-01-16 - 1.0.144 to 1.0.145 - Core Fixes

Series of updates and bugfixes for core.

2023-01-13 - 1.0.134 to 1.0.143 - Core Fixes

Various core patches and improvements.

2023-01-12 - 1.0.132 to 1.0.133 - Core Fixes

Minor fixes for core functionalities.

2023-01-11 - 1.0.126 to 1.0.131 - Core Fixes

Series of updates and fixes for core.

2023-01-09 - 1.0.122 to 1.0.123 - Core Fixes

Minor core patches and updates.

2023-01-07 - 1.0.113 to 1.0.121 - Core Fixes

Updates and bugfixes for core functionalities.

2023-01-03 - 1.0.107 to 1.0.110 - Core Fixes

Series of core updates and fixes.

2022-12-12 - 1.0.105 to 1.0.106 - Core Fixes

Various core patches.

2022-12-07 - 1.0.104 to 1.0.105 - Core Fixes

Bugfixes and improvements to core functionalities.

2022-12-06 - 1.0.103 to 1.0.104 - Core Fixes

Series of updates and patches for core.

2022-08-18 - 1.0.98 to 1.0.102 - Core Fixes

Updates and bugfixes for core functionalities.

2022-07-14 - 1.0.93 to 1.0.94 - Core Fixes

Minor core updates.

2022-06-26 - 1.0.92 to 1.0.93 - Core Fixes

Bugfixes for core functionalities.

2022-06-10 - 1.0.91 to 1.0.92 - Core Fixes

Updates and patches for core.

2022-05-30 - 1.0.90 to 1.0.91 - Core Fixes

Minor updates and bugfixes.

2022-05-26 - 1.0.87 to 1.0.89 - Core Fixes

Series of core updates and patches.

2022-05-24 to 2022-05-20 - 1.0.83 to 1.0.86 - Core Fixes

Various updates and bugfixes for core functionalities.

2022-05-03 - 1.0.79 to 1.0.80 - Core Fixes

Updates and patches for core functionalities.

2022-03-18 - 1.0.74 to 1.0.77 - Core Fixes

Bugfixes and updates for core functionalities.

2022-01-24 - 1.0.73 to 1.0.74 - Core Fixes

Minor core patches.

2021-12-10 - 1.0.71 to 1.0.72 - Core Fixes

Series of updates and fixes for core functionalities.

2021-11-27 - 1.0.70 to 1.0.71 - Core Fixes

Bugfixes and improvements to core.

2021-10-08 - 1.0.68 to 1.0.69 - Core Fixes

Various core updates and patches.

2021-10-07 - 1.0.67 to 1.0.68 - Core Fixes

Minor updates and improvements for core.

2021-09-15 - 1.0.64 to 1.0.66 - Core Fixes

Bugfixes and improvements to core functionalities.

2021-09-14 - 1.0.61 to 1.0.62 - Core Fixes

Minor patches and updates for core.

2021-09-10 - 1.0.57 to 1.0.60 - Core Fixes

Series of updates and fixes for core functionalities.

2021-09-09 - 1.0.54 to 1.0.56 - Core Fixes

Various core updates and patches.

2021-09-01 - 1.0.51 to 1.0.53 - Core Fixes

Minor updates for core functionalities.

2021-08-29 - 1.0.49 to 1.0.50 - Core Fixes

Bugfixes and patches for core.

2021-08-27 - 1.0.44 to 1.0.48 - Core Fixes

Series of updates and improvements for core functionalities.

2021-08-26 - 1.0.42 to 1.0.43 - Core Fixes

Minor updates and bugfixes for core.

2021-08-25 - 1.0.38 to 1.0.41 - Core Fixes

Extracted series of core updates and patches.

2021-08-24 - 1.0.37 - Core Fix

Bugfixes for core functionalities.

2021-08-20 - 1.0.34 to 1.0.36 - Core Fixes

Core functionalities updates and patches.

2021-05-05 - 1.0.32 to 1.0.33 - Core Fixes

Series of core bugfixes.

2021-03-06 - 1.0.29 to 1.0.31 - Core Fixes

Updates and improvements for core functionalities.

2021-02-13 - 1.0.27 to 1.0.28 - Core Fixes

Bugfixes and patches for core functionalities.

2020-12-10 - 1.0.25 to 1.0.26 - Core Fixes

Various core updates and improvements.

2020-12-02 - 1.0.23 to 1.0.24 - Core Fixes

Minor updates for core functionalities.

2020-12-01 - 1.0.21 to 1.0.22 - Core Fixes

Bugfixes and patches for core.

2020-09-13 - 1.0.19 to 1.0.20 - Core Fixes

Updates and bugfixes for core functionalities.

2020-05-11 - 1.0.17 to 1.0.18 - Core Fixes

Core functionalities updates.