@lism-css/mcp 0.12.0 → 0.13.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/README.ja.md +1 -1
- package/dist/data/docs-index.json +202 -151
- package/dist/data/guides/SKILL.md +95 -54
- package/dist/data/guides/base-styles.md +2 -2
- package/dist/data/guides/components-core.md +84 -130
- package/dist/data/guides/components-ui.md +3 -3
- package/dist/data/guides/css-rules.md +41 -21
- package/dist/data/guides/primitive-class.md +148 -0
- package/dist/data/guides/primitives/a--decorator.md +45 -0
- package/dist/data/guides/primitives/a--divider.md +69 -0
- package/dist/data/guides/primitives/a--icon.md +105 -0
- package/dist/data/guides/primitives/a--spacer.md +63 -0
- package/dist/data/guides/primitives/is--boxLink.md +97 -0
- package/dist/data/guides/primitives/is--container.md +46 -0
- package/dist/data/guides/primitives/is--layer.md +71 -0
- package/dist/data/guides/primitives/is--vertical.md +52 -0
- package/dist/data/guides/primitives/is--wrapper.md +87 -0
- package/dist/data/guides/primitives/l--box.md +31 -0
- package/dist/data/guides/primitives/l--center.md +55 -0
- package/dist/data/guides/primitives/l--cluster.md +38 -0
- package/dist/data/guides/primitives/l--columns.md +72 -0
- package/dist/data/guides/primitives/l--flex.md +74 -0
- package/dist/data/guides/primitives/l--flow.md +134 -0
- package/dist/data/guides/primitives/l--fluidCols.md +68 -0
- package/dist/data/guides/primitives/l--frame.md +94 -0
- package/dist/data/guides/primitives/l--grid.md +68 -0
- package/dist/data/guides/primitives/l--sideMain.md +102 -0
- package/dist/data/guides/primitives/l--stack.md +56 -0
- package/dist/data/guides/primitives/l--switchCols.md +69 -0
- package/dist/data/guides/primitives/l--tileGrid.md +61 -0
- package/dist/data/guides/property-class.md +6 -5
- package/dist/data/guides/set-class.md +11 -9
- package/dist/data/guides/tokens.md +18 -0
- package/dist/data/guides/utility-class.md +9 -8
- package/dist/data/meta.js +2 -2
- package/dist/lib/load-markdown.d.ts +3 -2
- package/dist/lib/load-markdown.js +23 -5
- package/dist/lib/search.js +20 -1
- package/dist/tools/get-component.js +119 -30
- package/dist/tools/get-guide.js +1 -1
- package/dist/tools/search-docs.js +1 -1
- package/package.json +1 -1
- package/dist/data/guides/module-class.md +0 -162
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# l--fluidCols / `<FluidCols>`
|
|
2
|
+
|
|
3
|
+
カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-fit` / `auto-fill` を使った流動カラムを簡潔に記述できます。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--fluidCols`
|
|
8
|
+
- コンポーネント: `<FluidCols>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_fluidCols.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--fluidCols/
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | 説明 |
|
|
15
|
+
|------|--------|------|
|
|
16
|
+
| `cols` | `--cols` | カラムが維持する最小幅を指定(`12rem`, `320px` など) |
|
|
17
|
+
| `autoFill` | `--autoMode` | `auto-fill` モードに切り替え(デフォルトは `auto-fit`) |
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### デフォルト幅で利用する
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
<FluidCols g="20">
|
|
25
|
+
<Box bxsh="20" p="20"><p>カード1のコンテンツ</p></Box>
|
|
26
|
+
<Box bxsh="20" p="20"><p>カード2のコンテンツ</p></Box>
|
|
27
|
+
<Box bxsh="20" p="20"><p>カード3のコンテンツ</p></Box>
|
|
28
|
+
</FluidCols>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```html
|
|
32
|
+
<div class="l--fluidCols -g:20">
|
|
33
|
+
<div class="l--box -bxsh:20 -p:20"><p>カード1のコンテンツ</p></div>
|
|
34
|
+
<div class="l--box -bxsh:20 -p:20"><p>カード2のコンテンツ</p></div>
|
|
35
|
+
<div class="l--box -bxsh:20 -p:20"><p>カード3のコンテンツ</p></div>
|
|
36
|
+
</div>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### カラム最小幅と `auto-fill` の指定
|
|
40
|
+
|
|
41
|
+
```jsx
|
|
42
|
+
<FluidCols cols="12rem" autoFill g="20" fz="s">
|
|
43
|
+
<Box bxsh="20" p="20"><p>A</p></Box>
|
|
44
|
+
<Box bxsh="20" p="20"><p>B</p></Box>
|
|
45
|
+
<Box bxsh="20" p="20"><p>C</p></Box>
|
|
46
|
+
</FluidCols>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 2列 → 1列
|
|
50
|
+
|
|
51
|
+
カラム最小幅を大きめに設定すれば「2列 → コンテナが狭まれば 1列」のような段階的段組も自然に作れます。
|
|
52
|
+
|
|
53
|
+
```jsx
|
|
54
|
+
<FluidCols cols="320px" g="20">
|
|
55
|
+
<Frame ar="16/9">
|
|
56
|
+
<img src="/img/a-1.jpg" width="600" height="400" />
|
|
57
|
+
</Frame>
|
|
58
|
+
<Frame ar="16/9">
|
|
59
|
+
<img src="/img/a-3.jpg" width="600" height="400" />
|
|
60
|
+
</Frame>
|
|
61
|
+
</FluidCols>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 関連プリミティブ
|
|
65
|
+
|
|
66
|
+
- [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
|
|
67
|
+
- [l--switchCols](./l--switchCols.md) — 複数列 ↔ 1列の2段階切り替え
|
|
68
|
+
- [l--sideMain](./l--sideMain.md) — メイン幅ベースの2カラム自動切替
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# l--frame / `<Frame>`
|
|
2
|
+
|
|
3
|
+
直下のメディア要素(`img`, `video`, `iframe`)を自身のサイズにフィットさせて表示するクラス。アスペクト比固定のメディア枠を簡単に作れます。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--frame`
|
|
8
|
+
- コンポーネント: `<Frame>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_frame.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--frame/
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | 説明 |
|
|
15
|
+
|------|------|
|
|
16
|
+
| `ar` | フレームのアスペクト比を指定(`16/9` など)。`ar` 自体はどのコンポーネントにも指定できる汎用 CSS Prop |
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
### アスペクト比の指定
|
|
21
|
+
|
|
22
|
+
```jsx
|
|
23
|
+
<Frame ar="16/9">
|
|
24
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
25
|
+
</Frame>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<div class="l--frame -ar:16/9">
|
|
30
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
31
|
+
</div>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### `figure` / `figcaption` の使用
|
|
35
|
+
|
|
36
|
+
`as="figure"` を指定してセマンティックな `<figure>` 要素として出力できます。
|
|
37
|
+
|
|
38
|
+
```jsx
|
|
39
|
+
<Frame as="figure" ar="16/9" pos="relative">
|
|
40
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
41
|
+
<Flex as="figcaption" pos="absolute" b="0" w="100%" jc="center" p="10" c="white" bgc="rgb(0 0 0 / 40%)">
|
|
42
|
+
Caption text
|
|
43
|
+
</Flex>
|
|
44
|
+
</Frame>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### `iframe` / `video` の使用
|
|
48
|
+
|
|
49
|
+
`iframe`(YouTube 埋め込みなど)や `video` も同様に `l--frame` 直下に配置すれば自動的にフィットします。
|
|
50
|
+
|
|
51
|
+
```jsx
|
|
52
|
+
<Frame ar="16/9">
|
|
53
|
+
<iframe src="https://www.youtube.com/embed/xxx" allowfullscreen />
|
|
54
|
+
</Frame>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Layer 系を活用したオーバーレイ
|
|
58
|
+
|
|
59
|
+
`<Layer>` と組み合わせると、メディア上にテキストやオーバーレイを重ねられます。
|
|
60
|
+
|
|
61
|
+
```jsx
|
|
62
|
+
<Frame ar="3/2" pos="relative" c="#fff">
|
|
63
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
64
|
+
<Layer bgc="rgb(0 0 0 / 40%)" />
|
|
65
|
+
<Layer p="30">
|
|
66
|
+
<Center min-h="100%" g="15">
|
|
67
|
+
<h2>Heading</h2>
|
|
68
|
+
<Text>オーバーレイ内のテキスト...</Text>
|
|
69
|
+
</Center>
|
|
70
|
+
</Layer>
|
|
71
|
+
</Frame>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### レスポンシブな `ar`
|
|
75
|
+
|
|
76
|
+
`ar` はブレイクポイント別に配列で指定できます。
|
|
77
|
+
|
|
78
|
+
```jsx
|
|
79
|
+
<Frame ar={['1/1', '3/2', '16/9']} pos="relative">
|
|
80
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
81
|
+
</Frame>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<div class="l--frame -ar:1/1 -ar_sm -ar_md" style="--ar_sm: 3/2; --ar_md: 16/9">
|
|
86
|
+
<img src="/img/a-1.jpg" alt="" />
|
|
87
|
+
</div>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 関連プリミティブ
|
|
91
|
+
|
|
92
|
+
- [is--layer](./is--layer.md) — `l--frame` 内のオーバーレイ配置に使用
|
|
93
|
+
- [l--center](./l--center.md) — フレーム内でテキストを中央配置する時に組み合わせる
|
|
94
|
+
- [a--icon](./a--icon.md) — アイコン画像の表示(`src` 指定)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# l--grid / `<Grid>`
|
|
2
|
+
|
|
3
|
+
コンテンツを CSS Grid レイアウトで配置するクラス。`gtc` / `gta` / `ga` などの Grid プロパティと組み合わせて使います。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--grid`
|
|
8
|
+
- コンポーネント: `<Grid>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_grid.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--grid/
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
### 基本的な使い方
|
|
15
|
+
|
|
16
|
+
`gtc`(`grid-template-columns`)で列を定義します。
|
|
17
|
+
|
|
18
|
+
```jsx
|
|
19
|
+
<Grid gtc="auto 1fr auto" g="15">
|
|
20
|
+
<Center p="20" bgc="base-2">L</Center>
|
|
21
|
+
<Center p="20" bd>Center</Center>
|
|
22
|
+
<Center p="20" bgc="base-2">R</Center>
|
|
23
|
+
</Grid>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<div class="l--grid -gtc -g:15" style="--gtc: auto 1fr auto">
|
|
28
|
+
<div class="l--center -p:20 -bgc:base-2">L</div>
|
|
29
|
+
<div class="l--center -p:20 -bd">Center</div>
|
|
30
|
+
<div class="l--center -p:20 -bgc:base-2">R</div>
|
|
31
|
+
</div>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### ブレイクポイントでエリアを切り替える
|
|
35
|
+
|
|
36
|
+
`gta`(`grid-template-areas`)と `gtc` を配列で渡すと、ブレイクポイントごとに別レイアウトを定義できます。子要素には `ga`(`grid-area`)で対応するエリア名を指定します。
|
|
37
|
+
|
|
38
|
+
```jsx
|
|
39
|
+
<Grid g="15" gtc={['1fr 1fr', '8em 1fr 8em']} gta={[`'main main' 'left right'`, `'left main right'`]}>
|
|
40
|
+
<Box ga="left" p="15" bgc="base-2">Left</Box>
|
|
41
|
+
<Box ga="main" p="15" bd>Center</Box>
|
|
42
|
+
<Box ga="right" p="15" bgc="base-2">Right</Box>
|
|
43
|
+
</Grid>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 子要素を重ねて表示する(`ga="1/1"`)
|
|
47
|
+
|
|
48
|
+
`position: absolute` を使わず、`grid-area: 1/1` を複数子要素に指定することで要素を重ねられます。
|
|
49
|
+
|
|
50
|
+
```jsx
|
|
51
|
+
<Grid ar="16/9">
|
|
52
|
+
<Frame ga="1/1" w="100%" h="100%" pos="relative">
|
|
53
|
+
<Media src="/img/a-1.jpg" alt="" inferSize />
|
|
54
|
+
<Layer bgc="rgb(0 0 0 / 40%)" />
|
|
55
|
+
</Frame>
|
|
56
|
+
<Center ga="1/1" fz="3xl" z="1" c="white">SAMPLE TEXT</Center>
|
|
57
|
+
</Grid>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### subgrid の活用
|
|
61
|
+
|
|
62
|
+
`gtc="subgrid"` を入れ子の Grid に指定することで親 Grid のトラックを継承し、複数行を揃えたレイアウトが作れます。記事一覧やテーブル風レイアウトに活用できます。
|
|
63
|
+
|
|
64
|
+
## 関連プリミティブ
|
|
65
|
+
|
|
66
|
+
- [l--tileGrid](./l--tileGrid.md) — 自動繰り返しのタイル型 Grid
|
|
67
|
+
- [l--columns](./l--columns.md) — 等幅カラム専用
|
|
68
|
+
- [l--sideMain](./l--sideMain.md) — コンテンツ幅自動切り替え型 2 カラム
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# l--sideMain / `<SideMain>`
|
|
2
|
+
|
|
3
|
+
メディアクエリ・コンテナクエリに依存せず、**維持したいコンテンツ幅を基準にして横並び・縦並びが自動で切り替わる2カラムレイアウト**。「画像 + コンテンツ」「メインエリア + サイドバー」などに活用できる。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--sideMain`
|
|
8
|
+
- コンポーネント: `<SideMain>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_sideMain.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--sideMain/
|
|
11
|
+
|
|
12
|
+
## 動作の仕組み
|
|
13
|
+
|
|
14
|
+
- サイド側の横幅を `--sideW` で、メイン側で維持したい最小横幅を `--mainW` で指定
|
|
15
|
+
- メイン側が `--mainW` を維持できる範囲内では横並びを保ち、下回ると自動で縦並びに切り替わる
|
|
16
|
+
- 子要素の**一方に `is--side` を付ける必要がある**(コンポーネントでは `isSide` prop)
|
|
17
|
+
|
|
18
|
+
## 専用Props
|
|
19
|
+
|
|
20
|
+
| Prop | 出力 | 説明 |
|
|
21
|
+
|------|------|------|
|
|
22
|
+
| `sideW` | `--sideW` | サイド要素の横幅 |
|
|
23
|
+
| `mainW` | `--mainW` | メイン要素で維持したい最小幅 |
|
|
24
|
+
|
|
25
|
+
## HTML構造
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<div class="l--sideMain">
|
|
29
|
+
<div>Main Content</div>
|
|
30
|
+
<div class="is--side">Side Content</div>
|
|
31
|
+
</div>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
### 基本的な使い方
|
|
37
|
+
|
|
38
|
+
```jsx
|
|
39
|
+
<SideMain sideW="12rem" mainW="20rem" g="20">
|
|
40
|
+
<Box p="15" bd bdc="blue">
|
|
41
|
+
<p>Main Content</p>
|
|
42
|
+
<p>メインコンテンツ本文...</p>
|
|
43
|
+
</Box>
|
|
44
|
+
<Box isSide p="15" bd bdc="red">
|
|
45
|
+
<p>Side Content</p>
|
|
46
|
+
</Box>
|
|
47
|
+
</SideMain>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<div class="l--sideMain -g:20" style="--sideW:12rem;--mainW:20rem">
|
|
52
|
+
<div class="l--box -p:15 -bd" style="--bdc:var(--blue)">
|
|
53
|
+
<p>Main Content</p>
|
|
54
|
+
<p>メインコンテンツ本文...</p>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="l--box is--side -p:15 -bd" style="--bdc:var(--red)">
|
|
57
|
+
<p>Side Content</p>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Side 要素の位置を反転(`-fxd:row-reverse`)
|
|
63
|
+
|
|
64
|
+
`flex-direction: row-reverse` を併用することで、横並びの時だけ順序を反転できます。**横並びで左側・縦並びで下側に Side を配置**したいときに便利。
|
|
65
|
+
|
|
66
|
+
```jsx
|
|
67
|
+
<SideMain fxd="row-reverse" sideW="10rem" mainW="16rem" g="20">
|
|
68
|
+
<Box>
|
|
69
|
+
<p>Main content...</p>
|
|
70
|
+
</Box>
|
|
71
|
+
<Box isSide bgc="blue:20%">Side Content</Box>
|
|
72
|
+
</SideMain>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```html
|
|
76
|
+
<div class="l--sideMain -fxd:row-reverse -g:20" style="--sideW:10rem;--mainW:16rem">
|
|
77
|
+
<div class="l--box">
|
|
78
|
+
<p>Main content...</p>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="l--box is--side">Side Content</div>
|
|
81
|
+
</div>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## `l--grid` との使い分け
|
|
85
|
+
|
|
86
|
+
- **`l--sideMain`**: ブレイクポイントに依存せず、コンテンツ幅で自動切り替え
|
|
87
|
+
- **`l--grid`** (`<Grid gta={[...]} gtc={[...]} />`): ブレイクポイント(`sm`/`md`)で明示的に切り替えたい場合
|
|
88
|
+
|
|
89
|
+
```jsx
|
|
90
|
+
// ブレイクポイント依存で似たレイアウトを構築する例
|
|
91
|
+
<Grid gta={[`'.' 'side'`, `'. side'`]} gtc={[null, '1fr 10rem']} g="20">
|
|
92
|
+
<Box>メインコンテンツ</Box>
|
|
93
|
+
<Box ga="side">サイドコンテンツ</Box>
|
|
94
|
+
</Grid>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 関連プリミティブ
|
|
98
|
+
|
|
99
|
+
- [l--grid](./l--grid.md) — ブレイクポイント切り替え型の2カラム構築に使用
|
|
100
|
+
- [l--fluidCols](./l--fluidCols.md) — カラム幅ベースの自動段組
|
|
101
|
+
- [l--switchCols](./l--switchCols.md) — ブレイクポイント一括切り替え型カラム
|
|
102
|
+
- [is--container](./is--container.md) — レスポンシブ Property Class 利用時に必要
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# l--stack / `<Stack>`
|
|
2
|
+
|
|
3
|
+
複数の要素を Flex レイアウトで縦並びに配置するクラス。`gap` で余白を管理します。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--stack`
|
|
8
|
+
- コンポーネント: `<Stack>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_stack.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--stack/
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
### 基本的な使い方
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<Stack g="20">
|
|
18
|
+
<p>コンテンツ</p>
|
|
19
|
+
<p>コンテンツ</p>
|
|
20
|
+
<p>コンテンツ</p>
|
|
21
|
+
</Stack>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<div class="l--stack -g:20">
|
|
26
|
+
<p>コンテンツ</p>
|
|
27
|
+
<p>コンテンツ</p>
|
|
28
|
+
<p>コンテンツ</p>
|
|
29
|
+
</div>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 内在的な中央寄せ(`ai="center"`)
|
|
33
|
+
|
|
34
|
+
`ai="center"` を併用すると、Every Layout で言うところの**内在的な中央寄せ**(コンテンツ幅が短い要素だけ中央揃え、長い要素はそのまま)になります。
|
|
35
|
+
|
|
36
|
+
```jsx
|
|
37
|
+
<Stack ai="center" g="20" p="30">
|
|
38
|
+
<h3>見出し</h3>
|
|
39
|
+
<p>短いテキスト</p>
|
|
40
|
+
<p>長めのテキスト...</p>
|
|
41
|
+
</Stack>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<div class="l--stack -ai:center -p:30 -g:20">
|
|
46
|
+
<h3>見出し</h3>
|
|
47
|
+
<p>短いテキスト</p>
|
|
48
|
+
<p>長めのテキスト...</p>
|
|
49
|
+
</div>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 関連プリミティブ
|
|
53
|
+
|
|
54
|
+
- [l--flex](./l--flex.md) — 汎用 Flex 横並び
|
|
55
|
+
- [l--flow](./l--flow.md) — `margin-block-start` で余白を管理するテキスト向けフロー
|
|
56
|
+
- [l--cluster](./l--cluster.md) — 折り返し前提の横並び
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# l--switchCols / `<SwitchCols>`
|
|
2
|
+
|
|
3
|
+
複数列 ↔ 1列の切り替えをコンテナクエリやメディアクエリを使わずに実装するクラス。Flexbox ベースで、親コンテナ幅に応じて自動的に折り返します。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--switchCols`
|
|
8
|
+
- コンポーネント: `<SwitchCols>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_switchCols.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--switchCols/
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | 説明 |
|
|
15
|
+
|------|--------|------|
|
|
16
|
+
| `breakSize` | `--breakSize` | 横並びを維持するのに必要な親コンテナ幅を指定。`sz` トークンが使える |
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
### デフォルト幅で利用する
|
|
21
|
+
|
|
22
|
+
```jsx
|
|
23
|
+
<SwitchCols g="20">
|
|
24
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
25
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
26
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
27
|
+
</SwitchCols>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<div class="l--switchCols -g:20">
|
|
32
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
33
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
34
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
35
|
+
</div>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### `breakSize` の指定
|
|
39
|
+
|
|
40
|
+
```jsx
|
|
41
|
+
<SwitchCols breakSize="s" g="20">
|
|
42
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
43
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
44
|
+
</SwitchCols>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<div class="l--switchCols -g:20" style="--breakSize: var(--sz--s)">
|
|
49
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
50
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
51
|
+
</div>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### `flex-grow` で比率を調整
|
|
55
|
+
|
|
56
|
+
子要素に `flex-grow` を指定すると、横並び時の幅の比率を個別に調整できます。
|
|
57
|
+
|
|
58
|
+
```jsx
|
|
59
|
+
<SwitchCols breakSize="s" g="20">
|
|
60
|
+
<div class="-bgc:base-2 -p:20">Box</div>
|
|
61
|
+
<div class="-bgc:base-2 -p:20" style={{ flexGrow: 2 }}>Box</div>
|
|
62
|
+
</SwitchCols>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 関連プリミティブ
|
|
66
|
+
|
|
67
|
+
- [l--fluidCols](./l--fluidCols.md) — 最小幅ベースの自動段組
|
|
68
|
+
- [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
|
|
69
|
+
- [l--sideMain](./l--sideMain.md) — コンテンツ幅基準の2カラム切り替え
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# l--tileGrid / `<TileGrid>`
|
|
2
|
+
|
|
3
|
+
`cols`(列数)と `rows`(行数)を指定して、**均等なタイル型グリッドレイアウト**を構成するクラス。内部的には `grid-template: repeat(rows, minmax(0, 1fr)) / repeat(cols, minmax(0, 1fr))` を使用します。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--tileGrid`
|
|
8
|
+
- コンポーネント: `<TileGrid>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_tileGrid.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--tileGrid/
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | 説明 | デフォルト |
|
|
15
|
+
|------|--------|------|------------|
|
|
16
|
+
| `cols` | `--cols` | 列数を指定。配列でブレイクポイント指定可 | `1` |
|
|
17
|
+
| `rows` | `--rows` | 行数を指定。配列でブレイクポイント指定可 | `1` |
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### 基本的な使い方
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
<TileGrid cols="3" rows="3" g="5" min-h="50svh">
|
|
25
|
+
<Box p="20" bgc="base-2">item1</Box>
|
|
26
|
+
<Box p="20" bgc="base-2">item2</Box>
|
|
27
|
+
<Box p="20" bgc="base-2">item3</Box>
|
|
28
|
+
<Box p="20" bgc="base-2">item4</Box>
|
|
29
|
+
<Box p="20" bgc="base-2" gc="span 2">item5</Box>
|
|
30
|
+
<Center gc="3" gr="1 / -1" p="20" bgc="blue">item6</Center>
|
|
31
|
+
</TileGrid>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```html
|
|
35
|
+
<div class="l--tileGrid -g:5 -min-h:50svh" style="--cols: 3; --rows: 3">
|
|
36
|
+
<div class="l--box -p:20 -bgc:base-2">item1</div>
|
|
37
|
+
<div class="l--box -p:20 -bgc:base-2">item2</div>
|
|
38
|
+
<div class="l--box -p:20 -bgc:base-2">item3</div>
|
|
39
|
+
<div class="l--box -p:20 -bgc:base-2">item4</div>
|
|
40
|
+
<div class="l--box -p:20 -bgc:base-2 -gc:span 2">item5</div>
|
|
41
|
+
<div class="l--center -p:20 -bgc:blue" style="grid-column: 3; grid-row: 1 / -1">item6</div>
|
|
42
|
+
</div>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### ブレイクポイント別指定
|
|
46
|
+
|
|
47
|
+
`cols` / `rows` をブレイクポイントで切り替え、`gaf`(`grid-auto-flow`)と組み合わせて動的レイアウトも構築できます。
|
|
48
|
+
|
|
49
|
+
```jsx
|
|
50
|
+
<TileGrid cols={['2', '3']} rows="4" min-h="50svh" gaf="row dense">
|
|
51
|
+
<Box gc={['1 / -1', 'span 2']} gr={['span 2', '1 / -1']} p="20" bgc="base-2">A</Box>
|
|
52
|
+
<Box p="20" bgc="green:20%">B</Box>
|
|
53
|
+
<Box p="20" bgc="blue:20%">C</Box>
|
|
54
|
+
</TileGrid>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## 関連プリミティブ
|
|
58
|
+
|
|
59
|
+
- [l--columns](./l--columns.md) — 等幅列のみ(1D)のカラム
|
|
60
|
+
- [l--fluidCols](./l--fluidCols.md) — 自動折り返し型段組
|
|
61
|
+
- [l--grid](./l--grid.md) — 汎用 CSS Grid
|
|
@@ -53,7 +53,7 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
53
53
|
|
|
54
54
|
## 全 Prop 一覧
|
|
55
55
|
|
|
56
|
-
ソース: [props.ts](https://
|
|
56
|
+
ソース: [props.ts](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/config/defaults/props.ts)
|
|
57
57
|
|
|
58
58
|
### タイポグラフィ
|
|
59
59
|
|
|
@@ -125,7 +125,8 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
125
125
|
| `keycolor` | `--keycolor` 変数のみ | — | — |
|
|
126
126
|
|
|
127
127
|
セマンティックカラー: `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`
|
|
128
|
-
パレットカラー: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black
|
|
128
|
+
パレットカラー: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black`
|
|
129
|
+
キーカラー変数: `keycolor`(ユーザー定義の `--keycolor` を参照する独立変数。詳細は `tokens.md` を参照)
|
|
129
130
|
|
|
130
131
|
### 角丸
|
|
131
132
|
|
|
@@ -270,7 +271,7 @@ SPACE トークン(全値): `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `
|
|
|
270
271
|
|
|
271
272
|
### ボーダー(`bd` 系)
|
|
272
273
|
|
|
273
|
-
[詳細](https://lism-css.com/docs/
|
|
274
|
+
[詳細](https://lism-css.com/docs/property-class/bd/)
|
|
274
275
|
|
|
275
276
|
Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理される特殊な仕様です。
|
|
276
277
|
`-bd` または `-bd-{side}` クラスを付けると、初期値(`--bds: solid`, `--bdw: 1px`, `--bdc: var(--divider)`)がセットされ、`bds`, `bdc`, `bdw` Prop で個別に上書きできます。
|
|
@@ -311,7 +312,7 @@ Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理
|
|
|
311
312
|
|
|
312
313
|
### ホバー(`hov` 系)
|
|
313
314
|
|
|
314
|
-
[詳細](https://lism-css.com/docs/
|
|
315
|
+
[詳細](https://lism-css.com/docs/property-class/hov/)
|
|
315
316
|
|
|
316
317
|
ホバーエフェクト用のクラスです。`-hov:{prop}` 系と `-hov:to:*` 系の2種類があります。
|
|
317
318
|
|
|
@@ -349,7 +350,7 @@ Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理
|
|
|
349
350
|
|
|
350
351
|
```jsx
|
|
351
352
|
// set--hov + set--transition が必要
|
|
352
|
-
<Box set=
|
|
353
|
+
<Box set="hov transition">
|
|
353
354
|
<Box hov={{ to: 'show' }}>ホバーで表示</Box>
|
|
354
355
|
</Box>
|
|
355
356
|
```
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
`@layer lism-base` に属し、特定の機能を有効にするために CSS変数やベーススタイルをセットアップするクラス群です。
|
|
4
4
|
HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="shadow"` 等)で指定します。
|
|
5
5
|
|
|
6
|
+
`set` prop の記法(複数値指定・`-` prefix による除外)は [components-core.md](./components-core.md#共通-props) を参照してください。
|
|
7
|
+
|
|
6
8
|
## TOC
|
|
7
9
|
|
|
8
10
|
- [`set--plain`](#set--plain)
|
|
@@ -13,7 +15,7 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
|
|
|
13
15
|
- [`set--innerRs`](#set--innerrs)
|
|
14
16
|
- [`set--bp`](#set--bp)
|
|
15
17
|
|
|
16
|
-
[詳細](https://lism-css.com/docs/set/)
|
|
18
|
+
[詳細](https://lism-css.com/docs/set-class/)
|
|
17
19
|
|
|
18
20
|
---
|
|
19
21
|
|
|
@@ -23,13 +25,13 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
|
|
|
23
25
|
|
|
24
26
|
| クラス | ソースファイル |
|
|
25
27
|
|--------|---------------|
|
|
26
|
-
| `set--plain` | [`_plain.scss`](https://
|
|
27
|
-
| `set--shadow` | [`_shadow.scss`](https://
|
|
28
|
-
| `set--hov` | [`_hov.scss`](https://
|
|
29
|
-
| `set--transition` | [`_transition.scss`](https://
|
|
30
|
-
| `set--gutter` | [`_gutter.scss`](https://
|
|
31
|
-
| `set--innerRs` | [`_innerRs.scss`](https://
|
|
32
|
-
| `set--bp` | [`_bp.scss`](https://
|
|
28
|
+
| `set--plain` | [`_plain.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_plain.scss) |
|
|
29
|
+
| `set--shadow` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
|
|
30
|
+
| `set--hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
|
|
31
|
+
| `set--transition` | [`_transition.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_transition.scss) |
|
|
32
|
+
| `set--gutter` | [`_gutter.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_gutter.scss) |
|
|
33
|
+
| `set--innerRs` | [`_innerRs.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_innerRs.scss) |
|
|
34
|
+
| `set--bp` | [`_bp.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bp.scss) |
|
|
33
35
|
|
|
34
36
|
---
|
|
35
37
|
|
|
@@ -93,7 +95,7 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
|
|
|
93
95
|
例えば、親のボックスがhoverされたら、その内部の画像をズームするようなケースで活用でき、`-hov:to:zoom`クラスが標準で用意されています。
|
|
94
96
|
|
|
95
97
|
```html
|
|
96
|
-
<a href="###" class="l--frame is--
|
|
98
|
+
<a href="###" class="l--frame is--boxLink set--hov -ar:21/9 -ov:hidden">
|
|
97
99
|
<img class="set--transition -hov:to:zoom" src="https://cdn.lism-css.com/img/a-2.jpg" width="960" height="640" loading="lazy" />
|
|
98
100
|
<div class="is--layer -bgc" style="--c: #fff; --bgc: rgb(0 0 0 / 50%)"></div>
|
|
99
101
|
<div class="l--center is--layer -c" style="--c: #fff;">
|
|
@@ -198,6 +198,24 @@ OKLCH で定義されたカラーパレット。`--L`(明度)と `--C`(彩
|
|
|
198
198
|
| `--black` | `#000` |
|
|
199
199
|
| `--white` | `#fff` |
|
|
200
200
|
|
|
201
|
+
### キーカラー変数 (`--keycolor`)
|
|
202
|
+
|
|
203
|
+
`--keycolor` は、カラートークンとは性質が異なる。初めから値があるわけではない。ボックス全体のカラーリングなどを行う際の「軸となる色」を指定するための変数。
|
|
204
|
+
|
|
205
|
+
`--keycolor: var(--red)` のように指定しておくことで、そのボックス自身や子要素のカラー Props(`c`, `bgc`, `bdc` など)で 特定の色をハードコーディングせずに `--keycolor` 経由で参照できるようにすることができる。代表的な使用例は `u--cbox` ユーティリティクラス。
|
|
206
|
+
|
|
207
|
+
```html
|
|
208
|
+
<!-- ボックスにキーカラーを設定、テキストをキーカラーに連動させる例 -->
|
|
209
|
+
<div class="u--cbox" style="--keycolor: var(--red)">
|
|
210
|
+
<p class="-c" style="-c:var(--keycolor)">...</p>
|
|
211
|
+
</div>
|
|
212
|
+
```
|
|
213
|
+
```jsx
|
|
214
|
+
<Lism class="u--cbox" keycolor="var(--red)">
|
|
215
|
+
<Text c="keycolor">...</Text>
|
|
216
|
+
</Lism>
|
|
217
|
+
```
|
|
218
|
+
|
|
201
219
|
- `c`, `bgc` 等のカラー系 Props では、セマンティックカラー → パレットカラーの順で検索される
|
|
202
220
|
- どちらも最終的に `var(--{name})` に変換される
|
|
203
221
|
|