@mantou/gem 2.2.0 → 2.2.2

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