element-vir 14.0.3 → 14.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,7 +41,7 @@ export interface StaticDeclarativeElementProperties<TagName extends CustomElemen
41
41
  events: EventDescriptorMap<EventsInit>;
42
42
  stateInitStatic: ElementPropertyDescriptorMap<StateInit>;
43
43
  init: RequiredBy<DeclarativeElementInit<TagName, Inputs, StateInit, EventsInit, HostClassKeys, CssVarKeys, RenderOutputGeneric>, 'stateInitStatic' | 'events'>;
44
- inputsType: Readonly<FlattenObservablePropertySetters<Inputs>>;
44
+ inputsType: Readonly<FlattenObservablePropertySetters<Inputs, Inputs>>;
45
45
  stateType: Readonly<FlattenObservablePropertyGetters<StateInit>>;
46
46
  updateStateType: UpdateStateCallback<StateInit>;
47
47
  isStrictInstance: (element: unknown) => element is DeclarativeElement<TagName, Inputs, StateInit, EventsInit, HostClassKeys, CssVarKeys, RenderOutputGeneric>;
@@ -15,10 +15,10 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
15
15
  if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
16
  if (_ = accept(result.get)) descriptor.get = _;
17
17
  if (_ = accept(result.set)) descriptor.set = _;
18
- if (_ = accept(result.init)) initializers.push(_);
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
19
  }
20
20
  else if (_ = accept(result)) {
21
- if (kind === "field") initializers.push(_);
21
+ if (kind === "field") initializers.unshift(_);
22
22
  else descriptor[key] = _;
23
23
  }
24
24
  }
@@ -2,9 +2,13 @@ import { DirectiveResult } from 'lit/directive.js';
2
2
  import { PropertyInitMapBase } from '../properties/element-properties';
3
3
  import { AllowObservablePropertySetter } from '../properties/observable-property/observable-property-handler';
4
4
  export type ElementDefinitionWithInputsType<InputsType extends PropertyInitMapBase = PropertyInitMapBase> = {
5
- inputsType: AllowObservablePropertySetter<InputsType>;
5
+ inputsType: InputsType;
6
6
  };
7
7
  /** Assign an object matching an element's inputs to its inputs. */
8
- export declare function assign<SpecificDeclarativeElement extends ElementDefinitionWithInputsType, SpecificInput extends Record<string, any>>(declarativeElement: SpecificDeclarativeElement, inputsObject: {} extends Required<SpecificDeclarativeElement['inputsType']> ? never : AllowObservablePropertySetter<SpecificDeclarativeElement['inputsType']>): DirectiveResult;
9
- export declare function assign<SpecificDeclarativeElement extends ElementDefinitionWithInputsType, SpecificInput extends Record<string, any>>(inputsObject: SpecificInput extends typeof HTMLElement ? never : SpecificInput): DirectiveResult;
8
+ export declare function assign<const SpecificDeclarativeElement extends ElementDefinitionWithInputsType, const SpecificInput extends {
9
+ [Prop in keyof SpecificDeclarativeElement['inputsType']]: unknown;
10
+ }>(declarativeElement: SpecificDeclarativeElement, inputsObject: {} extends Required<SpecificDeclarativeElement['inputsType']> ? never : AllowObservablePropertySetter<SpecificDeclarativeElement['inputsType'], SpecificInput>): DirectiveResult;
11
+ export declare function assign<const SpecificDeclarativeElement extends ElementDefinitionWithInputsType, const SpecificInput extends {
12
+ [Prop in keyof SpecificDeclarativeElement['inputsType']]: unknown;
13
+ }>(inputsObject: SpecificInput extends typeof HTMLElement ? never : SpecificInput): DirectiveResult;
10
14
  export declare function assignInputsObject<DeclarativeElementDefinitionGeneric extends ElementDefinitionWithInputsType>(expectedElementConstructor: DeclarativeElementDefinitionGeneric | undefined, element: Element, assignmentObject: DeclarativeElementDefinitionGeneric['inputsType']): void;
@@ -4,14 +4,14 @@ export declare const observablePropertyHandlerCreatorMarkerKey: "_is_element_vir
4
4
  export type ObservablePropertyListener<T> = (value: T) => void;
