@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,46 @@
|
|
|
1
|
+
# is--container / `<Container>`
|
|
2
|
+
|
|
3
|
+
`container-type` を宣言してコンテナクエリを有効にするクラス。レスポンシブ Property Class(`p={['10', '30']}` のような配列指定)を使うとき、基準要素として必要になります。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `is--container`
|
|
8
|
+
- コンポーネント: `<Container>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/trait/_container.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/is--container/
|
|
11
|
+
|
|
12
|
+
## 使い方
|
|
13
|
+
|
|
14
|
+
`<Container>` は `<Lism isContainer>` のエイリアスです。`isContainer` Prop は他のコンポーネントにも使用できます(例: `<Flow isContainer>`)。
|
|
15
|
+
|
|
16
|
+
| Prop | 出力 |
|
|
17
|
+
|------|------|
|
|
18
|
+
| `isContainer` | `.is--container` |
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
### 使用例
|
|
23
|
+
|
|
24
|
+
```jsx
|
|
25
|
+
<Container isWrapper="s" p="20">
|
|
26
|
+
<Box bd p={['10', '30']}>
|
|
27
|
+
このBOXは、padding が切り替わります
|
|
28
|
+
</Box>
|
|
29
|
+
</Container>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<div class="is--container is--wrapper -contentSize:s -p:20">
|
|
34
|
+
<div class="l--box -bd -p:10 -p_sm" style="--p_sm: var(--s30)">
|
|
35
|
+
このBOXは、padding が切り替わります
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
子要素側は `p={['10', '30']}` のようなブレイクポイント配列指定にすることで、親の `is--container` を基準としたコンテナクエリで値が切り替わります。
|
|
41
|
+
|
|
42
|
+
## 関連プリミティブ
|
|
43
|
+
|
|
44
|
+
- [is--wrapper](./is--wrapper.md) — コンテンツ幅ラッパー(`isContainer` と併用可)
|
|
45
|
+
- [l--flow](./l--flow.md) — 記事コンテンツ向けフローレイアウト
|
|
46
|
+
- [l--box](./l--box.md) — 汎用ボックス
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# is--layer / `<Layer>`
|
|
2
|
+
|
|
3
|
+
`position: absolute` で親要素の上に被せて配置するオーバーレイ用クラス。親には `pos="relative"` が必要です。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `is--layer`
|
|
8
|
+
- コンポーネント: `<Layer>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/trait/_layer.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/is--layer/
|
|
11
|
+
|
|
12
|
+
## 使い方
|
|
13
|
+
|
|
14
|
+
`<Layer>` は `<Lism isLayer>` のエイリアスです。他コンポーネントにも `isLayer` Prop で付与できます(例: `<Frame isLayer>`)。
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### 基本的な使い方
|
|
19
|
+
|
|
20
|
+
親要素に `pos="relative"` を指定し、子に `<Layer>` を置くことで上に重なるオーバーレイになります。
|
|
21
|
+
|
|
22
|
+
```jsx
|
|
23
|
+
<Box pos="relative" py="40">
|
|
24
|
+
<Text fz="2xl" fw="bold" ta="center">BACKGROUND</Text>
|
|
25
|
+
<Layer p="15" bgc="purple:10%">
|
|
26
|
+
<p>Layer Contents...</p>
|
|
27
|
+
</Layer>
|
|
28
|
+
</Box>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```html
|
|
32
|
+
<div class="l--box -pos:relative -py:40">
|
|
33
|
+
<p class="-fz:2xl -fw:bold -ta:center">BACKGROUND</p>
|
|
34
|
+
<div class="is--layer -p:15 -bgc" style="--bgc: color-mix(in srgb, var(--purple) 10%, transparent)">
|
|
35
|
+
<p>Layer Contents...</p>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### backdrop-filter の活用
|
|
41
|
+
|
|
42
|
+
`style` プロパティで `backdropFilter` を直接指定すると、背景をブラー・セピアなどの効果で加工できます。
|
|
43
|
+
|
|
44
|
+
```jsx
|
|
45
|
+
<Frame ar="2/1" pos="relative">
|
|
46
|
+
<img src="/img/a-1.jpg" alt="" width="960" height="640" />
|
|
47
|
+
<Layer style={{ backdropFilter: 'contrast(1.1) sepia(0.4)' }} />
|
|
48
|
+
</Frame>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### メディアレイヤー(画像を背景にする)
|
|
52
|
+
|
|
53
|
+
`<Frame isLayer>` でメディアをレイヤー化して背景画像として配置し、さらに `<Layer>` で暗幕を重ね、本文は `pos="relative"` で上にのせる構成が定番です。
|
|
54
|
+
|
|
55
|
+
```jsx
|
|
56
|
+
<Box pos="relative" py="50" px="40">
|
|
57
|
+
<Frame isLayer>
|
|
58
|
+
<Media src="/img/a-2.jpg" alt="" width="960" height="640" />
|
|
59
|
+
</Frame>
|
|
60
|
+
<Layer bgc="black:50%" />
|
|
61
|
+
<Stack pos="relative" g="30" c="white">
|
|
62
|
+
<p>本文テキスト...</p>
|
|
63
|
+
</Stack>
|
|
64
|
+
</Box>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 関連プリミティブ
|
|
68
|
+
|
|
69
|
+
- [l--frame](./l--frame.md) — `isLayer` 併用でメディア背景のレイヤー化
|
|
70
|
+
- [l--grid](./l--grid.md) — `ga="1/1"` で position を使わずに重ね配置する代替パターン
|
|
71
|
+
- [l--center](./l--center.md) — レイヤー内のコンテンツ中央寄せ
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# is--vertical
|
|
2
|
+
|
|
3
|
+
要素に縦書きモード(`writing-mode`)を適用するクラス。対応するコンポーネントエイリアスはありません(直接クラス指定で使用)。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `is--vertical`
|
|
8
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/trait/_vertical.scss
|
|
9
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/is--vertical/
|
|
10
|
+
|
|
11
|
+
## クラスバリエーション
|
|
12
|
+
|
|
13
|
+
縦書き用の値はトークン(`--vertical-mode`)で管理されており、`lang` 属性に合わせて `vertical-rl` / `vertical-lr` を上書きできます。
|
|
14
|
+
|
|
15
|
+
| クラス名 | 説明 |
|
|
16
|
+
|---------|------|
|
|
17
|
+
| `is--vertical` | 常に縦書きモードにする |
|
|
18
|
+
| `is--vertical@sm` | `sm` サイズ以上で縦書きにする |
|
|
19
|
+
| `is--vertical@md` | `md` サイズ以上で縦書きにする |
|
|
20
|
+
|
|
21
|
+
**注意**: `is--vertical@sm`, `is--vertical@md` を使う場合は、**`set--bp` クラスを併用する必要があります**。
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
### 常に縦書き
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<div class="is--vertical">
|
|
29
|
+
<p>縦書きテキスト...</p>
|
|
30
|
+
</div>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### `sm` 以上で縦書きにする
|
|
34
|
+
|
|
35
|
+
```jsx
|
|
36
|
+
<Flow set="gutter" py="20" w="100%" h="20em" className="is--vertical@sm set--bp">
|
|
37
|
+
<p>本文テキスト...</p>
|
|
38
|
+
<p>本文テキスト...</p>
|
|
39
|
+
</Flow>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<div class="is--vertical@sm set--bp l--flow set--gutter -py:20 -w:100% -h" style="--h: 20em">
|
|
44
|
+
<p>本文テキスト...</p>
|
|
45
|
+
<p>本文テキスト...</p>
|
|
46
|
+
</div>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 関連プリミティブ
|
|
50
|
+
|
|
51
|
+
- [l--flow](./l--flow.md) — 縦書きコンテンツと組み合わせる記事フロー
|
|
52
|
+
- [is--wrapper](./is--wrapper.md) — コンテンツ幅の制限
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# is--wrapper / `<Wrapper>`
|
|
2
|
+
|
|
3
|
+
直下のコンテンツ幅を一括制御するクラス。`max-width` とセンタリングを担い、記事・セクションのコンテンツ幅の統一に使います。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `is--wrapper`
|
|
8
|
+
- コンポーネント: `<Wrapper>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/trait/_wrapper.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/is--wrapper/
|
|
11
|
+
|
|
12
|
+
## 使い方
|
|
13
|
+
|
|
14
|
+
`<Wrapper>` は `<Lism isWrapper>` のエイリアスです。`isWrapper` Prop は他のコンポーネントにも使用できます(例: `<Flow isWrapper>`)。
|
|
15
|
+
|
|
16
|
+
| 指定 | 出力 |
|
|
17
|
+
|------|------|
|
|
18
|
+
| `isWrapper` | `.is--wrapper` |
|
|
19
|
+
| `isWrapper="s"` | `.is--wrapper .-contentSize:s` |
|
|
20
|
+
| `isWrapper="l"` | `.is--wrapper .-contentSize:l` |
|
|
21
|
+
| `isWrapper="20rem"`(任意値) | `.is--wrapper` + `style="--contentSize: 20rem"` |
|
|
22
|
+
|
|
23
|
+
## 専用Props
|
|
24
|
+
|
|
25
|
+
| Prop | 説明 |
|
|
26
|
+
|------|------|
|
|
27
|
+
| `contentSize` | コンテンツサイズ。`s` / `l` / トークン / 任意値 |
|
|
28
|
+
|
|
29
|
+
```jsx
|
|
30
|
+
// 下記の ① と ② は同じ結果
|
|
31
|
+
<Flow isWrapper="s" isContainer>...</Flow>
|
|
32
|
+
<Wrapper contentSize="s" layout="flow" isContainer>...</Wrapper>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
### `layout` との組み合わせ
|
|
38
|
+
|
|
39
|
+
```jsx
|
|
40
|
+
<Wrapper layout="flow" p="20">
|
|
41
|
+
<p>Content</p>
|
|
42
|
+
<p>Content</p>
|
|
43
|
+
</Wrapper>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<div class="l--flow is--wrapper -p:20">
|
|
48
|
+
<p>Content</p>
|
|
49
|
+
<p>Content</p>
|
|
50
|
+
</div>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### `contentSize` 指定
|
|
54
|
+
|
|
55
|
+
```jsx
|
|
56
|
+
<Wrapper contentSize="s" layout="flow" p="20">
|
|
57
|
+
<p>Content</p>
|
|
58
|
+
<p>Content</p>
|
|
59
|
+
</Wrapper>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<div class="l--flow is--wrapper -contentSize:s -p:20">
|
|
64
|
+
<p>Content</p>
|
|
65
|
+
<p>Content</p>
|
|
66
|
+
</div>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 任意値のコンテンツ幅
|
|
70
|
+
|
|
71
|
+
```jsx
|
|
72
|
+
<Lism isWrapper="20rem" p="20">
|
|
73
|
+
<div>Contents...</div>
|
|
74
|
+
</Lism>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<div class="is--wrapper -p:20" style="--contentSize: 20rem">
|
|
79
|
+
<div>Contents...</div>
|
|
80
|
+
</div>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 関連プリミティブ
|
|
84
|
+
|
|
85
|
+
- [is--container](./is--container.md) — コンテナクエリ基準(`isContainer` と併用可)
|
|
86
|
+
- [l--flow](./l--flow.md) — 記事フローレイアウト(`layout="flow"` で結合)
|
|
87
|
+
- [l--box](./l--box.md) — 汎用ボックス
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# l--box / `<Box>`
|
|
2
|
+
|
|
3
|
+
コンテンツをグループ化するだけのシンプルなクラス。汎用的な箱として、パディング・ボーダー・背景色などの指定に使います。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--box`
|
|
8
|
+
- コンポーネント: `<Box>`
|
|
9
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--box/
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### 基本的な使い方
|
|
14
|
+
|
|
15
|
+
```jsx
|
|
16
|
+
<Box p="30" bgc="base-2" bxsh="10" bdrs="10">
|
|
17
|
+
<p>コンテンツ...</p>
|
|
18
|
+
</Box>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<div class="l--box -p:30 -bgc:base-2 -bxsh:10 -bdrs:10">
|
|
23
|
+
<p>コンテンツ...</p>
|
|
24
|
+
</div>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 関連プリミティブ
|
|
28
|
+
|
|
29
|
+
- [l--flow](./l--flow.md) — テキスト主体のフローレイアウト
|
|
30
|
+
- [l--stack](./l--stack.md) — Flex 縦並び
|
|
31
|
+
- [is--wrapper](./is--wrapper.md) — コンテンツ幅ラッパー
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# l--center / `<Center>`
|
|
2
|
+
|
|
3
|
+
要素を上下左右中央揃えで配置するクラス。高さの有無で水平中央のみ / 上下左右中央を自動的に切り替えます。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--center`
|
|
8
|
+
- コンポーネント: `<Center>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_center.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--center/
|
|
11
|
+
|
|
12
|
+
## 動作の仕組み
|
|
13
|
+
|
|
14
|
+
- 高さを持たない場合: コンテンツを**水平方向のみ**中央揃え(内在的な中央寄せ。長いテキストは左寄せのまま)
|
|
15
|
+
- 高さ・アスペクト比(`h`, `min-h`, `ar` など)が設定されている場合: **垂直方向も中央揃え**
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
### 水平方向に中央配置
|
|
20
|
+
|
|
21
|
+
```jsx
|
|
22
|
+
<Center bd p="30">
|
|
23
|
+
<Text fz="l">TEXT</Text>
|
|
24
|
+
</Center>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<div class="l--center -bd -p:30">
|
|
29
|
+
<p class="-fz:l">TEXT</p>
|
|
30
|
+
</div>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 上下左右中央に配置する
|
|
34
|
+
|
|
35
|
+
`ar` や高さを指定すると、垂直方向に対しても中央揃えになります。
|
|
36
|
+
|
|
37
|
+
```jsx
|
|
38
|
+
<Center g="10" ar="3/2" bd>
|
|
39
|
+
<Text fz="l">TEXT</Text>
|
|
40
|
+
<Text fz="s">Lorem ipsum dolor sit amet.</Text>
|
|
41
|
+
</Center>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<div class="l--center -bd -g:10 -ar:3/2">
|
|
46
|
+
<p class="-fz:l">TEXT</p>
|
|
47
|
+
<p class="-fz:s">Lorem ipsum dolor sit amet.</p>
|
|
48
|
+
</div>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 関連プリミティブ
|
|
52
|
+
|
|
53
|
+
- [l--frame](./l--frame.md) — アスペクト比付きメディアフレーム(`<Center>` と組み合わせられる)
|
|
54
|
+
- [l--stack](./l--stack.md) — `ai="center"` で水平中央の内在的な中央寄せが可能
|
|
55
|
+
- [l--grid](./l--grid.md) — `ga="1/1"` で重ね配置のオーバーレイ
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# l--cluster / `<Cluster>`
|
|
2
|
+
|
|
3
|
+
複数の要素を横方向に並べ、数が多ければ自動的に折り返すクラス。タグリスト・ボタングループなどに使います。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--cluster`
|
|
8
|
+
- コンポーネント: `<Cluster>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_cluster.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--cluster/
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
### 基本的な使い方
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<Cluster g="15">
|
|
18
|
+
<Lism bd px="10" bdrs="10">Lorem</Lism>
|
|
19
|
+
<Lism bd px="10" bdrs="10">ipsum</Lism>
|
|
20
|
+
<Lism bd px="10" bdrs="10">Dolor</Lism>
|
|
21
|
+
<Lism bd px="10" bdrs="10">Sit amet</Lism>
|
|
22
|
+
</Cluster>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<div class="l--cluster -g:15">
|
|
27
|
+
<span class="-bd -px:10 -bdrs:10">Lorem</span>
|
|
28
|
+
<span class="-bd -px:10 -bdrs:10">ipsum</span>
|
|
29
|
+
<span class="-bd -px:10 -bdrs:10">Dolor</span>
|
|
30
|
+
<span class="-bd -px:10 -bdrs:10">Sit amet</span>
|
|
31
|
+
</div>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 関連プリミティブ
|
|
35
|
+
|
|
36
|
+
- [l--flex](./l--flex.md) — 汎用 Flex 横並び(折り返しなしが基本)
|
|
37
|
+
- [l--stack](./l--stack.md) — Flex 縦並び
|
|
38
|
+
- [l--switchCols](./l--switchCols.md) — ブレイクポイントで縦横切り替えるカラム
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# l--columns / `<Columns>`
|
|
2
|
+
|
|
3
|
+
ブレイクポイントごとに指定した列数で表示できるカラムクラス。等幅の複数カラムを定義したい場合に使います。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--columns`
|
|
8
|
+
- コンポーネント: `<Columns>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_columns.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--columns/
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | 説明 | デフォルト |
|
|
15
|
+
|------|--------|------|------------|
|
|
16
|
+
| `cols` | `--cols` | 列数を指定。配列でブレイクポイント指定可 | `2` |
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
### 2列レイアウト
|
|
21
|
+
|
|
22
|
+
```jsx
|
|
23
|
+
<Columns cols={2} g="20">
|
|
24
|
+
<Box bgc="base-2" p="20">Box</Box>
|
|
25
|
+
<Box bgc="base-2" p="20">Box</Box>
|
|
26
|
+
<Box bgc="base-2" p="20">Box</Box>
|
|
27
|
+
<Box bgc="base-2" p="20">Box</Box>
|
|
28
|
+
</Columns>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```html
|
|
32
|
+
<div class="l--columns -g:20" style="--cols: 2">
|
|
33
|
+
<div class="l--box -bgc:base-2 -p:20">Box</div>
|
|
34
|
+
<div class="l--box -bgc:base-2 -p:20">Box</div>
|
|
35
|
+
<div class="l--box -bgc:base-2 -p:20">Box</div>
|
|
36
|
+
<div class="l--box -bgc:base-2 -p:20">Box</div>
|
|
37
|
+
</div>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### ブレイクポイント別指定
|
|
41
|
+
|
|
42
|
+
```jsx
|
|
43
|
+
<Columns cols={[1, 2, 3]} g="20">
|
|
44
|
+
<Box>Box1</Box>
|
|
45
|
+
<Box>Box2</Box>
|
|
46
|
+
<Box>Box3</Box>
|
|
47
|
+
</Columns>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<div class="l--columns -cols_sm -cols_md -g:20" style="--cols: 1; --cols_sm: 2; --cols_md: 3">
|
|
52
|
+
<div class="l--box">Box1</div>
|
|
53
|
+
<div class="l--box">Box2</div>
|
|
54
|
+
<div class="l--box">Box3</div>
|
|
55
|
+
</div>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`null` でブレイクポイントをスキップ可:`cols={[2, null, 4]}` で「デフォルト2列、`md` から4列」になります。
|
|
59
|
+
|
|
60
|
+
### `gc`(grid-column)で子要素の横幅を個別制御
|
|
61
|
+
|
|
62
|
+
子要素側で `gc="span 2"` のように指定すると、その子だけ複数列にまたがって配置できます。`cols="6"` 等の多めの列数と組み合わせると、不揃いなブロックレイアウトを作れます。
|
|
63
|
+
|
|
64
|
+
### subgrid でカード高さ揃え
|
|
65
|
+
|
|
66
|
+
子要素を `<Grid gtr="subgrid" gr="span 4">` にすると、親 Columns の行グリッドを継承しカード内のメディア・タイトル・本文・フッタを縦方向に揃えられます。
|
|
67
|
+
|
|
68
|
+
## 関連プリミティブ
|
|
69
|
+
|
|
70
|
+
- [l--tileGrid](./l--tileGrid.md) — 列数×行数を指定する均等タイル
|
|
71
|
+
- [l--fluidCols](./l--fluidCols.md) — カラム幅ベースの自動段組
|
|
72
|
+
- [l--switchCols](./l--switchCols.md) — 複数列 ↔ 1列切り替え
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# l--flex / `<Flex>`
|
|
2
|
+
|
|
3
|
+
コンテンツを Flex レイアウトで配置するためのクラス。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--flex`
|
|
8
|
+
- コンポーネント: `<Flex>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flex.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--flex/
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
### 基本的な使い方
|
|
15
|
+
|
|
16
|
+
```jsx
|
|
17
|
+
<Flex>
|
|
18
|
+
<div>Item</div>
|
|
19
|
+
<div>Item</div>
|
|
20
|
+
<div>Item</div>
|
|
21
|
+
</Flex>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<div class="l--flex">
|
|
26
|
+
<div>Item</div>
|
|
27
|
+
<div>Item</div>
|
|
28
|
+
<div>Item</div>
|
|
29
|
+
</div>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Flex プロパティの指定
|
|
33
|
+
|
|
34
|
+
Property Class や Lism Props で Flex 関連プロパティ(`g`, `fxw`, `jc`, `ai`, `fxd` など)を指定できます。レスポンシブ対応プロパティは配列・オブジェクトで指定可能。
|
|
35
|
+
|
|
36
|
+
```jsx
|
|
37
|
+
<Flex fxw="wrap" jc="center" g="20">
|
|
38
|
+
<div>Flex Content</div>
|
|
39
|
+
<div>Flex Content</div>
|
|
40
|
+
<div>Flex Content</div>
|
|
41
|
+
</Flex>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<div class="l--flex -fxw:wrap -g:20 -jc:center">
|
|
46
|
+
<div>Flex Content</div>
|
|
47
|
+
<div>Flex Content</div>
|
|
48
|
+
<div>Flex Content</div>
|
|
49
|
+
</div>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 子要素の Flex プロパティ
|
|
53
|
+
|
|
54
|
+
子要素側も `fx`(flex shorthand), `fxb`(flex-basis), `fxg`(flex-grow), `fxs`(flex-shrink)などで個別制御できます。
|
|
55
|
+
|
|
56
|
+
```jsx
|
|
57
|
+
<Flex g="20">
|
|
58
|
+
<Lism fx="1">Flex Content</Lism>
|
|
59
|
+
<Lism fxb={['33%', '25%']}>Flex Content</Lism>
|
|
60
|
+
</Flex>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```html
|
|
64
|
+
<div class="l--flex -g:20">
|
|
65
|
+
<div class="-fx:1">Flex Content</div>
|
|
66
|
+
<div class="-fxb -fxb_sm" style="--fxb:33%;--fxb_sm:25%">Flex Content</div>
|
|
67
|
+
</div>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 関連プリミティブ
|
|
71
|
+
|
|
72
|
+
- [l--stack](./l--stack.md) — 縦積みの Flexbox(`flex-direction: column`)
|
|
73
|
+
- [l--cluster](./l--cluster.md) — 折り返し前提の横並び(`flex-wrap: wrap`)
|
|
74
|
+
- [l--grid](./l--grid.md) — CSS Grid レイアウト
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# l--flow / `<Flow>`
|
|
2
|
+
|
|
3
|
+
子要素間の余白を `margin-block-start` で管理するフローレイアウト。**記事コンテンツなどテキスト主体のフローレイアウト**に最適。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--flow`
|
|
8
|
+
- コンポーネント: `<Flow>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flow.scss
|
|
10
|
+
- ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--flow/
|
|
11
|
+
|
|
12
|
+
## 余白の仕組み
|
|
13
|
+
|
|
14
|
+
`l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h2`〜`h6`)のみ余白が大きくなる(`--flow-hScale` で調整可能)。
|
|
15
|
+
|
|
16
|
+
| クラス | 余白量 |
|
|
17
|
+
|--------|-------|
|
|
18
|
+
| `.l--flow` | `--flow--base`(`--s30`) |
|
|
19
|
+
| `.l--flow.-flow:s` | `--flow--s`(`--s20`) |
|
|
20
|
+
| `.l--flow.-flow:` | `--flow` を直接指定した値 |
|
|
21
|
+
|
|
22
|
+
## 専用Props
|
|
23
|
+
|
|
24
|
+
| Prop | 説明 |
|
|
25
|
+
|------|------|
|
|
26
|
+
| `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと `.-flow:{value}` クラスが付与、任意値を渡すと `.-flow:` + `style="--flow:..."` が出力される |
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
### 基本的な使い方
|
|
31
|
+
|
|
32
|
+
```jsx
|
|
33
|
+
<Flow>
|
|
34
|
+
<p>本文1...</p>
|
|
35
|
+
<p>本文2...</p>
|
|
36
|
+
<h2>Heading 2</h2>
|
|
37
|
+
<p>本文3...</p>
|
|
38
|
+
<ul>
|
|
39
|
+
<li>リスト項目1</li>
|
|
40
|
+
<li>リスト項目2</li>
|
|
41
|
+
</ul>
|
|
42
|
+
</Flow>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<div class="l--flow">
|
|
47
|
+
<p>本文1...</p>
|
|
48
|
+
<p>本文2...</p>
|
|
49
|
+
<h2>Heading 2</h2>
|
|
50
|
+
<p>本文3...</p>
|
|
51
|
+
<ul>...</ul>
|
|
52
|
+
</div>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 余白量をトークンで変える(`flow="s"`)
|
|
56
|
+
|
|
57
|
+
```jsx
|
|
58
|
+
<Flow flow="s">
|
|
59
|
+
<p>本文...</p>
|
|
60
|
+
<h2>Heading</h2>
|
|
61
|
+
<p>本文...</p>
|
|
62
|
+
</Flow>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```html
|
|
66
|
+
<div class="l--flow -flow:s">
|
|
67
|
+
<p>本文...</p>
|
|
68
|
+
<h2>Heading</h2>
|
|
69
|
+
<p>本文...</p>
|
|
70
|
+
</div>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 任意の値を指定する
|
|
74
|
+
|
|
75
|
+
トークン値以外を `flow` に渡すと、`-flow:` クラスと `--flow` CSS変数で出力されます。
|
|
76
|
+
|
|
77
|
+
```jsx
|
|
78
|
+
<Flow flow="10px">
|
|
79
|
+
<p>本文...</p>
|
|
80
|
+
<p>本文...</p>
|
|
81
|
+
</Flow>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<div class="l--flow -flow:" style="--flow:10px">
|
|
86
|
+
<p>本文...</p>
|
|
87
|
+
<p>本文...</p>
|
|
88
|
+
</div>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## `is--skipFlow`
|
|
92
|
+
|
|
93
|
+
`l--flow` 直下で使用し、**次の兄弟要素との余白を打ち消す**トレイトクラス。フローコンテンツの先頭に `position: absolute` な要素を配置したい場合などに使用します。
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<div class="l--flow">
|
|
97
|
+
<div class="is--skipFlow">スキップ対象</div>
|
|
98
|
+
<p>本文1(上の要素との余白が打ち消される)</p>
|
|
99
|
+
<p>本文2</p>
|
|
100
|
+
</div>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`is--skipFlow` は `l--flow` 専用のトレイトクラスで、独立したドキュメントは持ちません。
|
|
104
|
+
|
|
105
|
+
## 入れ子時の注意点
|
|
106
|
+
|
|
107
|
+
`l--flow` の直下で `l--flow` をネストして `--flow` をカスタム値で直接指定すると、**その子側の `l--flow` 自身の `margin-block-start` にも影響**が出ます。直下にネストせず、別要素で一度ラップすれば回避できます。
|
|
108
|
+
|
|
109
|
+
```jsx
|
|
110
|
+
// NG: 直下ネストで --flow を上書きすると親子両方に影響
|
|
111
|
+
<Flow>
|
|
112
|
+
<p>親コンテンツ</p>
|
|
113
|
+
<Flow flow="5px"> {/* この Flow 自体の上マージンも 5px になる */}
|
|
114
|
+
<p>子コンテンツ</p>
|
|
115
|
+
</Flow>
|
|
116
|
+
</Flow>
|
|
117
|
+
|
|
118
|
+
// OK: 間に1段ラップを挟む
|
|
119
|
+
<Flow>
|
|
120
|
+
<p>親コンテンツ</p>
|
|
121
|
+
<div>
|
|
122
|
+
<Flow flow="5px">
|
|
123
|
+
<p>子コンテンツ</p>
|
|
124
|
+
</Flow>
|
|
125
|
+
</div>
|
|
126
|
+
</Flow>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
またネストされた `l--flow` は、`--flow` が未定義の場合 `--flow--base` ではなく**親の値を継承**することにも注意してください。
|
|
130
|
+
|
|
131
|
+
## 関連プリミティブ
|
|
132
|
+
|
|
133
|
+
- [l--stack](./l--stack.md) — `gap` で余白を管理する縦積み(こちらは Flexbox)
|
|
134
|
+
- [is--wrapper](./is--wrapper.md) — 記事コンテンツ幅の制限用ラッパー(`l--flow` とセットで使うことが多い)
|