juxscript 1.1.37 → 1.1.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMnE,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG,SAAS,GAAG;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChD,OAAO,CAAC,YAAY,CAA4B;gBAEpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAUjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAuBtC,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,YAAY;IAsEpB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAKxB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAqB3E;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAItC;;OAEG;IACH,aAAa,IAAI,GAAG,GAAG,SAAS;IAQhC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CA+EnE;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMnE,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG,SAAS,GAAG;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChD,OAAO,CAAC,YAAY,CAA4B;gBAEpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAUjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAuBtC,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,YAAY;IAoEpB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAKxB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKtB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAqB3E;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAItC;;OAEG;IACH,aAAa,IAAI,GAAG,GAAG,SAAS;IAQhC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;CA6EnE;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
@@ -104,17 +104,15 @@ export class Tabs extends BaseComponent {
104
104
  else {
105
105
  tabPanel.style.display = 'none';
106
106
  }
107
- // ✅ Render content (string or component)
107
+ // ✅ Append panel to DOM FIRST
108
+ tabPanels.appendChild(tabPanel);
109
+ // THEN render content into it
108
110
  if (typeof tab.content === 'string') {
109
111
  tabPanel.innerHTML = tab.content;
110
112
  }
111
113
  else if (tab.content instanceof BaseComponent) {
112
- // Component needs to be appended after panel is in DOM
113
- tabPanels.appendChild(tabPanel);
114
114
  tab.content.render(`#${tabPanel.id}`);
115
- return; // Skip the second appendChild below
116
115
  }
117
- tabPanels.appendChild(tabPanel);
118
116
  });
119
117
  }
120
118
  /* ═════════════════════════════════════════════════════════════════
@@ -226,17 +224,15 @@ export class Tabs extends BaseComponent {
226
224
  else {
227
225
  tabPanel.style.display = 'none';
228
226
  }
229
- // ✅ Render content (string or component)
227
+ // ✅ Append panel to DOM FIRST
228
+ tabPanels.appendChild(tabPanel);
229
+ // ✅ THEN render content into it
230
230
  if (typeof tab.content === 'string') {
231
231
  tabPanel.innerHTML = tab.content;
232
232
  }
233
233
  else if (tab.content instanceof BaseComponent) {
234
- // Component needs to be appended after panel is in DOM
235
- tabPanels.appendChild(tabPanel);
236
234
  tab.content.render(`#${tabPanel.id}`);
237
- return; // Skip the second appendChild below
238
235
  }
239
- tabPanels.appendChild(tabPanel);
240
236
  });
241
237
  wrapper.appendChild(tabList);
242
238
  wrapper.appendChild(tabPanels);
@@ -7,7 +7,7 @@ const CALLBACK_EVENTS = ['tabChange'] as const;
7
7
  export interface Tab {
8
8
  id: string;
9
9
  label: string;
10
- content: string | BaseComponent<any>; // ✅ Support component instances
10
+ content: string | BaseComponent<any>;
11
11
  icon?: string;
12
12
  }
13
13
 
@@ -147,17 +147,15 @@ export class Tabs extends BaseComponent<TabsState> {
147
147
  tabPanel.style.display = 'none';
148
148
  }
149
149
 
150
- // ✅ Render content (string or component)
150
+ // ✅ Append panel to DOM FIRST
151
+ tabPanels.appendChild(tabPanel);
152
+
153
+ // THEN render content into it
151
154
  if (typeof tab.content === 'string') {
152
155
  tabPanel.innerHTML = tab.content;
153
156
  } else if (tab.content instanceof BaseComponent) {
154
- // Component needs to be appended after panel is in DOM
155
- tabPanels.appendChild(tabPanel);
156
157
  tab.content.render(`#${tabPanel.id}`);
157
- return; // Skip the second appendChild below
158
158
  }
159
-
160
- tabPanels.appendChild(tabPanel);
161
159
  });
162
160
  }
163
161
 
@@ -293,17 +291,15 @@ export class Tabs extends BaseComponent<TabsState> {
293
291
  tabPanel.style.display = 'none';
294
292
  }
295
293
 
296
- // ✅ Render content (string or component)
294
+ // ✅ Append panel to DOM FIRST
295
+ tabPanels.appendChild(tabPanel);
296
+
297
+ // ✅ THEN render content into it
297
298
  if (typeof tab.content === 'string') {
298
299
  tabPanel.innerHTML = tab.content;
299
300
  } else if (tab.content instanceof BaseComponent) {
300
- // Component needs to be appended after panel is in DOM
301
- tabPanels.appendChild(tabPanel);
302
301
  tab.content.render(`#${tabPanel.id}`);
303
- return; // Skip the second appendChild below
304
302
  }
305
-
306
- tabPanels.appendChild(tabPanel);
307
303
  });
308
304
 
309
305
  wrapper.appendChild(tabList);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.37",
3
+ "version": "1.1.38",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "index.js",