@cirthcss/cirth 0.2.0 → 0.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.
Files changed (166) hide show
  1. package/README.md +153 -49
  2. package/dist/cirth.classless.css +857 -1653
  3. package/dist/cirth.classless.min.css +1 -1
  4. package/dist/cirth.classless.scoped.css +855 -1368
  5. package/dist/cirth.classless.scoped.min.css +1 -1
  6. package/dist/cirth.css +959 -1890
  7. package/dist/cirth.min.css +1 -1
  8. package/dist/cirth.scoped.css +954 -1608
  9. package/dist/cirth.scoped.min.css +1 -1
  10. package/dist/presets/cobalt.css +50 -0
  11. package/dist/presets/cobalt.min.css +1 -0
  12. package/dist/presets/coral.css +56 -0
  13. package/dist/presets/coral.min.css +1 -0
  14. package/package.json +28 -5
  15. package/dist/cirth.amber.css +0 -3747
  16. package/dist/cirth.amber.min.css +0 -1
  17. package/dist/cirth.blue.css +0 -3747
  18. package/dist/cirth.blue.min.css +0 -1
  19. package/dist/cirth.classless.amber.css +0 -3245
  20. package/dist/cirth.classless.amber.min.css +0 -1
  21. package/dist/cirth.classless.blue.css +0 -3245
  22. package/dist/cirth.classless.blue.min.css +0 -1
  23. package/dist/cirth.classless.cyan.css +0 -3245
  24. package/dist/cirth.classless.cyan.min.css +0 -1
  25. package/dist/cirth.classless.fuchsia.css +0 -3245
  26. package/dist/cirth.classless.fuchsia.min.css +0 -1
  27. package/dist/cirth.classless.green.css +0 -3245
  28. package/dist/cirth.classless.green.min.css +0 -1
  29. package/dist/cirth.classless.grey.css +0 -3245
  30. package/dist/cirth.classless.grey.min.css +0 -1
  31. package/dist/cirth.classless.indigo.css +0 -3245
  32. package/dist/cirth.classless.indigo.min.css +0 -1
  33. package/dist/cirth.classless.jade.css +0 -3245
  34. package/dist/cirth.classless.jade.min.css +0 -1
  35. package/dist/cirth.classless.lime.css +0 -3245
  36. package/dist/cirth.classless.lime.min.css +0 -1
  37. package/dist/cirth.classless.orange.css +0 -3245
  38. package/dist/cirth.classless.orange.min.css +0 -1
  39. package/dist/cirth.classless.pink.css +0 -3245
  40. package/dist/cirth.classless.pink.min.css +0 -1
  41. package/dist/cirth.classless.pumpkin.css +0 -3245
  42. package/dist/cirth.classless.pumpkin.min.css +0 -1
  43. package/dist/cirth.classless.purple.css +0 -3245
  44. package/dist/cirth.classless.purple.min.css +0 -1
  45. package/dist/cirth.classless.red.css +0 -3245
  46. package/dist/cirth.classless.red.min.css +0 -1
  47. package/dist/cirth.classless.sand.css +0 -3245
  48. package/dist/cirth.classless.sand.min.css +0 -1
  49. package/dist/cirth.classless.scoped.amber.css +0 -2959
  50. package/dist/cirth.classless.scoped.amber.min.css +0 -1
  51. package/dist/cirth.classless.scoped.blue.css +0 -2959
  52. package/dist/cirth.classless.scoped.blue.min.css +0 -1
  53. package/dist/cirth.classless.scoped.cyan.css +0 -2959
  54. package/dist/cirth.classless.scoped.cyan.min.css +0 -1
  55. package/dist/cirth.classless.scoped.fuchsia.css +0 -2959
  56. package/dist/cirth.classless.scoped.fuchsia.min.css +0 -1
  57. package/dist/cirth.classless.scoped.green.css +0 -2959
  58. package/dist/cirth.classless.scoped.green.min.css +0 -1
  59. package/dist/cirth.classless.scoped.grey.css +0 -2959
  60. package/dist/cirth.classless.scoped.grey.min.css +0 -1
  61. package/dist/cirth.classless.scoped.indigo.css +0 -2959
  62. package/dist/cirth.classless.scoped.indigo.min.css +0 -1
  63. package/dist/cirth.classless.scoped.jade.css +0 -2959
  64. package/dist/cirth.classless.scoped.jade.min.css +0 -1
  65. package/dist/cirth.classless.scoped.lime.css +0 -2959
  66. package/dist/cirth.classless.scoped.lime.min.css +0 -1
  67. package/dist/cirth.classless.scoped.orange.css +0 -2959
  68. package/dist/cirth.classless.scoped.orange.min.css +0 -1
  69. package/dist/cirth.classless.scoped.pink.css +0 -2959
  70. package/dist/cirth.classless.scoped.pink.min.css +0 -1
  71. package/dist/cirth.classless.scoped.pumpkin.css +0 -2959
  72. package/dist/cirth.classless.scoped.pumpkin.min.css +0 -1
  73. package/dist/cirth.classless.scoped.purple.css +0 -2959
  74. package/dist/cirth.classless.scoped.purple.min.css +0 -1
  75. package/dist/cirth.classless.scoped.red.css +0 -2959
  76. package/dist/cirth.classless.scoped.red.min.css +0 -1
  77. package/dist/cirth.classless.scoped.sand.css +0 -2959
  78. package/dist/cirth.classless.scoped.sand.min.css +0 -1
  79. package/dist/cirth.classless.scoped.slate.css +0 -2959
  80. package/dist/cirth.classless.scoped.slate.min.css +0 -1
  81. package/dist/cirth.classless.scoped.violet.css +0 -2959
  82. package/dist/cirth.classless.scoped.violet.min.css +0 -1
  83. package/dist/cirth.classless.scoped.yellow.css +0 -2959
  84. package/dist/cirth.classless.scoped.yellow.min.css +0 -1
  85. package/dist/cirth.classless.scoped.zinc.css +0 -2959
  86. package/dist/cirth.classless.scoped.zinc.min.css +0 -1
  87. package/dist/cirth.classless.slate.css +0 -3245
  88. package/dist/cirth.classless.slate.min.css +0 -1
  89. package/dist/cirth.classless.violet.css +0 -3245
  90. package/dist/cirth.classless.violet.min.css +0 -1
  91. package/dist/cirth.classless.yellow.css +0 -3245
  92. package/dist/cirth.classless.yellow.min.css +0 -1
  93. package/dist/cirth.classless.zinc.css +0 -3245
  94. package/dist/cirth.classless.zinc.min.css +0 -1
  95. package/dist/cirth.cyan.css +0 -3747
  96. package/dist/cirth.cyan.min.css +0 -1
  97. package/dist/cirth.fuchsia.css +0 -3747
  98. package/dist/cirth.fuchsia.min.css +0 -1
  99. package/dist/cirth.green.css +0 -3747
  100. package/dist/cirth.green.min.css +0 -1
  101. package/dist/cirth.grey.css +0 -3747
  102. package/dist/cirth.grey.min.css +0 -1
  103. package/dist/cirth.indigo.css +0 -3747
  104. package/dist/cirth.indigo.min.css +0 -1
  105. package/dist/cirth.jade.css +0 -3747
  106. package/dist/cirth.jade.min.css +0 -1
  107. package/dist/cirth.lime.css +0 -3747
  108. package/dist/cirth.lime.min.css +0 -1
  109. package/dist/cirth.orange.css +0 -3747
  110. package/dist/cirth.orange.min.css +0 -1
  111. package/dist/cirth.pink.css +0 -3747
  112. package/dist/cirth.pink.min.css +0 -1
  113. package/dist/cirth.pumpkin.css +0 -3747
  114. package/dist/cirth.pumpkin.min.css +0 -1
  115. package/dist/cirth.purple.css +0 -3747
  116. package/dist/cirth.purple.min.css +0 -1
  117. package/dist/cirth.red.css +0 -3747
  118. package/dist/cirth.red.min.css +0 -1
  119. package/dist/cirth.sand.css +0 -3747
  120. package/dist/cirth.sand.min.css +0 -1
  121. package/dist/cirth.scoped.amber.css +0 -3467
  122. package/dist/cirth.scoped.amber.min.css +0 -1
  123. package/dist/cirth.scoped.blue.css +0 -3467
  124. package/dist/cirth.scoped.blue.min.css +0 -1
  125. package/dist/cirth.scoped.cyan.css +0 -3467
  126. package/dist/cirth.scoped.cyan.min.css +0 -1
  127. package/dist/cirth.scoped.fuchsia.css +0 -3467
  128. package/dist/cirth.scoped.fuchsia.min.css +0 -1
  129. package/dist/cirth.scoped.green.css +0 -3467
  130. package/dist/cirth.scoped.green.min.css +0 -1
  131. package/dist/cirth.scoped.grey.css +0 -3467
  132. package/dist/cirth.scoped.grey.min.css +0 -1
  133. package/dist/cirth.scoped.indigo.css +0 -3467
  134. package/dist/cirth.scoped.indigo.min.css +0 -1
  135. package/dist/cirth.scoped.jade.css +0 -3467
  136. package/dist/cirth.scoped.jade.min.css +0 -1
  137. package/dist/cirth.scoped.lime.css +0 -3467
  138. package/dist/cirth.scoped.lime.min.css +0 -1
  139. package/dist/cirth.scoped.orange.css +0 -3467
  140. package/dist/cirth.scoped.orange.min.css +0 -1
  141. package/dist/cirth.scoped.pink.css +0 -3467
  142. package/dist/cirth.scoped.pink.min.css +0 -1
  143. package/dist/cirth.scoped.pumpkin.css +0 -3467
  144. package/dist/cirth.scoped.pumpkin.min.css +0 -1
  145. package/dist/cirth.scoped.purple.css +0 -3467
  146. package/dist/cirth.scoped.purple.min.css +0 -1
  147. package/dist/cirth.scoped.red.css +0 -3467
  148. package/dist/cirth.scoped.red.min.css +0 -1
  149. package/dist/cirth.scoped.sand.css +0 -3467
  150. package/dist/cirth.scoped.sand.min.css +0 -1
  151. package/dist/cirth.scoped.slate.css +0 -3467
  152. package/dist/cirth.scoped.slate.min.css +0 -1
  153. package/dist/cirth.scoped.violet.css +0 -3467
  154. package/dist/cirth.scoped.violet.min.css +0 -1
  155. package/dist/cirth.scoped.yellow.css +0 -3467
  156. package/dist/cirth.scoped.yellow.min.css +0 -1
  157. package/dist/cirth.scoped.zinc.css +0 -3467
  158. package/dist/cirth.scoped.zinc.min.css +0 -1
  159. package/dist/cirth.slate.css +0 -3747
  160. package/dist/cirth.slate.min.css +0 -1
  161. package/dist/cirth.violet.css +0 -3747
  162. package/dist/cirth.violet.min.css +0 -1
  163. package/dist/cirth.yellow.css +0 -3747
  164. package/dist/cirth.yellow.min.css +0 -1
  165. package/dist/cirth.zinc.css +0 -3747
  166. package/dist/cirth.zinc.min.css +0 -1
