@mantou/gem 2.2.0 → 2.2.1

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 (159) hide show
  1. package/dist/gem.es.js +2007 -2020
  2. package/dist/gem.umd.js +15 -32
  3. package/elements/base/dialog.d.ts +1 -1
  4. package/elements/base/dialog.d.ts.map +1 -1
  5. package/elements/base/dialog.js +2 -2
  6. package/elements/base/dialog.js.map +1 -1
  7. package/elements/base/gesture.d.ts +1 -1
  8. package/elements/base/gesture.d.ts.map +1 -1
  9. package/elements/base/gesture.js +4 -4
  10. package/elements/base/gesture.js.map +1 -1
  11. package/elements/base/link.d.ts.map +1 -1
  12. package/elements/base/link.js +7 -12
  13. package/elements/base/link.js.map +1 -1
  14. package/elements/base/modal-factory.d.ts +23 -12
  15. package/elements/base/modal-factory.d.ts.map +1 -1
  16. package/elements/base/modal-factory.js +14 -14
  17. package/elements/base/modal-factory.js.map +1 -1
  18. package/elements/base/reflect.d.ts +1 -2
  19. package/elements/base/reflect.d.ts.map +1 -1
  20. package/elements/base/reflect.js +8 -10
  21. package/elements/base/reflect.js.map +1 -1
  22. package/elements/base/route.d.ts +17 -7
  23. package/elements/base/route.d.ts.map +1 -1
  24. package/elements/base/route.js +6 -6
  25. package/elements/base/route.js.map +1 -1
  26. package/elements/base/title.d.ts +1 -1
  27. package/elements/base/title.d.ts.map +1 -1
  28. package/elements/base/title.js +3 -3
  29. package/elements/base/title.js.map +1 -1
  30. package/elements/base/unsafe.d.ts +1 -1
  31. package/elements/base/unsafe.d.ts.map +1 -1
  32. package/elements/base/unsafe.js +1 -1
  33. package/elements/base/unsafe.js.map +1 -1
  34. package/elements/base/use.d.ts +1 -1
  35. package/elements/base/use.d.ts.map +1 -1
  36. package/elements/base/use.js +1 -1
  37. package/elements/base/use.js.map +1 -1
  38. package/elements/link.js +1 -1
  39. package/elements/link.js.map +1 -1
  40. package/elements/route.js +1 -1
  41. package/elements/route.js.map +1 -1
  42. package/helper/hmr.d.ts +11 -0
  43. package/helper/hmr.d.ts.map +1 -0
  44. package/helper/hmr.js +255 -0
  45. package/helper/hmr.js.map +1 -0
  46. package/helper/i18n.d.ts +2 -2
  47. package/helper/i18n.d.ts.map +1 -1
  48. package/helper/i18n.js +5 -4
  49. package/helper/i18n.js.map +1 -1
  50. package/helper/logger.d.ts +1 -1
  51. package/helper/logger.d.ts.map +1 -1
  52. package/helper/logger.js +8 -5
  53. package/helper/logger.js.map +1 -1
  54. package/helper/mediaquery.js +1 -1
  55. package/helper/mediaquery.js.map +1 -1
  56. package/helper/ssr-shim.d.ts.map +1 -1
  57. package/helper/ssr-shim.js +2 -0
  58. package/helper/ssr-shim.js.map +1 -1
  59. package/helper/theme.d.ts +3 -4
  60. package/helper/theme.d.ts.map +1 -1
  61. package/helper/theme.js +1 -1
  62. package/helper/theme.js.map +1 -1
  63. package/index.d.ts +1 -2
  64. package/index.d.ts.map +1 -1
  65. package/index.js +1 -3
  66. package/index.js.map +1 -1
  67. package/lib/decorators.d.ts +5 -13
  68. package/lib/decorators.d.ts.map +1 -1
  69. package/lib/decorators.js +40 -42
  70. package/lib/decorators.js.map +1 -1
  71. package/lib/directive.d.ts +0 -18
  72. package/lib/directive.d.ts.map +1 -1
  73. package/lib/directive.js +1 -2
  74. package/lib/directive.js.map +1 -1
  75. package/lib/element.d.ts +8 -137
  76. package/lib/element.d.ts.map +1 -1
  77. package/lib/element.js +16 -481
  78. package/lib/element.js.map +1 -1
  79. package/lib/history.d.ts +67 -9
  80. package/lib/history.d.ts.map +1 -1
  81. package/lib/history.js +12 -12
  82. package/lib/history.js.map +1 -1
  83. package/lib/lit-html.d.ts +5 -104
  84. package/lib/lit-html.d.ts.map +1 -1
  85. package/lib/lit-html.js +73 -27
  86. package/lib/lit-html.js.map +1 -1
  87. package/lib/reactive.d.ts +123 -0
  88. package/lib/reactive.d.ts.map +1 -0
  89. package/lib/reactive.js +478 -0
  90. package/lib/reactive.js.map +1 -0
  91. package/lib/repeat.d.ts +3 -3
  92. package/lib/repeat.d.ts.map +1 -1
  93. package/lib/repeat.js +3 -3
  94. package/lib/repeat.js.map +1 -1
  95. package/lib/store.d.ts +13 -2
  96. package/lib/store.d.ts.map +1 -1
  97. package/lib/store.js +1 -0
  98. package/lib/store.js.map +1 -1
  99. package/lib/utils.d.ts +23 -11
  100. package/lib/utils.d.ts.map +1 -1
  101. package/lib/utils.js +20 -15
  102. package/lib/utils.js.map +1 -1
  103. package/lib/version.d.ts +1 -1
  104. package/lib/version.d.ts.map +1 -1
  105. package/lib/version.js +1 -2
  106. package/lib/version.js.map +1 -1
  107. package/package.json +3 -3
  108. package/src/dist.ts +6 -8
  109. package/src/elements/base/dialog.ts +2 -2
  110. package/src/elements/base/gesture.ts +5 -5
  111. package/src/elements/base/link.ts +16 -22
  112. package/src/elements/base/modal-factory.ts +14 -14
  113. package/src/elements/base/reflect.ts +2 -3
  114. package/src/elements/base/route.ts +13 -14
  115. package/src/elements/base/title.ts +4 -4
  116. package/src/elements/base/unsafe.ts +1 -1
  117. package/src/elements/base/use.ts +1 -1
  118. package/src/elements/link.ts +1 -1
  119. package/src/elements/route.ts +1 -1
  120. package/src/helper/hmr.ts +305 -0
  121. package/src/helper/i18n.ts +7 -7
  122. package/src/helper/logger.ts +9 -5
  123. package/src/helper/mediaquery.ts +1 -1
  124. package/src/helper/ssr-shim.ts +3 -0
  125. package/src/helper/theme.ts +4 -4
  126. package/src/index.ts +1 -4
  127. package/src/lib/decorators.ts +56 -68
  128. package/src/lib/directive.ts +3 -5
  129. package/src/lib/element.ts +22 -600
  130. package/src/lib/history.ts +14 -15
  131. package/src/lib/lit-html.ts +86 -34
  132. package/src/lib/reactive.ts +596 -0
  133. package/src/lib/repeat.ts +5 -5
  134. package/src/lib/store.ts +1 -0
  135. package/src/lib/utils.ts +35 -30
  136. package/src/lib/version.ts +1 -2
  137. package/src/test/elements/link.test.ts +2 -2
  138. package/src/test/elements/reflect.test.ts +3 -3
  139. package/src/test/elements/title.test.ts +2 -2
  140. package/src/test/gem-element/advance.test.ts +10 -9
  141. package/src/test/gem-element/basic.test.ts +3 -3
  142. package/src/test/gem-element/decorators.test.ts +10 -10
  143. package/src/test/gem-element/multi.test.ts +2 -2
  144. package/src/test/history.test.ts +1 -2
  145. package/src/test/store.test.ts +2 -3
  146. package/src/test/utils.test.ts +4 -5
  147. package/src/test/utils.ts +2 -2
  148. package/helper/react-shim.d.ts +0 -15
  149. package/helper/react-shim.d.ts.map +0 -1
  150. package/helper/react-shim.js +0 -56
  151. package/helper/react-shim.js.map +0 -1
  152. package/lib/directives.d.ts +0 -4
  153. package/lib/directives.d.ts.map +0 -1
  154. package/lib/directives.js +0 -5
  155. package/lib/directives.js.map +0 -1
  156. package/lib/ref.d.ts +0 -1
  157. package/lib/ref.d.ts.map +0 -1
  158. package/lib/ref.js +0 -2
  159. package/lib/ref.js.map +0 -1
