Compare commits

..

8 Commits

5 changed files with 35 additions and 3 deletions

@ -1,5 +1,23 @@
# Changelog
## 2025-07-06 - 2.1.2 - fix(build)
Update build script in package.json to include 'tsfolders' in tsbuild command
- Changed build script from 'tsbuild --web --allowimplicitany && tsbundle npm' to 'tsbuild tsfolders --web --allowimplicitany && tsbundle npm'
## 2025-07-06 - 2.1.1 - fix(documentation)
Refine project documentation and metadata for clarity
- Update readme examples to better illustrate custom element usage
- Clarify CssManager theming and API usage in documentation
- Ensure package.json and commitinfo reflect accurate project details
## 2025-07-06 - 2.1.0 - feat(DeesElement)
Add invocation of the themeChanged hook in connectedCallback
- Now calls themeChanged (if defined) when the theme changes, enabling custom handlers for theme switches
- Improves lifecycle management by allowing extensions to react to bright/dark mode changes
## 2025-06-20 - 2.0.44 - fix(ci)
Remove obsolete GitLab CI configuration

@ -1,6 +1,6 @@
{
"name": "@design.estate/dees-element",
"version": "2.0.44",
"version": "2.1.2",
"private": false,
"description": "A library for creating custom elements extending the lit element class with additional functionalities.",
"main": "dist_ts/index.js",
@ -10,7 +10,7 @@
"license": "MIT",
"scripts": {
"test": "(tstest test/ --web)",
"build": "(tsbuild --web --allowimplicitany && tsbundle npm)",
"build": "(tsbuild tsfolders --web --allowimplicitany && tsbundle npm)",
"buildDocs": "tsdoc"
},
"devDependencies": {

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@design.estate/dees-element',
version: '2.0.44',
version: '2.1.2',
description: 'A library for creating custom elements extending the lit element class with additional functionalities.'
}

@ -25,11 +25,22 @@ export class DeesElement extends plugins.lit.LitElement {
});
}
/**
* Called when the theme changes between bright and dark.
* Override this method to handle theme changes.
* @param goBright - true if switching to bright theme, false if switching to dark theme
*/
protected themeChanged?(goBright: boolean): void;
public async connectedCallback() {
super.connectedCallback();
const domtools = await this.domtoolsPromise;
this.themeSubscription = domtools.themeManager.themeObservable.subscribe((goBrightArg) => {
this.goBright = goBrightArg;
// Call themeChanged if it's defined
if (this.themeChanged) {
this.themeChanged(goBrightArg);
}
});
this.rxSubscriptions.push(this.themeSubscription);
for (const startupFunction of this.startupFunctions) {

@ -2,6 +2,9 @@ import { CssManager } from './classes.cssmanager.js';
// lit exports
export { html, type TemplateResult, css, unsafeCSS, render, type CSSResult } from 'lit';
export { html as static, unsafeStatic } from 'lit/static-html.js';
export { unsafeHTML } from 'lit/directives/unsafe-html.js';
export { customElement } from 'lit/decorators/custom-element.js';