feat(dees-form): register new input components (tags, list, wysiwyg, richtext) and emit change notification for richtext updates

This commit is contained in:
2026-03-10 13:56:22 +00:00
parent 09741e0b37
commit eaf327ea75
4 changed files with 21 additions and 1 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## 2026-03-10 - 3.45.0 - feat(dees-form)
register new input components (tags, list, wysiwyg, richtext) and emit change notification for richtext updates
- Added imports and registration of DeesInputTags, DeesInputList, DeesInputWysiwyg, and DeesInputRichtext in dees-form
- Extended TFormInputElement union type to include the new input components
- DeesInputRichtext now calls changeSubject.next(this.value) in the editor onUpdate handler to propagate changes
## 2026-03-10 - 3.44.0 - feat(appui-tabs) ## 2026-03-10 - 3.44.0 - feat(appui-tabs)
add support for left/right tab action buttons and content tab action APIs add support for left/right tab action buttons and content tab action APIs

View File

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

View File

@@ -22,6 +22,10 @@ import { DeesInputMultitoggle } from '../../00group-input/dees-input-multitoggle
import { DeesInputPhone } from '../../00group-input/dees-input-phone/dees-input-phone.js'; import { DeesInputPhone } from '../../00group-input/dees-input-phone/dees-input-phone.js';
import { DeesInputToggle } from '../../00group-input/dees-input-toggle/dees-input-toggle.js'; import { DeesInputToggle } from '../../00group-input/dees-input-toggle/dees-input-toggle.js';
import { DeesInputTypelist } from '../../00group-input/dees-input-typelist/dees-input-typelist.js'; import { DeesInputTypelist } from '../../00group-input/dees-input-typelist/dees-input-typelist.js';
import { DeesInputTags } from '../../00group-input/dees-input-tags/dees-input-tags.js';
import { DeesInputList } from '../../00group-input/dees-input-list/dees-input-list.js';
import { DeesInputWysiwyg } from '../../00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js';
import { DeesInputRichtext } from '../../00group-input/dees-input-richtext/component.js';
import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js'; import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js';
import { DeesTable } from '../../00group-dataview/dees-table/index.js'; import { DeesTable } from '../../00group-dataview/dees-table/index.js';
import { demoFunc } from './dees-form.demo.js'; import { demoFunc } from './dees-form.demo.js';
@@ -41,6 +45,10 @@ const FORM_INPUT_TYPES = [
DeesInputText, DeesInputText,
DeesInputToggle, DeesInputToggle,
DeesInputTypelist, DeesInputTypelist,
DeesInputTags,
DeesInputList,
DeesInputWysiwyg,
DeesInputRichtext,
DeesTable, DeesTable,
]; ];
@@ -58,6 +66,10 @@ export type TFormInputElement =
| DeesInputText | DeesInputText
| DeesInputToggle | DeesInputToggle
| DeesInputTypelist | DeesInputTypelist
| DeesInputTags
| DeesInputList
| DeesInputWysiwyg
| DeesInputRichtext
| DeesTable<any>; | DeesTable<any>;
declare global { declare global {

View File

@@ -269,6 +269,7 @@ export class DeesInputRichtext extends DeesInputBase<string> {
onUpdate: ({ editor }) => { onUpdate: ({ editor }) => {
this.value = editor.getHTML(); this.value = editor.getHTML();
this.updateWordCount(); this.updateWordCount();
this.changeSubject.next(this.value);
this.dispatchEvent( this.dispatchEvent(
new CustomEvent('input', { new CustomEvent('input', {
detail: { value: this.value }, detail: { value: this.value },