package/README.md CHANGED
@@ -1,20 +1,21 @@
1
1
  <p align="center">
2
2
  <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset=".github/logo-dark.svg">
4
- <source media="(prefers-color-scheme: light)" srcset=".github/logo-light.svg">
5
- <img alt="Cirth" src=".github/logo-light.svg" width="112" height="112">
3
+ <source media="(prefers-color-scheme: dark)" srcset="docs/public/logo_brand_app_dark.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset="docs/public/logo_brand_app.svg">
5
+ <img alt="Cirth" src="docs/public/logo_brand_app.svg" width="120" height="120">
6
6
  </picture>
7
7
  </p>
8
8
 
9
9
  <h1 align="center">Cirth</h1>
10
10
 
11
11
  <p align="center">
12
- <strong>Semantic by default. Classes only when needed.</strong>
12
+ <strong>Write HTML. It's already styled.</strong>
13
13
  </p>
14
14
 
15
15
  <p align="center">
16
- Semantic-first CSS for production-ready interfaces with clean HTML,
17
- modern CSS, and minimal class noise.
16
+ Semantic-first CSS where standard elements carry the styling: nav,
17
+ article, button, table. Classes exist only for the few things HTML can't
18
+ say.
18
19
  </p>
19
20
 
20
21
  <p align="center">
