@cosmoops/connect-sdk 0.44.0 → 0.45.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/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  `@cosmoops/connect-sdk` follows semver, with the 0.x convention that **minor
4
4
  versions may carry breaking changes** and patch versions never do.
5
5
 
6
+ ## 0.45.0
7
+
8
+ ### `theme.css`: a secondary colour
9
+
10
+ The shared theme gains a second brand colour, a deep indigo, beside the
11
+ green. HeroUI v3 has a single brand role (`--accent`), so the indigo adds no
12
+ classes. It fills two roles HeroUI components already read:
13
+
14
+ - **`--link`** - `<Link>`, prose anchors and `text-link` now draw in indigo
15
+ rather than in body-text colour.
16
+ - **`--focus`** - the keyboard focus ring on every component is indigo rather
17
+ than green, so a focused primary button is no longer a green ring around a
18
+ green button.
19
+
20
+ `--secondary` holds the value both read from, so a platform restyling them
21
+ redefines one token after the import. Green stays the colour of action;
22
+ indigo never paints a fill. The current breadcrumb item, which HeroUI also
23
+ draws with `--link`, is pinned to `--foreground` so the page you are on does
24
+ not look like a link.
25
+
26
+ **What moves on upgrade:** links and focus rings change colour. Nothing else
27
+ does.
28
+
6
29
  ## 0.44.0
7
30
 
8
31
  ### `ConnectCall.dialledAt`: was the person's phone rung?
@@ -183,4 +183,4 @@ class ConnectClient {
183
183
  }
184
184
  exports.ConnectClient = ConnectClient;
185
185
  /** Kept in step with `package.json` by `sdk.test.ts`. */
186
- exports.SDK_VERSION = "0.44.0";
186
+ exports.SDK_VERSION = "0.45.0";
@@ -179,4 +179,4 @@ export class ConnectClient {
179
179
  }
180
180
  }
181
181
  /** Kept in step with `package.json` by `sdk.test.ts`. */
182
- export const SDK_VERSION = "0.44.0";
182
+ export const SDK_VERSION = "0.45.0";
package/dist/theme.css CHANGED
@@ -79,8 +79,37 @@
79
79
  --danger-foreground: oklch(99.11% 0 0);
80
80
  --warning: oklch(79% 0.16 76);
81
81
  --warning-foreground: oklch(21.03% 0.0067 145.67);
82
- --focus: oklch(62.23% 0.192 145.67);
83
82
  --overlay: oklch(100% 0.002 145.67);
83
+ /*
84
+ * The secondary brand colour - a deep indigo, hue 268 - and the two HeroUI
85
+ * roles it fills.
86
+ *
87
+ * HeroUI v3 has one brand role, `--accent`, and no `secondary` colour: its
88
+ * `secondary` Button and Chip variants are the neutral `--default`. So the
89
+ * indigo does not get utilities of its own. It is assigned to roles every
90
+ * HeroUI component already reads, and reaches the whole UI through them:
91
+ *
92
+ * - `--link` - `<Link>`, prose anchors and every `text-link`. HeroUI's
93
+ * default is `--foreground`, which leaves a link telling itself apart
94
+ * from body text by underline alone.
95
+ * - `--focus` - the keyboard focus ring on every button, field, menu item,
96
+ * tab and table cell. It used to be the green, which drew a green ring
97
+ * around a green primary button, and measured 3.33:1 against the page;
98
+ * indigo is a different hue from the thing it outlines and clears 5:1.
99
+ *
100
+ * Green acts, indigo navigates - which is why indigo is never a fill here.
101
+ * A second filled hue beside the green competes for the main action.
102
+ *
103
+ * The hue is chosen by what is already taken: danger sits at ~13 and
104
+ * warning at ~60-76, so green's textbook complement (magenta) would read as
105
+ * an error, and teal sits too close to the green to tell apart.
106
+ *
107
+ * One value per theme, solved for text: 5.18:1 on `--surface-tertiary`, the
108
+ * darkest light surface, so a link passes AA wherever it lands.
109
+ */
110
+ --secondary: oklch(50% 0.16 268);
111
+ --link: var(--secondary);
112
+ --focus: var(--secondary);
84
113
  }
85
114
 
86
115
  .dark,
@@ -102,8 +131,27 @@
102
131
  --danger-foreground: oklch(99.11% 0 0);
103
132
  --warning: oklch(79% 0.16 76);
104
133
  --warning-foreground: oklch(17% 0.0067 145.67);
105
- --focus: oklch(62.23% 0.192 145.67);
106
134
  --overlay: oklch(21% 0.002 145.67);
135
+ /* See the light block. Lifted to the darkest indigo that still clears
136
+ 4.5:1 against the lightest dark surface (5.09:1). */
137
+ --secondary: oklch(68% 0.13 268);
138
+ --link: var(--secondary);
139
+ --focus: var(--secondary);
140
+ }
141
+
142
+ /*
143
+ * The current breadcrumb is where you are, not somewhere to go - but HeroUI
144
+ * paints it with `--link` (`.breadcrumbs__link[data-current]`), so pointing
145
+ * `--link` at the indigo would draw the page you are on as a link to itself.
146
+ * Pinned back to `--foreground`, HeroUI's own default for that role, through
147
+ * the component's documented BEM class. The selector repeats HeroUI's own
148
+ * nesting (`.breadcrumbs .breadcrumbs__link`) to match its specificity; in the
149
+ * same layer, coming later is then what wins.
150
+ */
151
+ @layer components {
152
+ .breadcrumbs .breadcrumbs__link[data-current="true"] {
153
+ color: var(--foreground);
154
+ }
107
155
  }
108
156
 
109
157
  /* ---------------------------------------------------------------------------
@@ -141,4 +141,4 @@ export declare class ConnectClient {
141
141
  constructor(options: ConnectClientOptions);
142
142
  }
143
143
  /** Kept in step with `package.json` by `sdk.test.ts`. */
144
- export declare const SDK_VERSION = "0.44.0";
144
+ export declare const SDK_VERSION = "0.45.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmoops/connect-sdk",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "Official server-side SDK for the CosmoOps Connect platform API - Login with Connect, entitlements, billing and metering.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "commonjs",