juxscript 1.1.223 → 1.1.224

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.
@@ -171,6 +171,10 @@ export declare class DataFrameComponent extends BaseComponent<DataFrameState> {
171
171
  private _renderMultiSheet;
172
172
  private _updateStatus;
173
173
  private _setDataFrame;
174
+ /**
175
+ * Append settings button to status bar
176
+ */
177
+ private _appendSettingsButton;
174
178
  /**
175
179
  * Update the collapsible summary text
176
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dataframe.d.ts","sourceRoot":"","sources":["dataframe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataframe.d.ts","sourceRoot":"","sources":["dataframe.ts"],"names":[],"mappings":"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"}
@@ -253,8 +253,18 @@ export class DataFrameComponent extends BaseComponent {
253
253
  if (existingTabs)
254
254
  existingTabs.remove();
255
255
  }
256
- // Reset status
257
- this._updateStatus('No data loaded.', 'empty');
256
+ // Hide details element when cleared
257
+ if (this._collapsible && this._detailsElement) {
258
+ this._detailsElement.style.display = 'none';
259
+ }
260
+ // ✅ Hide status when cleared (for inline upload mode)
261
+ const statusEl = document.getElementById(`${this._id}-status`);
262
+ if (statusEl && this._inlineUpload) {
263
+ statusEl.style.display = 'none';
264
+ }
265
+ else if (statusEl) {
266
+ this._updateStatus('No data loaded.', 'empty');
267
+ }
258
268
  return this;
259
269
  }
260
270
  /* ═══════════════════════════════════════════════════
@@ -533,11 +543,7 @@ export class DataFrameComponent extends BaseComponent {
533
543
  const el = document.getElementById(`${this._id}-status`);
534
544
  if (!el)
535
545
  return;
536
- // If collapsible, hide the status bar summary handles messaging
537
- if (this._collapsible) {
538
- el.style.display = 'none';
539
- return;
540
- }
546
+ // Always show status (inline with upload button)
541
547
  el.style.display = '';
542
548
  el.className = 'jux-dataframe-status';
543
549
  if (type)
@@ -583,41 +589,41 @@ export class DataFrameComponent extends BaseComponent {
583
589
  const columnDefs = this._df.columns.map(col => ({ key: col, label: col }));
584
590
  this._table.columns(columnDefs).rows(this._df.toRows());
585
591
  }
586
- // ✅ Update summary if collapsible
587
- this._updateSummary();
592
+ // ✅ Show the details element now that data is loaded
593
+ if (this._collapsible && this._detailsElement) {
594
+ this._detailsElement.style.display = '';
595
+ this._updateSummary();
596
+ }
588
597
  const isMalformed = this._detectMalformedData(this._df);
598
+ // ✅ Update status with settings button
589
599
  if (isMalformed && this._rawFileData) {
590
- this._updateStatus(`${sourceName} — ${this._df.height} rows × ${this._df.width} cols (Data may need reformatting)`, 'warning');
591
- requestAnimationFrame(() => {
592
- const statusEl = document.getElementById(`${this._id}-status`);
593
- if (statusEl) {
594
- const settingsBtn = document.createElement('button');
595
- settingsBtn.textContent = 'Fix Import Settings';
596
- settingsBtn.className = 'jux-button jux-button-sm jux-button-warning';
597
- settingsBtn.style.marginLeft = '0.5rem';
598
- settingsBtn.addEventListener('click', () => this._showReshapeModal());
599
- statusEl.appendChild(settingsBtn);
600
- }
601
- });
600
+ this._updateStatus(`${sourceName} — ${this._df.height} rows × ${this._df.width} cols`, 'warning');
601
+ this._appendSettingsButton('Fix Import Settings', 'warning');
602
602
  }
603
603
  else {
604
604
  this._updateStatus(`${sourceName} — ${this._df.height} rows × ${this._df.width} cols`, 'success');
605
605
  if (this._rawFileData) {
606
- requestAnimationFrame(() => {
607
- const statusEl = document.getElementById(`${this._id}-status`);
608
- if (statusEl) {
609
- const settingsBtn = document.createElement('button');
610
- settingsBtn.textContent = 'Import Settings';
611
- settingsBtn.className = 'jux-button jux-button-sm jux-button-ghost';
612
- settingsBtn.style.marginLeft = '0.5rem';
613
- settingsBtn.addEventListener('click', () => this._showReshapeModal());
614
- statusEl.appendChild(settingsBtn);
615
- }
616
- });
606
+ this._appendSettingsButton('Import Settings', 'ghost');
617
607
  }
618
608
  }
619
609
  this._triggerCallback('load', this._df, null, this);
620
610
  }
611
+ /**
612
+ * Append settings button to status bar
613
+ */
614
+ _appendSettingsButton(label, variant) {
615
+ requestAnimationFrame(() => {
616
+ const statusEl = document.getElementById(`${this._id}-status`);
617
+ if (statusEl) {
618
+ const settingsBtn = document.createElement('button');
619
+ settingsBtn.textContent = label;
620
+ settingsBtn.className = `jux-button jux-button-sm jux-button-${variant}`;
621
+ settingsBtn.style.marginLeft = '0.5rem';
622
+ settingsBtn.addEventListener('click', () => this._showReshapeModal());
623
+ statusEl.appendChild(settingsBtn);
624
+ }
625
+ });
626
+ }
621
627
  /**
622
628
  * Update the collapsible summary text
623
629
  */
@@ -628,7 +634,7 @@ export class DataFrameComponent extends BaseComponent {
628
634
  if (!summaryTextEl)
629
635
  return;
630
636
  if (!this._df) {
631
- summaryTextEl.textContent = 'No data loaded';
637
+ // Don't show anything if no data
632
638
  return;
633
639
  }
634
640
  if (this._summaryTemplate) {
@@ -636,7 +642,7 @@ export class DataFrameComponent extends BaseComponent {
636
642
  }
637
643
  else {
638
644
  const isMalformed = this._detectMalformedData(this._df);
639
- const suffix = isMalformed ? ' ⚠ Data may need reformatting' : '';
645
+ const suffix = isMalformed ? ' ⚠️' : '';
640
646
  summaryTextEl.textContent = `${this.state.sourceName || 'Data'} — ${this._df.height} rows × ${this._df.width} cols${suffix}`;
641
647
  }
642
648
  }
@@ -1069,7 +1075,14 @@ export class DataFrameComponent extends BaseComponent {
1069
1075
  uploadContainer.className = 'jux-dataframe-upload';
1070
1076
  uploadContainer.id = `${this._id}-upload-container`;
1071
1077
  uploadArea.appendChild(uploadContainer);
1072
- // ✅ Optional description text
1078
+ // ✅ Status bar INLINE with upload (inside upload area)
1079
+ if (this._showStatus) {
1080
+ const statusBar = document.createElement('div');
1081
+ statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1082
+ statusBar.id = `${this._id}-status`;
1083
+ statusBar.style.display = 'none'; // Hidden until needed
1084
+ uploadArea.appendChild(statusBar);
1085
+ }
1073
1086
  if (this._uploadDescription) {
1074
1087
  const descEl = document.createElement('div');
1075
1088
  descEl.className = 'jux-dataframe-upload-description';
@@ -1082,30 +1095,22 @@ export class DataFrameComponent extends BaseComponent {
1082
1095
  }
1083
1096
  else {
1084
1097
  container.appendChild(wrapper);
1098
+ // ✅ Status bar for non-upload mode
1099
+ if (this._showStatus) {
1100
+ const statusBar = document.createElement('div');
1101
+ statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1102
+ statusBar.id = `${this._id}-status`;
1103
+ statusBar.textContent = 'No data loaded.';
1104
+ wrapper.appendChild(statusBar);
1105
+ }
1085
1106
  }
1086
- // ✅ Only show status bar when NOT collapsible
1087
- if (this._showStatus && !this._collapsible) {
1088
- const statusBar = document.createElement('div');
1089
- statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1090
- statusBar.id = `${this._id}-status`;
1091
- statusBar.textContent = 'No data loaded.';
1092
- wrapper.appendChild(statusBar);
1093
- }
1094
- else if (this._showStatus && this._collapsible) {
1095
- // ✅ Hidden status bar still exists so _updateStatus() calls don't throw,
1096
- // but it's invisible — summary handles display instead.
1097
- const statusBar = document.createElement('div');
1098
- statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1099
- statusBar.id = `${this._id}-status`;
1100
- statusBar.style.display = 'none';
1101
- wrapper.appendChild(statusBar);
1102
- }
1103
- // ✅ Collapsible details wrapper
1107
+ // ✅ Collapsible details wrapper - HIDDEN until data loads
1104
1108
  let tableContainer;
1105
1109
  if (this._collapsible) {
1106
1110
  const details = document.createElement('details');
1107
1111
  details.className = 'jux-dataframe-details';
1108
1112
  details.open = !this._collapsed;
1113
+ details.style.display = 'none'; // ✅ Hidden until data loads
1109
1114
  this._detailsElement = details;
1110
1115
  const summary = document.createElement('summary');
1111
1116
  summary.className = 'jux-dataframe-summary';
@@ -1115,7 +1120,7 @@ export class DataFrameComponent extends BaseComponent {
1115
1120
  summary.appendChild(chevron);
1116
1121
  const textSpan = document.createElement('span');
1117
1122
  textSpan.className = 'jux-dataframe-summary-text';
1118
- textSpan.textContent = 'No data loaded';
1123
+ // Don't set text - will be set when data loads
1119
1124
  summary.appendChild(textSpan);
1120
1125
  details.appendChild(summary);
1121
1126
  const content = document.createElement('div');
@@ -1123,7 +1128,6 @@ export class DataFrameComponent extends BaseComponent {
1123
1128
  details.appendChild(content);
1124
1129
  wrapper.appendChild(details);
1125
1130
  tableContainer = content;
1126
- // Track toggle state
1127
1131
  details.addEventListener('toggle', () => {
1128
1132
  this._collapsed = !details.open;
1129
1133
  });
@@ -310,8 +310,18 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
310
310
  if (existingTabs) existingTabs.remove();
311
311
  }
312
312
 
313
- // Reset status
314
- this._updateStatus('No data loaded.', 'empty');
313
+ // Hide details element when cleared
314
+ if (this._collapsible && this._detailsElement) {
315
+ this._detailsElement.style.display = 'none';
316
+ }
317
+
318
+ // ✅ Hide status when cleared (for inline upload mode)
319
+ const statusEl = document.getElementById(`${this._id}-status`);
320
+ if (statusEl && this._inlineUpload) {
321
+ statusEl.style.display = 'none';
322
+ } else if (statusEl) {
323
+ this._updateStatus('No data loaded.', 'empty');
324
+ }
315
325
 
316
326
  return this;
317
327
  }
@@ -648,12 +658,7 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
648
658
  const el = document.getElementById(`${this._id}-status`);
649
659
  if (!el) return;
650
660
 
651
- // If collapsible, hide the status bar summary handles messaging
652
- if (this._collapsible) {
653
- el.style.display = 'none';
654
- return;
655
- }
656
-
661
+ // Always show status (inline with upload button)
657
662
  el.style.display = '';
658
663
  el.className = 'jux-dataframe-status';
659
664
  if (type) el.classList.add(`jux-dataframe-status-${type}`);
@@ -705,50 +710,51 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
705
710
  this._table.columns(columnDefs).rows(this._df.toRows());
706
711
  }
707
712
 
708
- // ✅ Update summary if collapsible
709
- this._updateSummary();
713
+ // ✅ Show the details element now that data is loaded
714
+ if (this._collapsible && this._detailsElement) {
715
+ this._detailsElement.style.display = '';
716
+ this._updateSummary();
717
+ }
710
718
 
711
719
  const isMalformed = this._detectMalformedData(this._df!);
712
720
 
721
+ // ✅ Update status with settings button
713
722
  if (isMalformed && this._rawFileData) {
714
723
  this._updateStatus(
715
- `${sourceName} — ${this._df!.height} rows × ${this._df!.width} cols (Data may need reformatting)`,
724
+ `${sourceName} — ${this._df!.height} rows × ${this._df!.width} cols`,
716
725
  'warning'
717
726
  );
718
- requestAnimationFrame(() => {
719
- const statusEl = document.getElementById(`${this._id}-status`);
720
- if (statusEl) {
721
- const settingsBtn = document.createElement('button');
722
- settingsBtn.textContent = 'Fix Import Settings';
723
- settingsBtn.className = 'jux-button jux-button-sm jux-button-warning';
724
- settingsBtn.style.marginLeft = '0.5rem';
725
- settingsBtn.addEventListener('click', () => this._showReshapeModal());
726
- statusEl.appendChild(settingsBtn);
727
- }
728
- });
727
+ this._appendSettingsButton('Fix Import Settings', 'warning');
729
728
  } else {
730
729
  this._updateStatus(
731
730
  `${sourceName} — ${this._df!.height} rows × ${this._df!.width} cols`,
732
731
  'success'
733
732
  );
734
733
  if (this._rawFileData) {
735
- requestAnimationFrame(() => {
736
- const statusEl = document.getElementById(`${this._id}-status`);
737
- if (statusEl) {
738
- const settingsBtn = document.createElement('button');
739
- settingsBtn.textContent = 'Import Settings';
740
- settingsBtn.className = 'jux-button jux-button-sm jux-button-ghost';
741
- settingsBtn.style.marginLeft = '0.5rem';
742
- settingsBtn.addEventListener('click', () => this._showReshapeModal());
743
- statusEl.appendChild(settingsBtn);
744
- }
745
- });
734
+ this._appendSettingsButton('Import Settings', 'ghost');
746
735
  }
747
736
  }
748
737
 
749
738
  this._triggerCallback('load', this._df, null, this);
750
739
  }
751
740
 
741
+ /**
742
+ * Append settings button to status bar
743
+ */
744
+ private _appendSettingsButton(label: string, variant: 'warning' | 'ghost'): void {
745
+ requestAnimationFrame(() => {
746
+ const statusEl = document.getElementById(`${this._id}-status`);
747
+ if (statusEl) {
748
+ const settingsBtn = document.createElement('button');
749
+ settingsBtn.textContent = label;
750
+ settingsBtn.className = `jux-button jux-button-sm jux-button-${variant}`;
751
+ settingsBtn.style.marginLeft = '0.5rem';
752
+ settingsBtn.addEventListener('click', () => this._showReshapeModal());
753
+ statusEl.appendChild(settingsBtn);
754
+ }
755
+ });
756
+ }
757
+
752
758
  /**
753
759
  * Update the collapsible summary text
754
760
  */
@@ -759,7 +765,7 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
759
765
  if (!summaryTextEl) return;
760
766
 
761
767
  if (!this._df) {
762
- summaryTextEl.textContent = 'No data loaded';
768
+ // Don't show anything if no data
763
769
  return;
764
770
  }
765
771
 
@@ -767,7 +773,7 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
767
773
  summaryTextEl.textContent = this._summaryTemplate(this._df);
768
774
  } else {
769
775
  const isMalformed = this._detectMalformedData(this._df);
770
- const suffix = isMalformed ? ' ⚠ Data may need reformatting' : '';
776
+ const suffix = isMalformed ? ' ⚠️' : '';
771
777
  summaryTextEl.textContent = `${this.state.sourceName || 'Data'} — ${this._df.height} rows × ${this._df.width} cols${suffix}`;
772
778
  }
773
779
  }
@@ -1258,7 +1264,15 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
1258
1264
  uploadContainer.id = `${this._id}-upload-container`;
1259
1265
  uploadArea.appendChild(uploadContainer);
1260
1266
 
1261
- // ✅ Optional description text
1267
+ // ✅ Status bar INLINE with upload (inside upload area)
1268
+ if (this._showStatus) {
1269
+ const statusBar = document.createElement('div');
1270
+ statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1271
+ statusBar.id = `${this._id}-status`;
1272
+ statusBar.style.display = 'none'; // Hidden until needed
1273
+ uploadArea.appendChild(statusBar);
1274
+ }
1275
+
1262
1276
  if (this._uploadDescription) {
1263
1277
  const descEl = document.createElement('div');
1264
1278
  descEl.className = 'jux-dataframe-upload-description';
@@ -1271,32 +1285,25 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
1271
1285
  upload.render(uploadContainer);
1272
1286
  } else {
1273
1287
  container.appendChild(wrapper);
1274
- }
1275
1288
 
1276
- // ✅ Only show status bar when NOT collapsible
1277
- if (this._showStatus && !this._collapsible) {
1278
- const statusBar = document.createElement('div');
1279
- statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1280
- statusBar.id = `${this._id}-status`;
1281
- statusBar.textContent = 'No data loaded.';
1282
- wrapper.appendChild(statusBar);
1283
- } else if (this._showStatus && this._collapsible) {
1284
- // ✅ Hidden status bar still exists so _updateStatus() calls don't throw,
1285
- // but it's invisible — summary handles display instead.
1286
- const statusBar = document.createElement('div');
1287
- statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1288
- statusBar.id = `${this._id}-status`;
1289
- statusBar.style.display = 'none';
1290
- wrapper.appendChild(statusBar);
1289
+ // ✅ Status bar for non-upload mode
1290
+ if (this._showStatus) {
1291
+ const statusBar = document.createElement('div');
1292
+ statusBar.className = 'jux-dataframe-status jux-dataframe-status-empty';
1293
+ statusBar.id = `${this._id}-status`;
1294
+ statusBar.textContent = 'No data loaded.';
1295
+ wrapper.appendChild(statusBar);
1296
+ }
1291
1297
  }
1292
1298
 
1293
- // ✅ Collapsible details wrapper
1299
+ // ✅ Collapsible details wrapper - HIDDEN until data loads
1294
1300
  let tableContainer: HTMLElement;
1295
1301
 
1296
1302
  if (this._collapsible) {
1297
1303
  const details = document.createElement('details');
1298
1304
  details.className = 'jux-dataframe-details';
1299
1305
  details.open = !this._collapsed;
1306
+ details.style.display = 'none'; // ✅ Hidden until data loads
1300
1307
  this._detailsElement = details;
1301
1308
 
1302
1309
  const summary = document.createElement('summary');
@@ -1309,7 +1316,7 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
1309
1316
 
1310
1317
  const textSpan = document.createElement('span');
1311
1318
  textSpan.className = 'jux-dataframe-summary-text';
1312
- textSpan.textContent = 'No data loaded';
1319
+ // Don't set text - will be set when data loads
1313
1320
  summary.appendChild(textSpan);
1314
1321
 
1315
1322
  details.appendChild(summary);
@@ -1321,7 +1328,6 @@ export class DataFrameComponent extends BaseComponent<DataFrameState> {
1321
1328
  wrapper.appendChild(details);
1322
1329
  tableContainer = content;
1323
1330
 
1324
- // Track toggle state
1325
1331
  details.addEventListener('toggle', () => {
1326
1332
  this._collapsed = !details.open;
1327
1333
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.223",
3
+ "version": "1.1.224",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "index.js",