@conduction/docusaurus-preset 2.10.0 → 2.10.2

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
@@ -6,6 +6,14 @@ Brand-default Docusaurus 3 config for Conduction sites. Tokens, theme, navbar, f
6
6
 
7
7
  Source lives inside the [design-system monorepo](https://github.com/ConductionNL/design-system); published to npm under the `@conduction` scope as a single package. Install in any product site with `npm i @conduction/docusaurus-preset`. The diagram web-component runtime (`<cn-hex>`, `<cn-platform>`, etc.) ships inside this same package under `@conduction/docusaurus-preset/diagrams` — no separate install needed.
8
8
 
9
+ ## Brand rules
10
+
11
+ A few non-negotiables encoded by the package CSS and worth knowing about:
12
+
13
+ - **App Builder hex is always KNVB orange.** The hex in `<PlatformDiagram/>` representing the "compose your own app" pathway carries `var(--c-orange-knvb)` regardless of whether the cluster ships a `COMING SOON` badge. It is the proposition the eye should land on. Don't gate it on app state.
14
+ - **Pointy-top hexes only, no rotation.** Every `<cn-*>` hex shape is pointy-top by design. Flat-top hexes belong to other brands.
15
+ - **One orange accent per scene.** KNVB orange is the highlight, used once per diagram. The new `<Pair/>` and `<ArchFlow hex>` components own that budget when present.
16
+
9
17
  ## What it gives you
10
18
 
11
19
  - **Brand CSS** — tokens (cobalt palette, KNVB orange, Plex Mono, hex clip-paths, Common Ground yellow) auto-applied to Docusaurus's Infima theme variables. Navbar, footer, sidebar, buttons, code blocks all inherit the brand without a single swizzle.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduction/docusaurus-preset",
3
- "version": "2.10.0",
3
+ "version": "2.10.2",
4
4
  "scripts": {
5
5
  "prepack": "node scripts/prepack-bundle-css.js"
6
6
  },
@@ -144,6 +144,12 @@ platform-diagram .row .name {
144
144
  platform-diagram .row + .row { border-top: 1px solid var(--c-cobalt-50); }
145
145
  platform-diagram a.row { text-decoration: none; color: inherit; cursor: pointer; }
146
146
  platform-diagram a.row:hover { text-decoration: none; }
147
+ /* Hovered row escapes its own overflow:hidden clip and creates a
148
+ stacking context so the .desc tooltip can extend below the row AND
149
+ paint above later-DOM-order siblings. Without overflow:visible the
150
+ absolute-positioned .desc gets cropped to the row's bounding box;
151
+ without z-index the .desc has no stacking context to escape. */
152
+ platform-diagram .row:hover { overflow: visible; z-index: 10; }
147
153
 
148
154
  /* Multi-column box: rows are wrapped in <.col> so the .row+.row border only
149
155
  draws within a single column. The columns sit side by side with a thin
@@ -254,9 +260,11 @@ platform-diagram .workspace-corner-hex.fam-solutions { background: #E34234; }
254
260
  platform-diagram .fam-integrate .glyph,
255
261
  platform-diagram .workspace-corner-hex.fam-integrate { background: var(--c-cobalt-400); }
256
262
  platform-diagram .fam-builder .glyph,
257
- platform-diagram .workspace-corner-hex.fam-builder { background: var(--c-cobalt-300); }
258
- /* App Builder hex: KNVB orange (override fam-builder) */
259
- platform-diagram .workspace-corner-hex.app-builder { background: var(--c-orange-knvb); }
263
+ platform-diagram .workspace-corner-hex.fam-builder { background: var(--c-orange-knvb); }
264
+ /* App Builder hex: KNVB orange across the board. The hex represents
265
+ the "compose your own app" pathway that's the proposition we want
266
+ the eye to land on, badge or no badge. */
267
+ platform-diagram .workspace-corner-hex.app-builder { background: var(--c-orange-knvb); }
260
268
  platform-diagram .fam-nextcloud .glyph,
261
269
  platform-diagram .workspace-corner-hex.fam-nextcloud { background: var(--c-nextcloud-blue); }
262
270
 
@@ -233,8 +233,9 @@
233
233
  if (!list.label || list.position === 'top') return null;
234
234
  const positionClass = POSITION_CLASS[list.position] || list.position;
235
235
  const familyClass = list.family ? `fam-${list.family}` : '';
236
+ const badgeClass = list.badge ? 'has-badge' : '';
236
237
  const hex = document.createElement('div');
237
- hex.className = `workspace-corner-hex ${positionClass} ${familyClass}`.trim();
238
+ hex.className = `workspace-corner-hex ${positionClass} ${familyClass} ${badgeClass}`.trim();
238
239
  // Allow newline in label to render a <br>; otherwise straight text.
239
240
  if (list.label.includes('\n')) {
240
241
  list.label.split('\n').forEach((line, i) => {