@unhingged/vizu-core 0.1.20 → 0.1.22

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.
package/dist/index.d.cts CHANGED
@@ -668,8 +668,8 @@ declare class Vizu {
668
668
  * Status filter shared by the sidebar tabs and the on-page markers.
669
669
  * Picking a tab updates this (via the sidebar's onFilterChange) and
670
670
  * re-renders markers so the page shows the same subset as the panel.
671
- * Defaults to 'open' to match the sidebar's default tab — resolved /
672
- * wontfix markers stay off the page until the user asks for them.
671
+ * Defaults to 'all' (matching the sidebar's default tab)every
672
+ * marker shows until the user narrows to a specific status.
673
673
  */
674
674
  private statusFilter;
675
675
  /**
@@ -731,6 +731,15 @@ declare class Vizu {
731
731
  disable(): void;
732
732
  toggle(): void;
733
733
  isEnabled(): boolean;
734
+ /**
735
+ * Kick the cloud sign-in flow. Call this alongside `enable()` from an
736
+ * explicit user gesture — a host-rendered launcher button, a menu item —
737
+ * so cloud-mode users get the sign-in popup immediately instead of only
738
+ * after clicking an element. The keyboard shortcut goes through this
739
+ * same path. No-op outside cloud mode, when already signed in, or when
740
+ * the workspace has already denied access this session.
741
+ */
742
+ requestAuth(): void;
734
743
  destroy(): void;
735
744
  addAction(action: VizuAction): void;
736
745
  removeAction(id: string): void;
package/dist/index.d.ts CHANGED
@@ -668,8 +668,8 @@ declare class Vizu {
668
668
  * Status filter shared by the sidebar tabs and the on-page markers.
669
669
  * Picking a tab updates this (via the sidebar's onFilterChange) and
670
670
  * re-renders markers so the page shows the same subset as the panel.
671
- * Defaults to 'open' to match the sidebar's default tab — resolved /
672
- * wontfix markers stay off the page until the user asks for them.
671
+ * Defaults to 'all' (matching the sidebar's default tab)every
672
+ * marker shows until the user narrows to a specific status.
673
673
  */
674
674
  private statusFilter;
675
675
  /**
@@ -731,6 +731,15 @@ declare class Vizu {
731
731
  disable(): void;
732
732
  toggle(): void;
733
733
  isEnabled(): boolean;
734
+ /**
735
+ * Kick the cloud sign-in flow. Call this alongside `enable()` from an
736
+ * explicit user gesture — a host-rendered launcher button, a menu item —
737
+ * so cloud-mode users get the sign-in popup immediately instead of only
738
+ * after clicking an element. The keyboard shortcut goes through this
739
+ * same path. No-op outside cloud mode, when already signed in, or when
740
+ * the workspace has already denied access this session.
741
+ */
742
+ requestAuth(): void;
734
743
  destroy(): void;
735
744
  addAction(action: VizuAction): void;
736
745
  removeAction(id: string): void;
package/dist/index.js CHANGED
@@ -2218,7 +2218,7 @@ var Pill = class {
2218
2218
  var Sidebar = class {
2219
2219
  constructor(root, callbacks) {
2220
2220
  this.open = false;
2221
- this.filter = "open";
2221
+ this.filter = "all";
2222
2222
  this.lastComments = [];
2223
2223
  this.lastConfidence = /* @__PURE__ */ new Map();
2224
2224
  this.handleClick = (e) => {
@@ -3645,10 +3645,10 @@ var Vizu = class {
3645
3645
  * Status filter shared by the sidebar tabs and the on-page markers.
3646
3646
  * Picking a tab updates this (via the sidebar's onFilterChange) and
3647
3647
  * re-renders markers so the page shows the same subset as the panel.
3648
- * Defaults to 'open' to match the sidebar's default tab — resolved /
3649
- * wontfix markers stay off the page until the user asks for them.
3648
+ * Defaults to 'all' (matching the sidebar's default tab)every
3649
+ * marker shows until the user narrows to a specific status.
3650
3650
  */
3651
- this.statusFilter = "open";
3651
+ this.statusFilter = "all";
3652
3652
  /**
3653
3653
  * Flipped true once the initial loadComments() at construction has
3654
3654
  * settled (success or failure). The cloud onAuthChanged callback uses
@@ -3688,14 +3688,7 @@ var Vizu = class {
3688
3688
  e.preventDefault();
3689
3689
  const wasEnabled = this.enabled;
3690
3690
  this.toggle();
3691
- if (!wasEnabled && this.enabled && this.storage instanceof CloudStorageAdapter) {
3692
- void this.storage.preflightAuth().catch((err) => {
3693
- if (err?.code === "auth_canceled" || err?.code === "popup_blocked") return;
3694
- if (typeof console !== "undefined") {
3695
- console.warn("[vizu] preflight auth failed:", err);
3696
- }
3697
- });
3698
- }
3691
+ if (!wasEnabled && this.enabled) this.requestAuth();
3699
3692
  }
3700
3693
  };
3701
3694
  /* ===== Reposition on scroll/resize ===== */
@@ -3849,6 +3842,25 @@ var Vizu = class {
3849
3842
  isEnabled() {
3850
3843
  return this.enabled;
3851
3844
  }
3845
+ /**
3846
+ * Kick the cloud sign-in flow. Call this alongside `enable()` from an
3847
+ * explicit user gesture — a host-rendered launcher button, a menu item —
3848
+ * so cloud-mode users get the sign-in popup immediately instead of only
3849
+ * after clicking an element. The keyboard shortcut goes through this
3850
+ * same path. No-op outside cloud mode, when already signed in, or when
3851
+ * the workspace has already denied access this session.
3852
+ */
3853
+ requestAuth() {
3854
+ if (!(this.storage instanceof CloudStorageAdapter)) return;
3855
+ if (this.user) return;
3856
+ if (this.storage.isAccessDenied()) return;
3857
+ void this.storage.preflightAuth().catch((err) => {
3858
+ if (err?.code === "auth_canceled" || err?.code === "popup_blocked") return;
3859
+ if (typeof console !== "undefined") {
3860
+ console.warn("[vizu] preflight auth failed:", err);
3861
+ }
3862
+ });
3863
+ }
3852
3864
  destroy() {
3853
3865
  this.disable();
3854
3866
  if (typeof window !== "undefined") window.removeEventListener("keydown", this.onKeyDown);