@apliteni/apliteni-ui 0.8.0 → 0.8.1

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
@@ -105,7 +105,12 @@ import { DataTable, Modal } from '@apliteni/apliteni-ui/react';
105
105
  ```
106
106
 
107
107
  The source lives in [`react/`](./react) — a private workspace with its own build
108
- (tsup) and Storybook on port 6007. Details in [`react/README.md`](./react/README.md).
108
+ (tsup) and Storybook on port 6007. When 6007 is taken Storybook moves to the next
109
+ free port, so the root Storybook does not trust the number: it probes the range
110
+ 6007 can drift into and composes the first port that proves it is this workspace's
111
+ Storybook. A stranger on the port is never composed — the "React components"
112
+ section is absent instead, and the terminal says why. Details in
113
+ [`react/README.md`](./react/README.md).
109
114
 
110
115
  ## Theming
111
116
 
@@ -147,7 +152,7 @@ react/ # React components — private workspace, built to reac
147
152
 
148
153
  ```bash
149
154
  npm install
150
- npm run storybook # http://localhost:6006
155
+ npm run storybook # http://localhost:6006, or the next free port
151
156
  npm run build-storybook # -> storybook-static/
152
157
  node site/build.mjs # -> site/public/ (landing + kit.css + /storybook)
153
158
  ```
@@ -156,7 +161,7 @@ The React components build and test through the workspace (`npm install` at the
156
161
  root covers them — there is no second install):
157
162
 
158
163
  ```bash
159
- npm run storybook -w react # http://localhost:6007
164
+ npm run storybook -w react # http://localhost:6007, or the next free port
160
165
  npm test -w react # vitest
161
166
  npm run build # tsup -> react/dist/ (also runs on prepare)
162
167
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apliteni/apliteni-ui",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "workspaces": [
5
5
  "react"
6
6
  ],
package/react/README.md CHANGED
@@ -41,6 +41,17 @@ npm run storybook -w react # http://localhost:6007
41
41
  npm run build # tsup -> react/dist/
42
42
  ```
43
43
 
44
+ 6007 is a request, not a promise: if something else already holds it, Storybook
45
+ walks upward to the next free port. The root Storybook composes these components
46
+ by following that drift — it probes 6007 through 6016 (the window Storybook's own
47
+ port-finder searches) and takes the first one whose `index.json` lists every story
48
+ file this workspace has on disk. A stranger on the port fails that check and is
49
+ never shown under "React components"; the section is simply absent, and the root
50
+ Storybook's terminal says which ports it tried and what it found.
51
+
52
+ The probe runs once, while the root Storybook boots. Start this one afterwards and
53
+ you have to restart the root Storybook before it appears.
54
+
44
55
  The bare `@apliteni/apliteni-ui` specifier in this source resolves to the kit itself
45
56
  once installed. In the repo there is no copy to resolve to, so `kit-alias.ts` points
46
57
  vitest and Storybook straight at `../src/` — which is why the class-name parity tests
@@ -75,7 +75,9 @@
75
75
  .ui-nav__item.is-current .ui-nav__ic svg { opacity: 1; stroke: var(--accent); }
76
76
  .ui-nav__label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
77
77
 
78
- .ui-nav__item.is-danger { color: var(--pink); }
78
+ /* Destructive row (sign out, revoke). Quiet at rest, --pink once the pointer
79
+ reaches it — same two-step as .ui-btn--danger and .ui-dropdown__item.is-danger. */
80
+ .ui-nav__item.is-danger { color: var(--muted); }
79
81
  .ui-nav__item.is-danger:hover { background: var(--glow-pink); color: var(--pink); }
80
82
  .ui-nav__item.is-disabled { color: var(--muted); opacity: 0.55; cursor: default; pointer-events: none; }
81
83
 
@@ -68,6 +68,19 @@
68
68
  .ui-table--zebra th { border-bottom-width: 2px; }
69
69
  .ui-table--zebra td { border-bottom: 0; }
70
70
  .ui-table--zebra tbody tr:nth-child(even) td { background: var(--surface-2); }
71
+ /* The stripe is full-bleed on purpose — the hover note above inset the hover fill for
72
+ * #71 and deliberately left the ledger stripe alone. But full-bleed only reads right if
73
+ * the end cells are inset from the tint's own edge, and the base rhythm does not inset
74
+ * them: `.ui-table td` sets `padding-left: 0`. Only `--dense` supplied the inset, so a
75
+ * `--zebra` table composed WITHOUT `--dense` put the first cell's content at exactly
76
+ * x=0 of the stripe. `DataTable` is that composition — it writes `ui-table
77
+ * ui-table--hover ui-table--zebra` and no `--dense` — so its select-all and per-row
78
+ * checkboxes sat flush against the tint with a measured 0px gap.
79
+ * Header and body are inset together, or the columns stop lining up. */
80
+ .ui-table--zebra th:first-child,
81
+ .ui-table--zebra td:first-child { padding-left: 12px; }
82
+ .ui-table--zebra th:last-child,
83
+ .ui-table--zebra td:last-child { padding-right: 12px; }
71
84
  .ui-table--zebra.ui-table--hover tbody tr:hover td,
72
85
  .ui-table--zebra tbody tr:hover td { background: color-mix(in srgb, var(--accent) 8%, transparent); }
73
86