teacss 0.3.4 → 0.3.6

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 CHANGED
@@ -7,8 +7,9 @@ Readable utilities for humans. Predictable syntax for AI agents.
7
7
  ## Purpose
8
8
 
9
9
  `teacss` is the application-facing package. Its root entry provides the
10
- official `cn` and `recipe` runtime helpers plus Standard preset constant
11
- tables, while its subpaths expose the engine and official presets.
10
+ official `cn` and `recipe` runtime helpers, the `omitAttributes` attribute
11
+ helper, and Standard preset constant tables, while its subpaths expose the
12
+ engine and official presets.
12
13
 
13
14
  Use it for normal TeaCSS applications. Preset authors, custom integration
14
15
  authors, and tooling authors should import the narrower `@teacss/*` packages
@@ -326,20 +327,24 @@ import { cn } from "teacss";
326
327
 
327
328
  cn("p:4 d:flex", "p:8"); // "d:flex p:8"
328
329
  cn("p:4", "p:invalid"); // "p:invalid"
329
- cn("reset:li", "reset:ul"); // "reset:ul"
330
- cn("d:block", "reset:li"); // "d:block reset:li"
330
+ cn("reset-list", "reset-heading"); // "reset-heading"
331
+ cn("d:block", "reset-list"); // "d:block reset-list"
331
332
  ```
332
333
 
333
334
  The default `cn` is one direct merger composed from `pluginStandard` and
334
335
  `pluginIcon`; it does not chain preset-local mergers. Resolution is based
335
336
  on parsed shape, conditions, importance, and declared footprints. It does not
336
- validate values, so an unsupported winner may emit no CSS. The supported
337
- `reset:*` profiles apply to the current element: headings (`reset:h1` through
338
- `reset:h6`), links and controls
339
- (`reset:a|button|select|input-text|textarea`), and lists
340
- (`reset:li|ol|ul|menu`). `reset:input-text` is only for text-like inputs; there
341
- is no generic `reset:input`. Profiles replace one another as a single opaque
342
- family and never delete an unrelated utility. Document-root and shadow-host
337
+ validate values, so an unsupported winner may emit no CSS. The eight reset
338
+ profiles apply to the current element and are bare class names, never
339
+ `property:value` utilities: `reset-heading`, `reset-list`, `reset-button`,
340
+ `reset-select`, `reset-textarea`, `reset-input`, `reset-checkbox`, and
341
+ `reset-radio`. `reset-input` is only for text-like inputs; button-like input
342
+ types use `reset-button`, and box controls take `reset-checkbox` /
343
+ `reset-radio`.
344
+ Element deltas expressible with ordinary utilities carry no profile — use
345
+ `text-color:inherit decoration-line:none` for a link and
346
+ `d:block text-align:unset` for a list item. Profiles replace one another as a
347
+ single opaque family and never delete an unrelated utility. Document-root and shadow-host
343
348
  defaults come from the standard preset's automatic preflight.
344
349
 
345
350
  Generic class merging is a separate package for custom conflict metadata:
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ClassProp, Merger, RecipeIntrospection, Reciper, VariantProps } from "@teacss/classes";
1
+ import { ClassProp, Merger, RecipeIntrospection, Reciper, VariantProps, omitAttributes } from "@teacss/classes";
2
2
  export * from "@teacss/preset-standard/constants";
3
3
  //#region src/index.d.ts
4
4
  declare const cn: Merger;
5
5
  declare const recipe: Reciper;
6
6
  //#endregion
7
- export { type ClassProp, type RecipeIntrospection, type VariantProps, cn, recipe };
7
+ export { type ClassProp, type RecipeIntrospection, type VariantProps, cn, omitAttributes, recipe };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{createMerger as e,createReciper as t}from"@teacss/classes";import{pluginIcon as n}from"@teacss/preset-icons/merge";import{pluginStandard as r}from"@teacss/preset-standard/merge";export*from"@teacss/preset-standard/constants";const i=e({plugins:[r,n]});let a;const o=(e=>(a??=t({merge:i}),a(e)));export{i as cn,o as recipe};
1
+ import{createMerger as e,createReciper as t,omitAttributes as n}from"@teacss/classes";import{pluginIcon as r}from"@teacss/preset-icons/merge";import{pluginStandard as i}from"@teacss/preset-standard/merge";export*from"@teacss/preset-standard/constants";const a=e({plugins:[i,r]});let o;const s=(e=>(o??=t({merge:a}),o(e)));export{a as cn,n as omitAttributes,s as recipe};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teacss",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "The TeaCSS application entry with the official `cn`, `recipe`, engine, and preset subpaths.",
5
5
  "homepage": "https://css.teasim.com",
6
6
  "funding": "https://github.com/sponsors/billgo",
@@ -26,11 +26,11 @@
26
26
  "dev": "tsdown --watch"
27
27
  },
28
28
  "dependencies": {
29
- "@teacss/classes": "0.3.4",
30
- "@teacss/core": "0.3.4",
31
- "@teacss/preset-articles": "0.3.4",
32
- "@teacss/preset-icons": "0.3.4",
33
- "@teacss/preset-standard": "0.3.4"
29
+ "@teacss/classes": "0.3.6",
30
+ "@teacss/core": "0.3.6",
31
+ "@teacss/preset-articles": "0.3.6",
32
+ "@teacss/preset-icons": "0.3.6",
33
+ "@teacss/preset-standard": "0.3.6"
34
34
  },
35
35
  "engines": {
36
36
  "node": ">=22.12.0"