@mintjamsinc/ichigojs 0.1.78 → 0.1.79

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.
@@ -40,11 +40,32 @@ export declare class IchigoElement extends HTMLElement {
40
40
  * belong to this component's VApplication and scope).
41
41
  */
42
42
  _ichigoExpanded: boolean;
43
+ /**
44
+ * True when this element came from an enclosing component's template clone
45
+ * (marked by that component while it expands). Such an element connects
46
+ * while the enclosing component is attaching its template — before that
47
+ * component's VApplication exists — so it must wait to be compiled by the
48
+ * owning application before expanding itself (see connectedCallback guard
49
+ * 0a2 and {@link _ichigoTryExpand}).
50
+ *
51
+ * Declared with `declare` for the same reason as {@link _ichigoHost}: the
52
+ * mark is set before the element is upgraded, and a real class field would
53
+ * be re-defined as undefined by the upgrade.
54
+ */
55
+ _ichigoTemplateOwned?: boolean;
43
56
  /**
44
57
  * Host context installed by the parent application's VNode when it
45
58
  * compiles this element. Gives component-boundary features (e.g. scoped
46
59
  * slot outlets) access to the parent scope. Undefined when the element is
47
60
  * placed outside any ichigo application.
61
+ *
62
+ * Declared with `declare` on purpose: the application installs it BEFORE
63
+ * the element is upgraded whenever the element comes from a `<template>`
64
+ * (v-if / v-for on a `<template>` clones `content`, whose owner document
65
+ * has no browsing context, so custom elements there stay uncustomized
66
+ * until the clone is inserted). A real class field would be re-defined as
67
+ * undefined by the upgrade — erasing the host context and leaving scoped
68
+ * slot outlets without a parent scope.
48
69
  */
49
70
  _ichigoHost?: {
50
71
  vNode: VNode;
@@ -57,6 +78,16 @@ export declare class IchigoElement extends HTMLElement {
57
78
  get _ichigoScopedSlots(): Map<string, ScopedSlotEntry> | undefined;
58
79
  connectedCallback(): void;
59
80
  disconnectedCallback(): void;
81
+ /**
82
+ * Expands this element's template on behalf of the application that owns
83
+ * it. Called by VNode right after it compiled this element — the host
84
+ * context is installed and the prop bindings have delivered their values,
85
+ * so a component that deferred its expansion (guard 0a2, or a template
86
+ * that was not loaded when it connected) can now expand in the right
87
+ * order. A no-op when the element is already expanded or not connected
88
+ * (a template-source clone expands when it is inserted).
89
+ */
90
+ _ichigoTryExpand(): void;
60
91
  /**
61
92
  * Called by the property setters generated by defineComponent().
62
93
  * Before mount: stores the value and schedules a mount microtask.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mintjamsinc/ichigojs",
3
- "version": "0.1.78",
3
+ "version": "0.1.79",
4
4
  "description": "ichigo.js - Simple and intuitive reactive framework. Lightweight, fast, and user-friendly virtual DOM library",
5
5
  "main": "./dist/ichigo.cjs",
6
6
  "module": "./dist/ichigo.esm.js",