package/lib/history.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // https://github.com/WICG/navigation-api#stakeholder-feedback
2
2
  import { connect, createStore } from './store';
3
- import { QueryString, cleanObject, GemError, absoluteLocation } from './utils';
4
- const nativeHistory = window.history;
3
+ import { absoluteLocation, cleanObject, GemError, QueryString } from './utils';
4
+ const nativeHistory = globalThis.history;
5
5
  const nativePushState = nativeHistory.pushState.bind(nativeHistory);
6
6
  const nativeReplaceState = nativeHistory.replaceState.bind(nativeHistory);
7
7
  let key = 0;
@@ -74,7 +74,7 @@ function updateHistory(p, native) {
74
74
  const prevHash = decodeURIComponent(location.hash);
75
75
  native(state, title, url);
76
76
  if (prevHash !== hash)
77
- window.dispatchEvent(new CustomEvent('hashchange'));
77
+ dispatchEvent(new CustomEvent('hashchange'));
78
78
  }
79
79
  // 跨框架时,调用者对 basePath 无感知
80
80
  function updateHistoryByNative(data, title, originUrl, native) {
@@ -95,7 +95,7 @@ function updateHistoryByNative(data, title, originUrl, native) {
95
95
  native(state, title, url);
96
96
  // `location.hash` 和 `hash` 都已经进行了 url 编码,可以直接进行相等判断
97
97
  if (prevHash !== hash)
98
- window.dispatchEvent(new CustomEvent('hashchange'));
98
+ dispatchEvent(new CustomEvent('hashchange'));
99
99
  }
100
100
  const gemBasePathStore = createStore({
101
101
  basePath: '',
@@ -148,17 +148,17 @@ class GemHistory extends EventTarget {
148
148
  // `<gem-**>` 只读写父应用 `basePath`
149
149
  const gemHistory = new GemHistory();
150
150
  const gemTitleStore = createStore({ defaultTitle: document.title, url: '', title: '' });
151
- const _GEMHISTORY = { history: gemHistory, titleStore: gemTitleStore, basePathStore: gemBasePathStore };
152
- if (!window._GEMHISTORY) {
153
- window._GEMHISTORY = _GEMHISTORY;
154
- nativeHistory.pushState = function (state, title, path) {
151
+ const HISTORY = { history: gemHistory, titleStore: gemTitleStore, basePathStore: gemBasePathStore };
152
+ if (!globalThis._GEMHISTORY) {
153
+ globalThis._GEMHISTORY = HISTORY;
154
+ nativeHistory.pushState = (state, title, path) => {
155
155
  updateHistoryByNative(state, title, path, nativePushState);
156
156
  };
157
- nativeHistory.replaceState = function (state, title, path) {
157
+ nativeHistory.replaceState = (state, title, path) => {
158
158
  updateHistoryByNative(state, title, path, nativeReplaceState);
159
159
  };
160
160
  // 点击 `<a>`
161
- window.addEventListener('hashchange', ({ isTrusted }) => {
161
+ addEventListener('hashchange', ({ isTrusted }) => {
162
162
  if (isTrusted) {
163
163
  gemHistory.replace({ hash: location.hash });
164
164
  }
@@ -202,7 +202,7 @@ if (!window._GEMHISTORY) {
202
202
  * 表示 popstate handler 中正在进行导航
203
203
  */
204
204
  let navigating = false;
205
- window.addEventListener('popstate', (event) => {
205
+ addEventListener('popstate', (event) => {
206
206
  const newState = event.state;
207
207
  if (!newState?.$key) {
208
208
  // 比如作为其他框架 app 的宿主 app
@@ -266,6 +266,6 @@ if (!window._GEMHISTORY) {
266
266
  store(newState);
267
267
  });
268
268
  }
269
- const { history, titleStore, basePathStore } = window._GEMHISTORY;
269
+ const { history, titleStore, basePathStore } = globalThis._GEMHISTORY;
270
270
  export { history, titleStore, basePathStore };
271
271
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/lib/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/lib/history.ts"],"names":[],"mappings":"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"}
package/lib/lit-html.d.ts CHANGED
@@ -4,6 +4,11 @@
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
6
  import type { Directive } from './directive';
7
+ /** TemplateResult types */
8
+ declare const HTML_RESULT = 1;
9
+ declare const SVG_RESULT = 2;
10
+ declare const MATHML_RESULT = 3;
11
+ type ResultType = typeof HTML_RESULT | typeof SVG_RESULT | typeof MATHML_RESULT;
7
12
  declare const ATTRIBUTE_PART = 1;
8
13
  declare const CHILD_PART = 2;
9
14
  declare const PROPERTY_PART = 3;
@@ -11,11 +16,6 @@ declare const BOOLEAN_ATTRIBUTE_PART = 4;
11
16
  declare const EVENT_PART = 5;
12
17
  declare const ELEMENT_PART = 6;
13
18
  declare const COMMENT_PART = 7;
14
- declare enum ResultType {
15
- HTML = 0,
16
- SVG = 1,
17
- MATHML = 2
18
- }
19
19
  export declare class TemplateResult {
20
20
  type: ResultType;
21
21
  strings: TemplateStringsArray;
@@ -68,11 +68,7 @@ export interface DirectiveParent {
68
68
  __directive?: Directive;
69
69
  __directives?: Array<Directive | undefined>;
70
70
  }
71
- /** @internal */
72
- export type { Template };
73
71
  declare class Template {
74
- /** @internal */
75
- el: HTMLTemplateElement;
76
72
  parts: Array<TemplatePart>;
77
73
  constructor({ strings, type }: TemplateResult, options?: RenderOptions);
78
74
  /** @nocollapse */
@@ -91,10 +87,6 @@ export type { TemplateInstance };
91
87
  declare class TemplateInstance implements Disconnectable {
92
88
  _$template: Template;
93
89
  _$parts: Array<Part | undefined>;
94
- /** @internal */
95
- _$parent: ChildPart;
96
- /** @internal */
97
- _$disconnectableChildren?: Set<Disconnectable>;
98
90
  constructor(template: Template, parent: ChildPart);
99
91
  get parentNode(): Node;
100
92
  get _$isConnected(): boolean;
@@ -131,30 +123,7 @@ export declare class ChildPart implements Disconnectable {
131
123
  readonly type = 2;
132
124
  readonly options: RenderOptions | undefined;
133
125
  _$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
126
  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
127
  constructor(startNode: ChildNode, endNode: ChildNode | null, parent: TemplateInstance | ChildPart | undefined, options: RenderOptions | undefined);
159
128
  /**
160
129
  * The parent node into which the part renders its content.
@@ -190,29 +159,7 @@ export declare class ChildPart implements Disconnectable {
190
159
  private _commitNode;
191
160
  private _commitText;
192
161
  private _commitTemplateResult;
193
- /** @internal */
194
- _$getTemplate(result: TemplateResult): Template;
195
162
  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
163
  }
217
164
  /**
218
165
  * A top-level `ChildPart` returned from `render` that manages the connected
@@ -248,74 +195,28 @@ declare class AttributePart implements Disconnectable {
248
195
  * this is undefined.
249
196
  */
250
197
  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
198
  get tagName(): string;
260
199
  get _$isConnected(): boolean;
261
200
  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
201
  }
288
202
  export type { PropertyPart };
289
203
  declare class PropertyPart extends AttributePart {
290
204
  readonly type = 3;
291
- /** @internal */
292
- _commitValue(value: unknown): void;
293
205
  }
294
206
  export type { BooleanAttributePart };
295
207
  declare class BooleanAttributePart extends AttributePart {
296
208
  readonly type = 4;
297
- /** @internal */
298
- _commitValue(value: unknown): void;
299
209
  }
300
210
  export type { EventPart };
301
211
  declare class EventPart extends AttributePart {
302
212
  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
213
  handleEvent(event: Event): void;
307
214
  }
308
215
  export type { ElementPart };
309
216
  declare class ElementPart implements Disconnectable {
310
217
  element: Element;
311
218
  readonly type = 6;
312
- /** @internal */
313
- __directive?: Directive;
314
219
  _$committedValue: undefined;
315
- /** @internal */
316
- _$parent: Disconnectable;
317
- /** @internal */
318
- _$disconnectableChildren?: Set<Disconnectable>;
319
220
  _$props: any;
320
221
  options: RenderOptions | undefined;
321
222
  constructor(element: Element, parent: Disconnectable, options: RenderOptions | undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"lit-html.d.ts","sourceRoot":"","sources":["../src/lib/lit-html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lit-html.d.ts","sourceRoot":"","sources":["../src/lib/lit-html.ts"],"names":[],"mappings":"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"}
package/lib/lit-html.js CHANGED
@@ -5,9 +5,7 @@
5
5
  */
6
6
  const global = globalThis;
7
7
  const trustedTypes = global.trustedTypes;
8
- const policy = trustedTypes?.createPolicy('lit-html', {
9
- createHTML: (s) => s,
10
- });
8
+ const policy = trustedTypes?.createPolicy('lit-html', { createHTML: (s) => s });
11
9
  // Added to an attribute name to mark the attribute as bound so we can find
12
10
  // it easily.
13
11
  const boundAttributeSuffix = '$lit$';
@@ -24,7 +22,7 @@ const nodeMarker = `<${markerMatch}>`;
24
22
  const d = document;
25
23
  // Creates a dynamic marker. We never have to search for these in the DOM.
26
24
  const createMarker = () => d.createComment('');
27
- const isPrimitive = (value) => value === null || (typeof value != 'object' && typeof value != 'function');
25
+ const isPrimitive = (value) => value === null || (typeof value !== 'object' && typeof value !== 'function');
28
26
  const isNullish = (value) => value === null || value === undefined;
29
27
  const isIterable = (value) => Symbol.iterator in value;
30
28
  const SPACE_CHAR = `[ \t\n\f\r]`;
@@ -88,6 +86,10 @@ const doubleQuoteAttrEndRegex = /"/g;
88
86
  * text content for marker strings.
89
87
  */
90
88
  const rawTextElement = /^(?:script|style|textarea|title)$/i;
89
+ /** TemplateResult types */
90
+ const HTML_RESULT = 1;
91
+ const SVG_RESULT = 2;
92
+ const MATHML_RESULT = 3;
91
93
  // TemplatePart types
92
94
  // IMPORTANT: these must match the values in PartType
93
95
  const ATTRIBUTE_PART = 1;
@@ -97,12 +99,9 @@ const BOOLEAN_ATTRIBUTE_PART = 4;
97
99
  const EVENT_PART = 5;
98
100
  const ELEMENT_PART = 6;
99
101
  const COMMENT_PART = 7;
100
- var ResultType;
101
- (function (ResultType) {
102
- ResultType[ResultType["HTML"] = 0] = "HTML";
103
- ResultType[ResultType["SVG"] = 1] = "SVG";
104
- ResultType[ResultType["MATHML"] = 2] = "MATHML";
105
- })(ResultType || (ResultType = {}));
102
+ const V_IF = 'v-if';
103
+ const V_ELSE_IF = 'v-else-if';
104
+ const V_ELSE = 'v-else';
106
105
  export class TemplateResult {
107
106
  type;
108
107
  strings;
@@ -116,9 +115,9 @@ export class TemplateResult {
116
115
  const tag = (type) => (strings, ...values) => {
117
116
  return new TemplateResult(type, strings, values);
118
117
  };
119
- export const html = tag(ResultType.HTML);
120
- export const svg = tag(ResultType.SVG);
121
- export const mathml = tag(ResultType.MATHML);
118
+ export const html = tag(HTML_RESULT);
119
+ export const svg = tag(SVG_RESULT);
120
+ export const mathml = tag(MATHML_RESULT);
122
121
  // for directive
123
122
  export const noChange = Symbol.for('lit-noChange');
124
123
  const templateCache = new WeakMap();
@@ -152,7 +151,7 @@ const getTemplateHtml = (strings, type) => {
152
151
  // parts. ElementParts are also reflected in this array as undefined
153
152
  // rather than a string, to disambiguate from attribute bindings.
154
153
  const attrNames = [];
155
- let htmlStr = type === ResultType.SVG ? '<svg>' : type === ResultType.MATHML ? '<math>' : '';
154
+ let htmlStr = type === SVG_RESULT ? '<svg>' : type === MATHML_RESULT ? '<math>' : '';
156
155
  // When we're inside a raw text tag (not it's text content), the regex
157
156
  // will still be tagRegex so we can find attributes, but will switch to
158
157
  // this regex when the tag ends.
@@ -261,9 +260,7 @@ const getTemplateHtml = (strings, type) => {
261
260
  end
262
261
  : s + marker + (attrNameEndIndex === -2 ? i : end);
263
262
  }
264
- const htmlResult = htmlStr +
265
- (strings[l] || '<?>') +
266
- (type === ResultType.SVG ? '</svg>' : type === ResultType.MATHML ? '</math>' : '');
263
+ const htmlResult = htmlStr + (strings[l] || '<?>') + (type === SVG_RESULT ? '</svg>' : type === MATHML_RESULT ? '</math>' : '');
267
264
  // Returned as an array for terseness
268
265
  return [trustFromTemplateString(strings, htmlResult), attrNames];
269
266
  };
@@ -282,7 +279,7 @@ class Template {
282
279
  this.el = Template.createElement(trustedHtml, options);
283
280
  walker.currentNode = this.el.content;
284
281
  // Re-parent SVG or MathML nodes into template root
285
- if (type === ResultType.SVG || type === ResultType.MATHML) {
282
+ if (type === SVG_RESULT || type === MATHML_RESULT) {
286
283
  const wrapper = this.el.content.firstChild;
287
284
  wrapper.replaceWith(...wrapper.childNodes);
288
285
  }
@@ -390,10 +387,10 @@ function resolveDirective(part, value, parent = part, attributeIndex) {
390
387
  const nextDirectiveConstructor = isPrimitive(value)
391
388
  ? undefined
392
389
  : // This property needs to remain unminified.
393
- value['_$litDirective$'];
390
+ value._$litDirective$;
394
391
  if (currentDirective?.constructor !== nextDirectiveConstructor) {
395
392
  // This property needs to remain unminified.
396
- currentDirective?.['_$notifyDirectiveConnectionChanged']?.(false);
393
+ currentDirective?._$notifyDirectiveConnectionChanged?.(false);
397
394
  if (nextDirectiveConstructor === undefined) {
398
395
  currentDirective = undefined;
399
396
  }
@@ -421,6 +418,8 @@ class TemplateInstance {
421
418
  _$template;
422
419
  _$parts = [];
423
420
  /** @internal */
421
+ _$conditions = [];
422
+ /** @internal */
424
423
  _$parent;
425
424
  /** @internal */
426
425
  _$disconnectableChildren = undefined;
@@ -439,7 +438,9 @@ class TemplateInstance {
439
438
  // This method is separate from the constructor because we need to return a
440
439
  // DocumentFragment and we don't want to hold onto it with an instance field.
441
440
  _clone(options) {
442
- const { el: { content }, parts: parts, } = this._$template;
441
+ const { el: { content }, parts, } = this._$template;
442
+ const ifMap = new Map();
443
+ const elseIfMap = new Map();
443
444
  const fragment = (options?.creationScope ?? d).importNode(content, true);
444
445
  walker.currentNode = fragment;
445
446
  let node = walker.nextNode();
@@ -453,6 +454,8 @@ class TemplateInstance {
453
454
  part = new ChildPart(node, node.nextSibling, this, options);
454
455
  }
455
456
  else if (templatePart.type === ATTRIBUTE_PART) {
457
+ templatePart.name === V_IF && ifMap.set(node, partIndex);
458
+ templatePart.name === V_ELSE_IF && elseIfMap.set(node, partIndex);
456
459
  part = new templatePart.ctor(node, templatePart.name, templatePart.strings, this, options);
457
460
  }
458
461
  else if (templatePart.type === ELEMENT_PART) {
@@ -466,6 +469,17 @@ class TemplateInstance {
466
469
  nodeIndex++;
467
470
  }
468
471
  }
472
+ ifMap.forEach((idx, element) => {
473
+ const chain = new ConditionChain(element, idx);
474
+ this._$conditions.push(chain);
475
+ let ele = element;
476
+ while ((ele = ele.nextElementSibling)) {
477
+ const pos = elseIfMap.get(ele);
478
+ if (pos === undefined)
479
+ break;
480
+ chain.push(ele, pos);
481
+ }
482
+ });
469
483
  // We need to set the currentNode away from the cloned tree so that we
470
484
  // don't hold onto the tree even if the tree is detached and should be
471
485
  // freed.
@@ -483,12 +497,47 @@ class TemplateInstance {
483
497
  // later in the loop, so increment it by part.strings.length - 2 here
484
498
  i += part.strings.length - 2;
485
499
  }
500
+ else if (part.name === V_IF || part.name === V_ELSE_IF) {
501
+ }
486
502
  else {
487
503
  part._$setValue(values[i]);
488
504
  }
489
505
  }
490
506
  i++;
491
507
  }
508
+ this._$conditions.forEach((e) => e.update(values));
509
+ }
510
+ }
511
+ class ConditionChain {
512
+ mark;
513
+ list;
514
+ constructor(ele, idx) {
515
+ const mark = createMarker();
516
+ ele.before(mark);
517
+ this.mark = mark;
518
+ this.list = [{ ele, idx }];
519
+ this.check();
520
+ }
521
+ get next() {
522
+ return this.list.at(-1).ele.nextElementSibling;
523
+ }
524
+ push(ele, idx) {
525
+ this.list.push({ ele, idx });
526
+ this.check();
527
+ }
528
+ check() {
529
+ const next = this.next;
530
+ if (next?.attributes.getNamedItem(V_ELSE)) {
531
+ this.list.push({ ele: next });
532
+ next.removeAttribute(V_ELSE);
533
+ }
534
+ }
535
+ update(values) {
536
+ const { mark, list } = this;
537
+ const show = list.find(({ idx }) => idx === undefined || !!values[idx]);
538
+ if (show && !show.ele.parentNode)
539
+ mark.after(show.ele);
540
+ list.forEach(({ ele }) => (!show || ele !== show.ele) && ele.remove());
492
541
  }
493
542
  }
494
543
  export class ChildPart {
@@ -852,9 +901,6 @@ class BooleanAttributePart extends AttributePart {
852
901
  }
853
902
  class EventPart extends AttributePart {
854
903
  type = EVENT_PART;
855
- constructor(element, name, strings, parent, options) {
856
- super(element, name, strings, parent, options);
857
- }
858
904
  /** @internal */
859
905
  _$setValue(newListener, directiveParent = this) {
860
906
  newListener = resolveDirective(this, newListener, directiveParent, 0);
@@ -910,7 +956,7 @@ class ElementPart {
910
956
  if (value instanceof Ref) {
911
957
  value.value = this.element;
912
958
  }
913
- else if (value['_$litDirective$']) {
959
+ else if (value._$litDirective$) {
914
960
  resolveDirective(this, value);
915
961
  }
916
962
  else {
@@ -930,10 +976,10 @@ class Ref {
930
976
  }
931
977
  export const render = (value, container, options) => {
932
978
  const partOwnerNode = (options?.renderBefore ?? container);
933
- let part = partOwnerNode['_$litPart$'];
979
+ let part = partOwnerNode._$litPart$;
934
980
  if (part === undefined) {
935
981
  const endNode = options?.renderBefore ?? null;
936
- partOwnerNode['_$litPart$'] = part = new ChildPart(container.insertBefore(createMarker(), endNode), endNode, undefined, options ?? {});
982
+ partOwnerNode._$litPart$ = part = new ChildPart(container.insertBefore(createMarker(), endNode), endNode, undefined, options ?? {});
937
983
  }
938
984
  part._$setValue(value);
939
985
  return part;