5
5
  export type ObservablePropertyHandlerMap<OriginalPropertyMap extends PropertyInitMapBase> = Partial<Record<keyof OriginalPropertyMap, ObservablePropertyHandlerInstance<any, any>>>;
6
6
  export type AnyObservablePropertyType<SetValue, GetValue> = ObservablePropertyHandlerCreator<SetValue, GetValue> | ObservablePropertyHandlerInstance<SetValue, GetValue>;
7
- export type AllowObservablePropertySetter<OriginalPropertyMap extends PropertyInitMapBase> = {
8
- [Prop in keyof OriginalPropertyMap]: OriginalPropertyMap[Prop] | AnyObservablePropertyType<any, Required<OriginalPropertyMap>[Prop]>;
7
+ export type AllowObservablePropertySetter<OriginalPropertyMap extends PropertyInitMapBase, CurrentType extends Record<keyof OriginalPropertyMap, unknown>> = {
8
+ [Prop in keyof CurrentType]: Prop extends keyof OriginalPropertyMap ? CurrentType[Prop] extends AnyObservablePropertyType<any, Required<OriginalPropertyMap>[Prop]> ? CurrentType[Prop] : Required<OriginalPropertyMap>[Prop] : never;
9
9
  };
10
10
  export type FlattenObservablePropertyGetters<OriginalPropertyMap extends PropertyInitMapBase> = {
11
- [Prop in keyof OriginalPropertyMap]: OriginalPropertyMap[Prop] extends AnyObservablePropertyType<infer SetValue, infer GetValue> ? GetValue : Exclude<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>>;
11
+ [Prop in keyof OriginalPropertyMap]: Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends never ? Exclude<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> : Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends AnyObservablePropertyType<infer SetValue, infer GetValue> ? GetValue | Exclude<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> : Exclude<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>>;
12
12
  };
13
- export type FlattenObservablePropertySetters<OriginalPropertyMap extends PropertyInitMapBase> = {
14
- [Prop in keyof OriginalPropertyMap]: Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends never ? OriginalPropertyMap[Prop] : Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends AnyObservablePropertyType<infer SetValue, infer GetValue> ? SetValue | AnyObservablePropertyType<SetValue, GetValue> : OriginalPropertyMap[Prop];
13
+ export type FlattenObservablePropertySetters<OriginalPropertyMap extends PropertyInitMapBase, CurrentType extends Record<keyof OriginalPropertyMap, unknown>> = {
14
+ [Prop in keyof CurrentType]: Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends never ? OriginalPropertyMap[Prop] : Extract<OriginalPropertyMap[Prop], AnyObservablePropertyType<any, any>> extends AnyObservablePropertyType<infer SetValue, infer GetValue> ? CurrentType[Prop] extends AnyObservablePropertyType<SetValue, GetValue> ? CurrentType[Prop] : SetValue : OriginalPropertyMap[Prop];
15
15
  };
16
16
  export type ObservablePropertyHandlerCreator<SetValue, GetValue> = {
17
17
  [observablePropertyHandlerCreatorMarkerKey]: true;
@@ -7,7 +7,7 @@ import { PropertyInitMapBase } from './properties/element-properties';
7
7
  import { FlattenObservablePropertyGetters, FlattenObservablePropertySetters } from './properties/observable-property/observable-property-handler';
8
8
  export type RenderCallback<TagName extends CustomElementTagName = any, Inputs extends PropertyInitMapBase = any, StateInit extends PropertyInitMapBase = any, EventsInit extends EventsInitMap = any, HostClassKeys extends BaseCssPropertyName<TagName> = any, CssVarKeys extends BaseCssPropertyName<TagName> = any, RenderOutput = any> = (params: RenderParams<TagName, Inputs, StateInit, EventsInit, HostClassKeys, CssVarKeys>) => RenderOutput;
9
9
  export type InitCallback<TagName extends CustomElementTagName, Inputs extends PropertyInitMapBase, StateInit extends PropertyInitMapBase, EventsInit extends EventsInitMap, HostClassKeys extends BaseCssPropertyName<TagName>, CssVarKeys extends BaseCssPropertyName<TagName>> = (params: RenderParams<TagName, Inputs, StateInit, EventsInit, HostClassKeys, CssVarKeys>) => void;
10
- export type UpdateStateCallback<StateInit extends PropertyInitMapBase> = (newState: Partial<FlattenObservablePropertySetters<StateInit>>) => void;
10
+ export type UpdateStateCallback<StateInit extends PropertyInitMapBase> = <const SpecificInput extends Partial<Record<keyof StateInit, unknown>>>(newState: Partial<FlattenObservablePropertySetters<StateInit, SpecificInput>>) => void;
11
11
  export type RenderParams<TagName extends CustomElementTagName, Inputs extends PropertyInitMapBase, StateInit extends PropertyInitMapBase, EventsInit extends EventsInitMap, HostClassKeys extends BaseCssPropertyName<TagName>, CssVarKeys extends BaseCssPropertyName<TagName>> = {
12
12
  state: Readonly<FlattenObservablePropertyGetters<StateInit>>;
13
13
  updateState: UpdateStateCallback<StateInit>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "element-vir",
3
- "version": "14.0.3",
3
+ "version": "14.0.4",
4
4
  "keywords": [
5
5
  "custom",
6
6
  "web",
@@ -39,45 +39,48 @@
39
39
  "test:types": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@augment-vir/browser": "^15.2.0",
43
- "@augment-vir/common": "^15.2.0",
44
- "lit": "2.7.5",
42
+ "@augment-vir/browser": "^15.3.0",
43
+ "@augment-vir/common": "^15.3.0",
44
+ "lit": "2.7.6",
45
45
  "lit-css-vars": "^2.0.3"
46
46
  },
47
47
  "devDependencies": {
48
- "@augment-vir/browser-testing": "^15.2.0",
49
- "@augment-vir/node-js": "^15.2.0",
48
+ "@augment-vir/browser-testing": "^15.3.0",
49
+ "@augment-vir/node-js": "^15.3.0",
50
50
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
51
51
  "@open-wc/testing": "^3.2.0",
52
52
  "@types/chai": "^4.3.5",
53
53
  "@types/mocha": "^10.0.1",
54
54
  "@web/dev-server-esbuild": "^0.4.1",
55
55
  "@web/test-runner": "^0.16.1",
56
- "@web/test-runner-commands": "^0.7.0",
56
+ "@web/test-runner-commands": "^0.8.0",
57
57
  "@web/test-runner-playwright": "^0.10.1",
58
- "@web/test-runner-visual-regression": "^0.8.0",
58
+ "@web/test-runner-visual-regression": "^0.8.1",
59
59
  "ansi-colors": "^4.1.3",
60
60
  "concurrently": "^8.2.0",
61
61
  "cspell": "^6.31.1",
62
- "esbuild": "^0.18.5",
62
+ "esbuild": "^0.18.13",
63
63
  "istanbul-smart-text-reporter": "^1.1.2",
64
64
  "markdown-code-example-inserter": "^0.3.1",
65
65
  "mocha-spec-reporter-with-file-names": "^0.0.3",
66
- "npm-check-updates": "^16.10.12",
66
+ "npm-check-updates": "^16.10.15",
67
67
  "nyc": "^15.1.0",
68
68
  "prettier": "^2.8.8",
69
69
  "prettier-plugin-interpolated-html-tags": "^0.0.4",
70
70
  "prettier-plugin-jsdoc": "^0.4.2",
71
- "prettier-plugin-multiline-arrays": "^1.1.4",
72
- "prettier-plugin-organize-imports": "^3.2.2",
73
- "prettier-plugin-packagejson": "^2.4.3",
71
+ "prettier-plugin-multiline-arrays": "^2.0.0",
72
+ "prettier-plugin-organize-imports": "^3.2.3",
73
+ "prettier-plugin-packagejson": "^2.4.5",
74
74
  "prettier-plugin-sort-json": "^1.0.0",
75
75
  "prettier-plugin-toml": "^0.3.1",
76
76
  "ts-node": "^10.9.1",
77
- "type-fest": "^3.12.0",
78
- "typescript": "~5.0.4",
79
- "virmator": "^6.6.4",
80
- "vite": "^4.3.9",
77
+ "type-fest": "^3.13.0",
78
+ "typescript": "~5.1.6",
79
+ "virmator": "^7.1.0",
80
+ "vite": "^4.4.4",
81
81
  "vite-tsconfig-paths": "^4.2.0"
82
+ },
83
+ "overrides": {
84
+ "semver": "^7.5.4"
82
85
  }
83
86
  }