@dloizides/marketing-astro-kit 1.4.0 → 1.5.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/package.json +54 -54
- package/src/a11y.css +46 -22
package/package.json
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dloizides/marketing-astro-kit",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Reusable, themeable Astro marketing sections for product sites — a Free-vs-Pro pricing comparison table, a trust / credibility section (security cards, customer-logo + testimonial placeholders, discreet built-by), a client-side \"try it\" demo shell, and an SEO guides/content-hub card + frontmatter schema. Data-driven via a shared TypeScript schema; themed entirely through the host site's CSS custom properties.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"astro",
|
|
7
|
-
"marketing",
|
|
8
|
-
"pricing",
|
|
9
|
-
"comparison-table",
|
|
10
|
-
"trust",
|
|
11
|
-
"demo",
|
|
12
|
-
"guides",
|
|
13
|
-
"content-hub",
|
|
14
|
-
"seo",
|
|
15
|
-
"landing-page",
|
|
16
|
-
"saas",
|
|
17
|
-
"hero",
|
|
18
|
-
"background",
|
|
19
|
-
"canvas",
|
|
20
|
-
"animation"
|
|
21
|
-
],
|
|
22
|
-
"author": "dloizides",
|
|
23
|
-
"license": "MIT",
|
|
24
|
-
"type": "module",
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "https://github.com/openmindednewby/marketing-astro-kit.git"
|
|
28
|
-
},
|
|
29
|
-
"files": [
|
|
30
|
-
"src",
|
|
31
|
-
"README.md",
|
|
32
|
-
"CHANGELOG.md"
|
|
33
|
-
],
|
|
34
|
-
"exports": {
|
|
35
|
-
"./PricingComparison.astro": "./src/PricingComparison.astro",
|
|
36
|
-
"./TrustSection.astro": "./src/TrustSection.astro",
|
|
37
|
-
"./PrimaryCta.astro": "./src/PrimaryCta.astro",
|
|
38
|
-
"./DemoFrame.astro": "./src/DemoFrame.astro",
|
|
39
|
-
"./GuideCard.astro": "./src/GuideCard.astro",
|
|
40
|
-
"./schema": "./src/schema.ts",
|
|
41
|
-
"./a11y.css": "./src/a11y.css",
|
|
42
|
-
"./icons": "./src/icons.ts",
|
|
43
|
-
"./HeroBackdrop.astro": "./src/HeroBackdrop.astro",
|
|
44
|
-
"./heroBackdrop": "./src/heroBackdrop/presets.ts",
|
|
45
|
-
"./heroBackdrop/types": "./src/heroBackdrop/types.ts"
|
|
46
|
-
},
|
|
47
|
-
"peerDependencies": {
|
|
48
|
-
"astro": ">=4"
|
|
49
|
-
},
|
|
50
|
-
"sideEffects": false,
|
|
51
|
-
"engines": {
|
|
52
|
-
"node": ">=18.0.0"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@dloizides/marketing-astro-kit",
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "Reusable, themeable Astro marketing sections for product sites — a Free-vs-Pro pricing comparison table, a trust / credibility section (security cards, customer-logo + testimonial placeholders, discreet built-by), a client-side \"try it\" demo shell, and an SEO guides/content-hub card + frontmatter schema. Data-driven via a shared TypeScript schema; themed entirely through the host site's CSS custom properties.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"astro",
|
|
7
|
+
"marketing",
|
|
8
|
+
"pricing",
|
|
9
|
+
"comparison-table",
|
|
10
|
+
"trust",
|
|
11
|
+
"demo",
|
|
12
|
+
"guides",
|
|
13
|
+
"content-hub",
|
|
14
|
+
"seo",
|
|
15
|
+
"landing-page",
|
|
16
|
+
"saas",
|
|
17
|
+
"hero",
|
|
18
|
+
"background",
|
|
19
|
+
"canvas",
|
|
20
|
+
"animation"
|
|
21
|
+
],
|
|
22
|
+
"author": "dloizides",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"type": "module",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/openmindednewby/marketing-astro-kit.git"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"src",
|
|
31
|
+
"README.md",
|
|
32
|
+
"CHANGELOG.md"
|
|
33
|
+
],
|
|
34
|
+
"exports": {
|
|
35
|
+
"./PricingComparison.astro": "./src/PricingComparison.astro",
|
|
36
|
+
"./TrustSection.astro": "./src/TrustSection.astro",
|
|
37
|
+
"./PrimaryCta.astro": "./src/PrimaryCta.astro",
|
|
38
|
+
"./DemoFrame.astro": "./src/DemoFrame.astro",
|
|
39
|
+
"./GuideCard.astro": "./src/GuideCard.astro",
|
|
40
|
+
"./schema": "./src/schema.ts",
|
|
41
|
+
"./a11y.css": "./src/a11y.css",
|
|
42
|
+
"./icons": "./src/icons.ts",
|
|
43
|
+
"./HeroBackdrop.astro": "./src/HeroBackdrop.astro",
|
|
44
|
+
"./heroBackdrop": "./src/heroBackdrop/presets.ts",
|
|
45
|
+
"./heroBackdrop/types": "./src/heroBackdrop/types.ts"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"astro": ">=4"
|
|
49
|
+
},
|
|
50
|
+
"sideEffects": false,
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=18.0.0"
|
|
53
|
+
}
|
|
54
|
+
}
|
package/src/a11y.css
CHANGED
|
@@ -1,22 +1,46 @@
|
|
|
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
|
-
}
|
|
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
|
+
}
|
|
23
|
+
|
|
24
|
+
/* ---------------------------------------------------------------------------
|
|
25
|
+
* TOPNAV TOUCH TARGETS
|
|
26
|
+
*
|
|
27
|
+
* The site header is hand-rolled per marketing site (agora / ichnos / kefi each
|
|
28
|
+
* own their own `src/components/SiteNav.astro`) but all three emit the SAME
|
|
29
|
+
* class names, and none of them sets a min-height. Measured at 360x640 on the
|
|
30
|
+
* deployed sites the brand link came out 36px tall and the nav CTA 41px, on all
|
|
31
|
+
* three identically. Because the defect is in shared markup conventions rather
|
|
32
|
+
* than in a shared component, the fix is a selector here rather than a new
|
|
33
|
+
* component: a site adopts it by importing this file once from its base layout.
|
|
34
|
+
*
|
|
35
|
+
* The per-site Astro scoped styles only set colour, font and gap on these
|
|
36
|
+
* selectors, so there is no min-height to fight; source order decides and this
|
|
37
|
+
* file is imported last.
|
|
38
|
+
* ------------------------------------------------------------------------- */
|
|
39
|
+
.topnav .brand,
|
|
40
|
+
.topnav__links > a {
|
|
41
|
+
display: inline-flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
min-height: var(--tmk-min-target);
|
|
45
|
+
min-width: var(--tmk-min-target);
|
|
46
|
+
}
|