@mantou/gem 2.1.0 → 2.2.0

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 (107) hide show
  1. package/dist/gem.es.js +1845 -1904
  2. package/dist/gem.umd.js +34 -191
  3. package/elements/base/dialog.d.ts +0 -4
  4. package/elements/base/dialog.d.ts.map +1 -1
  5. package/elements/base/dialog.js +0 -4
  6. package/elements/base/dialog.js.map +1 -1
  7. package/elements/base/gesture.d.ts +4 -14
  8. package/elements/base/gesture.d.ts.map +1 -1
  9. package/elements/base/gesture.js +34 -37
  10. package/elements/base/gesture.js.map +1 -1
  11. package/elements/base/link.d.ts +2 -19
  12. package/elements/base/link.d.ts.map +1 -1
  13. package/elements/base/link.js +29 -42
  14. package/elements/base/link.js.map +1 -1
  15. package/elements/base/modal-factory.d.ts +32 -33
  16. package/elements/base/modal-factory.d.ts.map +1 -1
  17. package/elements/base/reflect.d.ts +0 -3
  18. package/elements/base/reflect.d.ts.map +1 -1
  19. package/elements/base/reflect.js +0 -3
  20. package/elements/base/reflect.js.map +1 -1
  21. package/elements/base/route.d.ts +0 -10
  22. package/elements/base/route.d.ts.map +1 -1
  23. package/elements/base/route.js +10 -22
  24. package/elements/base/route.js.map +1 -1
  25. package/elements/base/title.d.ts +0 -6
  26. package/elements/base/title.d.ts.map +1 -1
  27. package/elements/base/title.js +13 -8
  28. package/elements/base/title.js.map +1 -1
  29. package/elements/base/unsafe.d.ts +1 -6
  30. package/elements/base/unsafe.d.ts.map +1 -1
  31. package/elements/base/unsafe.js +12 -12
  32. package/elements/base/unsafe.js.map +1 -1
  33. package/elements/base/use.d.ts +0 -4
  34. package/elements/base/use.d.ts.map +1 -1
  35. package/elements/base/use.js +15 -13
  36. package/elements/base/use.js.map +1 -1
  37. package/helper/theme.d.ts +3 -3
  38. package/helper/theme.d.ts.map +1 -1
  39. package/helper/theme.js +3 -3
  40. package/helper/theme.js.map +1 -1
  41. package/index.d.ts +0 -1
  42. package/index.d.ts.map +1 -1
  43. package/index.js +0 -1
  44. package/index.js.map +1 -1
  45. package/lib/decorators.d.ts +7 -6
  46. package/lib/decorators.d.ts.map +1 -1
  47. package/lib/decorators.js +48 -33
  48. package/lib/decorators.js.map +1 -1
  49. package/lib/directive.d.ts +83 -0
  50. package/lib/directive.d.ts.map +1 -0
  51. package/lib/directive.js +59 -0
  52. package/lib/directive.js.map +1 -0
  53. package/lib/element.d.ts +9 -23
  54. package/lib/element.d.ts.map +1 -1
  55. package/lib/element.js +61 -56
  56. package/lib/element.js.map +1 -1
  57. package/lib/lit-html.d.ts +331 -0
  58. package/lib/lit-html.d.ts.map +1 -0
  59. package/lib/lit-html.js +941 -0
  60. package/lib/lit-html.js.map +1 -0
  61. package/lib/ref.d.ts +1 -0
  62. package/lib/ref.d.ts.map +1 -0
  63. package/lib/ref.js +2 -0
  64. package/lib/ref.js.map +1 -0
  65. package/lib/repeat.d.ts +126 -0
  66. package/lib/repeat.d.ts.map +1 -0
  67. package/lib/repeat.js +533 -0
  68. package/lib/repeat.js.map +1 -0
  69. package/lib/store.d.ts +1 -1
  70. package/lib/store.d.ts.map +1 -1
  71. package/lib/store.js +4 -4
  72. package/lib/store.js.map +1 -1
  73. package/lib/utils.d.ts +1 -4
  74. package/lib/utils.d.ts.map +1 -1
  75. package/lib/utils.js +6 -15
  76. package/lib/utils.js.map +1 -1
  77. package/package.json +7 -9
  78. package/src/elements/base/dialog.ts +0 -4
  79. package/src/elements/base/gesture.ts +32 -35
  80. package/src/elements/base/link.ts +21 -41
  81. package/src/elements/base/reflect.ts +0 -3
  82. package/src/elements/base/route.ts +11 -21
  83. package/src/elements/base/title.ts +3 -7
  84. package/src/elements/base/unsafe.ts +9 -11
  85. package/src/elements/base/use.ts +8 -14
  86. package/src/helper/theme.ts +4 -4
  87. package/src/index.ts +0 -1
  88. package/src/lib/decorators.ts +53 -40
  89. package/src/lib/directive.ts +139 -0
  90. package/src/lib/element.ts +70 -79
  91. package/src/lib/lit-html.ts +1217 -0
  92. package/src/lib/repeat.ts +580 -0
  93. package/src/lib/store.ts +4 -4
  94. package/src/lib/utils.ts +6 -16
  95. package/src/test/elements/link.test.ts +1 -2
  96. package/src/test/elements/reflect.test.ts +13 -3
  97. package/src/test/elements/title.test.ts +1 -2
  98. package/src/test/gem-element/advance.test.ts +15 -8
  99. package/src/test/gem-element/basic.test.ts +22 -10
  100. package/src/test/gem-element/decorators.test.ts +6 -9
  101. package/src/test/gem-element/multi.test.ts +20 -11
  102. package/src/test/history.test.ts +2 -2
  103. package/src/test/store.test.ts +3 -3
  104. package/src/test/utils.test.ts +9 -10
  105. package/src/test/utils.ts +22 -0
  106. package/LICENSE +0 -21
  107. package/src/lib/directives.ts +0 -6
