@hraness/design-kit 0.36.2 → 0.36.3
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 +6 -2
- package/dist/react/index.js +28 -4
- package/dist/stylex-manifest.json +1 -1
- package/package.json +1 -1
- package/portfolio-inventory.json +1 -1
- package/src/plain-publication.css +5 -2
- package/src/react/design-gallery.tsx +4 -3
- package/src/typography.css +11 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hraness/design-kit",
|
|
3
|
-
"version": "0.36.
|
|
3
|
+
"version": "0.36.3",
|
|
4
4
|
"description": "React components and CSS for Hraness apps and product sites: application shells, marketing sections, charts, themes, effects, and syntax highlighting. Built on @hraness/ui.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/portfolio-inventory.json
CHANGED
|
@@ -725,8 +725,10 @@
|
|
|
725
725
|
text-underline-offset: 0.18em;
|
|
726
726
|
}
|
|
727
727
|
|
|
728
|
-
|
|
729
|
-
|
|
728
|
+
@media (forced-colors: none) {
|
|
729
|
+
.plain-site.plain-publication.plain-publication--embedded .plain-publication__article-body a:is(:hover, :focus-visible) {
|
|
730
|
+
text-decoration-color: currentColor;
|
|
731
|
+
}
|
|
730
732
|
}
|
|
731
733
|
|
|
732
734
|
.plain-site.plain-publication.plain-publication--embedded .plain-publication__article-body pre {
|
|
@@ -952,6 +954,7 @@
|
|
|
952
954
|
background: Canvas;
|
|
953
955
|
}
|
|
954
956
|
|
|
957
|
+
.plain-site.plain-publication.plain-publication--embedded .plain-publication__byline a,
|
|
955
958
|
.plain-site.plain-publication.plain-publication--embedded .plain-publication__article-body a {
|
|
956
959
|
text-decoration-color: LinkText;
|
|
957
960
|
}
|
|
@@ -593,7 +593,7 @@ export function DesignSystemGallery({
|
|
|
593
593
|
{ label: "Bring your model", values: [true, { status: "optional", label: "On some plans" }] },
|
|
594
594
|
{ label: "Local storage", values: [true, { status: "depends", detail: "Check the provider's export format." }] },
|
|
595
595
|
{ label: "Cost", values: ["Free locally", "Subscription"] },
|
|
596
|
-
]} note=
|
|
596
|
+
]} note={<span>An illustrative comparison. Product pages supply current facts and <a href="#articles">sources</a>.</span>} />
|
|
597
597
|
<MarketingAccount id="gallery-account" summary="Keep your preferences and shared work together.">
|
|
598
598
|
<MarketingAccountActions primary={{ href: "#gallery-account", label: "Create account" }} signIn={{ href: "#gallery-account" }} />
|
|
599
599
|
</MarketingAccount>
|
|
@@ -695,7 +695,7 @@ export function DesignSystemGallery({
|
|
|
695
695
|
]}
|
|
696
696
|
/>
|
|
697
697
|
)}
|
|
698
|
-
author={{ kind: "organization", name: "Hraness" }}
|
|
698
|
+
author={{ kind: "organization", name: "Hraness", href: "https://hraness.com" }}
|
|
699
699
|
dek="Relay replays a failed webhook from the stored request body, so the retry sends the same bytes the provider signed."
|
|
700
700
|
eyebrow="Technique"
|
|
701
701
|
heading="Replaying webhooks without breaking signatures"
|
|
@@ -714,7 +714,7 @@ export function DesignSystemGallery({
|
|
|
714
714
|
>
|
|
715
715
|
<h2 id="gallery-article-problem">The problem</h2>
|
|
716
716
|
<p>
|
|
717
|
-
A provider signs the exact request body
|
|
717
|
+
A provider signs the <a href="#gallery-article-approach">exact request body</a>. Parsing the JSON and serializing it again changes
|
|
718
718
|
whitespace and key order, and the signature check then fails on every retry.
|
|
719
719
|
</p>
|
|
720
720
|
<ArticleCallout label="Limit" tone="limit">
|
|
@@ -758,6 +758,7 @@ export function DesignSystemGallery({
|
|
|
758
758
|
},
|
|
759
759
|
]}
|
|
760
760
|
/>
|
|
761
|
+
<p className="plain-publication__provenance"><a href="#gallery-article-title">Read the article</a></p>
|
|
761
762
|
<div className="hraness-prose">
|
|
762
763
|
<h3>Shared reading scale</h3>
|
|
763
764
|
<p>
|
package/src/typography.css
CHANGED
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
/* Prose and secondary text actions share a quiet, persistent link affordance. */
|
|
95
95
|
.hraness-text-link,
|
|
96
96
|
.hraness-prose :where(a:not([role="button"], [data-emphasis], [data-foil])),
|
|
97
|
-
.plain-publication__article-body :where(a:not([role="button"], [data-emphasis], [data-foil])),
|
|
97
|
+
:is(.plain-publication__article-body, .plain-publication__sources, .plain-publication__provenance, .hraness-marketing-comparison__note) :where(a:not([role="button"], [data-emphasis], [data-foil])),
|
|
98
98
|
.plain-page :where(p, li, dd, dt, figcaption) a:not([role="button"], [data-emphasis], [data-foil]) {
|
|
99
99
|
text-decoration-line: underline;
|
|
100
100
|
text-decoration-style: dotted;
|
|
@@ -103,16 +103,20 @@
|
|
|
103
103
|
text-underline-offset: 0.2em;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
.hraness-
|
|
108
|
-
.
|
|
109
|
-
|
|
106
|
+
@media (forced-colors: none) {
|
|
107
|
+
.hraness-text-link:is(:hover, :focus-visible),
|
|
108
|
+
.hraness-prose :where(a:not([role="button"], [data-emphasis], [data-foil])):is(:hover, :focus-visible),
|
|
109
|
+
:is(.plain-publication__article-body, .plain-publication__sources, .plain-publication__provenance, .hraness-marketing-comparison__note) :where(a:not([role="button"], [data-emphasis], [data-foil])):is(:hover, :focus-visible),
|
|
110
|
+
.plain-page :where(p, li, dd, dt, figcaption) a:not([role="button"], [data-emphasis], [data-foil]):is(:hover, :focus-visible) {
|
|
111
|
+
text-decoration-color: currentColor;
|
|
112
|
+
}
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
@media (forced-colors: active) {
|
|
113
116
|
.hraness-text-link,
|
|
114
|
-
.hraness-prose :where(a),
|
|
115
|
-
.plain-
|
|
117
|
+
.hraness-prose :where(a:not([role="button"], [data-emphasis], [data-foil])),
|
|
118
|
+
:is(.plain-publication__article-body, .plain-publication__sources, .plain-publication__provenance, .hraness-marketing-comparison__note) :where(a:not([role="button"], [data-emphasis], [data-foil])),
|
|
119
|
+
.plain-page :where(p, li, dd, dt, figcaption) a:not([role="button"], [data-emphasis], [data-foil]) {
|
|
116
120
|
text-decoration-color: LinkText;
|
|
117
121
|
}
|
|
118
122
|
}
|