@eduardoalvarez/arrecife 0.11.0 → 0.12.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/CHANGELOG.md +33 -0
- package/README.md +34 -14
- package/dist/brand/index.cjs +2 -2
- package/dist/brand/index.d.cts +1 -1
- package/dist/brand/index.d.ts +1 -1
- package/dist/brand/index.js +3 -3
- package/dist/chart/index.cjs +2 -2
- package/dist/chart/index.d.cts +3 -3
- package/dist/chart/index.d.ts +3 -3
- package/dist/chart/index.js +3 -3
- package/dist/{chunk-FGFNK72B.js → chunk-5YWGOFDX.js} +17 -4
- package/dist/{chunk-5A5GH2PF.js → chunk-6QJQ6K7J.js} +1 -1
- package/dist/{chunk-TRPBID2W.js → chunk-BFYNBIVJ.js} +1 -1
- package/dist/{chunk-RKGKO2TW.js → chunk-BRDTB44R.js} +2 -2
- package/dist/{chunk-XXDATT3A.js → chunk-FF33ARRA.js} +1 -1
- package/dist/{chunk-FAAGZG7A.js → chunk-TMUGT3Y3.js} +1 -1
- package/dist/{chunk-6IGD5REB.js → chunk-W75O3Z77.js} +1 -1
- package/dist/{chunk-ZSCSKCTY.js → chunk-WU66TPJT.js} +1 -1
- package/dist/form/index.cjs +2 -2
- package/dist/form/index.js +4 -4
- package/dist/icons/index.cjs +2 -2
- package/dist/icons/index.d.cts +2 -2
- package/dist/icons/index.d.ts +2 -2
- package/dist/icons/index.js +3 -3
- package/dist/index.cjs +86 -18
- package/dist/index.d.cts +31 -16
- package/dist/index.d.ts +31 -16
- package/dist/index.js +83 -28
- package/dist/og/index.cjs +1 -2
- package/dist/og/index.js +1 -1
- package/dist/shiki/index.js +1 -1
- package/dist/tokens/index.cjs +17 -4
- package/dist/tokens/index.d.cts +20 -5
- package/dist/tokens/index.d.ts +20 -5
- package/dist/tokens/index.js +2 -2
- package/dist/tokens/theme.css +20 -3
- package/dist/variants/index.cjs +1 -1
- package/dist/variants/index.d.cts +2 -2
- package/dist/variants/index.d.ts +2 -2
- package/dist/variants/index.js +1 -1
- package/llms.txt +39 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.12.1](https://github.com/Proskynete/arrecife/compare/v0.12.0...v0.12.1) (2026-09-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### 🐛 Correcciones
|
|
7
|
+
|
|
8
|
+
* **components:** the footer signature is a column, so the credit stops pushing the icons ([6760744](https://github.com/Proskynete/arrecife/commit/67607443882b65fae8c7166554075e0ca7b9fe10))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### 📚 Documentación
|
|
12
|
+
|
|
13
|
+
* § 64, the signature is a column of its own ([6be8d1e](https://github.com/Proskynete/arrecife/commit/6be8d1e6cfc8a04bc3c999f672da3cb0d896f4d7))
|
|
14
|
+
|
|
15
|
+
## [0.12.0](https://github.com/Proskynete/arrecife/compare/v0.11.0...v0.12.0) (2026-09-12)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### 🚀 Novedades
|
|
19
|
+
|
|
20
|
+
* **components:** the footer can credit the library, and it is off by default ([9b80bd8](https://github.com/Proskynete/arrecife/commit/9b80bd80dc2bc1d4637a132e3b3b9dfbc254f653))
|
|
21
|
+
* **storybook:** the site wears the projects' mark and prints its version ([4c36b94](https://github.com/Proskynete/arrecife/commit/4c36b94d31d7353982eaa58ab75da2b309d972ef))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### 🐛 Correcciones
|
|
25
|
+
|
|
26
|
+
* **storybook:** the docs page stops showing the first story twice ([66f0016](https://github.com/Proskynete/arrecife/commit/66f00163ee6b1f5feb111022762928db112b709e))
|
|
27
|
+
* **tokens:** emit the whole token set, so a var() read from JS resolves ([68836c8](https://github.com/Proskynete/arrecife/commit/68836c861a6a80d74bd6d23c279bfc05978626dc))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### 📚 Documentación
|
|
31
|
+
|
|
32
|
+
* one file per decision, so a reference stops carrying a version ([1deda8e](https://github.com/Proskynete/arrecife/commit/1deda8e3f09585856741e23bceebf5d18e5b5336))
|
|
33
|
+
* **readme:** [@theme](https://github.com/theme) static, builtWith, and how a decision is cited ([ded6f2c](https://github.com/Proskynete/arrecife/commit/ded6f2ca6cc32c4a6746ad66417afa29f66b881d))
|
|
34
|
+
* three decisions, and two of them are about what the library says of itself ([c52c89f](https://github.com/Proskynete/arrecife/commit/c52c89f0507d99bb3886d412e91fc11922debcd4))
|
|
35
|
+
|
|
3
36
|
## [0.11.0](https://github.com/Proskynete/arrecife/compare/v0.10.0...v0.11.0) (2026-09-11)
|
|
4
37
|
|
|
5
38
|
|
package/README.md
CHANGED
|
@@ -16,7 +16,10 @@ in a project with a `#E05252` that this README has declared wrong for months, an
|
|
|
16
16
|
nobody saw it because the document was not greppable from the code.
|
|
17
17
|
|
|
18
18
|
`docs/decisions/` is the other half: the points where the code and the document
|
|
19
|
-
do not say the same thing, each with its resolution and its reason.
|
|
19
|
+
do not say the same thing, each with its resolution and its reason. One file per
|
|
20
|
+
decision, named for its number — `045-signature-halo.md` — so a «§ 45» written
|
|
21
|
+
in a comment, a commit or a PR resolves by sorting the folder, and no reference
|
|
22
|
+
has to carry a version.
|
|
20
23
|
|
|
21
24
|
## The two documents for agents
|
|
22
25
|
|
|
@@ -52,6 +55,16 @@ One source, `src/tokens/tokens.ts`. One generated output,
|
|
|
52
55
|
`scripts/build-tokens.mjs`; it is not edited by hand and it is regenerated on
|
|
53
56
|
every build.
|
|
54
57
|
|
|
58
|
+
The block is `@theme static`, so **every token reaches `:root` whether or not a
|
|
59
|
+
class asks for it** — you can read any of them with `var(--color-…)` from your
|
|
60
|
+
own JavaScript or an inline style and it will be there. That is one word and it
|
|
61
|
+
is a bug fix: Tailwind v4 emits a theme variable only when some generated
|
|
62
|
+
utility uses one, and the four `--color-series-*` are read by `seriesColor()`
|
|
63
|
+
through `var()` and requested by no class anywhere, so they were being dropped
|
|
64
|
+
as unused and the charts drew black on a dark page with nothing erroring. It
|
|
65
|
+
costs +234 B gzipped for a project using the system's whole vocabulary, and the
|
|
66
|
+
ceiling is the token set. See `docs/decisions/` § 61.
|
|
67
|
+
|
|
55
68
|
Phase 0 decision: **v4 only**. The portfolio (`eduardoalvarez.dev`) migrates from
|
|
56
69
|
Tailwind v3 to v4 before consuming Arrecife. If that migration slips, publishing
|
|
57
70
|
the v3 preset again is one more emitter in `build-tokens.mjs` reading the same
|
|
@@ -404,7 +417,7 @@ now draws Phosphor through `astro-icon` and its own docstring lists the divergen
|
|
|
404
417
|
«every icon on the page — the six in the cards and the four here — is then one set
|
|
405
418
|
at one weight». `eduardoalvarez.dev` did the same in `site-footer.tsx`. Two
|
|
406
419
|
consumers walking away from a subpath built for them is the library being out of
|
|
407
|
-
step, not the consumers. See `docs/decisions
|
|
420
|
+
step, not the consumers. See `docs/decisions/` § 51.
|
|
408
421
|
|
|
409
422
|
**In a Next Server Component, take the glyph from `@phosphor-icons/react/ssr`.**
|
|
410
423
|
`./icons` carries no `"use client"` on purpose, so an icon renders on the server
|
|
@@ -456,7 +469,7 @@ stroke` story shows the bars so the claim can be checked instead of believed.
|
|
|
456
469
|
`glyphs.tsx` drew at 0.109em — three quarters heavier than both — and 0.7.0
|
|
457
470
|
measured it, said so and left it alone, because aligning it restyles every
|
|
458
471
|
primitive in the library. 0.10.0 is that change: the file is gone and there is
|
|
459
|
-
one line in the system. See `docs/decisions
|
|
472
|
+
one line in the system. See `docs/decisions/` § 51.
|
|
460
473
|
|
|
461
474
|
**The weight is an axis with three values, and `tone` is how you name them.**
|
|
462
475
|
`weight` is not a prop: Phosphor ships six and this system reads three, because
|
|
@@ -474,7 +487,7 @@ one channel WCAG 1.4.1 says may not carry meaning** — the fill is the second
|
|
|
474
487
|
channel, and it is the one that survives a forced-colours mode where the biolume
|
|
475
488
|
does not. `quiet` is the opposite problem: in a metadata row the icon is not the
|
|
476
489
|
point of the line, and at `regular` it draws as heavy as the date beside it.
|
|
477
|
-
`docs/decisions
|
|
490
|
+
`docs/decisions/` § 35 has the rest.
|
|
478
491
|
|
|
479
492
|
`@phosphor-icons/react` is an **optional** peer dependency on its own subpath, by
|
|
480
493
|
the same rule as `./form` and `./chart`: two of the five projects use no icons and
|
|
@@ -586,12 +599,19 @@ collision is deliberate: what they replace is not an import, it is sixty lines o
|
|
|
586
599
|
composition — a `linearGradient` with a hardcoded id, a `CartesianGrid
|
|
587
600
|
vertical={false}`, two axes with the line and the tick off, a `type="natural"`
|
|
588
601
|
and a `strokeWidth` — which `cursos` wrote four times, once per chart. None of
|
|
589
|
-
that is a decision the project made. See `docs/decisions
|
|
602
|
+
that is a decision the project made. See `docs/decisions/` § 43.
|
|
590
603
|
|
|
591
604
|
A chart of a quantity with a ceiling passes it: `valueMax={100}` on a percentage.
|
|
592
605
|
Without it the value axis ends at the largest datum, and a horizontal ranking —
|
|
593
606
|
whose value axis is hidden — draws a course watched to 40 % as a full bar. See
|
|
594
|
-
`docs/decisions
|
|
607
|
+
`docs/decisions/` § 58.
|
|
608
|
+
|
|
609
|
+
`seriesColor(i)` returns `var(--color-series-N)` and not a hexadecimal, so the
|
|
610
|
+
palette follows the mode instead of freezing to whichever one was live when the
|
|
611
|
+
chart mounted. **Do not add a fallback to it**: the variable is always in
|
|
612
|
+
`:root`, because the token block is `@theme static` for exactly this reason. On a
|
|
613
|
+
version before that fix the `var()` resolved to nothing and the bars came out
|
|
614
|
+
black — see `docs/decisions/` § 61.
|
|
595
615
|
|
|
596
616
|
`check:exports` verifies that the five portable ones — `./tokens`, `./theme`,
|
|
597
617
|
`./variants`, `./og` and `./shiki` — bring no React into the published `dist/`,
|
|
@@ -662,7 +682,7 @@ cannot see: axe does not evaluate text over a gradient, so both modes passed it.
|
|
|
662
682
|
|
|
663
683
|
The light blocks now sweep between `background` and `surface` and never touch
|
|
664
684
|
`surfaceRaised`, so the darkest point of either one is the page itself — a token
|
|
665
|
-
that passes on the page passes at every point of the sweep. `docs/decisions
|
|
685
|
+
that passes on the page passes at every point of the sweep. `docs/decisions/` § 9 has the measurements, including the two other things the first composition
|
|
666
686
|
got wrong.
|
|
667
687
|
|
|
668
688
|
### The third correction: a semantic color is not a text color over its own tint
|
|
@@ -861,7 +881,7 @@ run summary.
|
|
|
861
881
|
`SidebarNav` was on that list and came off it in 0.8.0. It met the rule below
|
|
862
882
|
on the identity half and never on the consumer half: the two admin projects it
|
|
863
883
|
was built for each wrote their own and never imported it. See
|
|
864
|
-
`docs/decisions
|
|
884
|
+
`docs/decisions/` § 48.
|
|
865
885
|
|
|
866
886
|
The criterion for deciding what gets in is still the same: **it encodes an
|
|
867
887
|
identity rule, it has two or more consumers, and it drags in no project
|
|
@@ -902,7 +922,7 @@ about as library pieces. They get in anyway: the CLI aesthetic — the bar's
|
|
|
902
922
|
optional peer on `./icons` so the set a project chooses is drawn at the system's
|
|
903
923
|
weight; and 0.10.0 deleted `glyphs.tsx` and `./social` and made Phosphor
|
|
904
924
|
required, because a library drawing in three hands cannot say which one is
|
|
905
|
-
right. See «The social icons are yours too» above and `docs/decisions
|
|
925
|
+
right. See «The social icons are yours too» above and `docs/decisions/`
|
|
906
926
|
§ 51. What survives verbatim is the part that was always the real rule: the
|
|
907
927
|
icons are the project's, the LINE is the system's. The rest of this bullet is
|
|
908
928
|
the 0.7.0 argument, kept because it is what the reversal was measured against:
|
|
@@ -939,7 +959,7 @@ about as library pieces. They get in anyway: the CLI aesthetic — the bar's
|
|
|
939
959
|
than width failed axe on `scrollable-region-focusable` immediately. It is
|
|
940
960
|
unconditional, because whether a table overflows depends on the viewport and
|
|
941
961
|
the only alternative is a ResizeObserver on every table in the system. See
|
|
942
|
-
`docs/decisions
|
|
962
|
+
`docs/decisions/` § 39.
|
|
943
963
|
|
|
944
964
|
### The syntax palette
|
|
945
965
|
|
|
@@ -1056,7 +1076,7 @@ On a site that switches theme, `background="auto"` renders both and the `light:`
|
|
|
1056
1076
|
variant shows the one that reads, so no call site has to know which theme is on.
|
|
1057
1077
|
A background that does not follow the theme — a dark panel on a light page —
|
|
1058
1078
|
still names itself: `auto` reads the page, not the panel. See
|
|
1059
|
-
`docs/decisions
|
|
1079
|
+
`docs/decisions/` § 60.
|
|
1060
1080
|
|
|
1061
1081
|
**Rule 5 as API.** The wordmark comes from `naming.wordmark` and always reads
|
|
1062
1082
|
«Eduardo Álvarez». There is no prop that changes that text, and Tiburoncín never
|
|
@@ -1133,7 +1153,7 @@ spatial continuity. A sixth lands on that or it does not exist.
|
|
|
1133
1153
|
The bar is 2px and not a block because a halo needs something thin to radiate
|
|
1134
1154
|
from, the colour is `var(--color-accent)` so it follows the mode, and
|
|
1135
1155
|
`motion-safe` is the one thing not copied from `cursos` — whose span animates
|
|
1136
|
-
regardless of the setting. See `docs/decisions
|
|
1156
|
+
regardless of the setting. See `docs/decisions/` § 45, and § 23 for the entry
|
|
1137
1157
|
it reverses.
|
|
1138
1158
|
|
|
1139
1159
|
### The second motion exception
|
|
@@ -1180,7 +1200,7 @@ text, and `surfaceRaised` is where a toolbar lives.
|
|
|
1180
1200
|
`destructiveOutline` fills on hover, and that is a declared exception to
|
|
1181
1201
|
«secondary is never filled» — a destructive that looks identical to a secondary
|
|
1182
1202
|
until you read it is the problem the variant exists to fix. See
|
|
1183
|
-
`docs/decisions
|
|
1203
|
+
`docs/decisions/` § 21.
|
|
1184
1204
|
|
|
1185
1205
|
### `icon-sm`, for the one admin app
|
|
1186
1206
|
|
|
@@ -1191,7 +1211,7 @@ three actions per table row, and at 42 the row grows with them.
|
|
|
1191
1211
|
`size="icon-sm"` is 32×32, and it is 32 and not the 28 that project actually had:
|
|
1192
1212
|
32 is `sm`'s height, so a dense icon button lines up with a small text button and
|
|
1193
1213
|
a toolbar mixing the two stays on one baseline. It does not replace `icon` — a
|
|
1194
|
-
page's primary action stays at 42. See `docs/decisions
|
|
1214
|
+
page's primary action stays at 42. See `docs/decisions/` § 22.
|
|
1195
1215
|
|
|
1196
1216
|
### The theme script, and the mode a site already decided
|
|
1197
1217
|
|
package/dist/brand/index.cjs
CHANGED
|
@@ -75,7 +75,7 @@ var typeScale = {
|
|
|
75
75
|
* (plankton 5.57:1 over abyss), which is the part that is not negotiable.
|
|
76
76
|
*
|
|
77
77
|
* At 13 the three badge families grew past the size of a small button and
|
|
78
|
-
* outweighed the title they accompany. See `docs/decisions
|
|
78
|
+
* outweighed the title they accompany. See `docs/decisions/` § 10.
|
|
79
79
|
*/
|
|
80
80
|
chip: { family: "mono", size: 11.5, lineHeight: 1.4, weight: 400 },
|
|
81
81
|
/**
|
|
@@ -121,7 +121,7 @@ var control = {
|
|
|
121
121
|
* baseline; 28 would have been a fifth height that matches nothing.
|
|
122
122
|
*
|
|
123
123
|
* It does not replace `icon`. A page's primary action stays at 42; this is for
|
|
124
|
-
* a row of a table. See `docs/decisions
|
|
124
|
+
* a row of a table. See `docs/decisions/` § 22.
|
|
125
125
|
*/
|
|
126
126
|
iconSm: 32
|
|
127
127
|
};
|
package/dist/brand/index.d.cts
CHANGED
|
@@ -35,7 +35,7 @@ type IsotypeProps = Omit<ComponentPropsWithoutRef<'img'>, 'src' | 'alt'> & {
|
|
|
35
35
|
* server does not know the theme, and a fin picked in JavaScript would be wrong
|
|
36
36
|
* on the first paint half the time. `cursos` had written exactly this by hand
|
|
37
37
|
* after a surface changed mode and its fin vanished — not looked wrong: vanished,
|
|
38
|
-
* with no error and no gap in the layout. See `docs/decisions
|
|
38
|
+
* with no error and no gap in the layout. See `docs/decisions/` § 60.
|
|
39
39
|
*
|
|
40
40
|
* Dark is the system default, so the foam fin is the one shown unless
|
|
41
41
|
* `data-theme="light"` says otherwise, and the two-blue one hides everywhere
|
package/dist/brand/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ type IsotypeProps = Omit<ComponentPropsWithoutRef<'img'>, 'src' | 'alt'> & {
|
|
|
35
35
|
* server does not know the theme, and a fin picked in JavaScript would be wrong
|
|
36
36
|
* on the first paint half the time. `cursos` had written exactly this by hand
|
|
37
37
|
* after a surface changed mode and its fin vanished — not looked wrong: vanished,
|
|
38
|
-
* with no error and no gap in the layout. See `docs/decisions
|
|
38
|
+
* with no error and no gap in the layout. See `docs/decisions/` § 60.
|
|
39
39
|
*
|
|
40
40
|
* Dark is the system default, so the foam fin is the one shown unless
|
|
41
41
|
* `data-theme="light"` says otherwise, and the two-blue one hides everywhere
|
package/dist/brand/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { Isotype, Logo, Mascot, MascotFace } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
export { Isotype, Logo, Mascot, MascotFace } from '../chunk-BRDTB44R.js';
|
|
3
|
+
import '../chunk-TMUGT3Y3.js';
|
|
4
4
|
export { ASSETS_PATH, faceList, faceUsage, faces, fins, poseList, poses } from '../chunk-CKRSQPTX.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-5YWGOFDX.js';
|
package/dist/chart/index.cjs
CHANGED
|
@@ -46,7 +46,7 @@ var typeScale = {
|
|
|
46
46
|
* (plankton 5.57:1 over abyss), which is the part that is not negotiable.
|
|
47
47
|
*
|
|
48
48
|
* At 13 the three badge families grew past the size of a small button and
|
|
49
|
-
* outweighed the title they accompany. See `docs/decisions
|
|
49
|
+
* outweighed the title they accompany. See `docs/decisions/` § 10.
|
|
50
50
|
*/
|
|
51
51
|
chip: { family: "mono", size: 11.5, lineHeight: 1.4, weight: 400 },
|
|
52
52
|
/**
|
|
@@ -92,7 +92,7 @@ var control = {
|
|
|
92
92
|
* baseline; 28 would have been a fifth height that matches nothing.
|
|
93
93
|
*
|
|
94
94
|
* It does not replace `icon`. A page's primary action stays at 42; this is for
|
|
95
|
-
* a row of a table. See `docs/decisions
|
|
95
|
+
* a row of a table. See `docs/decisions/` § 22.
|
|
96
96
|
*/
|
|
97
97
|
iconSm: 32
|
|
98
98
|
};
|
package/dist/chart/index.d.cts
CHANGED
|
@@ -29,7 +29,7 @@ import { Legend, Tooltip } from 'recharts';
|
|
|
29
29
|
* What IS published, since this version, are three CHART TYPES on top of that
|
|
30
30
|
* chassis: `AreaChart`, `BarChart` and `LineChart`. They are not wrappers over
|
|
31
31
|
* Recharts' components of the same name — they take `data`, `series` and `xKey`
|
|
32
|
-
* and draw the whole thing. See `docs/decisions
|
|
32
|
+
* and draw the whole thing. See `docs/decisions/` § 43 for why the names
|
|
33
33
|
* collide on purpose.
|
|
34
34
|
*/
|
|
35
35
|
/**
|
|
@@ -175,7 +175,7 @@ type SeriesChartProps = Omit<ChartContainerProps, 'children'> & {
|
|
|
175
175
|
* `2026-07-15` repeated thirty times, overlapping into a grey band.
|
|
176
176
|
*
|
|
177
177
|
* The library imposes no format: a date key can be a day, a month or a course
|
|
178
|
-
* name, and only the project knows which. See `docs/decisions
|
|
178
|
+
* name, and only the project knows which. See `docs/decisions/` § 50.
|
|
179
179
|
*/
|
|
180
180
|
xTickFormatter?: ((value: unknown) => string) | undefined;
|
|
181
181
|
/**
|
|
@@ -200,7 +200,7 @@ type SeriesChartProps = Omit<ChartContainerProps, 'children'> & {
|
|
|
200
200
|
* The bottom is always zero. A bar that does not start at zero is a
|
|
201
201
|
* different lie, and this prop is not a way into it. It is a floor for the
|
|
202
202
|
* top and not a clip either: a datum above it extends the axis instead of
|
|
203
|
-
* running off the edge. See `docs/decisions
|
|
203
|
+
* running off the edge. See `docs/decisions/` § 58.
|
|
204
204
|
*/
|
|
205
205
|
valueMax?: number | undefined;
|
|
206
206
|
/**
|
package/dist/chart/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ import { Legend, Tooltip } from 'recharts';
|
|
|
29
29
|
* What IS published, since this version, are three CHART TYPES on top of that
|
|
30
30
|
* chassis: `AreaChart`, `BarChart` and `LineChart`. They are not wrappers over
|
|
31
31
|
* Recharts' components of the same name — they take `data`, `series` and `xKey`
|
|
32
|
-
* and draw the whole thing. See `docs/decisions
|
|
32
|
+
* and draw the whole thing. See `docs/decisions/` § 43 for why the names
|
|
33
33
|
* collide on purpose.
|
|
34
34
|
*/
|
|
35
35
|
/**
|
|
@@ -175,7 +175,7 @@ type SeriesChartProps = Omit<ChartContainerProps, 'children'> & {
|
|
|
175
175
|
* `2026-07-15` repeated thirty times, overlapping into a grey band.
|
|
176
176
|
*
|
|
177
177
|
* The library imposes no format: a date key can be a day, a month or a course
|
|
178
|
-
* name, and only the project knows which. See `docs/decisions
|
|
178
|
+
* name, and only the project knows which. See `docs/decisions/` § 50.
|
|
179
179
|
*/
|
|
180
180
|
xTickFormatter?: ((value: unknown) => string) | undefined;
|
|
181
181
|
/**
|
|
@@ -200,7 +200,7 @@ type SeriesChartProps = Omit<ChartContainerProps, 'children'> & {
|
|
|
200
200
|
* The bottom is always zero. A bar that does not start at zero is a
|
|
201
201
|
* different lie, and this prop is not a way into it. It is a floor for the
|
|
202
202
|
* top and not a clip either: a datum above it extends the axis instead of
|
|
203
|
-
* running off the edge. See `docs/decisions
|
|
203
|
+
* running off the edge. See `docs/decisions/` § 58.
|
|
204
204
|
*/
|
|
205
205
|
valueMax?: number | undefined;
|
|
206
206
|
/**
|
package/dist/chart/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Text } from '../chunk-
|
|
2
|
+
import { Text } from '../chunk-BFYNBIVJ.js';
|
|
3
3
|
import '../chunk-ODBFN44D.js';
|
|
4
|
-
import { cn } from '../chunk-
|
|
5
|
-
import { radius } from '../chunk-
|
|
4
|
+
import { cn } from '../chunk-TMUGT3Y3.js';
|
|
5
|
+
import { radius } from '../chunk-5YWGOFDX.js';
|
|
6
6
|
import { useId } from 'react';
|
|
7
7
|
import { ResponsiveContainer, Tooltip, Legend, AreaChart as AreaChart$1, CartesianGrid, XAxis, YAxis, Area, BarChart as BarChart$1, Bar, LineChart as LineChart$1, Line } from 'recharts';
|
|
8
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -144,7 +144,7 @@ var typeScale = {
|
|
|
144
144
|
* (plankton 5.57:1 over abyss), which is the part that is not negotiable.
|
|
145
145
|
*
|
|
146
146
|
* At 13 the three badge families grew past the size of a small button and
|
|
147
|
-
* outweighed the title they accompany. See `docs/decisions
|
|
147
|
+
* outweighed the title they accompany. See `docs/decisions/` § 10.
|
|
148
148
|
*/
|
|
149
149
|
chip: { family: "mono", size: 11.5, lineHeight: 1.4, weight: 400 },
|
|
150
150
|
/**
|
|
@@ -198,7 +198,7 @@ var control = {
|
|
|
198
198
|
* baseline; 28 would have been a fifth height that matches nothing.
|
|
199
199
|
*
|
|
200
200
|
* It does not replace `icon`. A page's primary action stays at 42; this is for
|
|
201
|
-
* a row of a table. See `docs/decisions
|
|
201
|
+
* a row of a table. See `docs/decisions/` § 22.
|
|
202
202
|
*/
|
|
203
203
|
iconSm: 32
|
|
204
204
|
};
|
|
@@ -221,7 +221,7 @@ var size = {
|
|
|
221
221
|
* together eat the top of the content area. 56 is what `cursos` had arrived at
|
|
222
222
|
* on its own, and it is the same reasoning as `control.iconSm`: the one admin
|
|
223
223
|
* app of the five is denser than the four reading sites. See
|
|
224
|
-
* `docs/decisions
|
|
224
|
+
* `docs/decisions/` § 30.
|
|
225
225
|
*/
|
|
226
226
|
navCompact: 56,
|
|
227
227
|
/**
|
|
@@ -294,7 +294,20 @@ var naming = {
|
|
|
294
294
|
wordmark: "Eduardo \xC1lvarez",
|
|
295
295
|
mascot: "Tiburonc\xEDn",
|
|
296
296
|
/** The domain, for the footer CLI signature: `$ cd ~/eduardoalvarez.dev/2026`. */
|
|
297
|
-
domain: "eduardoalvarez.dev"
|
|
297
|
+
domain: "eduardoalvarez.dev",
|
|
298
|
+
/** The library's own name, for a footer that credits it. */
|
|
299
|
+
library: "Arrecife",
|
|
300
|
+
/**
|
|
301
|
+
* Where the library is published, for `Footer builtWith`.
|
|
302
|
+
*
|
|
303
|
+
* It is here and not written into the component for the reason the domain is:
|
|
304
|
+
* one string, five projects. It is the same URL as `homepage` in
|
|
305
|
+
* `package.json` and it cannot be derived from it — this file imports nothing
|
|
306
|
+
* — so `check:exports` compares the two on every build. Without that, moving
|
|
307
|
+
* the Storybook would update what npm prints and leave five production
|
|
308
|
+
* footers linking at the old address.
|
|
309
|
+
*/
|
|
310
|
+
libraryUrl: "https://arrecife.eduardoalvarez.dev"
|
|
298
311
|
};
|
|
299
312
|
|
|
300
313
|
export { brand, colors, control, dark, fonts, gradient, light, limits, motion, naming, radius, series, shadow, size, spacing, syntax, tagline, typeScale };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { naming, tagline, motion, shadow, series, syntax, gradient, size, spacing, control, radius, limits, typeScale, fonts, brand, colors } from './chunk-
|
|
1
|
+
import { naming, tagline, motion, shadow, series, syntax, gradient, size, spacing, control, radius, limits, typeScale, fonts, brand, colors } from './chunk-5YWGOFDX.js';
|
|
2
2
|
|
|
3
3
|
// src/tokens/index.ts
|
|
4
4
|
var tokens = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-TMUGT3Y3.js';
|
|
2
2
|
import { fins, ASSETS_PATH, poses, faces } from './chunk-CKRSQPTX.js';
|
|
3
|
-
import { naming, tagline } from './chunk-
|
|
3
|
+
import { naming, tagline } from './chunk-5YWGOFDX.js';
|
|
4
4
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
function Isotype({
|
|
@@ -19,7 +19,7 @@ var button = cva(
|
|
|
19
19
|
],
|
|
20
20
|
// The one control whose focus ring is not biolume. It is the system's
|
|
21
21
|
// only sand fill, and a biolume ring three pixels off a sand button puts
|
|
22
|
-
// both of the brand's accents in the same glance. See `docs/decisions
|
|
22
|
+
// both of the brand's accents in the same glance. See `docs/decisions/` § 37.
|
|
23
23
|
conversion: "bg-warm text-warm-on hover:bg-warm-hover focus-ring-warm",
|
|
24
24
|
secondary: [
|
|
25
25
|
"border-hairline-hover border bg-transparent text-text-primary",
|
package/dist/form/index.cjs
CHANGED
|
@@ -67,7 +67,7 @@ var typeScale = {
|
|
|
67
67
|
* (plankton 5.57:1 over abyss), which is the part that is not negotiable.
|
|
68
68
|
*
|
|
69
69
|
* At 13 the three badge families grew past the size of a small button and
|
|
70
|
-
* outweighed the title they accompany. See `docs/decisions
|
|
70
|
+
* outweighed the title they accompany. See `docs/decisions/` § 10.
|
|
71
71
|
*/
|
|
72
72
|
chip: { family: "mono", size: 11.5, lineHeight: 1.4, weight: 400 },
|
|
73
73
|
/**
|
|
@@ -113,7 +113,7 @@ var control = {
|
|
|
113
113
|
* baseline; 28 would have been a fifth height that matches nothing.
|
|
114
114
|
*
|
|
115
115
|
* It does not replace `icon`. A page's primary action stays at 42; this is for
|
|
116
|
-
* a row of a table. See `docs/decisions
|
|
116
|
+
* a row of a table. See `docs/decisions/` § 22.
|
|
117
117
|
*/
|
|
118
118
|
iconSm: 32
|
|
119
119
|
};
|
package/dist/form/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Label } from '../chunk-
|
|
3
|
-
import { Text } from '../chunk-
|
|
2
|
+
import { Label } from '../chunk-W75O3Z77.js';
|
|
3
|
+
import { Text } from '../chunk-BFYNBIVJ.js';
|
|
4
4
|
import '../chunk-ODBFN44D.js';
|
|
5
|
-
import { cn } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import { cn } from '../chunk-TMUGT3Y3.js';
|
|
6
|
+
import '../chunk-5YWGOFDX.js';
|
|
7
7
|
import { createContext, useContext, useId } from 'react';
|
|
8
8
|
import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
package/dist/icons/index.cjs
CHANGED
|
@@ -41,7 +41,7 @@ var typeScale = {
|
|
|
41
41
|
* (plankton 5.57:1 over abyss), which is the part that is not negotiable.
|
|
42
42
|
*
|
|
43
43
|
* At 13 the three badge families grew past the size of a small button and
|
|
44
|
-
* outweighed the title they accompany. See `docs/decisions
|
|
44
|
+
* outweighed the title they accompany. See `docs/decisions/` § 10.
|
|
45
45
|
*/
|
|
46
46
|
chip: { family: "mono", size: 11.5, lineHeight: 1.4, weight: 400 },
|
|
47
47
|
/**
|
|
@@ -87,7 +87,7 @@ var control = {
|
|
|
87
87
|
* baseline; 28 would have been a fifth height that matches nothing.
|
|
88
88
|
*
|
|
89
89
|
* It does not replace `icon`. A page's primary action stays at 42; this is for
|
|
90
|
-
* a row of a table. See `docs/decisions
|
|
90
|
+
* a row of a table. See `docs/decisions/` § 22.
|
|
91
91
|
*/
|
|
92
92
|
iconSm: 32
|
|
93
93
|
};
|
package/dist/icons/index.d.cts
CHANGED
|
@@ -43,7 +43,7 @@ import { IconWeight, IconProps as IconProps$1, Icon as Icon$1 } from '@phosphor-
|
|
|
43
43
|
* THE WEIGHT IS AN AXIS, AND IT IS THE ONLY ONE AN ICON HAS. There are three
|
|
44
44
|
* roles and `tone` is how you name them; the weights themselves are not a prop,
|
|
45
45
|
* because Phosphor's other three — `thin`, `bold`, `duotone` — say nothing this
|
|
46
|
-
* system means. See `TONE_WEIGHT` below and `docs/decisions
|
|
46
|
+
* system means. See `TONE_WEIGHT` below and `docs/decisions/` § 35.
|
|
47
47
|
*
|
|
48
48
|
* IT IS NOW THE ONLY LINE THE LIBRARY DRAWS, which is what 0.10.0 changed.
|
|
49
49
|
* `lib/glyphs.tsx` drew at 1.75 on a 16 grid — 0.109em, three quarters heavier
|
|
@@ -51,7 +51,7 @@ import { IconWeight, IconProps as IconProps$1, Icon as Icon$1 } from '@phosphor-
|
|
|
51
51
|
* third hand. 0.7.0 left both alone because reconciling them restyles every
|
|
52
52
|
* primitive in the library; that is exactly what 0.10.0 did, and both files are
|
|
53
53
|
* gone. There is one description of what a line looks like here, and it is
|
|
54
|
-
* Phosphor's. See `docs/decisions
|
|
54
|
+
* Phosphor's. See `docs/decisions/` § 51.
|
|
55
55
|
*
|
|
56
56
|
* IN NEXT, IMPORT FROM `@phosphor-icons/react/ssr` inside a Server Component.
|
|
57
57
|
* Phosphor's default build reads `IconContext` through `useContext`, and a hook
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ import { IconWeight, IconProps as IconProps$1, Icon as Icon$1 } from '@phosphor-
|
|
|
43
43
|
* THE WEIGHT IS AN AXIS, AND IT IS THE ONLY ONE AN ICON HAS. There are three
|
|
44
44
|
* roles and `tone` is how you name them; the weights themselves are not a prop,
|
|
45
45
|
* because Phosphor's other three — `thin`, `bold`, `duotone` — say nothing this
|
|
46
|
-
* system means. See `TONE_WEIGHT` below and `docs/decisions
|
|
46
|
+
* system means. See `TONE_WEIGHT` below and `docs/decisions/` § 35.
|
|
47
47
|
*
|
|
48
48
|
* IT IS NOW THE ONLY LINE THE LIBRARY DRAWS, which is what 0.10.0 changed.
|
|
49
49
|
* `lib/glyphs.tsx` drew at 1.75 on a 16 grid — 0.109em, three quarters heavier
|
|
@@ -51,7 +51,7 @@ import { IconWeight, IconProps as IconProps$1, Icon as Icon$1 } from '@phosphor-
|
|
|
51
51
|
* third hand. 0.7.0 left both alone because reconciling them restyles every
|
|
52
52
|
* primitive in the library; that is exactly what 0.10.0 did, and both files are
|
|
53
53
|
* gone. There is one description of what a line looks like here, and it is
|
|
54
|
-
* Phosphor's. See `docs/decisions
|
|
54
|
+
* Phosphor's. See `docs/decisions/` § 51.
|
|
55
55
|
*
|
|
56
56
|
* IN NEXT, IMPORT FROM `@phosphor-icons/react/ssr` inside a Server Component.
|
|
57
57
|
* Phosphor's default build reads `IconContext` through `useContext`, and a hook
|
package/dist/icons/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ICON_WEIGHT, Icon, TONE_WEIGHT } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { ICON_WEIGHT, Icon, TONE_WEIGHT } from '../chunk-WU66TPJT.js';
|
|
2
|
+
import '../chunk-TMUGT3Y3.js';
|
|
3
|
+
import '../chunk-5YWGOFDX.js';
|