@dloizides/marketing-astro-kit 1.3.1 → 1.4.0

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/src/a11y.css ADDED
@@ -0,0 +1,22 @@
1
+ /* Minimum touch-target floor for every interactive box in this kit.
2
+ *
3
+ * SOURCE OF TRUTH: `MIN_TARGET_PX` in @dloizides/ui-layout
4
+ * (v1.27.0, src/constants.ts:134). It is re-declared here as a CSS custom
5
+ * property rather than imported, deliberately:
6
+ *
7
+ * 1. ui-layout is a React Native / RN-web package. Its peer dependencies are
8
+ * react, react-dom, react-native, react-native-svg and three more
9
+ * @dloizides UI packages. This kit is a zero-dependency static Astro
10
+ * source distribution (one peer: astro). Pulling that stack in for one
11
+ * integer is the wrong trade.
12
+ * 2. A CSS `min-height` cannot read a JS constant anyway. The value has to
13
+ * exist as CSS somewhere, so the only question is how many times — and
14
+ * this file is the one place.
15
+ *
16
+ * Keep the two in sync: if ui-layout's MIN_TARGET_PX changes, change this.
17
+ * A host may RAISE this (e.g. a touch-heavy kiosk build); it must never lower
18
+ * it below 44px, which is the WCAG 2.2 AA target-size floor.
19
+ */
20
+ :root {
21
+ --tmk-min-target: 44px;
22
+ }
@@ -93,32 +93,41 @@ export const HERO_BACKDROP_PRESETS: Record<HeroBackdropPresetName, HeroBackdropP
93
93
  /**
94
94
  * CSDF's shipped backdrop, exported from the studio verbatim.
95
95
  *
96
- * Read `count: 40` before judging this against `ember-high`. It is High's
97
- * CSS intensity and High's `size`/`drift` feel on a deliberately SPARSE
98
- * field — an eighth of the 320-particle default. Per-frame cost is dominated
99
- * by the sprite draw loop, so the sparse field is what makes a canvas
100
- * backdrop defensible on a site with a hard Lighthouse >= 80 budget.
101
- * A `focus` of 0.85 flattens the column into a wider sheet to compensate,
102
- * and the longer `life` (1.7) keeps each of the few sprites on screen longer.
96
+ * The id still says `sparse`; the field is no longer sparse in the original
97
+ * sense. `count` was raised 40 -> 110 (still about a third of the 320-particle
98
+ * default), and the cost of that is paid back everywhere else: the CSS layer
99
+ * dropped from the High intensity triplet to `CSS_MED`, `alpha` fell to 0.44,
100
+ * and `rise` fell from 2.6 to 0.68 so sprites drift rather than shoot. The
101
+ * result is a slow, wide, low-contrast bed of embers instead of a few fast
102
+ * bright ones. A `life` of 2.5 keeps each sprite alive long enough for that
103
+ * slow rise to read, and `bloomA: 2` puts the extra glow in the static base
104
+ * bloom -- one cheap gradient -- rather than in more sprites.
105
+ *
106
+ * The NAME is deliberately unchanged. `HeroBackdropPresetName` is this
107
+ * package's published public API and `CsdfSite.astro` indexes
108
+ * `HERO_BACKDROP_PRESETS[...]` directly with no undefined fallback, so a
109
+ * rename is a breaking change that blanks the hero for any consumer that
110
+ * updates the app before the package. Read `sparse` as "the CSDF one",
111
+ * historical, and trust the numbers below.
103
112
  */
104
113
  'csdf-ember-sparse': {
105
114
  variant: 'ember',
106
115
  engine: 'canvas',
107
- label: 'CSDF ember — sparse column, high intensity',
116
+ label: 'CSDF ember — wide slow column, medium intensity',
108
117
  palette: EMBER_PALETTE,
109
- css: { amp: 1.34, spd: 0.72, bri: 1.3, blurk: 0.82 },
118
+ css: CSS_MED,
110
119
  ember: {
111
120
  width: 1.2,
112
- focus: 0.85,
113
- count: 40,
114
- rise: 2.6,
121
+ focus: 1,
122
+ count: 110,
123
+ rise: 0.68,
115
124
  drift: 1.15,
116
- swirl: 2.7,
117
- size: 1.24,
118
- life: 1.7,
119
- alpha: 0.62,
120
- bloomA: 1,
121
- bloomH: 0.85,
125
+ swirl: 1.2,
126
+ size: 1.12,
127
+ life: 2.5,
128
+ alpha: 0.44,
129
+ bloomA: 2,
130
+ bloomH: 0.9,
122
131
  },
123
132
  },
124
133
  'doom-med': {