@stackable-labs/sdk-extension-contracts 2.16.0 → 2.17.0

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 (2) hide show
  1. package/dist/index.d.ts +13 -11
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -660,23 +660,25 @@ interface InstanceConfig {
660
660
  } & Record<string, unknown>;
661
661
  }
662
662
  /**
663
- * ExtensionGroup — an ordered slice of an Instance's authorized extensions with shared collapse behavior.
663
+ * ExtensionGroup — an ordered slice of an Instance's authorized extensions.
664
664
  *
665
- * Renders to end users as either an always-open stack (collapsible=false) or one of two
666
- * collapsible modes controlled by `oneAtATime`:
667
- * - oneAtATime=true → accordion: one row open at a time, at least one must stay open
668
- * - oneAtATime=false → free-form: any combination open/closed, user can collapse all
669
- * Max 4 groups per instance. Single-extension instances do NOT use groups — they render
670
- * always-open via the hard-rule fallback.
665
+ * Two render modes, switched by `paginated`:
666
+ * - paginated=true → carousel: one extension visible at a time; user pages through via
667
+ * dot indicators + left/right arrow controls. No trigger row, no label
668
+ * on the trigger (developer-facing identifiers stay out of end-user UI).
669
+ * - paginated=false → stacked: all extensions render expanded, vertically stacked.
671
670
  *
672
- * Immutability rule: once a group is persisted with a given `id`, that id is stable across all
673
- * subsequent updates. Renderer + admin UI key off `id` for collapse-state tracking.
671
+ * Single-extension hard rule (§5a): a group whose post-enabled-filter render list is 1 always
672
+ * renders that single extension inline (no carousel controls, no dots). Same rationale as the
673
+ * instance-level hard rule.
674
+ *
675
+ * Max 4 groups per instance. Immutability rule: once a group is persisted with a given `id`,
676
+ * that id is stable across all subsequent updates.
674
677
  */
675
678
  interface ExtensionGroup {
676
679
  id: string;
677
680
  label?: string;
678
- collapsible: boolean;
679
- oneAtATime: boolean;
681
+ paginated: boolean;
680
682
  extensionIds: string[];
681
683
  }
682
684
  interface InstanceOption {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackable-labs/sdk-extension-contracts",
3
- "version": "2.16.0",
3
+ "version": "2.17.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "private": false,