@colixsystems/widget-sdk 0.185.0 → 0.186.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.
package/README.md CHANGED
@@ -74,7 +74,11 @@ See the design reference for the full architecture: [`docs/architecture/widget-m
74
74
 
75
75
  ## Status
76
76
 
77
- `v0.185.0` — pre-publish. The package surface (types, function names, export paths) is the v1 contract; runtime behaviour for some hooks is stubbed (each hook documents what's wired and what isn't). It is **not yet published to npm**.
77
+ `v0.186.0` — pre-publish. The package surface (types, function names, export paths) is the v1 contract; runtime behaviour for some hooks is stubbed (each hook documents what's wired and what isn't). It is **not yet published to npm**.
78
+
79
+ ### What's new in 0.186.0 (contract 1.147.0)
80
+
81
+ **A page's top navigation bar puts its tabs on the left or the right; the centred option is gone.** `resolveTopBarTokens().tabAlignment` is now `"left"` | `"right"`. A `theme_config.topBar.tabAlignment` of `"center"` resolves to `"left"`, like any other unknown value, and the Studio drops it the next time the theme is saved. Host-integration surface only — no author-facing hook, prop, primitive, or manifest field changed.
78
82
 
79
83
  ### What's new in 0.185.0 (contract 1.146.0)
80
84
 
package/dist/contract.cjs CHANGED
@@ -4813,7 +4813,9 @@ const CONTRACT = deepFreeze({
4813
4813
  // sized to their content. `<Button>` / `<ListRow>` read their `style`
4814
4814
  // through the same flatten; their behaviour is unchanged. `<Stat>`'s
4815
4815
  // icon, figure and delta wrap in a tile too narrow to hold them.
4816
- version: "1.146.0",
4816
+ // 1.147.0: narrowing (sc-10123) — `resolveTopBarTokens().tabAlignment` is
4817
+ // "left" | "right". A stored "center" resolves to "left".
4818
+ version: "1.147.0",
4817
4819
  sharedTranslationKeys: SHARED_TRANSLATION_KEYS,
4818
4820
  hooks: HOOKS,
4819
4821
  primitives: PRIMITIVES,
package/dist/contract.js CHANGED
@@ -4809,7 +4809,9 @@ const CONTRACT = deepFreeze({
4809
4809
  // sized to their content. `<Button>` / `<ListRow>` read their `style`
4810
4810
  // through the same flatten; their behaviour is unchanged. `<Stat>`'s
4811
4811
  // icon, figure and delta wrap in a tile too narrow to hold them.
4812
- version: "1.146.0",
4812
+ // 1.147.0: narrowing (sc-10123) — `resolveTopBarTokens().tabAlignment` is
4813
+ // "left" | "right". A stored "center" resolves to "left".
4814
+ version: "1.147.0",
4813
4815
  sharedTranslationKeys: SHARED_TRANSLATION_KEYS,
4814
4816
  hooks: HOOKS,
4815
4817
  primitives: PRIMITIVES,
package/dist/host.d.ts CHANGED
@@ -292,7 +292,7 @@ export interface TopBarTokens {
292
292
  * current tab so the page shows through it. */
293
293
  tabStyle: "underline" | "attached";
294
294
  /** Where the row's tabs sit across its width; `left` unless authored. */
295
- tabAlignment: "left" | "center" | "right";
295
+ tabAlignment: "left" | "right";
296
296
  /** The column the tabs sit in: the whole bar, or the page content's. The
297
297
  * bar's surface spans the full width either way. */
298
298
  tabRowWidth: "full" | "content";
@@ -535,7 +535,7 @@ function resolveTopStripeLayout(theme) {
535
535
  };
536
536
  }
537
537
 
538
- const TAB_ALIGNMENTS = ["left", "center", "right"];
538
+ const TAB_ALIGNMENTS = ["left", "right"];
539
539
  const TAB_ROW_WIDTHS = ["full", "content"];
540
540
 
541
541
  function resolveTopBarTokens(theme) {
@@ -569,8 +569,8 @@ function resolveTopBarTokens(theme) {
569
569
  // surface and meets the page beneath it, so the two read as one plane. Meaningless on a shape that draws no tab row — a host
570
570
  // reads it only where it has tabs to draw.
571
571
  tabStyle: topBar.tabStyle === "attached" ? "attached" : "underline",
572
- // sc-10123: where the row's tabs sit across its width. Both hosts place
573
- // them with flexible spacers rather than centring the row, so a row that
572
+ // sc-10123: which end of the row the tabs sit at. Both hosts place them
573
+ // with a flexible spacer rather than justifying the row, so a row that
574
574
  // overflows still scrolls from its first tab instead of clipping it.
575
575
  tabAlignment: TAB_ALIGNMENTS.includes(topBar.tabAlignment)
576
576
  ? topBar.tabAlignment
@@ -526,7 +526,7 @@ export function resolveTopStripeLayout(theme) {
526
526
  };
527
527
  }
528
528
 
529
- const TAB_ALIGNMENTS = ["left", "center", "right"];
529
+ const TAB_ALIGNMENTS = ["left", "right"];
530
530
  const TAB_ROW_WIDTHS = ["full", "content"];
531
531
 
532
532
  export function resolveTopBarTokens(theme) {
@@ -560,8 +560,8 @@ export function resolveTopBarTokens(theme) {
560
560
  // surface and meets the page beneath it, so the two read as one plane. Meaningless on a shape that draws no tab row — a host
561
561
  // reads it only where it has tabs to draw.
562
562
  tabStyle: topBar.tabStyle === "attached" ? "attached" : "underline",
563
- // sc-10123: where the row's tabs sit across its width. Both hosts place
564
- // them with flexible spacers rather than centring the row, so a row that
563
+ // sc-10123: which end of the row the tabs sit at. Both hosts place them
564
+ // with a flexible spacer rather than justifying the row, so a row that
565
565
  // overflows still scrolls from its first tab instead of clipping it.
566
566
  tabAlignment: TAB_ALIGNMENTS.includes(topBar.tabAlignment)
567
567
  ? topBar.tabAlignment
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colixsystems/widget-sdk",
3
- "version": "0.185.0",
3
+ "version": "0.186.0",
4
4
  "description": "Common widget interface for AppStudio. Implements WidgetManifest, WidgetContext, property schema, and helper hooks.",
5
5
  "homepage": "https://github.com/Colix-AB/AppStudio",
6
6
  "type": "module",