@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 +8 -3
- package/package.json +1 -1
- package/react/README.md +11 -0
- package/src/styles/nav.css +3 -1
- package/src/styles/table.css +13 -0
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.
|
|
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
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
|
package/src/styles/nav.css
CHANGED
|
@@ -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
|
-
.
|
|
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
|
|
package/src/styles/table.css
CHANGED
|
@@ -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
|
|