diff --git a/dist/LumeElement.d.ts b/dist/LumeElement.d.ts index db386bb..108e3f9 100644 --- a/dist/LumeElement.d.ts +++ b/dist/LumeElement.d.ts @@ -11,8 +11,6 @@ declare class LumeElement extends HTMLElement { static observedAttributes?: string[] | Record; private __attributesToProps?; protected _preUpgradeValues: Map; - protected __propsSetAtLeastOnce__?: Set; - protected __reactifiedProps__?: Set; protected ___init___: void; private __handleInitialPropertyValuesIfAny; protected template?: Template; diff --git a/dist/LumeElement.d.ts.map b/dist/LumeElement.d.ts.map index 2a71382..44cd0c5 100644 --- a/dist/LumeElement.d.ts.map +++ b/dist/LumeElement.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.d.ts","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.d.ts","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAO5C,QAAA,MAAM,WAAW;;;CAQf,CAAA;AAIF,cAAM,WAAY,SAAQ,WAAW;;IAEpC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAK;IAiB/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,qBAAsC,GAAG,OAAO,WAAW;IAyBzG,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAGvE,QAAgB,mBAAmB,CAAC,CAAqE;IAEzG,UAAkB,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAM9D,SAAS,CAAC,UAAU,OAIhB;IAEJ,OAAO,CAAC,kCAAkC;IAoF1C,UAAkB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAOrC,UAAkB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAQ/C,iBAAyB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAStD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAO;IAElC,OAAO,CAAC,MAAM,CAAoB;IAMlC,SAAS,KAAK,IAAI,IAAI,IAAI,CAMzB;IACD,SAAS,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,EAKzB;IAUD,SAAS,KAAK,SAAS,IAAI,IAAI,CAE9B;IAED,YAAY,CAAC,OAAO,EAAE,cAAc;IAKpC,QAAgB,SAAS,CAAC,CAAY;IAEtC,iBAAiB;IAUjB,oBAAoB;IAMpB,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAE3F,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAA8C;IAC9F,OAAO,CAAC,eAAe,CAA4C;IAMnE,OAAO,CAAC,UAAU;IAmFlB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAI;IAC9B,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,cAAc,CAAgC;IAEtD,OAAO,CAAC,cAAc;IA6BtB,eAAe;CACf;AAGD,OAAO,EAAC,WAAW,IAAI,OAAO,EAAC,CAAA;AAI/B,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACtC,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AAChD,KAAK,eAAe,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAA;AAC5C,KAAK,QAAQ,GAAG,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,CAAA;AAwCzD,MAAM,MAAM,iBAAiB,CAC5B,WAAW,EACX,kBAAkB,SAAS,MAAM,WAAW,EAC5C,oBAAoB,SAAS,MAAM,GAAG,EAAE,IACrC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACnF,oBAAoB,GACpB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,CAAA;AAEvF,KAAK,gBAAgB,CAAC,IAAI,SAAS,MAAM,IAAI;KAC3C,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM;CAClG,CAAA"} \ No newline at end of file diff --git a/dist/LumeElement.js b/dist/LumeElement.js index d4ae7c4..4b747b1 100644 --- a/dist/LumeElement.js +++ b/dist/LumeElement.js @@ -1,4 +1,5 @@ import { render } from 'solid-js/web'; +import { __isPropSetAtLeastOnce } from 'classy-solid'; import { defer } from './_utils.js'; let ctor; const HTMLElement = globalThis.HTMLElement ?? @@ -46,12 +47,11 @@ class LumeElement extends HTMLElement { delete this[propName]; this._preUpgradeValues.set(propName, descriptor.value); defer(() => { - const propSetAtLeastOnce = this.__propsSetAtLeastOnce__?.has(propName); + const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName); if (propSetAtLeastOnce) return; const inheritsProperty = propName in this.__proto__; - const hasReactifiedProp = this.__reactifiedProps__?.has(propName); - if (inheritsProperty || hasReactifiedProp) + if (inheritsProperty) this[propName] = descriptor.value; }); } diff --git a/dist/LumeElement.js.map b/dist/LumeElement.js.map index 114256c..9b200a2 100644 --- a/dist/LumeElement.js.map +++ b/dist/LumeElement.js.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.js","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.js","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/LumeElement.test.js.map b/dist/LumeElement.test.js.map index 5a52923..069c474 100644 --- a/dist/LumeElement.test.js.map +++ b/dist/LumeElement.test.js.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.test.js","sourceRoot":"","sources":["../src/LumeElement.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.test.js","sourceRoot":"","sources":["../src/LumeElement.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/attribute.d.ts b/dist/attribute.d.ts index 7c33df3..0577324 100644 --- a/dist/attribute.d.ts +++ b/dist/attribute.d.ts @@ -1,7 +1,8 @@ import type { ElementCtor } from './element.js'; export declare const __classFinishers: ((Class: ElementCtor) => void)[]; -export declare function attribute(handler?: AttributeHandler): (value: any, context: any) => any; -export declare function attribute(value: any, context: any): any; +type AttributeDecoratorContext = ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext; +export declare function attribute(handler?: AttributeHandler): (value: unknown, context: AttributeDecoratorContext) => any; +export declare function attribute(value: unknown, context: AttributeDecoratorContext): any; export declare namespace attribute { var string: AttributeType; var number: AttributeType; diff --git a/dist/attribute.d.ts.map b/dist/attribute.d.ts.map index 1a9135d..c72820b 100644 --- a/dist/attribute.d.ts.map +++ b/dist/attribute.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAO,CAAA;AAyBpE,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAA;AACxF,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CAAA;yBAAxC,SAAS;;;;;AAyDzB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,GAAG,CA8B7G;AA4ED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI;IAIvC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IASpC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,CAAA;IAWpC,OAAO,CAAC,EAAE,CAAC,CAAA;CACX,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAA;AA6DjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AA8DD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AAkED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAExD"} \ No newline at end of file +{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAO,CAAA;AAEpE,KAAK,yBAAyB,GAAG,0BAA0B,GAAG,2BAA2B,GAAG,2BAA2B,CAAA;AAyBvH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,KAAK,GAAG,CAAA;AAClH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,GAAG,GAAG,CAAA;yBAAlE,SAAS;;;;;AAqDzB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,GAAG,CA8B7G;AAmED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI;IAIvC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IASpC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,CAAA;IAWpC,OAAO,CAAC,EAAE,CAAC,CAAA;CACX,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAA;AA4DjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AA8DD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AAkED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAExD"} \ No newline at end of file diff --git a/dist/attribute.js b/dist/attribute.js index 84b4489..a2db0d4 100644 --- a/dist/attribute.js +++ b/dist/attribute.js @@ -1,14 +1,13 @@ import { signal } from 'classy-solid'; import { camelCaseToDash, defineProp } from './_utils.js'; export const __classFinishers = []; -export function attribute(...args) { - if (args.length === 2) - return handleAttributeDecoration(args, undefined); - const [handler] = args; - return (...args) => handleAttributeDecoration(args, handler); +export function attribute(handlerOrValue, context) { + if (arguments.length === 2) + return handleAttributeDecoration(handlerOrValue, context, undefined); + const handler = handlerOrValue; + return (value, context) => handleAttributeDecoration(value, context, handler); } -function handleAttributeDecoration(args, attributeHandler = {}) { - const [_, context] = args; +function handleAttributeDecoration(value, context, attributeHandler = {}) { const { kind, name, private: isPrivate, static: isStatic } = context; if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.'); @@ -18,21 +17,18 @@ function handleAttributeDecoration(args, attributeHandler = {}) { throw new Error('@attribute is not supported on static fields.'); __classFinishers.push((Class) => __setUpAttribute(Class, name, attributeHandler)); if (kind === 'field') { - const signalInitializer = signal(_, context); + const signalInitializer = signal(value, context); return function (initialValue) { initialValue = signalInitializer(initialValue); attributeHandler.default = 'default' in attributeHandler ? attributeHandler.default : initialValue; return initialValue; }; } - else if (kind === 'accessor') { - throw new Error('@attribute is not supported on `accessor` fields yet. Use it on a plain class field, along with the @element decorator applied on the same class.'); - } else if (kind === 'getter' || kind === 'setter') { - signal(_, context); + signal(value, context); } else { - throw new Error('@attribute is only for use on fields, accessors, getters, and setters.'); + throw new Error('@attribute is only for use on fields, getters, and setters. Auto accessor support is coming next if there is demand for it.'); } return undefined; } @@ -86,11 +82,6 @@ function mapAttributeToProp(prototype, attr, prop, attributeHandler) { }, }); } - if (prototype.__attributesToProps[attr]) { - console.debug('The `@attribute` decorator is overriding an already-existing attribute-to-property mapping for the "' + - attr + - '" attribute.'); - } prototype.__attributesToProps[attr] = { name: prop, attributeHandler }; } const toString = (str) => str; diff --git a/dist/attribute.js.map b/dist/attribute.js.map index 522db8d..ecb157a 100644 --- a/dist/attribute.js.map +++ b/dist/attribute.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/attribute.test.js.map b/dist/attribute.test.js.map index a2f3329..d8a5aff 100644 --- a/dist/attribute.test.js.map +++ b/dist/attribute.test.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../src/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../src/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/element.d.ts b/dist/element.d.ts index 95abfad..3db81e8 100644 --- a/dist/element.d.ts +++ b/dist/element.d.ts @@ -1,12 +1,13 @@ import { Element } from './LumeElement.js'; +import type { AnyConstructor } from 'lowclass'; import type { AttributeHandler } from './attribute.js'; type PossibleStatics = { observedAttributes?: string[] | Record; - signalProperties?: string[]; elementName?: string; - __proto__?: any; + __proto__: PossibleStatics; }; export type ElementCtor = typeof Element & PossibleStatics; -export declare function element(...args: any[]): any; +export declare function element>(Class: T, context?: ClassDecoratorContext): T; +export declare function element(tagName: string, autoDefine?: boolean): >(Class: T, context?: ClassDecoratorContext) => T; export {}; //# sourceMappingURL=element.d.ts.map \ No newline at end of file diff --git a/dist/element.d.ts.map b/dist/element.d.ts.map index ed46515..87251c0 100644 --- a/dist/element.d.ts.map +++ b/dist/element.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAKxC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAA;AAEpD,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,GAAG,CAAA;CACf,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AA4E1D,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAuB3C"} \ No newline at end of file +{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAGxC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAA;AAEpD,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,eAAe,CAAA;CAC1B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AAsE1D,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAA;AAC5G,wBAAgB,OAAO,CACtB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,OAAO,GAClB,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/element.js b/dist/element.js index d4e68e4..4fc6fd2 100644 --- a/dist/element.js +++ b/dist/element.js @@ -1,14 +1,12 @@ import { reactive, signalify } from 'classy-solid'; import { Element } from './LumeElement.js'; import { __classFinishers, __setUpAttribute } from './attribute.js'; -export function element(...args) { - const [tagNameOrClass, autoDefineOrContext] = args; +export function element(tagNameOrClass, autoDefineOrContext) { let tagName = ''; let autoDefine = !!(autoDefineOrContext ?? true); if (typeof tagNameOrClass === 'string') { tagName = tagNameOrClass; - return (...args) => { - const [Class, context] = args; + return (Class, context) => { return applyElementDecoration(Class, context, tagName, autoDefine); }; } @@ -38,14 +36,18 @@ function applyElementDecoration(Class, context, tagName, autoDefine) { constructor(...args) { super(...args); handlePreUpgradeValues(this); - const keys = []; + const props = []; const attrsToProps = ElementDecoratorFinisher.prototype.__attributesToProps; - for (const key in attrsToProps) { - if (Object.hasOwn(attrsToProps, key)) - keys.push(attrsToProps[key].name); + for (const attr in attrsToProps) { + const prop = attrsToProps[attr].name; + if (Object.hasOwn(attrsToProps, attr)) + props.push(prop); + const handler = attrsToProps[attr].attributeHandler; + if (handler && !('default' in handler)) + handler.default = this[prop]; } - if (keys.length) - signalify(this, ...keys); + if (props.length) + signalify(this, ...props); } } const classFinishers = [...__classFinishers]; diff --git a/dist/element.js.map b/dist/element.js.map index 55f33de..58cc72f 100644 --- a/dist/element.js.map +++ b/dist/element.js.map @@ -1 +1 @@ -{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 06faf00..4daa877 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,8 @@ "// CONTINUE determine if lit-dom-expressions is needed here, maybe solid-js has needed type defs now": "", "dependencies": { "babel-preset-solid": "^1.0.0", - "classy-solid": "^0.2.0", - "lit-dom-expressions": "^0.35.9", - "lowclass": "^6.0.0", + "classy-solid": "^0.3.0", + "lowclass": "^7.0.0", "solid-js": "^1.0.0" }, "devDependencies": { diff --git a/src/LumeElement.test.ts b/src/LumeElement.test.ts index 2798b51..cf028a5 100644 --- a/src/LumeElement.test.ts +++ b/src/LumeElement.test.ts @@ -244,10 +244,10 @@ describe('LumeElement', () => { // TODO static readonly hasShadow = false - // Use both decorators so that we ensure both features surive the element upgrade. - // @attribute foo = 3 + // Use both types of decorators so that we ensure both features surive the element upgrade. @numberAttribute foo = 3 - // @attribute({default: 123}) foo = 3 + @attribute foo2 = 3.5 + @attribute({default: true}) foo3: boolean | number = 3.6 @signal bar = 4 @attribute baz: string | number = 5 @signal lorem = 6 @@ -298,13 +298,23 @@ describe('LumeElement', () => { expect(fooEl.root).toBe(fooEl) - // CONTINUE: Check that default value gets applied. fooEl.setAttribute('foo', '456') expect(fooEl.foo).toBe(456) fooEl.removeAttribute('foo') - // expect(fooEl.foo).toBe(123) expect(fooEl.foo).toBe(3) + expect(fooEl.foo2).toBe(3.5) + fooEl.setAttribute('foo2', '456') + expect(fooEl.foo2).toBe('456') + fooEl.removeAttribute('foo2') + expect(fooEl.foo2).toBe(3.5) + + expect(fooEl.foo3).toBe(3.6) + fooEl.setAttribute('foo3', '456') + expect(fooEl.foo3).toBe('456') + fooEl.removeAttribute('foo3') + expect(fooEl.foo3).toBe(true) + let count = 0 createEffect(() => { fooEl.foo // reactive @@ -428,15 +438,8 @@ describe('LumeElement', () => { constructor() { super() - // When not using decorators, we have to do the following. - // TODO perhaps this should not be required if already defined observedAttributes. + // When not using decorators, we have to do the following for non-attribute properties. signalify(this, 'bar', 'lorem', 'boop', 'bop') - - // CONTINUE: This is currently required because we removed - // the static signalProperties which the observedAttributes - // populated and then the reactive decorator made reactive. - // It was a bit of a coupling. - // signalify(this, 'foo', 'baz', 'ping', 'pong', 'beep') } __handleInitialPropertyValuesIfAny() { diff --git a/src/LumeElement.ts b/src/LumeElement.ts index 0b8c1ed..08e3374 100644 --- a/src/LumeElement.ts +++ b/src/LumeElement.ts @@ -1,4 +1,9 @@ import {render} from 'solid-js/web' +// __isPropSetAtLeastOnce was exposed by classy-solid specifically for +// @lume/element to use. It tells us if a signal property has been set at +// least once, and if so allows us to skip overwriting it with a custom +// element preupgrade value. +import {__isPropSetAtLeastOnce} from 'classy-solid' import {defer} from './_utils.js' import type {AttributeHandler} from './attribute' @@ -19,8 +24,7 @@ const HTMLElement = } } -// TODO Make LumeElement `abstract`, which had issues with mixins last time we -// tried, but TS has been updated for abstract mixin support. +// TODO Make LumeElement `abstract` class LumeElement extends HTMLElement { /** The default tag name of the elements this class is instantiated for. */ @@ -65,10 +69,6 @@ class LumeElement extends HTMLElement { } } - // CONTINUE: we removed signalProperties (previously reactiveProperties) from - // classy-solid (previously variable). Update tests and code to use only - // signalify instead, remove this property def. - /** Non-decorator users can use this to specify attributes, which automatically map to reactive properties. */ static observedAttributes?: string[] | Record @@ -77,33 +77,19 @@ class LumeElement extends HTMLElement { protected declare _preUpgradeValues: Map - // __propsSetAtLeastOnce__ comes from @lume/variable's @reactive decorator. - // CONTINUE delete if no longer needed on classy-solid - // It is a Set that tells us if a reactive property has been set at - // least once, - // TODO replace with new API from classy-solid - protected declare __propsSetAtLeastOnce__?: Set - - // TODO replace with new API from classy-solid - protected declare __reactifiedProps__?: Set - // This property MUST be defined before any other non-static non-declared // class properties . Its initializer needs to run before any other // properties are defined, in order to detect and handle only instance // properties that already exist from custom element pre-upgrade time. protected ___init___ = (() => { - // XXX We could remove this and instead use a class decorator (returns a - // new class), which would allow us to run this logic during - // construction without requiring the user to extend from a specific - // base class (LumeElement) unless they elect not to use decorators. this.__handleInitialPropertyValuesIfAny() - // XXX Should we handle initial attributes too? + // TODO Should we handle initial attributes too? })() private __handleInitialPropertyValuesIfAny() { // We need to delete initial value-descriptor properties (if they exist) - // and store the initial values in the storage for our reactive variable + // and store the initial values in the storage for our @signal property // accessors. // // If we don't do this, then DOM APIs like cloneNode will create our @@ -134,26 +120,32 @@ class LumeElement extends HTMLElement { // Delete the pre-upgrade value descriptor (1/2)... delete this[propName] + // The @element decorator reads this, and the class finisher + // will set pre-upgrade values. this._preUpgradeValues.set(propName, descriptor.value) - // NOTE, deferring allows preexisting preupgrade values - // to be handled *after* class fields have been set - // during Custom Element upgrade (because otherwise - // those would override the pre-existing values we're - // trying to assign here). + // NOTE, for classes not decorated with @element, deferring + // allows preexisting preupgrade values to be handled *after* + // class fields have been set during Custom Element upgrade + // construction (otherwise those class fields would override the + // preupgrade values we're trying to assign here). defer(() => { - const propSetAtLeastOnce = this.__propsSetAtLeastOnce__?.has(propName) + const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName as string | symbol) - // ... (2/2) and re-assign the value so that it goes through an - // inherited accessor. + // ... (2/2) and re-assign the value so that it goes through + // a @signal accessor that got defined, or through an + // inherited accessor that the preupgrade value shadowed. // // If the property has been set between the time LumeElement // constructor ran and the deferred microtask, then we don't // overwrite the property's value with the pre-upgrade value - // because it has been intentionally set to a desired value - // already. + // because it has already been intentionally set to a + // desired value post-construction. + // (NOTE: Avoid setting properties in constructors because + // that will set the signals at least once. Instead, + // override with a new @attribute or @signal class field.) // - // AND we handle inherited props or reactified props only + // AND we handle inherited props or signal props only // (because that means there may be an accessor that needs // the value to be passed in). The @element decorator otherwise // handles non-inherited props before construction @@ -161,15 +153,7 @@ class LumeElement extends HTMLElement { if (propSetAtLeastOnce) return const inheritsProperty = propName in (this as any).__proto__ - const hasReactifiedProp = this.__reactifiedProps__?.has(propName) - - // CONTINUE (see note about __reactifiedProps__ at top of element.ts) - // TODO: Should we detect if `this[propName]` is a - // non-inherited accessor (instead of hasReactifiedProp). - // Maybe a base class author extending from LumeElement - // needs defines a new type of accessor that needs - // pre-upgrade value. Perhaps we can provide an opt-in. - if (inheritsProperty || hasReactifiedProp) this[propName] = descriptor.value + if (inheritsProperty) this[propName] = descriptor.value // }} }) } else { diff --git a/src/attribute.test.ts b/src/attribute.test.ts index 6d02df4..e5ec392 100644 --- a/src/attribute.test.ts +++ b/src/attribute.test.ts @@ -2,7 +2,7 @@ import {createEffect} from 'solid-js' import {signal} from 'classy-solid' import {Element, element, attribute, numberAttribute, booleanAttribute} from './index.js' -describe('classy-solid @signal properties work with lume/element @element decorators on plain HTMLElements', () => { +describe('classy-solid @signal properties with lume/element @element decorators on plain HTMLElements', () => { it('reacts to updates using createEffect', () => { @element('foo-el') class FooEl extends HTMLElement { @@ -10,7 +10,6 @@ describe('classy-solid @signal properties work with lume/element @element decora } const f = new FooEl() - let count = 0 // Runs once initially, then re-runs any time f.foo has changed. @@ -20,9 +19,35 @@ describe('classy-solid @signal properties work with lume/element @element decora }) expect(count).toBe(1) + f.foo = 123 + expect(count).toBe(2) + expect(f.foo).toBe(123) + }) + + it('maintains reactivity for overridden fields', () => { + @element('foo-el2') + class FooEl extends HTMLElement { + @signal foo = 123 + } + + @element('override-el') + class OverrideEl extends FooEl { + @signal override foo = 123 + } + const f = new OverrideEl() + let count = 0 + + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo + count++ + }) + + expect(count).toBe(1) f.foo = 123 expect(count).toBe(2) + expect(f.foo).toBe(123) }) }) @@ -30,7 +55,7 @@ describe('@attribute tests', () => { it('attributes can be mapped to properties with @attribute', () => { @element('foo-bar') class FooBar extends HTMLElement { - @attribute foo: string = '0' + @attribute foo = '0' } const f = new FooBar() @@ -54,6 +79,7 @@ describe('@attribute tests', () => { count++ }) + expect(count).toBe(1) f.setAttribute('foo', '123') expect(count).toBe(2) expect(f.foo).toBe('123') @@ -74,10 +100,37 @@ describe('@attribute tests', () => { expect(ff.foo).toBe('good night!') }) + // Ensure we didn't break this feature of classy-solid's @signal decorator. + it('maintains reactivity for overridden fields', () => { + @element('foo-bar2') + class FooBar extends HTMLElement { + @attribute foo = '0' + } + + @element('overridden-foo') + class OverrideFoo extends FooBar { + @attribute override foo = '0' + } + + const f = new OverrideFoo() + let count = 0 + + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo + count++ + }) + + expect(count).toBe(1) + f.setAttribute('foo', '123') + expect(count).toBe(2) + expect(f.foo).toBe('123') + }) + it("@signal doesn't need to be used if using @attribute, as those are @signal too", () => { @element('pur-pose') class Purpose extends Element { - @attribute purpose: string = '0' + @attribute purpose = '0' } const f = new Purpose() diff --git a/src/attribute.ts b/src/attribute.ts index 7c227ca..e737525 100644 --- a/src/attribute.ts +++ b/src/attribute.ts @@ -1,23 +1,11 @@ -// CONTINUE: -// - Note: make sure correct package versions are installed (f.e.cli 0.10 with stage 3 decos) and continue fixing tests. -// - Note: update the version of Babel in the top level lume repo because the -// linked cli gets it from there. -// - [x] the new examples/kitchen-sink demo almost works (make sure to copy top-level lume repo's node_modules/solid-js into element/node_modules first) -// - [x] the `static css` property broke, doesn't work in the example -// - this was because the @element() decorator runs during the static block -// that Babel prepends at the top of the class in which the decorator is -// executed, and this static block runs (and calls customElements.define()) -// before the rest of the static properties get initialized. We used -// queueMicrotask, for now, to solve the issue. - import {signal} from 'classy-solid' -// import type {Element as LumeElement} from './LumeElement.js' import {camelCaseToDash, defineProp} from './_utils.js' -import type {DecoratorArgs} from 'classy-solid/dist/decorators/types.js' import type {ElementCtor} from './element.js' export const __classFinishers: ((Class: ElementCtor) => void)[] = [] +type AttributeDecoratorContext = ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext + /** * A decorator that when used on a property or accessor causes an HTML attribute * with the same name (but dash-cased instead of camelCased) to be mapped to the @@ -41,21 +29,24 @@ export const __classFinishers: ((Class: ElementCtor) => void)[] = [] * } * ``` */ -export function attribute(handler?: AttributeHandler): (value: any, context: any) => any -export function attribute(value: any, context: any): any -export function attribute(...args: any[]): any { +export function attribute(handler?: AttributeHandler): (value: unknown, context: AttributeDecoratorContext) => any +export function attribute(value: unknown, context: AttributeDecoratorContext): any +export function attribute(handlerOrValue: AttributeHandler | unknown, context?: AttributeDecoratorContext) { // if used as a decorator directly with no options - if (args.length === 2) return handleAttributeDecoration(args as DecoratorArgs, undefined) + if (arguments.length === 2) return handleAttributeDecoration(handlerOrValue, context!, undefined) // otherwise used as a decorator factory, possibly being passed options, like `@attribute({...})` - const [handler] = args as [AttributeHandler | undefined] - return (...args: any[]): any => handleAttributeDecoration(args as DecoratorArgs, handler) + const handler = handlerOrValue as AttributeHandler | undefined + return (value: unknown, context: AttributeDecoratorContext): any => handleAttributeDecoration(value, context, handler) - // TODO check for @element used on class with @attribute decorations, similar to classy-solid @signal/@reactive. + // TODO throw an error for cases when @element is not used on a class with @attribute decorations, similar to classy-solid @signal/@reactive. } -function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: AttributeHandler = {}) { - const [_, context] = args +function handleAttributeDecoration( + value: unknown, + context: AttributeDecoratorContext, + attributeHandler: AttributeHandler = {}, +) { const {kind, name, private: isPrivate, static: isStatic} = context if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.') @@ -66,11 +57,7 @@ function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: Attrib __classFinishers.push((Class: ElementCtor) => __setUpAttribute(Class, name, attributeHandler)) if (kind === 'field') { - // CONTINUE: We aren't composing decorators here, instead we're using - // signalify() in the class finisher. Ideally we elimimnate the plain JS - // usage, and just have decorator composition, once decorators are out. - // - const signalInitializer = signal(_, context) + const signalInitializer = signal(value, context) return function (this: object, initialValue: unknown) { initialValue = signalInitializer(initialValue) @@ -79,15 +66,12 @@ function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: Attrib return initialValue } - } else if (kind === 'accessor') { - // TODO accessor support - throw new Error( - '@attribute is not supported on `accessor` fields yet. Use it on a plain class field, along with the @element decorator applied on the same class.', - ) } else if (kind === 'getter' || kind === 'setter') { - signal(_, context) + signal(value, context) } else { - throw new Error('@attribute is only for use on fields, accessors, getters, and setters.') + throw new Error( + '@attribute is only for use on fields, getters, and setters. Auto accessor support is coming next if there is demand for it.', + ) } return undefined // shush TS @@ -189,15 +173,6 @@ function mapAttributeToProp(prototype: any, attr: string, prop: string, attribut }) } - // throw a helpful log if overriding an already-existing attribute-prop mapping - if (prototype.__attributesToProps![attr]) { - console.debug( - 'The `@attribute` decorator is overriding an already-existing attribute-to-property mapping for the "' + - attr + - '" attribute.', - ) - } - prototype.__attributesToProps![attr] = {name: prop, attributeHandler} } @@ -236,7 +211,6 @@ type AttributeType = () => AttributeHandler const toString = (str: string) => str -// CONTINUE test the new default that works even with plain @attribute, in tests, and in kitchen sink /** * An attribute type for use in the object form of `static observedAttributes` * when not using decorators. diff --git a/src/element.ts b/src/element.ts index 7ee636b..8cb487c 100644 --- a/src/element.ts +++ b/src/element.ts @@ -1,32 +1,16 @@ -// CONTINUE: classy-solid is on the old lume/cli, but we need to switch to new -// CLI to track the build output on version updates and to use the electron-less -// test setup. - -// Then we need to do the same here for lume/element - -// CONTINUE: ensure that el.__reactifiedProps__ (or similar, if we renamed it) does -// not prevent subclasses from overriding a property. In lume/variable edition of -// lume/element, if the list contains a property that was already reactified in a -// super class, the subclass that defines an reactive proeprty (f.e. with -// @attribute) will not have its property reactified, and the subclass property -// will end up as a regular non-reactive class field with a value descriptor. - import {reactive, signalify} from 'classy-solid' import {Element} from './LumeElement.js' import {__classFinishers, __setUpAttribute} from './attribute.js' -import type {DecoratedValue, DecoratorArgs, DecoratorContext} from 'classy-solid/dist/decorators/types.js' -// import type {Element as LumeElement} from './LumeElement.js' +import type {AnyConstructor} from 'lowclass' +import type {DecoratedValue} from 'classy-solid/dist/decorators/types.js' import type {AttributeHandler} from './attribute.js' type PossibleStatics = { observedAttributes?: string[] | Record - signalProperties?: string[] elementName?: string - __proto__?: any + __proto__: PossibleStatics // used in attribute.ts } -// type ElementCtor = typeof LumeElement & {__proto__: any} & PossibleStatics -// type ElementCtor = {__proto__: any} & PossibleStatics export type ElementCtor = typeof Element & PossibleStatics /** @@ -97,26 +81,22 @@ export type ElementCtor = typeof Element & PossibleStatics * class CoolElement extends HTMLElement {...} * ``` */ -// export function element(Class: T, context?: DecoratorContext): T -// export function element( -// tagName: string, -// autoDefine?: boolean, -// ): (Class: T, context?: DecoratorContext) => T -// CONTINUE: Update to TS 5, so we can use better types than `any` -export function element(...args: any[]): any { - // tagNameOrClass: string | typeof HTMLElement, - // autoDefineOrContext: boolean | DecoratorContext = true, - - const [tagNameOrClass, autoDefineOrContext] = args as DecoratorArgs | [string, boolean | undefined] - +export function element>(Class: T, context?: ClassDecoratorContext): T +export function element( + tagName: string, + autoDefine?: boolean, +): >(Class: T, context?: ClassDecoratorContext) => T +export function element( + tagNameOrClass: string | AnyConstructor, + autoDefineOrContext?: boolean | ClassDecoratorContext, +): any { let tagName = '' let autoDefine = !!(autoDefineOrContext ?? true) // when called as a decorator factory, f.e. `@element('foo-bar') class MyEl ...` or `element('my-el')(class MyEl ...)` if (typeof tagNameOrClass === 'string') { tagName = tagNameOrClass - return (...args: any[]) => { - const [Class, context] = args as DecoratorArgs + return (Class: AnyConstructor, context: ClassDecoratorContext) => { return applyElementDecoration(Class, context, tagName, autoDefine) } } @@ -159,7 +139,6 @@ function applyElementDecoration( // following _setUpAttribute calls. Ctor.observedAttributes = undefined - // This also adds the props to Class.signalProperties. for (const prop in attrs) __setUpAttribute(Ctor, prop, attrs[prop]) } @@ -170,10 +149,25 @@ function applyElementDecoration( constructor(...args: any[]) { // @ts-expect-error we don't know what the user's args will be, just pass them all. super(...args) + handlePreUpgradeValues(this) - // For each non-decorator observedAttribute, make it also a signal. - // + const props: (keyof this)[] = [] + const attrsToProps = + // @ts-expect-error private access + ElementDecoratorFinisher.prototype.__attributesToProps + + for (const attr in attrsToProps) { + const prop = attrsToProps[attr].name as keyof this + + if (Object.hasOwn(attrsToProps, attr)) props.push(prop) + + // Default values for fields are handled in their initializer, + // and this catches default values for getters/setters. + const handler = attrsToProps[attr].attributeHandler + if (handler && !('default' in handler)) handler.default = this[prop] + } + // This is signalifying any attribute props that may have been // defined in `static observedAttribute` rather than with @attribute // decorator (which composes @signal), so that we also cover @@ -183,20 +177,14 @@ function applyElementDecoration( // signalified by @attribute (@signal), so this isn't going to // double-signalify. // - // TODO: Once native decorators are out, remove this, rely on the - // composition of decorators only, remove non-decorator usage - // because it won't be necessary (people won't need build tools), - // and having to duplicate keys in observedAttributes as well as - // class fields is more room for human error. + // TODO: Once native decorators are out, remove this, and remove + // non-decorator usage because everyone will be able to use + // decorators. // - const keys: (keyof this)[] = [] - const attrsToProps = - // @ts-expect-error private access - ElementDecoratorFinisher.prototype.__attributesToProps - for (const key in attrsToProps) { - if (Object.hasOwn(attrsToProps, key)) keys.push(attrsToProps[key].name as keyof this) - } - if (keys.length) signalify(this, ...keys) + // Having to duplicate keys in observedAttributes as well as class + // fields is more room for human error, so it'll be nice to remove + // non-decorator usage. + if (props.length) signalify(this, ...props) } }