@@ -22,11 +23,17 @@
22
23
  ·
23
24
  <a href="#builds">Builds</a>
24
25
  ·
26
+ <a href="#presets">Presets</a>
27
+ ·
25
28
  <a href="#customization">Customization</a>
26
29
  ·
27
- <a href="#philosophy">Philosophy</a>
30
+ <a href="#documentation">Documentation</a>
31
+ ·
32
+ <a href="#contributing">Contributing</a>
28
33
  ·
29
- <a href="#roadmap">Roadmap</a>
34
+ <a href="#browser-support">Browser support</a>
35
+ ·
36
+ <a href="#philosophy">Philosophy</a>
30
37
  </p>
31
38
 
32
39
  <p align="center">
@@ -36,7 +43,7 @@
36
43
  <a href="https://github.com/cirthcss/cirth/releases">
37
44
  <img alt="GitHub Release" src="https://img.shields.io/github/v/release/cirthcss/cirth?include_prereleases">
38
45
  </a>
39
- <img alt="Status" src="https://img.shields.io/badge/status-early%20stabilization-orange">
46
+ <img alt="Status" src="https://img.shields.io/badge/status-active%20development-blue">
40
47
  <img alt="License" src="https://img.shields.io/badge/license-MIT-blue">
41
48
  </p>