package/lib/element.js CHANGED
@@ -1,50 +1,22 @@
1
- import { html, render } from 'lit-html';
1
+ import { html, render } from './lit-html';
2
2
  import { connect } from './store';
3
- import { LinkedList, addMicrotask, isArrayChange, addListener, randomStr, createUpdater } from './utils';
4
- export { html, svg, render, directive, TemplateResult, SVGTemplateResult } from 'lit-html';
3
+ import { LinkedList, addMicrotask, isArrayChange, addListener, randomStr, createUpdater, GemError, raw } from './utils';
4
+ export { directive } from './directive';
5
+ export { repeat } from './repeat';
6
+ export { html, svg, mathml, render, TemplateResult, createRef } from './lit-html';
5
7
  const { assign, defineProperty } = Object;
6
8
  defineProperty(Symbol, 'metadata', { value: Symbol.for('Symbol.metadata') });
7
9
  const execCallback = (fun) => typeof fun === 'function' && fun();
8
- // 跨多个 gem 工作
10
+ // 读取构造样式表,跨多个 gem 工作
9
11
  export const SheetToken = Symbol.for('gem@sheetToken');
10
- // proto prop
12
+ // 更新元素,跨多个 gem 工作
11
13
  export const UpdateToken = Symbol.for('gem@update');
12
14
  const BoundaryCSSState = 'gem-style-boundary';
13
- export const RenderErrorEvent = 'gem@render-error';
15
+ export const _RenderErrorEvent = 'gem@render-error';
14
16
  // fix modal-factory type error
15
17
  const updateTokenAlias = UpdateToken;
16
18
  const rootStyleSheetInfo = new WeakMap();
17
19
  const rootUpdateFnMap = new WeakMap();
