lism-css 0.14.0 → 0.16.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 (102) hide show
  1. package/README.ja.md +6 -6
  2. package/README.md +8 -7
  3. package/bin/build-config.js +1 -4
  4. package/bin/cli.mjs +13 -3
  5. package/config/defaults/props.ts +11 -14
  6. package/config/defaults/tokens.ts +2 -2
  7. package/config/defaults/traits.ts +4 -0
  8. package/dist/components/Lism/Lism.d.ts +2 -1
  9. package/dist/components/index.d.ts +3 -3
  10. package/dist/components/index.js +57 -54
  11. package/dist/components/layout/AutoColumns/AutoColumns.d.ts +4 -0
  12. package/dist/components/layout/{FluidCols/FluidCols.stories.d.ts → AutoColumns/AutoColumns.stories.d.ts} +3 -3
  13. package/dist/components/layout/AutoColumns/index.d.ts +3 -0
  14. package/dist/components/layout/AutoColumns/index.js +8 -0
  15. package/dist/components/layout/SwitchColumns/SwitchColumns.d.ts +4 -0
  16. package/dist/components/layout/{SwitchCols/SwitchCols.stories.d.ts → SwitchColumns/SwitchColumns.stories.d.ts} +3 -3
  17. package/dist/components/layout/SwitchColumns/index.d.ts +3 -0
  18. package/dist/components/layout/SwitchColumns/index.js +8 -0
  19. package/dist/components/layout/WithSide/WithSide.d.ts +4 -0
  20. package/dist/components/layout/{SideMain/SideMain.stories.d.ts → WithSide/WithSide.stories.d.ts} +3 -3
  21. package/dist/components/layout/WithSide/index.d.ts +3 -0
  22. package/dist/components/layout/WithSide/index.js +8 -0
  23. package/dist/config/default-config.d.ts +6 -13
  24. package/dist/config/defaults/props.d.ts +5 -14
  25. package/dist/config/defaults/props.js +7 -12
  26. package/dist/config/defaults/tokens.d.ts +2 -2
  27. package/dist/config/defaults/tokens.js +2 -2
  28. package/dist/config/defaults/traits.d.ts +4 -0
  29. package/dist/config/defaults/traits.js +5 -1
  30. package/dist/config/index.d.ts +12 -26
  31. package/dist/css/base/set.css +1 -1
  32. package/dist/css/base.css +1 -1
  33. package/dist/css/main.css +1 -1
  34. package/dist/css/main_no_layer.css +1 -1
  35. package/dist/css/primitives/layout.css +1 -1
  36. package/dist/css/props.css +1 -1
  37. package/dist/css/trait.css +1 -0
  38. package/dist/css/utility.css +1 -1
  39. package/dist/lib/getLayoutProps.js +25 -25
  40. package/dist/lib/getLismProps.d.ts +5 -5
  41. package/dist/lib/getLismProps.js +101 -102
  42. package/dist/lib/types/LayoutProps.d.ts +7 -7
  43. package/dist/lib/types/TraitProps.d.ts +2 -2
  44. package/package.json +1 -1
  45. package/packages/astro/index.ts +6 -3
  46. package/packages/astro/layout/{FluidCols/FluidCols.astro → AutoColumns/AutoColumns.astro} +3 -3
  47. package/packages/astro/layout/AutoColumns/index.ts +4 -0
  48. package/packages/astro/layout/Flex/Flex.astro +3 -2
  49. package/packages/astro/layout/Flow/Flow.astro +2 -2
  50. package/packages/astro/layout/{SwitchCols/SwitchCols.astro → SwitchColumns/SwitchColumns.astro} +3 -3
  51. package/packages/astro/layout/SwitchColumns/index.ts +4 -0
  52. package/packages/astro/layout/{SideMain/SideMain.astro → WithSide/WithSide.astro} +3 -3
  53. package/packages/astro/layout/WithSide/index.ts +4 -0
  54. package/packages/astro/types.ts +3 -0
  55. package/src/scss/_auto_output.scss +12 -11
  56. package/src/scss/_prop-config.scss +5 -14
  57. package/src/scss/_with_layer.scss +8 -4
  58. package/src/scss/base/_html.scss +4 -4
  59. package/src/scss/base/set/{_innerRs.scss → _bdrsInner.scss} +1 -1
  60. package/src/scss/base/set/_hov.scss +4 -4
  61. package/src/scss/base/set/_revert.scss +6 -0
  62. package/src/scss/base/set/index.scss +2 -4
  63. package/src/scss/base/tokens/_shadow.scss +18 -12
  64. package/src/scss/base/tokens/_tokens.scss +7 -16
  65. package/src/scss/main_no_layer.scss +4 -1
  66. package/src/scss/primitives/layout/{_fluidCols.scss → _autoColumns.scss} +1 -1
  67. package/src/scss/primitives/layout/_flow.scss +1 -2
  68. package/src/scss/primitives/layout/{_switchCols.scss → _switchColumns.scss} +2 -2
  69. package/src/scss/primitives/layout/{_sideMain.scss → _withSide.scss} +1 -1
  70. package/src/scss/primitives/layout/index.scss +3 -3
  71. package/src/scss/props/_hover.scss +28 -17
  72. package/src/scss/props/_size.scss +1 -1
  73. package/src/scss/{base/set → trait/has}/_gutter.scss +1 -1
  74. package/src/scss/trait/has/_mask.scss +6 -0
  75. package/src/scss/trait/has/_snap.scss +11 -0
  76. package/src/scss/trait/has/_transition.scss +8 -0
  77. package/src/scss/trait/index.scss +12 -0
  78. package/src/scss/{primitives/trait → trait/is}/_container.scss +2 -2
  79. package/src/scss/utility/{_itemDivider.scss → _divide.scss} +10 -2
  80. package/src/scss/utility/_trimHL.scss +3 -29
  81. package/src/scss/utility/index.scss +1 -2
  82. package/dist/components/layout/FluidCols/FluidCols.d.ts +0 -4
  83. package/dist/components/layout/FluidCols/index.d.ts +0 -1
  84. package/dist/components/layout/FluidCols/index.js +0 -8
  85. package/dist/components/layout/SideMain/SideMain.d.ts +0 -4
  86. package/dist/components/layout/SideMain/index.d.ts +0 -1
  87. package/dist/components/layout/SideMain/index.js +0 -8
  88. package/dist/components/layout/SwitchCols/SwitchCols.d.ts +0 -4
  89. package/dist/components/layout/SwitchCols/index.d.ts +0 -1
  90. package/dist/components/layout/SwitchCols/index.js +0 -8
  91. package/dist/css/primitives/trait.css +0 -1
  92. package/packages/astro/layout/FluidCols/index.ts +0 -1
  93. package/packages/astro/layout/SideMain/index.ts +0 -1
  94. package/packages/astro/layout/SwitchCols/index.ts +0 -1
  95. package/src/scss/base/set/_mask.scss +0 -6
  96. package/src/scss/base/set/_transition.scss +0 -11
  97. package/src/scss/primitives/trait/index.scss +0 -6
  98. package/src/scss/utility/_snap.scss +0 -8
  99. /package/src/scss/{primitives/trait → trait/is}/_boxLink.scss +0 -0
  100. /package/src/scss/{primitives/trait → trait/is}/_coverLink.scss +0 -0
  101. /package/src/scss/{primitives/trait → trait/is}/_layer.scss +0 -0
  102. /package/src/scss/{primitives/trait → trait/is}/_wrapper.scss +0 -0