42
49
 
@@ -45,7 +52,7 @@
45
52
  Include one stylesheet and write ordinary semantic HTML.
46
53
 
47
54
  ```html
48
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@cirthcss/cirth@0.2.0/dist/cirth.min.css">
55
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@cirthcss/cirth@0.4.0/dist/cirth.min.css">
49
56
  ```
50
57
 
51
58
  ```html
@@ -97,9 +104,9 @@ The main generated stylesheets are:
97
104
  | `dist/cirth.scoped.min.css` | Scoped build for embedding Cirth under `.cirth`. |
98
105
  | `dist/cirth.classless.scoped.min.css` | Scoped classless build. |
99
106
 
100
- Theme-specific builds are also generated, for example
101
- `dist/cirth.slate.min.css` and `dist/cirth.classless.slate.min.css`. The theme
102
- set is still being reviewed and will likely become smaller.
107
+ All four builds share Cirth's one official theme (amber), with light and
108
+ dark variants. `cobalt` and `coral` are optional presets, not separate theme
109
+ builds see [Presets](#presets) below and [Colors](docs/colors.md).
103
110
 
104
111
  ### Classless
105
112
 
@@ -126,6 +133,34 @@ when embedding Cirth into an existing page, CMS, widget, or application shell.
126
133
  </div>
127
134
  ```
128
135
 
136
+ ## Presets
137
+
138
+ `cobalt` and `coral` are optional presets: stylesheets that override an
139
+ existing set of custom properties (color, shadow, type, spacing, motion) on
140
+ top of the default theme. They're worked examples of restyling the system,
141
+ not independently maintained themes — load one after the main stylesheet.
142
+
143
+ - **`cobalt`** — corporate: deep navy primary, cool-toned neutrals, a flat
144
+ shadow, a business-like Arial/Helvetica font stack, denser spacing,
145
+ snappier motion, square corners.
146
+ - **`coral`** — playful: vivid warm primary, warm-toned neutrals, a soft
147
+ coral-tinted glow shadow, a friendly Trebuchet MS font stack, looser
148
+ spacing, bouncy motion, extra-rounded corners.
149
+
150
+ Like the default theme, presets stick to fonts that ship with every major
151
+ OS — no `@import`, no webfont, zero network requests.
152
+
153
+ ```html
154
+ <link rel="stylesheet" href="dist/cirth.min.css">
155
+ <link rel="stylesheet" href="dist/presets/cobalt.min.css">
156
+ ```
157
+
158
+ ```js
159
+ import "@cirthcss/cirth/presets/cobalt";
160
+ ```
161
+
162
+ See [Colors](docs/colors.md) for what each preset changes.
163
+
129
164
  ## Customization