18
- const getReflectTargets = (ele) => [...ele.querySelectorAll('[data-gem-reflect]')].map((e) => e.target);
19
- class RefObject {
20
- refSelector;
21
- ele;
22
- ref;
23
- constructor(current) {
24
- const ref = `ref-${randomStr()}`;
25
- this.refSelector = `[ref=${ref}]`;
26
- this.ele = current.internals.shadowRoot || current;
27
- this.ref = ref;
28
- }
29
- get element() {
30
- for (const e of [this.ele, ...getReflectTargets(this.ele)]) {
31
- // 在 LightDOM 中可能工作很慢?
32
- const result = e.querySelector(this.refSelector);
33
- if (result)
34
- return result;
35
- }
36
- }
37
- get elements() {
38
- return [this.ele, ...getReflectTargets(this.ele)]
39
- .map((e) => [...e.querySelectorAll(this.refSelector)])
40
- .flat();
41
- }
42
- toString() {
43
- return this.ref;
44
- }
45
- }
46
- /**必须使用在字段中,否则会读取到错误的实例 */
47
- export let createRef;
48
20
  class GemCSSStyleSheet extends CSSStyleSheet {
49
21
  #ele;
50
22
  cssText = '';
@@ -101,16 +73,27 @@ class GemCSSSheet {
101
73
  }
102
74
  return sheet;
103
75
  }
104
- // 一般用于主题更新,不支持 layer
76
+ // 一般用于主题更新
105
77
  updateStyle() {
106
78
  this.#used.forEach((scope, sheet) => {
107
79
  sheet.replaceSync(scope ? `${scope}{${this.#content}}` : this.#content);
108
80
  });
109
81
  }
110
82
  }
111
- export function createCSSSheet(mediaOrRules, rulesValue) {
112
- const media = rulesValue ? mediaOrRules : '';
113
- const rules = rulesValue || mediaOrRules;
83
+ export function css(mediaOrRules, ...rest) {
84
+ let media = '';
85
+ let rules = '';
86
+ const rulesValue = rest.at(0);
87
+ if (Array.isArray(mediaOrRules)) {
88
+ rules = raw(mediaOrRules, ...rest);
89
+ }
90
+ else if (rulesValue !== undefined) {
91
+ media = mediaOrRules;
92
+ rules = rulesValue;
93
+ }
94
+ else {
95
+ rules = mediaOrRules;
96
+ }
114
97
  const styleSheet = new GemCSSSheet(media);
115
98
  const sheet = { [SheetToken]: styleSheet };
116
99
  let style = '';
@@ -183,7 +166,19 @@ function clearEffect(list) {
183
166
  return e.fixed;
184
167
  });
185
168
  }
186
- export let createTemplate;
169
+ const nullTemplate = html `
170
+ <style>
171
+ :host {
172
+ display: none !important;
173
+ }
174
+ @scope {
175
+ :scope {
176
+ display: none !important;
177
+ }
178
+ }
179
+ </style>
180
+ `;
181
+ export let _createTemplate;
187
182
  // global render task pool
188
183
  const noBlockingTaskList = new LinkedList();
