matefluency 1.0.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.
@@ -0,0 +1,264 @@
1
+ /*!
2
+ * MateFluency Design System v1.0.0
3
+ * EcoWestern Naturalism Design Language
4
+ * Copyright (c) 2026 EcoWestern. All rights reserved.
5
+ * https://ecowestern.net
6
+ *
7
+ * Proprietary license — free to use, no derivatives or redistribution.
8
+ * See LICENSE or https://ecowestern.net/matefluency/license for full terms.
9
+ */
10
+
11
+ /**
12
+ * MateFluency Design System — Utilities & Motion Layer
13
+ *
14
+ * Animation keyframes, utility classes, and the full animation
15
+ * vocabulary used across the MateFluency design language.
16
+ */
17
+
18
+ /* ─── Keyframes ──────────────────────────────── */
19
+
20
+ @keyframes mf-fade-in-up {
21
+ from {
22
+ opacity: 0;
23
+ transform: translateY(20px);
24
+ }
25
+
26
+ to {
27
+ opacity: 1;
28
+ transform: translateY(0);
29
+ }
30
+ }
31
+
32
+ @keyframes mf-scroll {
33
+ 0% {
34
+ transform: translateX(0);
35
+ }
36
+
37
+ 100% {
38
+ transform: translateX(-50%);
39
+ }
40
+ }
41
+
42
+ @keyframes mf-scroll-reverse {
43
+ 0% {
44
+ transform: translateX(-50%);
45
+ }
46
+
47
+ 100% {
48
+ transform: translateX(0);
49
+ }
50
+ }
51
+
52
+ @keyframes mf-blob {
53
+ 0% {
54
+ transform: translate(0px, 0px) scale(1);
55
+ }
56
+
57
+ 33% {
58
+ transform: translate(30px, -50px) scale(1.1);
59
+ }
60
+
61
+ 66% {
62
+ transform: translate(-20px, 20px) scale(0.9);
63
+ }
64
+
65
+ 100% {
66
+ transform: translate(0px, 0px) scale(1);
67
+ }
68
+ }
69
+
70
+ @keyframes mf-float {
71
+ 0% {
72
+ transform: translateY(0px);
73
+ }
74
+
75
+ 50% {
76
+ transform: translateY(-20px);
77
+ }
78
+
79
+ 100% {
80
+ transform: translateY(0px);
81
+ }
82
+ }
83
+
84
+ @keyframes mf-breathe {
85
+
86
+ 0%,
87
+ 100% {
88
+ transform: scale(1);
89
+ }
90
+
91
+ 50% {
92
+ transform: scale(1.05);
93
+ }
94
+ }
95
+
96
+ /* ─── Animation Utility Classes ──────────────── */
97
+
98
+ /**
99
+ * .mf-animate-in
100
+ * Page-entry animation — fades content up from 20px.
101
+ * Apply to the first visible section on each page.
102
+ */
103
+ .mf-animate-in {
104
+ animation: mf-fade-in-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
105
+ }
106
+
107
+ /**
108
+ * .mf-scroll / .mf-scroll-reverse
109
+ * Infinite marquee strip. Apply to TWO duplicate containers
110
+ * inside a parent with overflow: hidden; display: flex.
111
+ * Both children must have the same class to avoid a reset flash.
112
+ */
113
+ .mf-scroll {
114
+ animation: mf-scroll 20s linear infinite;
115
+ }
116
+
117
+ .mf-scroll-reverse {
118
+ animation: mf-scroll-reverse 20s linear infinite;
119
+ }
120
+
121
+ /**
122
+ * .mf-blob
123
+ * Ambient background blob drift. Use on large blurred circles
124
+ * behind hero sections.
125
+ */
126
+ .mf-blob {
127
+ animation: mf-blob 7s infinite;
128
+ }
129
+
130
+ /**
131
+ * .mf-float
132
+ * Slow vertical float. Great for illustration SVGs or product
133
+ * images in hero sections.
134
+ */
135
+ .mf-float {
136
+ animation: mf-float 6s ease-in-out infinite;
137
+ }
138
+
139
+ /**
140
+ * .mf-breathe
141
+ * Subtle scale pulse. Use on ambient background shapes to make
142
+ * them feel alive.
143
+ */
144
+ .mf-breathe {
145
+ animation: mf-breathe 4s ease-in-out infinite;
146
+ }
147
+
148
+ /* ─── Text Utilities ─────────────────────────── */
149
+
150
+ /**
151
+ * .mf-text-balance
152
+ * Prevents awkward single-word last lines in headings.
153
+ * Especially useful on H1/H2 copy.
154
+ */
155
+ .mf-text-balance {
156
+ text-wrap: balance;
157
+ }
158
+
159
+ /* ─── Layout Utilities ───────────────────────── */
160
+
161
+ /**
162
+ * .mf-container
163
+ * The standard MateFluency page container.
164
+ * max-width: 72rem (1152px), centered, with responsive horizontal padding.
165
+ */
166
+ .mf-container {
167
+ max-width: 72rem;
168
+ margin-left: auto;
169
+ margin-right: auto;
170
+ padding-left: 1.5rem;
171
+ /* px-6 */
172
+ padding-right: 1.5rem;
173
+ }
174
+
175
+ @media (min-width: 768px) {
176
+ .mf-container {
177
+ padding-left: 2.5rem;
178
+ /* md:px-10 */
179
+ padding-right: 2.5rem;
180
+ }
181
+ }
182
+
183
+ /* ─── Typography Presets ─────────────────────── */
184
+
185
+ /**
186
+ * These classes mirror the canonical MateFluency type scale.
187
+ * You don't have to use them — they're provided as a convenience
188
+ * for non-Tailwind projects.
189
+ */
190
+
191
+ .mf-eyebrow {
192
+ font-size: 0.65rem;
193
+ font-weight: 700;
194
+ text-transform: uppercase;
195
+ letter-spacing: 0.3em;
196
+ color: var(--mf-green, #086d00);
197
+ }
198
+
199
+ @media (min-width: 768px) {
200
+ .mf-eyebrow {
201
+ font-size: 0.75rem;
202
+ }
203
+ }
204
+
205
+ .mf-h1 {
206
+ font-size: 2.25rem;
207
+ /* text-4xl */
208
+ font-weight: 800;
209
+ letter-spacing: -0.025em;
210
+ line-height: 1.05;
211
+ color: var(--mf-ink, #1d1d1f);
212
+ text-wrap: balance;
213
+ }
214
+
215
+ @media (min-width: 640px) {
216
+ .mf-h1 {
217
+ font-size: 3rem;
218
+ }
219
+ }
220
+
221
+ /* sm:text-5xl */
222
+ @media (min-width: 768px) {
223
+ .mf-h1 {
224
+ font-size: 4.5rem;
225
+ }
226
+ }
227
+
228
+ /* md:text-7xl */
229
+
230
+ .mf-h2 {
231
+ font-size: 1.875rem;
232
+ /* text-3xl */
233
+ font-weight: 700;
234
+ letter-spacing: -0.025em;
235
+ color: var(--mf-ink, #1d1d1f);
236
+ }
237
+
238
+ .mf-h3 {
239
+ font-size: 1.5rem;
240
+ /* text-2xl */
241
+ font-weight: 700;
242
+ color: var(--mf-ink, #1d1d1f);
243
+ }
244
+
245
+ .mf-body {
246
+ font-size: 1rem;
247
+ font-weight: 500;
248
+ line-height: 1.75;
249
+ color: var(--mf-text-2, #515154);
250
+ text-wrap: balance;
251
+ }
252
+
253
+ @media (min-width: 768px) {
254
+ .mf-body {
255
+ font-size: 1.25rem;
256
+ /* md:text-xl */
257
+ }
258
+ }
259
+
260
+ .mf-meta {
261
+ font-size: 0.75rem;
262
+ font-weight: 600;
263
+ color: var(--mf-text-3, #6e6e73);
264
+ }
package/index.js ADDED
@@ -0,0 +1,43 @@
1
+ /**
2
+ * MateFluency Design System — JS Entry Point
3
+ *
4
+ * This file is the `main` entry for the npm package.
5
+ * It exports helper metadata and documents the available CSS imports.
6
+ *
7
+ * CSS Usage:
8
+ * import "matefluency/css"; // Full bundle (vanilla CSS)
9
+ * import "matefluency/css/tailwind"; // Tailwind v4 bundle
10
+ *
11
+ * Or in a .css file:
12
+ * @import "matefluency"; // Resolves to dist/matefluency.css
13
+ */
14
+
15
+ module.exports = {
16
+ name: "MateFluency",
17
+ version: "1.0.0",
18
+ description: "EcoWestern Naturalism Design System",
19
+
20
+ /**
21
+ * Design tokens — exposed as JS for use in design tools,
22
+ * or for generating Tailwind config in v3 projects.
23
+ */
24
+ tokens: {
25
+ colors: {
26
+ green: "#086d00",
27
+ greenFocus: "#1db100",
28
+ greenHover: "#065a00",
29
+ ink: "#1d1d1f",
30
+ text2: "#515154",
31
+ text3: "#6e6e73",
32
+ separator: "#e8e8ed",
33
+ canvas: "#f7f7f2",
34
+ },
35
+ radius: {
36
+ organic: "2rem",
37
+ },
38
+ easing: {
39
+ release: "cubic-bezier(0.25, 1, 0.5, 1)",
40
+ enter: "cubic-bezier(0.16, 1, 0.3, 1)",
41
+ },
42
+ },
43
+ };
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "matefluency",
3
+ "version": "1.0.0",
4
+ "description": "MateFluency — The EcoWestern Naturalism design system. Organic surfaces, soft textures, and weighted motion for the modern web.",
5
+ "keywords": [
6
+ "design-system",
7
+ "css",
8
+ "naturalism",
9
+ "matefluency",
10
+ "ecowestern",
11
+ "ui"
12
+ ],
13
+ "author": "EcoWestern <hello@ecowestern.net>",
14
+ "license": "UNLICENSED",
15
+ "homepage": "https://ecowestern.net",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/ecowestern/matefluency"
19
+ },
20
+ "main": "index.js",
21
+ "exports": {
22
+ ".": "./index.js",
23
+ "./css": "./dist/matefluency.css"
24
+ },
25
+ "files": [
26
+ "dist/",
27
+ "index.js",
28
+ "README.md",
29
+ "LICENSE"
30
+ ],
31
+ "scripts": {
32
+ "build": "node scripts/build.js",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "devDependencies": {
36
+ "fs-extra": "^11.2.0"
37
+ }
38
+ }