@a11d/lit 0.0.6

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.
Files changed (95) hide show
  1. package/README.md +1 -0
  2. package/dist/Component/Component.d.ts +18 -0
  3. package/dist/Component/Component.js +31 -0
  4. package/dist/Component/index.d.ts +2 -0
  5. package/dist/Component/index.js +2 -0
  6. package/dist/Component/nothing.d.ts +2 -0
  7. package/dist/Component/nothing.js +2 -0
  8. package/dist/Controller/Controller.d.ts +9 -0
  9. package/dist/Controller/Controller.js +6 -0
  10. package/dist/Controller/index.d.ts +1 -0
  11. package/dist/Controller/index.js +1 -0
  12. package/dist/decorateLitElement.d.ts +7 -0
  13. package/dist/decorateLitElement.js +19 -0
  14. package/dist/event/EventDispatcher.d.ts +6 -0
  15. package/dist/event/EventDispatcher.js +1 -0
  16. package/dist/event/HTMLElementEventDispatcher.d.ts +10 -0
  17. package/dist/event/HTMLElementEventDispatcher.js +23 -0
  18. package/dist/event/PureEventDispatcher.d.ts +6 -0
  19. package/dist/event/PureEventDispatcher.js +16 -0
  20. package/dist/event/event.d.ts +1 -0
  21. package/dist/event/event.js +20 -0
  22. package/dist/event/index.d.ts +3 -0
  23. package/dist/event/index.js +3 -0
  24. package/dist/eventListener/eventListener.d.ts +13 -0
  25. package/dist/eventListener/eventListener.js +76 -0
  26. package/dist/eventListener/index.d.ts +1 -0
  27. package/dist/eventListener/index.js +1 -0
  28. package/dist/index.d.ts +29 -0
  29. package/dist/index.js +30 -0
  30. package/dist/packages/Component/Component.d.ts +18 -0
  31. package/dist/packages/Component/Component.js +31 -0
  32. package/dist/packages/Component/index.d.ts +2 -0
  33. package/dist/packages/Component/index.js +2 -0
  34. package/dist/packages/Component/nothing.d.ts +2 -0
  35. package/dist/packages/Component/nothing.js +2 -0
  36. package/dist/packages/Controller/Controller.d.ts +9 -0
  37. package/dist/packages/Controller/Controller.js +6 -0
  38. package/dist/packages/Controller/index.d.ts +1 -0
  39. package/dist/packages/Controller/index.js +1 -0
  40. package/dist/packages/decorateLitElement.d.ts +7 -0
  41. package/dist/packages/decorateLitElement.js +19 -0
  42. package/dist/packages/event/EventDispatcher.d.ts +6 -0
  43. package/dist/packages/event/EventDispatcher.js +1 -0
  44. package/dist/packages/event/HTMLElementEventDispatcher.d.ts +10 -0
  45. package/dist/packages/event/HTMLElementEventDispatcher.js +23 -0
  46. package/dist/packages/event/PureEventDispatcher.d.ts +6 -0
  47. package/dist/packages/event/PureEventDispatcher.js +16 -0
  48. package/dist/packages/event/event.d.ts +1 -0
  49. package/dist/packages/event/event.js +20 -0
  50. package/dist/packages/event/index.d.ts +3 -0
  51. package/dist/packages/event/index.js +3 -0
  52. package/dist/packages/eventListener/eventListener.d.ts +13 -0
  53. package/dist/packages/eventListener/eventListener.js +76 -0
  54. package/dist/packages/eventListener/index.d.ts +1 -0
  55. package/dist/packages/eventListener/index.js +1 -0
  56. package/dist/packages/index.d.ts +29 -0
  57. package/dist/packages/index.js +30 -0
  58. package/dist/packages/query/index.d.ts +3 -0
  59. package/dist/packages/query/index.js +3 -0
  60. package/dist/packages/query/query.d.ts +2 -0
  61. package/dist/packages/query/query.js +9 -0
  62. package/dist/packages/query/queryAll.d.ts +2 -0
  63. package/dist/packages/query/queryAll.js +9 -0
  64. package/dist/packages/query/queryAllAsNodeList.d.ts +2 -0
  65. package/dist/packages/query/queryAllAsNodeList.js +2 -0
  66. package/dist/packages/types.d.ts +2 -0
  67. package/dist/packages/types.js +1 -0
  68. package/dist/packages/updated/index.d.ts +3 -0
  69. package/dist/packages/updated/index.js +3 -0
  70. package/dist/packages/updated/property.d.ts +5 -0
  71. package/dist/packages/updated/property.js +10 -0
  72. package/dist/packages/updated/state.d.ts +6 -0
  73. package/dist/packages/updated/state.js +10 -0
  74. package/dist/packages/updated/updated.d.ts +3 -0
  75. package/dist/packages/updated/updated.js +21 -0
  76. package/dist/query/index.d.ts +3 -0
  77. package/dist/query/index.js +3 -0
  78. package/dist/query/query.d.ts +2 -0
  79. package/dist/query/query.js +9 -0
  80. package/dist/query/queryAll.d.ts +2 -0
  81. package/dist/query/queryAll.js +9 -0
  82. package/dist/query/queryAllAsNodeList.d.ts +2 -0
  83. package/dist/query/queryAllAsNodeList.js +2 -0
  84. package/dist/tsconfig.tsbuildinfo +1 -0
  85. package/dist/types.d.ts +2 -0
  86. package/dist/types.js +1 -0
  87. package/dist/updated/index.d.ts +3 -0
  88. package/dist/updated/index.js +3 -0
  89. package/dist/updated/property.d.ts +5 -0
  90. package/dist/updated/property.js +10 -0
  91. package/dist/updated/state.d.ts +6 -0
  92. package/dist/updated/state.js +10 -0
  93. package/dist/updated/updated.d.ts +3 -0
  94. package/dist/updated/updated.js +21 -0
  95. package/package.json +32 -0