130
165
 
131
166
  Cirth is CSS-first. Override custom properties in your own stylesheet after
@@ -152,55 +187,124 @@ For scoped builds, put the overrides on the scoped root:
152
187
  ```
153
188
 
154
189
  The generated CSS in `dist/cirth.css` is the most reliable reference for the
155
- current custom property surface.
190
+ current custom property surface. The [Customization](docs/customization.md)
191
+ page covers the token layers, color groups, and light/dark switching in
192
+ detail.
156
193
 
157
- ## Philosophy
194
+ ## Documentation
158
195
 
159
- Cirth is a semantic-first CSS framework. Standard HTML elements should carry
160
- most of the structure, meaning, and styling burden before a class is needed.
196
+ The full documentation is published at
197
+ [cirthcss.github.io/cirth](https://cirthcss.github.io/cirth/), built from
198
+ [`docs/`](docs/) as a [VitePress](https://vitepress.dev) site with live
199
+ examples. The site itself is styled with Cirth's own default build — the
200
+ header, sidebar, prose, and every demo are ordinary semantic HTML dogfooding
201
+ the framework.
161
202
 
162
- Core principles:
203
+ Run it locally:
163
204
 
164
- - Style semantic HTML by default.
165
- - Use classes only where HTML semantics are not enough.
166
- - Keep layout primitives small and structural.
167
- - Avoid utility-first class soup and broad component catalogs.
168
- - Keep customization based on CSS custom properties.
205
+ ```sh
206
+ npm install
207
+ npm run docs:dev
208
+ ```
209
+
210
+ - **Getting started** —
211
+ [Get Started](docs/get-started.md) ·
212
+ [Customization](docs/customization.md) ·
213
+ [Colors](docs/colors.md) ·
214
+ [About Cirth](docs/about.md)
215
+ - **Layout** —
216
+ [Document](docs/layout/document.md) ·
217
+ [Landmarks](docs/layout/landmarks.md) ·
218
+ [Section](docs/layout/section.md) ·
219
+ [Container](docs/layout/container.md) ·
220
+ [Grid](docs/layout/grid.md) ·
221
+ [Overflow auto](docs/layout/overflow-auto.md)
222
+ - **Content** —
223
+ [Typography](docs/content/typography.md) ·
224
+ [Link](docs/content/link.md) ·
225
+ [Button](docs/content/button.md) ·
226
+ [Table](docs/content/table.md) ·
227
+ [Code](docs/content/code.md) ·
228
+ [Figure](docs/content/figure.md) ·
229
+ [Embedded content](docs/content/embedded.md) ·
230
+ [Misc](docs/content/misc.md)
231
+ - **Forms** —
232
+ [Overview](docs/forms/index.md) ·
233
+ [Checkbox, radio, switch](docs/forms/checkbox-radio-switch.md) ·
234
+ [Input color](docs/forms/input-color.md) ·
235
+ [Input date](docs/forms/input-date.md) ·
236
+ [Input file](docs/forms/input-file.md) ·
237
+ [Input range](docs/forms/input-range.md) ·
238
+ [Input search](docs/forms/input-search.md)
239
+ - **Components** —
240
+ [Accordion](docs/components/accordion.md) ·
241
+ [Card](docs/components/card.md) ·
242
+ [Dropdown](docs/components/dropdown.md) ·
243
+ [Group](docs/components/group.md) ·
244
+ [Loading](docs/components/loading.md) ·
245
+ [Modal](docs/components/modal.md) ·
246
+ [Nav](docs/components/nav.md) ·
247
+ [Progress](docs/components/progress.md) ·
248
+ [Tooltip](docs/components/tooltip.md)
249
+ - **Utilities** —
250
+ [Accessibility](docs/utilities/accessibility.md) ·
251
+ [Reduce motion](docs/utilities/reduce-motion.md)
252
+ - **Project** —
253
+ [Examples](docs/examples.md) ·
254
+ [Contributions](docs/contributions.md) ·
255
+ [Brand](docs/brand.md) ·
256
+ [Changelog](CHANGELOG.md)
257
+
258
+ ## Contributing
259
+
260
+ Start with [Contributions](docs/contributions.md). It explains the local
261
+ setup, the source layout, the package exports, and the project constraints
262
+ that matter most when changing Cirth.
263
+
264
+ For pull requests, issue triage, and the exact collaboration workflow, read
265
+ [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md). If your change touches
266
+ the visual identity, check [Brand](docs/brand.md) first; if it changes the
267
+ public package surface, update [CHANGELOG.md](CHANGELOG.md) in the same
268
+ branch.
269
+
270
+ Useful local checks before opening a PR:
169
271
 
170
- ## Differences From Pico CSS
272
+ ```sh
273
+ npm run build
274
+ npm run docs:build
275
+ npm pack --dry-run
276
+ ```
171
277
 
172
- Cirth began as a fork of Pico CSS, but it should be treated as an independent
173
- framework rather than a promise of permanent drop-in compatibility.
278
+ ## Browser Support
174
279
 
175
- The most important user-facing differences are:
280
+ Cirth is designed and tested for the latest stable Chrome, Edge, Firefox,
281
+ and Safari releases. The compiled CSS is processed with Lightning CSS
282
+ against this Browserslist target:
176
283
 
177
- - Cirth uses the `@cirthcss/cirth` package name and the `--cirth-` CSS custom
178
- property prefix.
179
- - The published package is CSS-only; SCSS is repository source, not a public
180
- Sass API.
181
- - The active build set is focused on default, classless, scoped, and scoped
182
- classless CSS.
183
- - Scoped builds target a `.cirth` wrapper, including custom properties,
184
- document styles, color schemes, and modal states.
185
- - Standalone color utility builds and fluid classless builds are not part of
186
- the public build surface.
187
- - The inherited theme set is being reduced toward a smaller group of maintained
188
- examples.
284
+ ```json
285
+ [
286
+ "Chrome >= 111",
287
+ "Edge >= 111",
288
+ "Firefox >= 113",
289
+ "Safari >= 15.4",
290
+ "iOS >= 15.4"
291
+ ]
292
+ ```
189
293
 
190
- ## Roadmap
294
+ No version of Internet Explorer is supported.
191
295
 
192
- Cirth is still in early stabilization. The main public priorities are:
296
+ ## Philosophy
193
297
 
194
- - stabilize the CSS custom property surface;
195
- - audit inherited Pico CSS bugs and keep the fixes relevant to Cirth;
196
- - refine layout primitives and decide which utilities should remain;
197
- - reduce and document the theme set;
198
- - document the supported build variants and migration notes from Pico CSS.
298
+ Cirth is a semantic-first CSS framework. Standard HTML elements should carry
299
+ most of the structure, meaning, and styling burden before a class is needed.
199
300
 
200
- ## Project Docs
301
+ Core principles:
201
302
 
202
- - Contribution workflow: [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md)
203
- - Build and package details: [`docs/build-tooling.md`](docs/build-tooling.md)
303
+ - Style semantic HTML by default.
304
+ - Use classes only where HTML semantics are not enough.
305
+ - Keep layout primitives small and structural.
306
+ - Avoid utility-first class soup and broad component catalogs.
307
+ - Keep customization based on CSS custom properties.
204
308
 
205
309
  ## License
206
310