package/README.ja.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  Lism CSS は、WEBサイトのレイアウトを素早く、かつ美しく構築するための軽量な **CSS設計フレームワーク**です。
11
11
 
12
- [Every Layout](https://every-layout.dev/) のレイアウトプリミティブ、[Tailwind CSS](https://tailwindcss.com/) のユーティリティファーストアプローチ、[ITCSS](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/) のレイヤリング等に着想を得て、それらを統合して設計されています。
12
+ [Every Layout](https://every-layout.dev/) のレイアウトプリミティブやハーモニックモジュラースケーリング、[Tailwind CSS](https://tailwindcss.com/) のCSSプロパティ単位でのユーティリティファーストなアプローチから着想を得て、独自のCSS設計を組み立てました。
13
13
 
14
14
  ビルドステップや設定は不要です。CDN 経由で CSS ファイルを読み込むか、npm からインポートするだけですぐに使い始められます。
15
15
  React / Astro 向けのコンポーネントも提供しており、propsを通じてCSSクラスとカスタムプロパティに変換されるため、ランタイムでのスタイル生成なしにコンポーネントベースの開発が可能です。
@@ -18,8 +18,8 @@ React / Astro 向けのコンポーネントも提供しており、propsを通
18
18
 
19
19
  - **軽量** - CSS バンドル全体で約 30 KB(gzip 圧縮時 約 8 KB)と、軽量です。
20
20
  - **ゼロビルドフレームワーク** — CSS ファイルを読み込むだけで、プレーン HTML でも動作します。ビルドツール、プリプロセッサ、設定は不要。CDN または npm で利用可能。
21
- - **レイアウト優先のプリミティブアーキテクチャ** — レイアウトプリミティブ(`l--flex`、`l--stack`、`l--grid`、`l--columns`、`l--center`、`l--sideMain` など)で、カスタム CSS を書かずに一般的なレイアウトパターンを組み立てられます。
22
- - **CSS レイヤー構造** — `@layer`(lism-base → lism-primitive → lism-component → lism-custom → lism-utility)を使用した明確な詳細度管理。`lism-primitive` の内部は `trait` / `layout` / `atomic` のサブレイヤーに分かれています。`lism-component` は BEM 構造の `c--` コンポーネント用レイヤー、`lism-custom` はユーザー独自プレフィックスのクラス用レイヤーです。詳細度の衝突を最小限に抑えます。
21
+ - **レイアウト優先のプリミティブアーキテクチャ** — レイアウトプリミティブ(`l--flex`、`l--stack`、`l--grid`、`l--columns`、`l--center`、`l--withSide` など)で、カスタム CSS を書かずに一般的なレイアウトパターンを組み立てられます。
22
+ - **CSS レイヤー構造** — `@layer`(lism-base → lism-trait → lism-primitive → lism-component → lism-custom → lism-utility)を使用した明確な詳細度管理。`lism-trait` `is--` / `has--` の Trait クラス用レイヤー、`lism-primitive` の内部は `layout` / `atomic` のサブレイヤーに分かれています。`lism-component` は BEM 構造の `c--` コンポーネント用レイヤー、`lism-custom` はユーザー独自プレフィックスのクラス用レイヤーです。詳細度の衝突を最小限に抑えます。
23
23
  - **デザイントークン** — カラー、スペーシング、フォントサイズ、シャドウ、ボーダー半径を CSS カスタムプロパティで管理。変数を上書きするだけで簡単にカスタマイズできます。
24
24
  - **柔軟なプロップクラス** — `-{prop}:{value}` の命名規則(例: `-p:20`、`-bgc:base-2`、`-fz:l`)で CSS プロパティをユーティリティクラスにマッピングし、素早く読みやすいスタイリングを実現します。
25
25
  - **レスポンシブシステム** — ブレークポイント固有のクラスと CSS 変数(例: `-p_sm`、`-p_md`)にデフォルトでコンテナクエリを採用し、親要素ベースのレスポンシブデザインを実現。メディアクエリへの切り替えも可能。
@@ -128,7 +128,7 @@ import { Box, Flex, Stack, Text, Heading } from 'lism-css/astro';
128
128
  Lism CSS は以下の React / Astro コンポーネントを提供します:
129
129
 
130
130
  **レイアウトコンポーネント:**
131
- Lism, Box, Flow, Flex, Cluster, Stack, Grid, FluidCols, SwitchCols, SideMain, Center, Columns, Frame
131
+ Lism, Box, Flow, Flex, Cluster, Stack, Grid, AutoColumns, SwitchColumns, WithSide, Center, Columns, Frame
132
132
 
133
133
  **構造コンポーネント:**
134
134
  Container, Wrapper, Layer, BoxLink
@@ -147,7 +147,7 @@ Lism CSS は構造化された命名規則を CSS クラスに使用していま
147
147
 
148
148
  | タイプ | パターン | 例 |
149
149
  |--------|---------|-----|
150
- | レイアウトプリミティブ | `l--{name}` | `l--flex`, `l--grid`, `l--stack`, `l--center`, `l--columns`, `l--sideMain` |
150
+ | レイアウトプリミティブ | `l--{name}` | `l--flex`, `l--grid`, `l--stack`, `l--center`, `l--columns`, `l--withSide` |
151
151
  | トレイトプリミティブ | `is--{name}` | `is--wrapper`, `is--container`, `is--layer` |
152
152
  | プロップクラス | `-{prop}:{value}` | `-p:20`, `-m:auto`, `-bgc:base-2`, `-fz:l`, `-ta:center` |
153
153
  | ブレークポイント | `-{prop}_{bp}` | `-p_sm`, `-g_md`, `-fz_lg` |
@@ -183,7 +183,7 @@ Lism CSS は一貫したデザインのための CSS カスタムプロパティ
183
183
  - **スペーシング:** `--s5`, `--s10`, `--s15`, `--s20`, `--s30`, `--s40` … `--s80`(rem 値にマッピング)
184
184
  - **フォントサイズ:** `--fz--2xs` 〜 `--fz--5xl`
185
185
  - **ボーダー半径:** `--bdrs--10`(0.25rem)〜 `--bdrs--99`(99rem)
186
- - **シャドウ:** `--bxsh--10` 〜 `--bxsh--40`(シャドウカラー設定可能)
186
+ - **シャドウ:** `--bxsh--10` 〜 `--bxsh--50`(シャドウカラー設定可能)
187
187
  - **コンテナサイズ:** `--sz--xs`(32rem)〜 `--sz--xl`(1600px)
188
188
 
189
189
  ## UI コンポーネント
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  Lism CSS is a lightweight **CSS design framework** for quickly and beautifully building website layouts.
11
11
 
12
- Inspired by [Every Layout](https://every-layout.dev/)'s layout primitives, [Tailwind CSS](https://tailwindcss.com/)'s utility-first approach, and [ITCSS](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/)'s layering concept, Lism CSS integrates these ideas into a cohesive architecture.
12
+ Inspired by [Every Layout](https://every-layout.dev/)'s layout primitives and harmonic modular scaling, and by [Tailwind CSS](https://tailwindcss.com/)'s utility-first approach of single-property classes, Lism CSS is built as an original CSS design.
13
13
 
14
14
  No build step or configuration is required. Simply load the CSS file via CDN or import it from npm to get started. It also provides React and Astro components whose props are converted into CSS classes and custom properties, enabling component-based development without runtime style generation.
15
15
 
@@ -17,8 +17,8 @@ No build step or configuration is required. Simply load the CSS file via CDN or
17
17
 
18
18
  - **Lightweight** — The entire CSS bundle is approximately 30 KB (~8 KB gzipped).
19
19
  - **Zero-Build Framework** — Works with plain HTML by simply loading a CSS file. No build tool, preprocessor, or configuration needed. Available via CDN or npm.
20
- - **Layout-First Primitive Architecture** — Pre-built layout primitives (`l--flex`, `l--stack`, `l--grid`, `l--columns`, `l--center`, `l--sideMain`, etc.) let you compose common layout patterns without writing custom CSS.
21
- - **CSS Layer Structure** — Uses `@layer` (lism-base → lism-primitive → lism-component → lism-custom → lism-utility) for clear specificity management. `lism-primitive` contains `trait` / `layout` / `atomic` sub-layers. `lism-component` is the layer for BEM-structured `c--` components. `lism-custom` is the layer for user-defined classes with custom prefixes. Minimizes specificity conflicts.
20
+ - **Layout-First Primitive Architecture** — Pre-built layout primitives (`l--flex`, `l--stack`, `l--grid`, `l--columns`, `l--center`, `l--withSide`, etc.) let you compose common layout patterns without writing custom CSS.
21
+ - **CSS Layer Structure** — Uses `@layer` (lism-base → lism-trait → lism-primitive → lism-component → lism-custom → lism-utility) for clear specificity management. `lism-trait` is the layer for `is--` / `has--` trait classes. `lism-primitive` contains `layout` / `atomic` sub-layers. `lism-component` is the layer for BEM-structured `c--` components. `lism-custom` is the layer for user-defined classes with custom prefixes. Minimizes specificity conflicts.
22
22
  - **Design Tokens** — Colors, spacing, font sizes, shadows, and border radii are managed as CSS custom properties. Easy to customize by overriding variables.
23
23
  - **Flexible Property Classes** — A `-{prop}:{value}` naming convention (e.g., `-p:20`, `-bgc:base-2`, `-fz:l`) maps CSS properties to utility classes for quick, readable styling.
24
24
  - **Responsive System** — Breakpoint-specific classes and CSS variables (e.g., `-p_sm`, `-p_md`) use container queries by default for parent-based responsive design. Switchable to media queries.
@@ -127,7 +127,7 @@ import { Box, Flex, Stack, Text, Heading } from 'lism-css/astro';
127
127
  Lism CSS provides the following React and Astro components:
128
128
 
129
129
  **Layout Components:**
130
- Lism, Box, Flow, Flex, Cluster, Stack, Grid, FluidCols, SwitchCols, SideMain, Center, Columns, Frame
130
+ Lism, Box, Flow, Flex, Cluster, Stack, Grid, AutoColumns, SwitchColumns, WithSide, Center, Columns, Frame
131
131
 
132
132
  **Structure Components:**
133
133
  Container, Wrapper, Layer, BoxLink
@@ -146,8 +146,9 @@ Lism CSS uses a structured naming convention for CSS classes:
146
146
 
147
147
  | Type | Pattern | Examples |
148
148
  |------|---------|----------|
149
- | Layout Primitive | `l--{name}` | `l--flex`, `l--grid`, `l--stack`, `l--center`, `l--columns`, `l--sideMain` |
150
- | Trait Primitive | `is--{name}` | `is--wrapper`, `is--container`, `is--layer` |
149
+ | Layout Primitive | `l--{name}` | `l--flex`, `l--grid`, `l--stack`, `l--center`, `l--columns`, `l--withSide` |
150
+ | Trait Class (role) | `is--{name}` | `is--wrapper`, `is--container`, `is--layer`, `is--boxLink` |
151
+ | Trait Class (feature) | `has--{name}` | `has--transition`, `has--gutter`, `has--snap` |
151
152
  | Property Class | `-{prop}:{value}` | `-p:20`, `-m:auto`, `-bgc:base-2`, `-fz:l`, `-ta:center` |
152
153
  | Breakpoint | `-{prop}_{bp}` | `-p_sm`, `-g_md`, `-fz_lg` |
153
154
  | Utility Class | `u--{name}` | `u--cbox` |
@@ -182,7 +183,7 @@ Lism CSS provides CSS custom properties for consistent design:
182
183
  - **Spacing:** `--s5`, `--s10`, `--s15`, `--s20`, `--s30`, `--s40` … `--s80` (mapped to rem values)
183
184
  - **Font Sizes:** `--fz--2xs` through `--fz--5xl`
184
185
  - **Border Radius:** `--bdrs--10` (0.25rem) through `--bdrs--99` (99rem)
185
- - **Shadows:** `--bxsh--10` through `--bxsh--40` with configurable shadow colors
186
+ - **Shadows:** `--bxsh--10` through `--bxsh--50` with configurable shadow colors
186
187
  - **Container Sizes:** `--sz--xs` (32rem) through `--sz--xl` (1600px)
187
188
 
188
189
  ## UI Components
@@ -51,7 +51,7 @@ function generateUtilities(propConfig, TOKENS) {
51
51
  * @returns {string} SCSS形式の文字列
52
52
  */
53
53
  function generatePropScss(propKey, propConfig, TOKENS) {
54
- const { prop = '', bp, isVar, alwaysVar, overwriteBaseVar, important } = propConfig;
54
+ const { prop = '', bp, isVar, alwaysVar, important } = propConfig;
55
55
 
56
56
  // styleが定義されている場合はそれを使用、なければpropKeyをそのまま使用
57
57
  const utilities = generateUtilities(propConfig, TOKENS);
@@ -114,9 +114,6 @@ function generatePropScss(propKey, propConfig, TOKENS) {
114
114
  if (alwaysVar !== undefined) {
115
115
  scss += ` alwaysVar: ${alwaysVar},\n`;
116
116
  }
117
- if (overwriteBaseVar !== undefined) {
118
- scss += ` overwriteBaseVar: ${overwriteBaseVar},\n`;
119
- }
120
117
  if (important !== undefined) {
121
118
  scss += ` important: ${important},\n`;
122
119
  }
package/bin/cli.mjs CHANGED
@@ -17,7 +17,17 @@ console.log('🤖 projectRoot:', projectRoot);
17
17
 
18
18
  // 設定ファイルのパス
19
19
  const defaultConfigPath = path.resolve(__dirname, '../config/default-config.js');
20
- const userConfigPath = path.resolve(projectRoot, 'lism.config.js');
20
+
21
+ // ユーザー設定ファイルを検索(優先順: .js → .mjs)
22
+ const CONFIG_SEARCH = ['lism.config.js', 'lism.config.mjs'];
23
+ function findUserConfigPath() {
24
+ for (const name of CONFIG_SEARCH) {
25
+ const abs = path.resolve(projectRoot, name);
26
+ if (fs.existsSync(abs)) return abs;
27
+ }
28
+ return null;
29
+ }
30
+ const userConfigPath = findUserConfigPath();
21
31
 
22
32
  // コマンドライン引数の先頭をサブコマンドとして解釈(デフォルトは build-config)
23
33
  const args = process.argv.slice(2);
@@ -30,9 +40,9 @@ async function main() {
30
40
  const defaultConfigModule = await import(pathToFileURL(defaultConfigPath).href);
31
41
  const defaultConfig = defaultConfigModule?.default || {};
32
42
 
33
- // user の lism.config.js は存在する時のみ読み込む
43
+ // user の lism.config.{js,mjs} は存在する時のみ読み込む
34
44
  let userConfig = {};
35
- if (fs.existsSync(userConfigPath)) {
45
+ if (userConfigPath) {
36
46
  const userConfigModule = await import(pathToFileURL(userConfigPath).href);
37
47
  userConfig = userConfigModule?.default || {};
38
48
 
@@ -2,7 +2,7 @@
2
2
  * isVar: 1 → クラス出力はせずstyle属性での変数出力のみ (--bdw, --keycolor など)
3
3
  * bp: 0 → Prop-valユーティリティクラス化されなければ、style属性で出力するだけ。
4
4
  * bp: 1 → .-prop と --prop の セットがベースにあり、.-prop_bp と .--prop_bp で ブレイクポイント指定できる。
5
- * .-prop{propaty:var(--prop)} が基本で、ユーティリティクラスは .-prop:val{propaty:value} となる。
5
+ * .-prop{property:var(--prop)} が基本で、ユーティリティクラスは .-prop:val{property:value} となる。
6
6
  *
7
7
  * ↓コンポーネント処理で使用される
8
8
  * tokenClass: 1 → 対応するトークン値がそのまま全てユーティリティクラス化されるもの。
@@ -10,8 +10,10 @@
10
10
  * shorthands: → コンポーネント側で短く書くための設定
11
11
  *
12
12
  * ↓SCSS出力で使用される
13
- * alwaysVar: 1 → .-prop,[class*=-prop:] {propaty:var(--prop)} で、ユーティリティクラス時も常に変数管理となる。
14
- * overwriteBaseVar: 1 → ブレイクポイントクラスで --prop: var(--prop_$bp) がセットされ、常にベース変数の --prop で値が取得できるようになる。
13
+ * alwaysVar: 1 → state変数扱い。 .-prop,[class*=-prop:] {property:var(--prop)} の base 出力となり、
14
+ * ユーティリティクラスは --prop をセットする形になる。
15
+ * 加えて BPクラスも .-prop_$bp { property: var(--prop); --prop: var(--prop_$bp) !important; } を出力し、
16
+ * 常に --prop が当該要素の現在値になるよう上書きされる(consumer が --prop を参照できる)。
15
17
  * important: 1 → !important を付けて最終的に出力する
16
18
  */
17
19
 
@@ -21,7 +23,7 @@ const PLACE_SHORTHANDS = { s: 'start', e: 'end', c: 'center', fs: 'flex-start',
21
23
 
22
24
  export default {
23
25
  f: { prop: 'font', presets: ['inherit'] },
24
- fz: { prop: 'fontSize', token: 'fz', tokenClass: 1, bp: 1, alwaysVar: 1 },
26
+ fz: { prop: 'fontSize', token: 'fz', tokenClass: 1, bp: 1 },
25
27
  fw: {
26
28
  prop: 'fontWeight',
27
29
  token: 'fw',
@@ -153,7 +155,6 @@ export default {
153
155
  tokenClass: 1,
154
156
  bp: 1,
155
157
  alwaysVar: 1,
156
- overwriteBaseVar: 1,
157
158
  },
158
159
  'bdrs-tl': { prop: 'borderTopLeftRadius', token: 'bdrs' },
159
160
  'bdrs-tr': { prop: 'borderTopRightRadius', token: 'bdrs' },
@@ -164,7 +165,7 @@ export default {
164
165
  'bdrs-es': { prop: 'borderEndStartRadius', token: 'bdrs' },
165
166
  'bdrs-ee': { prop: 'borderEndEndRadius', token: 'bdrs' },
166
167
 
167
- bxsh: { prop: 'boxShadow', utils: { 0: 'none' }, token: 'bxsh', tokenClass: 1, bp: 1, alwaysVar: 1 },
168
+ bxsh: { prop: 'boxShadow', utils: { 0: 'none' }, token: 'bxsh', tokenClass: 1, bp: 1 },
168
169
 
169
170
  // position
170
171
  pos: {
@@ -191,11 +192,10 @@ export default {
191
192
  token: 'space',
192
193
  tokenClass: 1,
193
194
  alwaysVar: 1,
194
- overwriteBaseVar: 1,
195
195
  bp: 1,
196
196
  },
197
- px: { prop: 'paddingInline', presets: ['0'], token: 'space', tokenClass: 1, alwaysVar: 1, bp: 1 },
198
- py: { prop: 'paddingBlock', presets: ['0'], token: 'space', tokenClass: 1, alwaysVar: 1, bp: 1 },
197
+ px: { prop: 'paddingInline', presets: ['0'], token: 'space', tokenClass: 1, bp: 1 },
198
+ py: { prop: 'paddingBlock', presets: ['0'], token: 'space', tokenClass: 1, bp: 1 },
199
199
  'px-s': { prop: 'paddingInlineStart', token: 'space', bp: 1 },
200
200
  'px-e': { prop: 'paddingInlineEnd', token: 'space', bp: 1 },
201
201
  'py-s': { prop: 'paddingBlockStart', token: 'space', bp: 1 },
@@ -210,11 +210,10 @@ export default {
210
210
  token: 'space',
211
211
  tokenClass: 1,
212
212
  alwaysVar: 1,
213
- overwriteBaseVar: 1,
214
213
  bp: 1,
215
214
  },
216
- mx: { prop: 'marginInline', presets: ['auto', '0'], token: 'space', tokenClass: 1, alwaysVar: 1, bp: 1 },
217
- my: { prop: 'marginBlock', presets: ['auto', '0'], token: 'space', tokenClass: 1, alwaysVar: 1, bp: 1 },
215
+ mx: { prop: 'marginInline', presets: ['auto', '0'], token: 'space', tokenClass: 1, bp: 1 },
216
+ my: { prop: 'marginBlock', presets: ['auto', '0'], token: 'space', tokenClass: 1, bp: 1 },
218
217
  'mx-s': { prop: 'marginInlineStart', presets: ['auto'], token: 'space', bp: 1 },
219
218
  'mx-e': { prop: 'marginInlineEnd', presets: ['auto'], token: 'space', bp: 1 },
220
219
  'my-s': { prop: 'marginBlockStart', token: 'space', bp: 1, presets: ['auto', '0'], tokenClass: 1 },
@@ -230,8 +229,6 @@ export default {
230
229
  exUtility: { inherit: { gap: 'inherit' } },
231
230
  token: 'space',
232
231
  tokenClass: 1,
233
- alwaysVar: 1,
234
- overwriteBaseVar: 1,
235
232
  bp: 1,
236
233
  },
237
234
  cg: { prop: 'columnGap', token: 'space', bp: 1 },
@@ -5,9 +5,9 @@ export default {
5
5
  lts: ['base', 's', 'l'],
6
6
  ff: ['base', 'accent', 'mono'],
7
7
  fw: ['light', 'normal', 'bold'],
8
- o: ['-10', '-20', '-30'],
8
+ o: ['mp', 'p', 'pp', 'ppp'],
9
9
  bdrs: ['10', '20', '30', '40', '99', 'inner'],
10
- bxsh: ['10', '20', '30', '40'],
10
+ bxsh: ['10', '20', '30', '40', '50'],
11
11
  sz: ['xs', 's', 'm', 'l', 'xl', 'container'],
12
12
  ar: ['og'],
13
13
  space: {
@@ -12,4 +12,8 @@ export default {
12
12
  isCoverLink: 'is--coverLink',
13
13
  isSide: 'is--side',
14
14
  isSkipFlow: 'is--skipFlow',
15
+ hasTransition: 'has--transition',
16
+ hasGutter: 'has--gutter',
17
+ hasSnap: 'has--snap',
18
+ hasMask: 'has--mask',
15
19
  } as const;
@@ -3,9 +3,10 @@ import { LismProps } from '../../lib/getLismProps';
3
3
  import { LayoutSpecificProps } from '../../lib/types/LayoutProps';
4
4
  type ReactStyleWithCustomProps = CSSProperties & Record<`--${string}`, string | number | undefined>;
5
5
  /** 要素固有の HTML Props + 共通オプション */
6
- type LismElementProps<T extends ElementType> = Omit<ComponentPropsWithoutRef<T>, 'style'> & {
6
+ type LismElementProps<T extends ElementType> = Omit<ComponentPropsWithoutRef<T>, 'style' | 'className'> & {
7
7
  as?: T;
8
8
  children?: ReactNode;
9
+ className?: string;
9
10
  exProps?: Record<string, unknown>;
10
11
  /** React では camelCase のみ有効(kebab-case は実行時に無視される) */
11
12
  style?: ReactStyleWithCustomProps;
@@ -14,12 +14,12 @@ export * from './layout/Cluster';
14
14
  export * from './layout/Columns';
15
15
  export * from './layout/Flex';
16
16
  export * from './layout/Flow';
17
- export * from './layout/FluidCols';
17
+ export * from './layout/AutoColumns';
18
18
  export * from './layout/Frame';
19
19
  export * from './layout/Grid';
20
- export * from './layout/SideMain';
20
+ export * from './layout/WithSide';
21
21
  export * from './layout/Stack';
22
- export * from './layout/SwitchCols';
22
+ export * from './layout/SwitchColumns';
23
23
  export * from './layout/TileGrid';
24
24
  export * from './state/Container';
25
25
  export * from './state/Layer';
@@ -1,64 +1,67 @@
1
- import { default as o } from "./layout/Box/index.js";
2
- import { default as t } from "./state/BoxLink/index.js";
3
- import { default as l } from "./layout/Center/index.js";
4
- import { default as s } from "./layout/Cluster/index.js";
5
- import { default as u } from "./layout/Columns/index.js";
6
- import { default as x } from "./state/Container/index.js";
7
- import { default as n } from "./atomic/Decorator/index.js";
8
- import { default as L } from "./atomic/Divider/index.js";
9
- import { default as F } from "./Dummy/index.js";
10
- import { default as k } from "./layout/Flex/index.js";
11
- import { default as G } from "./layout/Flow/index.js";
12
- import { default as w } from "./layout/FluidCols/index.js";
1
+ import { default as t, default as o } from "./layout/AutoColumns/index.js";
2
+ import { default as f } from "./layout/Box/index.js";
3
+ import { default as s } from "./state/BoxLink/index.js";
4
+ import { default as u } from "./layout/Center/index.js";
5
+ import { default as p } from "./layout/Cluster/index.js";
6
+ import { default as i } from "./layout/Columns/index.js";
7
+ import { default as C } from "./state/Container/index.js";
8
+ import { default as L } from "./atomic/Decorator/index.js";
9
+ import { default as F } from "./atomic/Divider/index.js";
10
+ import { default as k } from "./Dummy/index.js";
11
+ import { default as D } from "./layout/Flex/index.js";
12
+ import { default as I } from "./layout/Flow/index.js";
13
13
  import { default as B } from "./layout/Frame/index.js";
14
14
  import { default as T } from "./layout/Grid/index.js";
15
- import { default as h } from "./Group/index.js";
16
- import { default as H } from "./Heading/index.js";
15
+ import { default as g } from "./Group/index.js";
16
+ import { default as A } from "./Heading/index.js";
17
17
  import { default as b } from "./atomic/Icon/index.js";
18
18
  import { default as q } from "./Inline/index.js";
19
- import { default as A } from "./state/Layer/index.js";
20
- import { default as J } from "./Link/index.js";
21
- import { default as N } from "./Lism/index.js";
22
- import { default as P } from "./List/index.js";
23
- import { default as R } from "./List/ListItem.js";
24
- import { default as V } from "./Media/index.js";
25
- import { default as Y } from "./layout/SideMain/index.js";
26
- import { default as _ } from "./atomic/Spacer/index.js";
27
- import { default as ee } from "./layout/Stack/index.js";
28
- import { default as oe } from "./layout/SwitchCols/index.js";
29
- import { default as te } from "./Text/index.js";
30
- import { default as le } from "./layout/TileGrid/index.js";
31
- import { default as se } from "./state/Wrapper/index.js";
19
+ import { default as E } from "./state/Layer/index.js";
20
+ import { default as K } from "./Link/index.js";
21
+ import { default as O } from "./Lism/index.js";
22
+ import { default as Q } from "./List/index.js";
23
+ import { default as U } from "./List/ListItem.js";
24
+ import { default as X } from "./Media/index.js";
25
+ import { default as Z, default as _ } from "./layout/WithSide/index.js";
26
+ import { default as ee } from "./atomic/Spacer/index.js";
27
+ import { default as te } from "./layout/Stack/index.js";
28
+ import { default as re, default as fe } from "./layout/SwitchColumns/index.js";
29
+ import { default as se } from "./Text/index.js";
30
+ import { default as ue } from "./layout/TileGrid/index.js";
31
+ import { default as pe } from "./state/Wrapper/index.js";
32
32
  export {
33
- o as Box,
34
- t as BoxLink,
35
- l as Center,
36
- s as Cluster,
37
- u as Columns,
38
- x as Container,
39
- n as Decorator,
40
- L as Divider,
41
- F as Dummy,
42
- k as Flex,
43
- G as Flow,
44
- w as FluidCols,
33
+ t as AutoColumns,
34
+ f as Box,
35
+ s as BoxLink,
36
+ u as Center,
37
+ p as Cluster,
38
+ i as Columns,
39
+ C as Container,
40
+ L as Decorator,
41
+ F as Divider,
42
+ k as Dummy,
43
+ D as Flex,
44
+ I as Flow,
45
+ o as FluidCols,
45
46
  B as Frame,
46
47
  T as Grid,
47
- h as Group,
48
- H as Heading,
48
+ g as Group,
49
+ A as Heading,
49
50
  b as Icon,
50
51
  q as Inline,
51
- A as Layer,
52
- J as Link,
53
- N as Lism,
54
- P as List,
55
- R as ListItem,
56
- V as Media,
57
- Y as SideMain,
58
- _ as Spacer,
59
- ee as Stack,
60
- oe as SwitchCols,
61
- te as Text,
62
- le as TileGrid,
63
- se as Wrapper
52
+ E as Layer,
53
+ K as Link,
54
+ O as Lism,
55
+ Q as List,
56
+ U as ListItem,
57
+ X as Media,
58
+ Z as SideMain,
59
+ ee as Spacer,
60
+ te as Stack,
61
+ re as SwitchCols,
62
+ fe as SwitchColumns,
63
+ se as Text,
64
+ ue as TileGrid,
65
+ _ as WithSide,
66
+ pe as Wrapper
64
67
  };
@@ -0,0 +1,4 @@
1
+ import { ElementType } from 'react';
2
+ import { LayoutComponentProps } from '../../Lism';
3
+ import { AutoColumnsProps } from '../../../lib/types/LayoutProps';
4
+ export default function AutoColumns<T extends ElementType = 'div'>(props: LayoutComponentProps<T, AutoColumnsProps>): import("react").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { Meta, StoryObj } from '@storybook/react-vite';
2
- import { FluidCols } from './index';
3
- declare const meta: Meta<typeof FluidCols>;
2
+ import { AutoColumns } from './index';
3
+ declare const meta: Meta<typeof AutoColumns>;
4
4
  export default meta;
5
- type Story = StoryObj<typeof FluidCols>;
5
+ type Story = StoryObj<typeof AutoColumns>;
6
6
  export declare const Default: Story;
7
7
  export declare const WithAutoFill: Story;
@@ -0,0 +1,3 @@
1
+ export { default as AutoColumns } from './AutoColumns';
2
+ /** @deprecated `AutoColumns` に名称変更されました。 */
3
+ export { default as FluidCols } from './AutoColumns';
@@ -0,0 +1,8 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import u from "../../Lism/index.js";
3
+ function n(o) {
4
+ return /* @__PURE__ */ t(u, { layout: "autoColumns", ...o });
5
+ }
6
+ export {
7
+ n as default
8
+ };
@@ -0,0 +1,4 @@
1
+ import { ElementType } from 'react';
2
+ import { LayoutComponentProps } from '../../Lism';
3
+ import { SwitchColumnsProps } from '../../../lib/types/LayoutProps';
4
+ export default function SwitchColumns<T extends ElementType = 'div'>(props: LayoutComponentProps<T, SwitchColumnsProps>): import("react").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { Meta, StoryObj } from '@storybook/react-vite';
2
- import { SwitchCols } from './index';
3
- declare const meta: Meta<typeof SwitchCols>;
2
+ import { SwitchColumns } from './index';
3
+ declare const meta: Meta<typeof SwitchColumns>;
4
4
  export default meta;
5
- type Story = StoryObj<typeof SwitchCols>;
5
+ type Story = StoryObj<typeof SwitchColumns>;
6
6
  export declare const Default: Story;
7
7
  export declare const WithBreakSize: Story;
8
8
  export declare const ThreeColumns: Story;
@@ -0,0 +1,3 @@
1
+ export { default as SwitchColumns } from './SwitchColumns';
2
+ /** @deprecated `SwitchColumns` に名称変更されました。 */
3
+ export { default as SwitchCols } from './SwitchColumns';
@@ -0,0 +1,8 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import m from "../../Lism/index.js";
3
+ function s(o) {
4
+ return /* @__PURE__ */ t(m, { layout: "switchColumns", ...o });
5
+ }
6
+ export {
7
+ s as default
8
+ };
@@ -0,0 +1,4 @@
1
+ import { ElementType } from 'react';
2
+ import { LayoutComponentProps } from '../../Lism';
3
+ import { WithSideProps } from '../../../lib/types/LayoutProps';
4
+ export default function WithSide<T extends ElementType = 'div'>(props: LayoutComponentProps<T, WithSideProps>): import("react").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { Meta, StoryObj } from '@storybook/react-vite';
2
- import { SideMain } from './index';
3
- declare const meta: Meta<typeof SideMain>;
2
+ import { WithSide } from './index';
3
+ declare const meta: Meta<typeof WithSide>;
4
4
  export default meta;
5
- type Story = StoryObj<typeof SideMain>;
5
+ type Story = StoryObj<typeof WithSide>;
6
6
  export declare const Default: Story;
7
7
  export declare const WithSideWidth: Story;
8
8
  export declare const WithMainWidth: Story;
@@ -0,0 +1,3 @@
1
+ export { default as WithSide } from './WithSide';
2
+ /** @deprecated `WithSide` に名称変更されました。 */
3
+ export { default as SideMain } from './WithSide';
@@ -0,0 +1,8 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import o from "../../Lism/index.js";
3
+ function m(t) {
4
+ return /* @__PURE__ */ i(o, { layout: "withSide", ...t });
5
+ }
6
+ export {
7
+ m as default
8
+ };
@@ -6,9 +6,9 @@ declare const _default: {
6
6
  readonly lts: readonly ["base", "s", "l"];
7
7
  readonly ff: readonly ["base", "accent", "mono"];
8
8
  readonly fw: readonly ["light", "normal", "bold"];
9
- readonly o: readonly ["-10", "-20", "-30"];
9
+ readonly o: readonly ["mp", "p", "pp", "ppp"];
10
10
  readonly bdrs: readonly ["10", "20", "30", "40", "99", "inner"];
11
- readonly bxsh: readonly ["10", "20", "30", "40"];
11
+ readonly bxsh: readonly ["10", "20", "30", "40", "50"];
12
12
  readonly sz: readonly ["xs", "s", "m", "l", "xl", "container"];
13
13
  readonly ar: readonly ["og"];
14
14
  readonly space: {
@@ -36,7 +36,6 @@ declare const _default: {
36
36
  readonly token: "fz";
37
37
  readonly tokenClass: 1;
38
38
  readonly bp: 1;
39
- readonly alwaysVar: 1;
40
39
  };
41
40
  readonly fw: {
42
41
  readonly prop: "fontWeight";
@@ -301,7 +300,6 @@ declare const _default: {
301
300
  readonly tokenClass: 1;
302
301
  readonly bp: 1;
303
302
  readonly alwaysVar: 1;
304
- readonly overwriteBaseVar: 1;
305
303
  };
306
304
  readonly 'bdrs-tl': {
307
305
  readonly prop: "borderTopLeftRadius";
@@ -343,7 +341,6 @@ declare const _default: {
343
341
  readonly token: "bxsh";
344
342
  readonly tokenClass: 1;
345
343
  readonly bp: 1;
346
- readonly alwaysVar: 1;
347
344
  };
348
345
  readonly pos: {
349
346
  readonly prop: "position";
@@ -422,7 +419,6 @@ declare const _default: {
422
419
  readonly token: "space";
423
420
  readonly tokenClass: 1;
424
421
  readonly alwaysVar: 1;
425
- readonly overwriteBaseVar: 1;
426
422
  readonly bp: 1;
427
423
  };
428
424
  readonly px: {
@@ -430,7 +426,6 @@ declare const _default: {
430
426
  readonly presets: readonly ["0"];
431
427
  readonly token: "space";
432
428
  readonly tokenClass: 1;
433
- readonly alwaysVar: 1;
434
429
  readonly bp: 1;
435
430
  };
436
431
  readonly py: {
@@ -438,7 +433,6 @@ declare const _default: {
438
433
  readonly presets: readonly ["0"];
439
434
  readonly token: "space";
440
435
  readonly tokenClass: 1;
441
- readonly alwaysVar: 1;
442
436
  readonly bp: 1;
443
437
  };
444
438
  readonly 'px-s': {
@@ -487,7 +481,6 @@ declare const _default: {
487
481
  readonly token: "space";
488
482
  readonly tokenClass: 1;
489
483
  readonly alwaysVar: 1;
490
- readonly overwriteBaseVar: 1;
491
484
  readonly bp: 1;
492
485
  };
493
486
  readonly mx: {
@@ -495,7 +488,6 @@ declare const _default: {
495
488
  readonly presets: readonly ["auto", "0"];
496
489
  readonly token: "space";
497
490
  readonly tokenClass: 1;
498
- readonly alwaysVar: 1;
499
491
  readonly bp: 1;
500
492
  };
501
493
  readonly my: {
@@ -503,7 +495,6 @@ declare const _default: {
503
495
  readonly presets: readonly ["auto", "0"];
504
496
  readonly token: "space";
505
497
  readonly tokenClass: 1;
506
- readonly alwaysVar: 1;
507
498
  readonly bp: 1;
508
499
  };
509
500
  readonly 'mx-s': {
@@ -561,8 +552,6 @@ declare const _default: {
561
552
  };
562
553
  readonly token: "space";
563
554
  readonly tokenClass: 1;
564
- readonly alwaysVar: 1;
565
- readonly overwriteBaseVar: 1;
566
555
  readonly bp: 1;
567
556
  };
568
557
  readonly cg: {
@@ -807,6 +796,10 @@ declare const _default: {
807
796
  readonly isCoverLink: "is--coverLink";
808
797
  readonly isSide: "is--side";
809
798
  readonly isSkipFlow: "is--skipFlow";
799
+ readonly hasTransition: "has--transition";
800
+ readonly hasGutter: "has--gutter";
801
+ readonly hasSnap: "has--snap";
802
+ readonly hasMask: "has--mask";
810
803
  };
811
804
  };
812
805
  export default _default;