@@ -0,0 +1,76 @@
1
+ import { decorateLitElement } from '../decorateLitElement';
2
+ function extractArguments(args) {
3
+ const short = ((args) => typeof args[0] === 'string')(args);
4
+ return {
5
+ type: short ? args[0] : args[0].type,
6
+ target: short ? undefined : args[0].target,
7
+ options: short ? args[1] : args[0].options,
8
+ };
9
+ }
10
+ function extractEventTarget(target) {
11
+ return typeof target === 'function' ? target.call(this) : target ?? this;
12
+ }
13
+ export const eventListener = (...eventListenerOptions) => {
14
+ return (prototype, propertyKey, descriptor) => {
15
+ decorateLitElement({
16
+ prototype,
17
+ constructorPropertyName: '$eventListeners$',
18
+ initialValue: new Map,
19
+ lifecycleHooks: new Map([
20
+ ['connectedCallback', function (eventListeners) {
21
+ for (const [key, { type, target, options, descriptor, property }] of eventListeners) {
22
+ if (this.constructor.name === extractConstructorNameFromUniquePropertyKey(key)) {
23
+ defineBoundListener.call(this, property, descriptor);
24
+ extractEventTarget.call(this, target)
25
+ ?.addEventListener(type, getBoundListener.call(this, property), options);
26
+ }
27
+ }
28
+ }],
29
+ ['disconnectedCallback', function (eventListeners) {
30
+ for (const { type, target, options, property } of eventListeners.values()) {
31
+ extractEventTarget.call(this, target)
32
+ ?.removeEventListener(type, getBoundListener.call(this, property), options);
33
+ }
34
+ }],
35
+ ])
36
+ }).set(getUniquePropertyKey(prototype.constructor, propertyKey), { descriptor, property: propertyKey, ...extractArguments(eventListenerOptions) });
37
+ };
38
+ };
39
+ const getUniquePropertyKey = (constructor, property) => `${constructor.name}.${property}`;
40
+ const extractConstructorNameFromUniquePropertyKey = (uniquePropertyKey) => uniquePropertyKey.split('.')[0];
41
+ function getBoundListener(propertyKey) {
42
+ return Object.getOwnPropertyDescriptor(this, getBoundMethodKey(propertyKey))?.value;
43
+ }
44
+ function defineBoundListener(propertyKey, descriptor) {
45
+ const unboundFunction = !descriptor
46
+ ? Object.getOwnPropertyDescriptor(this, propertyKey)?.value
47
+ : typeof descriptor.get === 'function'
48
+ ? descriptor.get
49
+ : descriptor.value;
50
+ if (isEventListenerOrEventListenerObject(unboundFunction) === false) {
51
+ throw new TypeError(`${getUniquePropertyKey(this.constructor, propertyKey)} is not a function`);
52
+ }
53
+ Object.defineProperty(this, getBoundMethodKey(propertyKey), {
54
+ // eslint-disable-next-line no-restricted-syntax
55
+ value: unboundFunction.bind(this),
56
+ configurable: true,
57
+ enumerable: false,
58
+ writable: false,
59
+ });
60
+ }
61
+ const getBoundMethodKey = (method) => `$BOUND_${method}$`;
62
+ const isEventListenerOrEventListenerObject = (listener) => {
63
+ const isListener = typeof listener === 'function';
64
+ // @ts-expect-error 'in' operator seemingly does not narrow down the type
65
+ const isListenerObject = typeof listener === 'object' && listener !== null && 'handleEvent' in listener && typeof listener.handleEvent === 'function';
66
+ return isListener || isListenerObject;
67
+ };
68
+ export const extractEventHandler = (eventListener) => {
69
+ if ('_$committedValue' in eventListener) {
70
+ const eventPart = eventListener;
71
+ const handler = eventListener['_$committedValue'];
72
+ // eslint-disable-next-line no-restricted-syntax
73
+ return handler.bind(eventPart.element);
74
+ }
75
+ return typeof eventListener === 'function' ? eventListener : eventListener.handleEvent;
76
+ };
@@ -0,0 +1 @@
1
+ export * from './eventListener';
@@ -0,0 +1 @@
1
+ export * from './eventListener';
@@ -0,0 +1,29 @@
1
+ export * from 'lit';
2
+ export { InternalPropertyDeclaration, QueryAssignedElementsOptions, QueryAssignedNodesOptions, eventOptions, queryAssignedElements, queryAssignedNodes, queryAsync } from 'lit/decorators.js';
3
+ export * from 'lit-html';
4
+ export * from 'lit/directive.js';
5
+ export * from 'lit/directives/repeat.js';
6
+ export * from 'lit/directives/cache.js';
7
+ export * from 'lit/directives/if-defined.js';
8
+ export * from 'lit/directives/until.js';
9
+ export * from 'lit/directives/live.js';
10
+ export * from 'lit/directives/style-map.js';
11
+ export * from 'lit/directives/class-map.js';
12
+ export * from 'lit/directives/choose.js';
13
+ export * from 'lit/directives/join.js';
14
+ export * from 'lit/directives/async-append.js';
15
+ export * from 'lit/directives/async-replace.js';
16
+ export * from 'lit/directives/ref.js';
17
+ export * from 'lit/directives/unsafe-html.js';
18
+ export * from 'lit/directives/unsafe-svg.js';
19
+ export * from 'lit/directives/when.js';
20
+ export * from 'lit/directives/async-replace';
21
+ export * from 'lit/directives/async-append';
22
+ export * from 'lit/directives/template-content';
23
+ import './types';
24
+ export { Component, nothing } from './Component';
25
+ export * from './Controller';
26
+ export * from './query';
27
+ export * from './updated';
28
+ export * from './eventListener';
29
+ export * from './event';
@@ -0,0 +1,30 @@
1
+ /* eslint-disable import/export */
2
+ export * from 'lit';
3
+ export { eventOptions, queryAssignedElements, queryAssignedNodes, queryAsync } from 'lit/decorators.js';
4
+ export * from 'lit-html';
5
+ export * from 'lit/directive.js';
6
+ export * from 'lit/directives/repeat.js';
7
+ export * from 'lit/directives/cache.js';
8
+ export * from 'lit/directives/if-defined.js';
9
+ export * from 'lit/directives/until.js';
10
+ export * from 'lit/directives/live.js';
11
+ export * from 'lit/directives/style-map.js';
12
+ export * from 'lit/directives/class-map.js';
13
+ export * from 'lit/directives/choose.js';
14
+ export * from 'lit/directives/join.js';
15
+ export * from 'lit/directives/async-append.js';
16
+ export * from 'lit/directives/async-replace.js';
17
+ export * from 'lit/directives/ref.js';
18
+ export * from 'lit/directives/unsafe-html.js';
19
+ export * from 'lit/directives/unsafe-svg.js';
20
+ export * from 'lit/directives/when.js';
21
+ export * from 'lit/directives/async-replace';
22
+ export * from 'lit/directives/async-append';
23
+ export * from 'lit/directives/template-content';
24
+ import './types';
25
+ export { Component, nothing } from './Component';
26
+ export * from './Controller';
27
+ export * from './query';
28
+ export * from './updated';
29
+ export * from './eventListener';
30
+ export * from './event';
@@ -0,0 +1,3 @@
1
+ export * from './query';
2
+ export * from './queryAll';
3
+ export * from './queryAllAsNodeList';
@@ -0,0 +1,3 @@
1
+ export * from './query';
2
+ export * from './queryAll';
3
+ export * from './queryAllAsNodeList';
@@ -0,0 +1,2 @@
1
+ import { LitElement } from 'lit';
2
+ export declare const query: (selector: string) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,9 @@
1
+ export const query = (selector) => {
2
+ return (prototype, propertyKey) => {
3
+ Object.defineProperty(prototype, propertyKey, {
4
+ get() {
5
+ return this.renderRoot.querySelector(selector) ?? undefined;
6
+ }
7
+ });
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ import { LitElement } from 'lit';
2
+ export declare const queryAll: (selector: string) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,9 @@
1
+ export const queryAll = (selector) => {
2
+ return (prototype, propertyKey) => {
3
+ Object.defineProperty(prototype, propertyKey, {
4
+ get() {
5
+ return [...this.renderRoot.querySelectorAll(selector)];
6
+ }
7
+ });
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ import { queryAll as litQueryAll } from 'lit/decorators.js';
2
+ export declare const queryAllAsNodeList: typeof litQueryAll;
@@ -0,0 +1,2 @@
1
+ import { queryAll as litQueryAll } from 'lit/decorators.js';
2
+ export const queryAllAsNodeList = litQueryAll;
@@ -0,0 +1,2 @@
1
+ declare type AbstractConstructor<T> = abstract new (...args: Array<any>) => T;
2
+ declare type Constructor<T> = new (...args: Array<any>) => T;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,3 @@
1
+ export * from './updated';
2
+ export * from './property';
3
+ export * from './state';
@@ -0,0 +1,3 @@
1
+ export * from './updated';
2
+ export * from './property';
3
+ export * from './state';
@@ -0,0 +1,5 @@
1
+ import { PropertyDeclaration, LitElement } from 'lit';
2
+ import { updated, UpdatedCallback } from './updated';
3
+ export declare const property: <T>(options?: (PropertyDeclaration<unknown, unknown> & {
4
+ updated?: UpdatedCallback<T> | undefined;
5
+ }) | undefined) => (prototype: LitElement, propertyKey: PropertyKey) => any;
@@ -0,0 +1,10 @@
1
+ import { property as litProperty } from 'lit/decorators.js';
2
+ import { updated } from './updated';
3
+ export const property = (options) => {
4
+ return (prototype, propertyKey) => {
5
+ if (options?.updated) {
6
+ updated(options.updated)(prototype, propertyKey);
7
+ }
8
+ return litProperty(options)(prototype, propertyKey);
9
+ };
10
+ };
@@ -0,0 +1,6 @@
1
+ import { LitElement } from 'lit';
2
+ import { InternalPropertyDeclaration } from 'lit/decorators.js';
3
+ import { updated, UpdatedCallback } from './updated';
4
+ export declare const state: <T>(options?: (InternalPropertyDeclaration<unknown> & {
5
+ updated?: UpdatedCallback<T> | undefined;
6
+ }) | undefined) => (prototype: LitElement, propertyKey: PropertyKey) => any;
@@ -0,0 +1,10 @@
1
+ import { state as litState } from 'lit/decorators.js';
2
+ import { updated } from './updated';
3
+ export const state = (options) => {
4
+ return (prototype, propertyKey) => {
5
+ if (options?.updated) {
6
+ updated(options.updated)(prototype, propertyKey);
7
+ }
8
+ return litState(options)(prototype, propertyKey);
9
+ };
10
+ };
@@ -0,0 +1,3 @@
1
+ import { LitElement } from 'lit';
2
+ export declare type UpdatedCallback<T> = (value: T, oldValue: T) => void;
3
+ export declare const updated: <T>(callback: UpdatedCallback<T>) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,21 @@
1
+ import { decorateLitElement } from '../decorateLitElement';
2
+ export const updated = (callback) => {
3
+ return (prototype, propertyKey) => {
4
+ decorateLitElement({
5
+ prototype,
6
+ constructorPropertyName: '$observers$',
7
+ initialValue: new Map,
8
+ lifecycleHooks: new Map([
9
+ ['updated', function (observers, changedProperties) {
10
+ for (const [propertyKey, value] of changedProperties) {
11
+ const key = propertyKey;
12
+ const observer = observers?.get(key);
13
+ if (observer !== undefined) {
14
+ observer.call(this, this[key], value);
15
+ }
16
+ }
17
+ }]
18
+ ])
19
+ }).set(propertyKey, callback);
20
+ };
21
+ };
@@ -0,0 +1,3 @@
1
+ export * from './query';
2
+ export * from './queryAll';
3
+ export * from './queryAllAsNodeList';
@@ -0,0 +1,3 @@
1
+ export * from './query';
2
+ export * from './queryAll';
3
+ export * from './queryAllAsNodeList';
@@ -0,0 +1,2 @@
1
+ import { LitElement } from 'lit';
2
+ export declare const query: (selector: string) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,9 @@
1
+ export const query = (selector) => {
2
+ return (prototype, propertyKey) => {
3
+ Object.defineProperty(prototype, propertyKey, {
4
+ get() {
5
+ return this.renderRoot.querySelector(selector) ?? undefined;
6
+ }
7
+ });
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ import { LitElement } from 'lit';
2
+ export declare const queryAll: (selector: string) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,9 @@
1
+ export const queryAll = (selector) => {
2
+ return (prototype, propertyKey) => {
3
+ Object.defineProperty(prototype, propertyKey, {
4
+ get() {
5
+ return [...this.renderRoot.querySelectorAll(selector)];
6
+ }
7
+ });
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ import { queryAll as litQueryAll } from 'lit/decorators.js';
2
+ export declare const queryAllAsNodeList: typeof litQueryAll;
@@ -0,0 +1,2 @@
1
+ import { queryAll as litQueryAll } from 'lit/decorators.js';
2
+ export const queryAllAsNodeList = litQueryAll;
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2020.full.d.ts","../node_modules/@lit/reactive-element/css-tag.d.ts","../node_modules/@lit/reactive-element/reactive-controller.d.ts","../node_modules/@lit/reactive-element/reactive-element.d.ts","../node_modules/@types/trusted-types/lib/index.d.ts","../node_modules/@types/trusted-types/index.d.ts","../node_modules/lit-html/directive.d.ts","../node_modules/lit-html/lit-html.d.ts","../node_modules/lit-element/lit-element.d.ts","../node_modules/lit/index.d.ts","../packages/decoratelitelement.ts","../node_modules/@lit/reactive-element/decorators/base.d.ts","../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../node_modules/@lit/reactive-element/decorators/property.d.ts","../node_modules/@lit/reactive-element/decorators/state.d.ts","../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../node_modules/@lit/reactive-element/decorators/query.d.ts","../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../node_modules/lit/decorators.d.ts","../node_modules/lit/directive.d.ts","../node_modules/lit-html/directives/repeat.d.ts","../node_modules/lit/directives/repeat.d.ts","../node_modules/lit-html/directives/cache.d.ts","../node_modules/lit/directives/cache.d.ts","../node_modules/lit-html/directives/if-defined.d.ts","../node_modules/lit/directives/if-defined.d.ts","../node_modules/lit-html/async-directive.d.ts","../node_modules/lit-html/directives/until.d.ts","../node_modules/lit/directives/until.d.ts","../node_modules/lit-html/directives/live.d.ts","../node_modules/lit/directives/live.d.ts","../node_modules/lit-html/directives/style-map.d.ts","../node_modules/lit/directives/style-map.d.ts","../node_modules/lit-html/directives/class-map.d.ts","../node_modules/lit/directives/class-map.d.ts","../node_modules/lit-html/directives/choose.d.ts","../node_modules/lit/directives/choose.d.ts","../node_modules/lit-html/directives/join.d.ts","../node_modules/lit/directives/join.d.ts","../node_modules/lit-html/directives/async-replace.d.ts","../node_modules/lit-html/directives/async-append.d.ts","../node_modules/lit/directives/async-append.d.ts","../node_modules/lit/directives/async-replace.d.ts","../node_modules/lit-html/directives/ref.d.ts","../node_modules/lit/directives/ref.d.ts","../node_modules/lit-html/directives/unsafe-html.d.ts","../node_modules/lit/directives/unsafe-html.d.ts","../node_modules/lit-html/directives/unsafe-svg.d.ts","../node_modules/lit/directives/unsafe-svg.d.ts","../node_modules/lit-html/directives/when.d.ts","../node_modules/lit/directives/when.d.ts","../node_modules/lit-html/directives/template-content.d.ts","../node_modules/lit/directives/template-content.d.ts","../packages/types.ts","../packages/component/nothing.ts","../packages/component/component.ts","../packages/component/index.ts","../packages/controller/controller.ts","../packages/controller/index.ts","../packages/query/query.ts","../packages/query/queryall.ts","../packages/query/queryallasnodelist.ts","../packages/query/index.ts","../packages/updated/updated.ts","../packages/updated/property.ts","../packages/updated/state.ts","../packages/updated/index.ts","../packages/eventlistener/eventlistener.ts","../packages/eventlistener/index.ts","../packages/event/pureeventdispatcher.ts","../packages/event/htmlelementeventdispatcher.ts","../packages/event/event.ts","../packages/event/index.ts","../packages/index.ts","../packages/event/eventdispatcher.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},"f58c6d0669d1ee04b2fcb0e87fb949b6828602f3f29c7bf6c76a214f16fd50d5","52dd370c807255c61765347fc90a9bee3c522b8744dc222714e2bf6b5be3a823","1e5743b25a63fd34ffbae89adcbf248ee17db6ed08d90079ffa93803c3e80d2a","13bb750b495c48fd60d7b5e09f65d4a7b010ab7e09a8943a6d54511e7d184f84","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"3f30c6b57bf5eb7a7d4298506b78b18d428a39a409e1eadd93a3fdd0299d2687","8be48c7828a22d50f128f317cdd8ac25ef0ee54c877b8b5c464887234f619783","eba7cf33380cc3a3cf614faf67300e14d0bdff9ea6c5cd6f4b040b1756a48ab1","f07a77a7fb1d49aa2b61cb68bf712a083487acd7130d20223a83de03af0c257d",{"version":"3f467e7d2e4fc2b23bda20c7a3bcb6a2844fd0cda3bea56a64d913955ac4fd3d","signature":"694b923cf611ddc8dc79c65be0f5659e51c96efe37933e3393e88d3a0acca5fa"},"241000969e5367a9a9b9a4f57963e54e5a012c9d89c273526c0115650a7b9e5f","ac388c7c7a262213a3700451bc921e382a93fb27c0252c34ccf03540b4ce044b","097a7e3badfd1c4b35f72aa0f722f5714a4f6a84e53fca5a79dcfebbfc5e718d","fb0107c83e2e0e75b77dacd0c3c6c3ab6844e98dce2a8f858c6f0a57c12136a6","0a478dcb6e6bd8a5d871165659c79cee7b8c3b7a87289118d22e1a04d171e252","e385eb01000d045ea07cea09c488f66e051709a9ac460bf271623f9984e0c419","bf69beba89702c85d84546269e0d4e8b128d32e26b314ee9b501b0b32c82490b","46f3a421b048670d16a3c02589261f17c1cea687f2602eed31e1335b53aed785","4bcb813ea56182beaaab1e8274524eb9f1449b0d8e79efc4a0399de09e43f816","c784eab1cf838d9d6527bce3d9f2d373145606666b68f7610291a7adf6e6bda9","f0380f581cb015778c0fe51e95b5b7f6dae237280654558469b2486c1572268a","31f6059c66e7df3d4127a55e4049f390ad129d5f039b52b7b4055e76854ad388","329fdf9efc13e4eeb80eae8232b48d8460e4633e127959c50229407fb489f79e","1c3ff565677a242aa9f997eff718c7d613d50072711f67b8a7f87d631fb03f30","510f7bfff11975aef86043f2dfb246ecf0eb3d97007d623c26fdadcdae70383b","800f95f7ad8384bc5787d967a0b0ef8af7837e53595884679939afd04f51d4a3","8cfa7d90fe529121908d3dff84049cf7ef22f9e7730465ac7d4eb0b9339a98c9","62dea411507bb1166ea5940b49d4c338c19755523c37333c7e72749544038bdf","149a8c65d2ae753873786c691012f67d6d3387c7ffaff91b85c8d365cff325d3","53d28d9ad95e0e1fa6485fa3b97e33c102cbaacddf2b83d92f9c887a64cfbbf1","486e93b4d84aee178a85c3053e8a6a0718250d046e58f428df741d2e9c731fda","1f28deb3d408ecae52acf19e563e67864ef315c7af8582f2674487976209b3da","8a3306d247dda70664f8a534bcd4152e1a210631d7fad8806b36718a9127dc8d","5a833b91258497e1a91bc6496d10876aec0658971982a7c903d8e65b70677a0d","b761d44a182d39247604152c5b68baa5ef901a5f0f11ab73eb689a5c1e19b283","147cb5b590b77c8c58e4ef0af1ff11ee90ee2b34262816df0665b6ff8fd50aad","6e0575b628aedce5db38c17569e5c909beead07f9052fe7944fb8bfccc3db92e","e2b2d1c55c382fe874bf99ce03a301280cf751d93247a58e2c93bb21548ada3e","93fe79805f290d160ed897a035b5bf7eee9fcb59b8ab7723a715087ae57f9ede","2e4c4c5ecc8e6e2320a2b7c4b9eab00983028ac0f3105d0ca53945bd2b78e5d3","936ac0c1095b490c14e840c46a095ffb2327df295e6ef88f4758da92f01f0fa8","8f0a52d48fa5e908c1b853c7134bdff6b2769bf803f6e0371ab1eccbdd08a69a","c0dfff7f76ff59e6d989dc315e38b6f134b63b0d981e748bbb80c5c4ba9969f7","a244a87e4ec28fb9fb64de1c838a5552ab47bd58b1e1dbb9efba6e6e5e4d6768","2de9cab5aa471d952b639fea8bc26382a92a3fef8f01d35d1751c5a3678497f7","002df576c91e0239f3e6426f157189a1d64db68296ffc350782d0fa0fe8a4e5d","637f02cf6f4834990a783108484a8f10d5dc36a3f92c6f4449556fa1e3208b24","133f37c4f3d0dc144efda59a3880df4fdf506f0ae98d859062c8c3e430d5b91c","c889a2df565abacafdcd6eff6ecab5be7a301eec1a66f3774ae92abd4b04b464","0fae6f40270f0795968d2655688cefd1607d7d587a405fb37435660fc2bee83f","c3fd63ac3d69d9ef4e74be917fdd084da34e27cf6ec2ef77a844a9053fe7f54d","36fc47b6ad6ef4e1396ac9713d57a8814a073a8565acc99235bd4a16d8dd0c9f","7e9483502efa4510ae0dfd749e9b9264b83b213d319912ced64b5b80e2703835","5c412671b4e97141b88a8b94e1b227cf5e3ce66d1de81f660725aecfbba0cee4","d109e935ad6cbf105aac50fe79cd5a3b7c0bf5914d073bb16f3bf30ef4d914f9",{"version":"f4e07864334eeddb438f96f35ca86ac1dfc81fa69332d9c48c9157a086302cbf","signature":"7289761c5ad6972256ed002e83a017ee6016ed25366877217b00c8fff32a4949","affectsGlobalScope":true},{"version":"4abbf4d22b2a485ae7272b09a50d6bcc248ac2e01a63c5b1de2f38ef15e5dcce","signature":"0da43a0067197f64410c83a5657929b5432cc1d944e44819bc56b02e20c6bf14"},{"version":"26240615e5ae0c79f0d945cdff2577590a784c9fb486f9bd6a6debdc4253e239","signature":"795c76527e0a5a9b17642c71a766bb596dd71945552e24ff247cf2747505eec2"},{"version":"fbaad81c036492d6ce3b93e3fa17566157693433feae70f44db88002539db9e0","signature":"cbd39781408968ad4713d20ed8052e5b088a8a5a33a87fa5e9ed5174d985b92d"},{"version":"2d363e45c40ca68f1994e5b882a4d8b4c126b75c6ccfff59bc85fd03ace4d15f","signature":"1b48fcb1b82daff3d9d34c01daf5fb7d69f1af8a7276e460af6b907653f6fc1a"},{"version":"57aef652a4dac3f4e035be051a04131c1aeb6aeb0f6290fad9809a5cd320f76e","signature":"dbf330eb313ceeb750d5a6e13a1597b9cf3efc643b09ee7e8a1be2b433023463"},{"version":"5beda9e98f2d019d506d40d95592a57d32ff34f23765ec7e7cd612124f25211b","signature":"e36430699e8161b2c0de353dfb0ed7caa549824c91cf4bb63cd6acb495a2d80d"},{"version":"d838fb70749b9c7f49fa558da9bee3b9b1699542251cf4bc438ba5859a02eb04","signature":"a6f00ef530a87ae848b6816dc90da36f66eca89228c5561b68d38fa32b6233e9"},{"version":"a4b5f4f446eaeee8e3eb24a516e24d0651b00e1c372223784db868b3a01b09ea","signature":"712ae478570ae990aadb6707dc60b2a6a0379c410ed79e798daf912105df8a1b"},{"version":"edeab7555834f834627812a90e505a8a6363623123ec47bbb8382c9313a328fd","signature":"01722ec862cab5b2bc73ae442a8b5310b2c7e10cc46d831ca09631341c44daa2"},{"version":"bc2c189957ab4c5631269602898e32c7bee68e52487e7d2e3e33c80ce4f2a46a","signature":"9111f3a610a4515e266317542717e97f8ede417811fdd0d3f91eb7a5bfb18238"},{"version":"6f84da12b373bc2af2e636fcb48542de43b03acbb5e0a6d01acd5eb564df5877","signature":"6035d3912a2dc33cf015c3e0ea015a9798b111a41f144b37c340cda0c6bcf35a"},{"version":"11fad3f210bec99c52d65289b2e77078084e9ea71d5f9e8692fc816fb6f11e63","signature":"aa6eec338bc7486dc44a2eaccc6d1d25377769ca911b15a2a3e4b58f80284595"},{"version":"158ef68031f13b268c376ab7a2f1ae5ca621805800efe7f487751981ab1f30d2","signature":"3225fb0ea10f702f71a27a3a6ca13114fd5ebd5c3ef6b84a5d0f3edeaf86cbf5"},{"version":"867734f8748561dcc3b4169d88e0ec2aee17aacc516d8334bb8ffd8d779c294c","signature":"57533e09850cce257384cecb2de5ae4d5c50f9eacc83e8cc44e941f7c4cfe4fb"},{"version":"f6a1d6e76c138b281e0faf18aa0f5a5dfa22a3676385d8c95339d5a759beae13","signature":"dce5bf548fc97bf39b6eac0e9dbb6e115291812952d5410c409243458ea360b7"},{"version":"84ac2c822dfb1068a5031238122fac3e963a83d59771d81d5109cdda99dc02b4","signature":"8bd98d24454bb5583c47ebb4457afb77eb17a06b35567d560ba08264d25250ac"},{"version":"8e1e1059b1b58afdbd7c9033e2003e2bb808963c2bfa2b8b375fa3440008c02d","signature":"6edcdffe52ebd5eb687fc06c32d7e604c7fb371d0f81b82b7b265340acef650e"},{"version":"5276b7da4d91f68ffbc44c04960f6bf7eb4eb108df147faf90a33df75a628ce1","signature":"1ef7b8af272d11f209e28ccdbdf4153e12d34044dafeebfd9a7093e72c1db7be"},{"version":"484d46efdfbd1c4f689c82bc6a341960f18bf7d8d9c552acb14fbe5995249014","signature":"fbd376f8385875cb81122cab31769ca3e20f46d910896a80f44198222ca7cfcb"},{"version":"f96835e06cf2c6002dd59f35625131ed47b01b0b2e72012e771699663b529080","signature":"560adb88670345458e9a9bda1777725307b0de939523977db32e472378658fec"},{"version":"4204eb445f4fdee7cc007d08caaeeb14b76c3a583b8517936713ebb1ce251f0d","signature":"6f0192d49ca7377a20e9d8ad6ad81a47ee181f857bc03be07e25cb6a4b7b041e","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538"],"options":{"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":5,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"..","strict":true,"target":7},"fileIdsList":[[47],[55],[47,55],[47,55,63],[45,46],[48],[47,51],[50,51],[51],[50,51,86],[50,51,73],[50,51,92],[49,50],[56,57,58,59,60,61,62,63,64],[50],[87],[86],[69],[82],[80],[71],[84],[76],[90],[67],[78],[98],[92],[94],[74],[96],[47,51,52],[53,65,103],[101,102],[53],[104],[116,117],[116,117,118],[53,54],[114],[51,53,65,66,68,70,72,75,77,79,81,83,85,88,89,91,93,95,97,99,103,105,109,113,115,119],[106,107,108],[65],[110,111,112],[53,65,110],[51,53,55],[53,110]],"referencedMap":[[55,1],[56,2],[59,3],[57,3],[61,3],[64,4],[62,3],[60,3],[58,2],[47,5],[49,6],[52,7],[73,8],[50,9],[87,10],[86,11],[69,8],[80,8],[71,9],[76,8],[90,11],[67,8],[78,8],[98,8],[92,8],[94,12],[74,11],[51,13],[65,14],[66,15],[88,16],[89,17],[70,18],[83,19],[81,20],[72,21],[85,22],[77,23],[91,24],[68,25],[79,26],[99,27],[93,28],[95,29],[75,30],[97,31],[53,32],[102,33],[103,34],[101,35],[104,35],[105,36],[54,35],[118,37],[119,38],[114,39],[115,40],[120,41],[109,42],[106,35],[107,35],[108,43],[113,44],[111,45],[112,45],[110,39]],"exportedModulesMap":[[55,1],[56,2],[59,3],[57,3],[61,3],[64,4],[62,3],[60,3],[58,2],[47,5],[49,6],[52,7],[73,8],[50,9],[87,10],[86,11],[69,8],[80,8],[71,9],[76,8],[90,11],[67,8],[78,8],[98,8],[92,8],[94,12],[74,11],[51,13],[65,14],[66,15],[88,16],[89,17],[70,18],[83,19],[81,20],[72,21],[85,22],[77,23],[91,24],[68,25],[79,26],[99,27],[93,28],[95,29],[75,30],[97,31],[53,32],[102,46],[103,34],[101,35],[104,35],[105,36],[54,35],[119,38],[114,35],[115,40],[120,41],[109,42],[106,35],[107,35],[108,43],[113,44],[111,47],[112,45],[110,35]],"semanticDiagnosticsPerFile":[45,55,56,59,57,61,64,63,62,60,58,46,47,122,123,49,48,52,73,50,87,86,69,82,80,71,84,76,90,67,78,98,92,94,74,96,51,65,66,88,89,70,83,81,72,85,77,91,68,79,99,93,95,75,97,53,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,37,44,42,43,38,39,40,41,1,11,10,102,103,101,104,105,54,118,121,117,119,116,114,115,120,109,106,107,108,100,113,111,112,110]},"version":"4.7.4"}
@@ -0,0 +1,2 @@
1
+ declare type AbstractConstructor<T> = abstract new (...args: Array<any>) => T;
2
+ declare type Constructor<T> = new (...args: Array<any>) => T;
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,3 @@
1
+ export * from './updated';
2
+ export * from './property';
3
+ export * from './state';
@@ -0,0 +1,3 @@
1
+ export * from './updated';
2
+ export * from './property';
3
+ export * from './state';
@@ -0,0 +1,5 @@
1
+ import { PropertyDeclaration, LitElement } from 'lit';
2
+ import { updated, UpdatedCallback } from './updated';
3
+ export declare const property: <T>(options?: (PropertyDeclaration<unknown, unknown> & {
4
+ updated?: UpdatedCallback<T> | undefined;
5
+ }) | undefined) => (prototype: LitElement, propertyKey: PropertyKey) => any;
@@ -0,0 +1,10 @@
1
+ import { property as litProperty } from 'lit/decorators.js';
2
+ import { updated } from './updated';
3
+ export const property = (options) => {
4
+ return (prototype, propertyKey) => {
5
+ if (options?.updated) {
6
+ updated(options.updated)(prototype, propertyKey);
7
+ }
8
+ return litProperty(options)(prototype, propertyKey);
9
+ };
10
+ };
@@ -0,0 +1,6 @@
1
+ import { LitElement } from 'lit';
2
+ import { InternalPropertyDeclaration } from 'lit/decorators.js';
3
+ import { updated, UpdatedCallback } from './updated';
4
+ export declare const state: <T>(options?: (InternalPropertyDeclaration<unknown> & {
5
+ updated?: UpdatedCallback<T> | undefined;
6
+ }) | undefined) => (prototype: LitElement, propertyKey: PropertyKey) => any;
@@ -0,0 +1,10 @@
1
+ import { state as litState } from 'lit/decorators.js';
2
+ import { updated } from './updated';
3
+ export const state = (options) => {
4
+ return (prototype, propertyKey) => {
5
+ if (options?.updated) {
6
+ updated(options.updated)(prototype, propertyKey);
7
+ }
8
+ return litState(options)(prototype, propertyKey);
9
+ };
10
+ };
@@ -0,0 +1,3 @@
1
+ import { LitElement } from 'lit';
2
+ export declare type UpdatedCallback<T> = (value: T, oldValue: T) => void;
3
+ export declare const updated: <T>(callback: UpdatedCallback<T>) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -0,0 +1,21 @@
1
+ import { decorateLitElement } from '../decorateLitElement';
2
+ export const updated = (callback) => {
3
+ return (prototype, propertyKey) => {
4
+ decorateLitElement({
5
+ prototype,
6
+ constructorPropertyName: '$observers$',
7
+ initialValue: new Map,
8
+ lifecycleHooks: new Map([
9
+ ['updated', function (observers, changedProperties) {
10
+ for (const [propertyKey, value] of changedProperties) {
11
+ const key = propertyKey;
12
+ const observer = observers?.get(key);
13
+ if (observer !== undefined) {
14
+ observer.call(this, this[key], value);
15
+ }
16
+ }
17
+ }]
18
+ ])
19
+ }).set(propertyKey, callback);
20
+ };
21
+ };
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@a11d/lit",
3
+ "version": "0.0.6",
4
+ "description": "A thin wrapper around the Lit library",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/arshia11d/lit.git"
8
+ },
9
+ "keywords": [
10
+ "lit"
11
+ ],
12
+ "author": "arshia11d",
13
+ "license": "MIT",
14
+ "bugs": {
15
+ "url": "https://github.com/arshia11d/lit/issues"
16
+ },
17
+ "homepage": "https://github.com/arshia11d/lit#readme",
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "main": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "scripts": {
24
+ "build": "tsc"
25
+ },
26
+ "dependencies": {
27
+ "lit": "^2.2.8"
28
+ },
29
+ "devDependencies": {
30
+ "@a11d/eslint-config": "0.0.1"
31
+ }
32
+ }