189
184
  const tick = (timeStamp = performance.now()) => {
@@ -209,29 +204,33 @@ export class GemElement extends HTMLElement {
209
204
  #isAppendReason;
210
205
  #isMounted;
211
206
  // not in constructor 的近似值
212
- #isConnected;
207
+ #notInCons;
213
208
  #rendering;
214
209
  #clearStyle;
215
210
  [updateTokenAlias]() {
216
211
  // 避免 `connectedCallback` 中的 property 赋值造成多余更新
217
- if (this.#isMounted) {
212
+ if (this.#isMounted)
218
213
  addMicrotask(this.#update);
219
- }
220
214
  }
221
215
  static {
222
216
  createState = (initState) => {
223
217
  const ele = currentConstructGemElement;
224
218
  const state = createUpdater(initState, (payload) => {
219
+ const effect = ele.#effectList.at(0);
220
+ // https://github.com/mantou132/gem/issues/203
221
+ if (ele.#isMounted && effect && !effect.initialized) {
222
+ throw new GemError(`Do't set state sync before insert the DOM`);
223
+ }
225
224
  assign(state, payload);
226
225
  // 避免无限刷新
227
- if (!ele.#rendering)
226
+ // 挂载前 set state 不应该触发更新
227
+ if (!ele.#rendering && ele.#isMounted)
228
228
  addMicrotask(ele.#update);
229
229
  });
230
230
  ele.#internals.stateList.push(state);
231
231
  return state;
232
232
  };
233
- createRef = () => new RefObject(currentConstructGemElement);
234
- createTemplate = (ele, item) => ele.#renderList.push(item);
233
+ _createTemplate = (ele, item) => ele.#renderList.push(item);
235
234
  }
236
235
  constructor() {
237
236
  super();
@@ -269,7 +268,8 @@ export class GemElement extends HTMLElement {
269
268
  return this.constructor[Symbol.metadata];
270
269
  }
271
270
  get #renderItem() {
272
- return this.#renderList.find((e) => !e.condition || e.condition());
271
+ // 从末尾开始寻找,允许被覆盖
272
+ return this.#renderList.findLast((e) => !e.condition || e.condition());
273
273
  }
274
274
  get internals() {
275
275
  return this.#internals;
@@ -285,9 +285,10 @@ export class GemElement extends HTMLElement {
285
285
  };
286
286
  /**
287
287
  * - 条件渲染
288
- * - 不提供 `render` 时显示子内容
289
- * - 返回 `null` 时渲染空的子内容
288
+ * - 没有 `render` 时显示子内容
290
289
  * - 返回 `undefined` 时不会更新现有内容
290
+ * - 返回 `null` 时渲染空内容
291
+ * - 返回 html`` 时渲染空的子内容
291
292
  * */
292
293
  #render = (item) => {
293
294
  try {
@@ -298,10 +299,11 @@ export class GemElement extends HTMLElement {
298
299
  this.#rendering = false;
299
300
  if (temp === undefined)
300
301
  return;
301
- render(temp, this.#renderRoot);
302
+ render(temp === null ? nullTemplate : temp, this.#renderRoot);
302
303
  }
303
304
  catch (err) {
304
- this.dispatchEvent(new CustomEvent(RenderErrorEvent, { bubbles: true, composed: true, detail: err }));
305
+ this.dispatchEvent(new CustomEvent(_RenderErrorEvent, { bubbles: true, composed: true, detail: err }));
306
+ throw err;
305
307
  }
306
308
  };
307
309
  #updateCallback = () => {
@@ -362,15 +364,18 @@ export class GemElement extends HTMLElement {
362
364
  #connectedCallback = async () => {
363
365
  if (this.#isAppendReason) {
364
366
  this.#isAppendReason = false;
367
+ // https://github.com/mantou132/gem/issues/202
368
+ this.#clearStyle?.();
369
+ this.#clearStyle = this.#prepareStyle();
365
370
  return;
366
371
  }
372
+ this.#notInCons = true;
367
373
  this.#compat();
368
374
  const { observedStores, mode, penetrable } = this.#metadata;
369
375
  // 有渲染函数的 light dom 应该添加边界,防止内容被外部样式化
370
376
  // 如果渲染内容需要应用外部样式,需要手动 `delete` 边界
371
377
  if (!mode && this.#renderList.length && !penetrable)
372
378
  this.#internals.states.add(BoundaryCSSState);
373
- this.#isConnected = true;
374
379
  this.#disconnectStore = observedStores?.map((store) => connect(store, this.#update));
375
380
  this.#render(this.#renderItem);
376
381
  this.#isMounted = true;
@@ -418,7 +423,7 @@ export class GemElement extends HTMLElement {
418
423
  // 是否要异步执行回调?
419
424
  this.#effectList = clearEffect(this.#effectList);
420
425
  this.#memoList = clearEffect(this.#memoList);
421
- execCallback(this.#clearStyle);
426
+ this.#clearStyle?.();
422
427
  return GemElement.#final;
423
428
  }
424
429
  /**
@@ -440,7 +445,7 @@ export class GemElement extends HTMLElement {
440
445
  callback,
441
446
  getDep,
442
447
  initialized: this.#isMounted,
443
- fixed: !this.#isConnected,
448
+ fixed: !this.#notInCons,
444
449
  };
445
450
  // 已挂载时立即执行副作用,未挂载时等挂载后执行
446
451
  if (this.#isMounted) {
@@ -470,7 +475,7 @@ export class GemElement extends HTMLElement {
470
475
  this.#memoList.push({
471
476
  callback,
472
477
  getDep,
473
- fixed: !this.#isConnected,
478
+ fixed: !this.#notInCons,
474
479
  });
475
480
  };
476
481
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ import type { Directive } from './directive';
7
+ declare const ATTRIBUTE_PART = 1;
8
+ declare const CHILD_PART = 2;
9
+ declare const PROPERTY_PART = 3;
10
+ declare const BOOLEAN_ATTRIBUTE_PART = 4;
11
+ declare const EVENT_PART = 5;
12
+ declare const ELEMENT_PART = 6;
13
+ declare const COMMENT_PART = 7;
14
+ declare enum ResultType {
15
+ HTML = 0,
16
+ SVG = 1,
17
+ MATHML = 2
18
+ }
19
+ export declare class TemplateResult {
20
+ type: ResultType;
21
+ strings: TemplateStringsArray;
22
+ values: unknown[];
23
+ constructor(type: ResultType, strings: TemplateStringsArray, values: unknown[]);
24
+ }
25
+ export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult;
26
+ export declare const svg: (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult;
27
+ export declare const mathml: (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult;
28
+ export declare const noChange: unique symbol;
29
+ /**
30
+ * Object specifying options for controlling lit-html rendering. Note that
31
+ * while `render` may be called multiple times on the same `container` (and
32
+ * `renderBefore` reference node) to efficiently update the rendered content,
33
+ * only the options passed in during the first render are respected during
34
+ * the lifetime of renders to that unique `container` + `renderBefore`
35
+ * combination.
36
+ */
37
+ export interface RenderOptions {
38
+ /**
39
+ * An object to use as the `this` value for event listeners. It's often
40
+ * useful to set this to the host component rendering a template.
41
+ */
42
+ host?: object;
43
+ /**
44
+ * A DOM node before which to render content in the container.
45
+ */
46
+ renderBefore?: ChildNode | null;
47
+ /**
48
+ * Node used for cloning the template (`importNode` will be called on this
49
+ * node). This controls the `ownerDocument` of the rendered DOM, along with
50
+ * any inherited context. Defaults to the global `document`.
51
+ */
52
+ creationScope?: {
53
+ importNode(node: Node, deep?: boolean): Node;
54
+ };
55
+ /**
56
+ * The initial connected state for the top-level part being rendered. If no
57
+ * `isConnected` option is set, `AsyncDirective`s will be connected by
58
+ * default. Set to `false` if the initial render occurs in a disconnected tree
59
+ * and `AsyncDirective`s should see `isConnected === false` for their initial
60
+ * render. The `part.setConnected()` method must be used subsequent to initial
61
+ * render to change the connected state of the part.
62
+ */
63
+ isConnected?: boolean;
64
+ }
65
+ export interface DirectiveParent {
66
+ _$parent?: DirectiveParent;
67
+ _$isConnected: boolean;
68
+ __directive?: Directive;
69
+ __directives?: Array<Directive | undefined>;
70
+ }
71
+ /** @internal */
72
+ export type { Template };
73
+ declare class Template {
74
+ /** @internal */
75
+ el: HTMLTemplateElement;
76
+ parts: Array<TemplatePart>;
77
+ constructor({ strings, type }: TemplateResult, options?: RenderOptions);
78
+ /** @nocollapse */
79
+ static createElement(trustedHtml: TrustedHTML, _options?: RenderOptions): HTMLTemplateElement;
80
+ }
81
+ export interface Disconnectable {
82
+ _$parent?: Disconnectable;
83
+ _$disconnectableChildren?: Set<Disconnectable>;
84
+ _$isConnected: boolean;
85
+ }
86
+ export type { TemplateInstance };
87
+ /**
88
+ * An updateable instance of a Template. Holds references to the Parts used to
89
+ * update the template instance.
90
+ */
91
+ declare class TemplateInstance implements Disconnectable {
92
+ _$template: Template;
93
+ _$parts: Array<Part | undefined>;
94
+ /** @internal */
95
+ _$parent: ChildPart;
96
+ /** @internal */
97
+ _$disconnectableChildren?: Set<Disconnectable>;
98
+ constructor(template: Template, parent: ChildPart);
99
+ get parentNode(): Node;
100
+ get _$isConnected(): boolean;
101
+ _clone(options: RenderOptions | undefined): Node;
102
+ _update(values: Array<unknown>): void;
103
+ }
104
+ type AttributeTemplatePart = {
105
+ readonly type: typeof ATTRIBUTE_PART;
106
+ readonly index: number;
107
+ readonly name: string;
108
+ readonly ctor: typeof AttributePart;
109
+ readonly strings: ReadonlyArray<string>;
110
+ };
111
+ type ChildTemplatePart = {
112
+ readonly type: typeof CHILD_PART;
113
+ readonly index: number;
114
+ };
115
+ type ElementTemplatePart = {
116
+ readonly type: typeof ELEMENT_PART;
117
+ readonly index: number;
118
+ };
119
+ type CommentTemplatePart = {
120
+ readonly type: typeof COMMENT_PART;
121
+ readonly index: number;
122
+ };
123
+ /**
124
+ * A TemplatePart represents a dynamic part in a template, before the template
125
+ * is instantiated. When a template is instantiated Parts are created from
126
+ * TemplateParts.
127
+ */
128
+ type TemplatePart = ChildTemplatePart | AttributeTemplatePart | ElementTemplatePart | CommentTemplatePart;
129
+ export type Part = ChildPart | AttributePart | PropertyPart | BooleanAttributePart | ElementPart | EventPart;
130
+ export declare class ChildPart implements Disconnectable {
131
+ readonly type = 2;
132
+ readonly options: RenderOptions | undefined;
133
+ _$committedValue: unknown;
134
+ /** @internal */
135
+ __directive?: Directive;
136
+ /** @internal */
137
+ _$startNode: ChildNode;
138
+ /** @internal */
139
+ _$endNode: ChildNode | null;
140
+ /** @internal */
141
+ _$parent: Disconnectable | undefined;
142
+ /**
143
+ * Connection state for RootParts only (i.e. ChildPart without _$parent
144
+ * returned from top-level `render`). This field is unused otherwise. The
145
+ * intention would be clearer if we made `RootPart` a subclass of `ChildPart`
146
+ * with this field (and a different _$isConnected getter), but the subclass
147
+ * caused a perf regression, possibly due to making call sites polymorphic.
148
+ * @internal
149
+ */
150
+ __isConnected: boolean;
151
+ get _$isConnected(): boolean;
152
+ /** @internal */
153
+ _$disconnectableChildren?: Set<Disconnectable>;
154
+ /** @internal */
155
+ _$notifyConnectionChanged?(isConnected: boolean, removeFromParent?: boolean, from?: number): void;
156
+ /** @internal */
157
+ _$reparentDisconnectables?(parent: Disconnectable): void;
158
+ constructor(startNode: ChildNode, endNode: ChildNode | null, parent: TemplateInstance | ChildPart | undefined, options: RenderOptions | undefined);
159
+ /**
160
+ * The parent node into which the part renders its content.
161
+ *
162
+ * A ChildPart's content consists of a range of adjacent child nodes of
163
+ * `.parentNode`, possibly bordered by 'marker nodes' (`.startNode` and
164
+ * `.endNode`).
165
+ *
166
+ * - If both `.startNode` and `.endNode` are non-null, then the part's content
167
+ * consists of all siblings between `.startNode` and `.endNode`, exclusively.
168
+ *
169
+ * - If `.startNode` is non-null but `.endNode` is null, then the part's
170
+ * content consists of all siblings following `.startNode`, up to and
171
+ * including the last child of `.parentNode`. If `.endNode` is non-null, then
172
+ * `.startNode` will always be non-null.
173
+ *
174
+ * - If both `.endNode` and `.startNode` are null, then the part's content
175
+ * consists of all child nodes of `.parentNode`.
176
+ */
177
+ get parentNode(): Node;
178
+ /**
179
+ * The part's leading marker node, if any. See `.parentNode` for more
180
+ * information.
181
+ */
182
+ get startNode(): Node | null;
183
+ /**
184
+ * The part's trailing marker node, if any. See `.parentNode` for more
185
+ * information.
186
+ */
187
+ get endNode(): Node | null;
188
+ _$setValue(value: unknown, directiveParent?: DirectiveParent): void;
189
+ private _insert;
190
+ private _commitNode;
191
+ private _commitText;
192
+ private _commitTemplateResult;
193
+ /** @internal */
194
+ _$getTemplate(result: TemplateResult): Template;
195
+ private _commitIterable;
196
+ /**
197
+ * Removes the nodes contained within this Part from the DOM.
198
+ *
199
+ * @param start Start node to clear from, for clearing a subset of the part's
200
+ * DOM (used when truncating iterables)
201
+ * @param from When `start` is specified, the index within the iterable from
202
+ * which ChildParts are being removed, used for disconnecting directives in
203
+ * those Parts.
204
+ *
205
+ * @internal
206
+ */
207
+ _$clear(start?: ChildNode | null, from?: number): void;
208
+ /**
209
+ * Implementation of RootPart's `isConnected`. Note that this method
210
+ * should only be called on `RootPart`s (the `ChildPart` returned from a
211
+ * top-level `render()` call). It has no effect on non-root ChildParts.
212
+ * @param isConnected Whether to set
213
+ * @internal
214
+ */
215
+ setConnected(isConnected: boolean): void;
216
+ }
217
+ /**
218
+ * A top-level `ChildPart` returned from `render` that manages the connected
219
+ * state of `AsyncDirective`s created throughout the tree below it.
220
+ */
221
+ export interface RootPart extends ChildPart {
222
+ /**
223
+ * Sets the connection state for `AsyncDirective`s contained within this root
224
+ * ChildPart.
225
+ *
226
+ * lit-html does not automatically monitor the connectedness of DOM rendered;
227
+ * as such, it is the responsibility of the caller to `render` to ensure that
228
+ * `part.setConnected(false)` is called before the part object is potentially
229
+ * discarded, to ensure that `AsyncDirective`s have a chance to dispose of
230
+ * any resources being held. If a `RootPart` that was previously
231
+ * disconnected is subsequently re-connected (and its `AsyncDirective`s should
232
+ * re-connect), `setConnected(true)` should be called.
233
+ *
234
+ * @param isConnected Whether directives within this tree should be connected
235
+ * or not
236
+ */
237
+ setConnected(isConnected: boolean): void;
238
+ }
239
+ export type { AttributePart };
240
+ declare class AttributePart implements Disconnectable {
241
+ readonly type: typeof ATTRIBUTE_PART | typeof PROPERTY_PART | typeof BOOLEAN_ATTRIBUTE_PART | typeof EVENT_PART;
242
+ readonly element: HTMLElement;
243
+ readonly name: string;
244
+ readonly options: RenderOptions | undefined;
245
+ /**
246
+ * If this attribute part represents an interpolation, this contains the
247
+ * static strings of the interpolation. For single-value, complete bindings,
248
+ * this is undefined.
249
+ */
250
+ readonly strings?: ReadonlyArray<string>;
251
+ /** @internal */
252
+ _$committedValue: unknown | Array<unknown>;
253
+ /** @internal */
254
+ __directives?: Array<Directive | undefined>;
255
+ /** @internal */
256
+ _$parent: Disconnectable;
257
+ /** @internal */
258
+ _$disconnectableChildren?: Set<Disconnectable>;
259
+ get tagName(): string;
260
+ get _$isConnected(): boolean;
261
+ constructor(element: HTMLElement, name: string, strings: ReadonlyArray<string>, parent: Disconnectable, options: RenderOptions | undefined);
262
+ /**
263
+ * Sets the value of this part by resolving the value from possibly multiple
264
+ * values and static strings and committing it to the DOM.
265
+ * If this part is single-valued, `this._strings` will be undefined, and the
266
+ * method will be called with a single value argument. If this part is
267
+ * multi-value, `this._strings` will be defined, and the method is called
268
+ * with the value array of the part's owning TemplateInstance, and an offset
269
+ * into the value array from which the values should be read.
270
+ * This method is overloaded this way to eliminate short-lived array slices
271
+ * of the template instance values, and allow a fast-path for single-valued
272
+ * parts.
273
+ *
274
+ * @param value The part value, or an array of values for multi-valued parts
275
+ * @param valueIndex the index to start reading values from. `undefined` for
276
+ * single-valued parts
277
+ * @param noCommit causes the part to not commit its value to the DOM. Used
278
+ * in hydration to prime attribute parts with their first-rendered value,
279
+ * but not set the attribute, and in SSR to no-op the DOM operation and
280
+ * capture the value for serialization.
281
+ *
282
+ * @internal
283
+ */
284
+ _$setValue(value: unknown | Array<unknown>, directiveParent?: DirectiveParent, valueIndex?: number, noCommit?: boolean): void;
285
+ /** @internal */
286
+ _commitValue(value: unknown): void;
287
+ }
288
+ export type { PropertyPart };
289
+ declare class PropertyPart extends AttributePart {
290
+ readonly type = 3;
291
+ /** @internal */
292
+ _commitValue(value: unknown): void;
293
+ }
294
+ export type { BooleanAttributePart };
295
+ declare class BooleanAttributePart extends AttributePart {
296
+ readonly type = 4;
297
+ /** @internal */
298
+ _commitValue(value: unknown): void;
299
+ }
300
+ export type { EventPart };
301
+ declare class EventPart extends AttributePart {
302
+ readonly type = 5;
303
+ constructor(element: HTMLElement, name: string, strings: ReadonlyArray<string>, parent: Disconnectable, options: RenderOptions | undefined);
304
+ /** @internal */
305
+ _$setValue(newListener: unknown, directiveParent?: DirectiveParent): void;
306
+ handleEvent(event: Event): void;
307
+ }
308
+ export type { ElementPart };
309
+ declare class ElementPart implements Disconnectable {
310
+ element: Element;
311
+ readonly type = 6;
312
+ /** @internal */
313
+ __directive?: Directive;
314
+ _$committedValue: undefined;
315
+ /** @internal */
316
+ _$parent: Disconnectable;
317
+ /** @internal */
318
+ _$disconnectableChildren?: Set<Disconnectable>;
319
+ _$props: any;
320
+ options: RenderOptions | undefined;
321
+ constructor(element: Element, parent: Disconnectable, options: RenderOptions | undefined);
322
+ get _$isConnected(): boolean;
323
+ _$setValue(value: unknown): void;
324
+ }
325
+ export declare const createRef: <T = Element>() => Ref<T>;
326
+ export type { Ref };
327
+ declare class Ref<T = Element> {
328
+ value?: T;
329
+ }
330
+ export declare const render: (value: unknown, container: HTMLElement | DocumentFragment, options?: RenderOptions) => RootPart;
331
+ //# sourceMappingURL=lit-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit-html.d.ts","sourceRoot":"","sources":["../src/lib/lit-html.ts"],"names":[],"mappings":"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"}