@inc2734/unitone-css 0.46.4 → 0.47.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/dist/app.css +1 -1
- package/dist/app.js +1 -1
- package/dist/index.js +1 -0
- package/dist/library.js +1 -0
- package/dist/storybook.css +1 -1
- package/package.json +26 -17
- package/src/app.js +5 -132
- package/src/index.js +1 -0
- package/src/layout-primitives/both-sides/README.md +96 -7
- package/src/layout-primitives/both-sides/stories/index.stories.jsx +2 -5
- package/src/layout-primitives/center/README.md +85 -21
- package/src/layout-primitives/center/stories/index.stories.jsx +2 -2
- package/src/layout-primitives/cluster/README.md +87 -4
- package/src/layout-primitives/cluster/stories/index.stories.jsx +1 -1
- package/src/layout-primitives/container/README.md +73 -19
- package/src/layout-primitives/container/stories/index.stories.jsx +2 -2
- package/src/layout-primitives/cover/README.md +144 -18
- package/src/layout-primitives/cover/_cover.scss +24 -24
- package/src/layout-primitives/cover/index.jsx +63 -0
- package/src/layout-primitives/cover/stories/index.stories.jsx +20 -19
- package/src/layout-primitives/decorator/README.md +134 -12
- package/src/layout-primitives/decorator/stories/index.stories.jsx +2 -2
- package/src/layout-primitives/float/README.md +93 -2
- package/src/layout-primitives/float/stories/index.stories.jsx +3 -3
- package/src/layout-primitives/frame/README.md +53 -1
- package/src/layout-primitives/frame/stories/index.stories.jsx +1 -1
- package/src/layout-primitives/gutters/README.md +35 -11
- package/src/layout-primitives/gutters/stories/index.stories.jsx +4 -4
- package/src/layout-primitives/index.js +17 -0
- package/src/layout-primitives/layers/README.md +240 -4
- package/src/layout-primitives/layers/{Layers.jsx → index.jsx} +16 -1
- package/src/layout-primitives/layers/stories/index.stories.jsx +32 -2
- package/src/layout-primitives/reel/README.md +81 -28
- package/src/layout-primitives/reel/stories/index.stories.jsx +3 -3
- package/src/layout-primitives/responsive-grid/README.md +103 -8
- package/src/layout-primitives/responsive-grid/{ResponsiveGrid.jsx → index.jsx} +2 -1
- package/src/layout-primitives/responsive-grid/stories/index.stories.jsx +187 -26
- package/src/layout-primitives/stack/README.md +61 -2
- package/src/layout-primitives/stack/_stack.scss +6 -4
- package/src/layout-primitives/stack/stories/index.stories.jsx +3 -3
- package/src/layout-primitives/switcher/README.md +60 -4
- package/src/layout-primitives/switcher/stories/index.stories.jsx +2 -2
- package/src/layout-primitives/text/README.md +117 -2
- package/src/layout-primitives/text/stories/index.stories.jsx +13 -3
- package/src/layout-primitives/vertical-writing/README.md +96 -3
- package/src/layout-primitives/vertical-writing/stories/index.stories.jsx +2 -2
- package/src/layout-primitives/with-sidebar/README.md +136 -3
- package/src/layout-primitives/with-sidebar/stories/index.stories.jsx +4 -7
- package/src/library.js +132 -0
- package/src/patterns/features/features-1/Features1.jsx +9 -7
- package/src/patterns/features/features-2/Features2.jsx +1 -6
- package/src/patterns/header/header-1/Header1.jsx +10 -7
- package/src/patterns/header/header-2/Header2.jsx +1 -6
- package/src/patterns/header/header-3/Header3.jsx +1 -6
- package/src/patterns/header/header-4/Header4.jsx +9 -6
- package/src/patterns/header/header-5/Header5.jsx +9 -6
- package/src/patterns/header/header-6/Header6.jsx +10 -7
- package/src/patterns/media-text/media-text-1/MediaText1.jsx +9 -6
- package/src/patterns/media-text/media-text-2/MediaText2.jsx +8 -5
- package/src/stories/2.get-started.stories.mdx +28 -2
- package/src/layout-primitives/cover/Cover.jsx +0 -41
- /package/src/layout-primitives/both-sides/{BothSides.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/center/{Center.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/cluster/{Cluster.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/container/{Container.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/decorator/{Decorator.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/float/{Float.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/frame/{Frame.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/gutters/{Gutters.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/reel/{Reel.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/stack/{Stack.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/switcher/{Switcher.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/text/{Text.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/vertical-writing/{VerticalWriting.jsx → index.jsx} +0 -0
- /package/src/layout-primitives/with-sidebar/{WithSidebar.jsx → index.jsx} +0 -0
|
@@ -1,71 +1,307 @@
|
|
|
1
|
+
# Layers
|
|
2
|
+
|
|
3
|
+
Elements on top of each other. Layers have a 12 x 7 (7 x 12 in portrait mode) grid, along which child layers can be shifted.
|
|
4
|
+
|
|
1
5
|
## Usage
|
|
2
6
|
|
|
7
|
+
### HTML
|
|
8
|
+
|
|
3
9
|
```html
|
|
4
10
|
<div data-unitone-layout="layers">
|
|
5
11
|
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
12
|
+
|
|
6
13
|
<div data-unitone-layout="decorator" style="--unitone--align-self:end">
|
|
7
14
|
Lorem ipsum dolor sit amet
|
|
8
15
|
</div>
|
|
9
16
|
</div>
|
|
10
17
|
```
|
|
11
18
|
|
|
19
|
+
### JSX
|
|
20
|
+
|
|
21
|
+
```jsx
|
|
22
|
+
import { Layers, Decorator } from '@inc2734/unitone-css';
|
|
23
|
+
|
|
24
|
+
<Layers>
|
|
25
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
26
|
+
|
|
27
|
+
<Decorator style={{ '--unitone--align-self': 'end' }}>
|
|
28
|
+
Lorem ipsum dolor sit amet
|
|
29
|
+
</Decorator>
|
|
30
|
+
</Layers>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Props
|
|
34
|
+
|
|
35
|
+
### Gap
|
|
36
|
+
|
|
37
|
+
Gap.
|
|
38
|
+
|
|
39
|
+
#### HTML
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<div data-unitone-layout="layers -gap:1">
|
|
43
|
+
...
|
|
44
|
+
</div>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### JSX
|
|
48
|
+
|
|
49
|
+
```jsx
|
|
50
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
51
|
+
|
|
52
|
+
<Layers gap={1}>
|
|
53
|
+
...
|
|
54
|
+
</Layers>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Min height
|
|
58
|
+
|
|
59
|
+
Min height.
|
|
60
|
+
|
|
61
|
+
#### HTML
|
|
62
|
+
|
|
63
|
+
```html
|
|
64
|
+
<div data-unitone-layout="layers" style="--unitone--min-height: 500px">
|
|
65
|
+
...
|
|
66
|
+
</div>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### JSX
|
|
70
|
+
|
|
71
|
+
```jsx
|
|
72
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
73
|
+
|
|
74
|
+
<Layers minHeight="500px">
|
|
75
|
+
...
|
|
76
|
+
</Layers>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Columns
|
|
80
|
+
|
|
81
|
+
Number of columns.
|
|
82
|
+
|
|
83
|
+
#### HTML
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<div data-unitone-layout="layers" style="--unitone--columns: 20">
|
|
87
|
+
...
|
|
88
|
+
</div>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### JSX
|
|
92
|
+
|
|
93
|
+
```jsx
|
|
94
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
95
|
+
|
|
96
|
+
<Layers columns="20">
|
|
97
|
+
...
|
|
98
|
+
</Layers>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Rows
|
|
102
|
+
|
|
103
|
+
Number of rows.
|
|
104
|
+
|
|
105
|
+
#### HTML
|
|
106
|
+
|
|
107
|
+
```html
|
|
108
|
+
<div data-unitone-layout="layers" style="--unitone--rows: 20">
|
|
109
|
+
...
|
|
110
|
+
</div>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
#### JSX
|
|
114
|
+
|
|
115
|
+
```jsx
|
|
116
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
117
|
+
|
|
118
|
+
<Layers rows="20">
|
|
119
|
+
...
|
|
120
|
+
</Layers>
|
|
121
|
+
```
|
|
122
|
+
|
|
12
123
|
### Covered image
|
|
13
124
|
|
|
14
125
|
Background image/video is sized to maintain its aspect ratio while filling the element's entire content box. If the object's aspect ratio does not match the aspect ratio of its box, then the object will be clipped to fit.
|
|
15
126
|
|
|
127
|
+
#### HTML
|
|
128
|
+
|
|
16
129
|
```html
|
|
17
130
|
<div data-unitone-layout="layers -cover">
|
|
18
131
|
<img ...>
|
|
132
|
+
|
|
19
133
|
<div>
|
|
20
134
|
...
|
|
21
135
|
</div>
|
|
22
136
|
</div>
|
|
23
137
|
```
|
|
24
138
|
|
|
139
|
+
#### JSX
|
|
140
|
+
|
|
141
|
+
```jsx
|
|
142
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
143
|
+
|
|
144
|
+
<Layers cover>
|
|
145
|
+
<img ... />
|
|
146
|
+
|
|
147
|
+
<div>
|
|
148
|
+
...
|
|
149
|
+
</div>
|
|
150
|
+
</Layers>
|
|
151
|
+
```
|
|
152
|
+
|
|
25
153
|
### Filled image
|
|
26
154
|
|
|
27
155
|
The background image/video is enlarged according to the amount of content.
|
|
28
156
|
|
|
157
|
+
#### HTML
|
|
158
|
+
|
|
29
159
|
```html
|
|
30
160
|
<div data-unitone-layout="layers -fill">
|
|
31
161
|
<img ...>
|
|
162
|
+
|
|
32
163
|
<div>
|
|
33
164
|
...
|
|
34
165
|
</div>
|
|
35
166
|
</div>
|
|
36
167
|
```
|
|
37
168
|
|
|
169
|
+
#### JSX
|
|
170
|
+
|
|
171
|
+
```jsx
|
|
172
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
173
|
+
|
|
174
|
+
<Layers fill>
|
|
175
|
+
<img ... />
|
|
176
|
+
|
|
177
|
+
<div>
|
|
178
|
+
...
|
|
179
|
+
</div>
|
|
180
|
+
</Layers>
|
|
181
|
+
```
|
|
182
|
+
|
|
38
183
|
### Blur image
|
|
39
184
|
|
|
40
185
|
Blur the background image/video.
|
|
41
186
|
|
|
187
|
+
#### HTML
|
|
188
|
+
|
|
42
189
|
```html
|
|
43
|
-
<div data-unitone-layout="layers -blur">
|
|
190
|
+
<div data-unitone-layout="layers -blur" style="--unitone--blur: 100px">
|
|
44
191
|
<img ...>
|
|
192
|
+
|
|
45
193
|
<div>
|
|
46
194
|
...
|
|
47
195
|
</div>
|
|
48
196
|
</div>
|
|
49
197
|
```
|
|
50
198
|
|
|
199
|
+
#### JSX
|
|
200
|
+
|
|
201
|
+
```jsx
|
|
202
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
203
|
+
|
|
204
|
+
<Layers blur style={{ '--unitone--blur': '100px' }}>
|
|
205
|
+
<img ... />
|
|
206
|
+
|
|
207
|
+
<div>
|
|
208
|
+
...
|
|
209
|
+
</div>
|
|
210
|
+
</Layers>
|
|
211
|
+
```
|
|
212
|
+
|
|
51
213
|
### Portrait grid
|
|
52
214
|
|
|
215
|
+
In portrait mode, swaps the height and width of the grid.
|
|
216
|
+
|
|
217
|
+
#### HTML
|
|
218
|
+
|
|
53
219
|
```html
|
|
54
220
|
<div data-unitone-layout="layers -portrait">
|
|
55
|
-
|
|
56
|
-
|
|
221
|
+
...
|
|
222
|
+
</div>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
#### JSX
|
|
226
|
+
|
|
227
|
+
```jsx
|
|
228
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
229
|
+
|
|
230
|
+
<Layers portrait>
|
|
231
|
+
...
|
|
232
|
+
</Layers>
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Mix blend mode
|
|
236
|
+
|
|
237
|
+
You can specify how the elements should look when stacked.
|
|
238
|
+
|
|
239
|
+
#### HTML
|
|
240
|
+
|
|
241
|
+
```html
|
|
242
|
+
<div data-unitone-layout="layers -portrait">
|
|
243
|
+
<img ... />
|
|
244
|
+
|
|
245
|
+
<div style="--unitone--mix-blend-mode: overlay">
|
|
57
246
|
...
|
|
58
247
|
</div>
|
|
59
248
|
</div>
|
|
60
249
|
```
|
|
61
250
|
|
|
62
|
-
|
|
251
|
+
#### JSX
|
|
252
|
+
|
|
253
|
+
```jsx
|
|
254
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
255
|
+
|
|
256
|
+
<Layers portrait>
|
|
257
|
+
<img ... />
|
|
258
|
+
|
|
259
|
+
<div style={{ '--unitone--mix-blend-mode': 'overlay' }}>
|
|
260
|
+
...
|
|
261
|
+
</div>
|
|
262
|
+
</Layers>
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Items position
|
|
266
|
+
|
|
267
|
+
You can set the position of child elements with the associated properties of the CSS grid.
|
|
268
|
+
|
|
269
|
+
#### HTML
|
|
63
270
|
|
|
64
271
|
```html
|
|
65
272
|
<div data-unitone-layout="layers">
|
|
66
273
|
<img ...>
|
|
274
|
+
|
|
67
275
|
<div style="--unitone--alilgn-self: end; --unitone--justify-self: center">
|
|
68
276
|
...
|
|
69
277
|
</div>
|
|
70
278
|
</div>
|
|
279
|
+
|
|
280
|
+
<div data-unitone-layout="layers">
|
|
281
|
+
<img ...>
|
|
282
|
+
|
|
283
|
+
<div style="--unitone--grid-column: 1/-1; --unitone--grid-row: 1/-1">
|
|
284
|
+
...
|
|
285
|
+
</div>
|
|
286
|
+
</div>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
```jsx
|
|
290
|
+
import { Layers } from '@inc2734/unitone-css';
|
|
291
|
+
|
|
292
|
+
<Layers>
|
|
293
|
+
<img ... />
|
|
294
|
+
|
|
295
|
+
<div style={{ '--unitone--alilgn-self': 'end', '--unitone--justify-self': 'center' }}>
|
|
296
|
+
...
|
|
297
|
+
</div>
|
|
298
|
+
</Layers>
|
|
299
|
+
|
|
300
|
+
<Layers>
|
|
301
|
+
<img ... />
|
|
302
|
+
|
|
303
|
+
<div style={{ '--unitone--grid-column': '1/-1', '--unitone--grid-row': '1/-1' }}>
|
|
304
|
+
...
|
|
305
|
+
</div>
|
|
306
|
+
</Layers>
|
|
71
307
|
```
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
export const Layers = ({
|
|
3
|
+
export const Layers = ({
|
|
4
|
+
cover,
|
|
5
|
+
fill,
|
|
6
|
+
blur,
|
|
7
|
+
portrait,
|
|
8
|
+
gap,
|
|
9
|
+
minHeight,
|
|
10
|
+
columns,
|
|
11
|
+
rows,
|
|
12
|
+
style,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
4
15
|
style = {
|
|
5
16
|
...style,
|
|
17
|
+
'--unitone--gap': 'undefined' !== typeof gap ? gap : undefined,
|
|
18
|
+
'--unitone--min-height': 'undefined' !== typeof minHeight ? minHeight : undefined,
|
|
19
|
+
'--unitone--columns': 'undefined' !== typeof columns ? columns : undefined,
|
|
20
|
+
'--unitone--rows': 'undefined' !== typeof rows ? rows : undefined,
|
|
6
21
|
};
|
|
7
22
|
|
|
8
23
|
return (
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import readme from '../README.md';
|
|
3
3
|
|
|
4
|
-
import { Layers } from '../
|
|
5
|
-
import { Decorator } from '../../decorator
|
|
4
|
+
import { Layers } from '../';
|
|
5
|
+
import { Decorator } from '../../decorator';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: 'Layout Primitives/Layers',
|
|
@@ -40,12 +40,42 @@ export default {
|
|
|
40
40
|
table: { defaultValue: { summary: false } },
|
|
41
41
|
type: { name: 'boolean', required: false },
|
|
42
42
|
},
|
|
43
|
+
gap: {
|
|
44
|
+
control: { type: 'inline-radio' },
|
|
45
|
+
description:
|
|
46
|
+
'Gap. Set by CSS var `--unitone--gap` or `data-unitone-layout` attribute `-gap:x`.',
|
|
47
|
+
options: [-2, -1, 0, 1, 2, 3, 4, 5, 6, 7],
|
|
48
|
+
table: { defaultValue: { summary: 'min(3.33333%,var(--unitone--grid-gap))' } },
|
|
49
|
+
type: { name: 'number', required: false },
|
|
50
|
+
},
|
|
51
|
+
minHeight: {
|
|
52
|
+
control: { type: 'text' },
|
|
53
|
+
description: 'Min height. Set by CSS var `--unitone--min-height`.',
|
|
54
|
+
table: { defaultValue: { summary: '0' } },
|
|
55
|
+
type: { name: 'string', required: false },
|
|
56
|
+
},
|
|
57
|
+
columns: {
|
|
58
|
+
control: { type: 'text' },
|
|
59
|
+
description: 'Number of columns. Set by CSS var `--unitone--columns`.',
|
|
60
|
+
table: { defaultValue: { summary: 'var(--unitone--grid-columns)' } },
|
|
61
|
+
type: { name: 'number', required: false },
|
|
62
|
+
},
|
|
63
|
+
rows: {
|
|
64
|
+
control: { type: 'text' },
|
|
65
|
+
description: 'Number of rows. Set by CSS var `--unitone--columns`.',
|
|
66
|
+
table: { defaultValue: { summary: 'var(--unitone--grid-rows)' } },
|
|
67
|
+
type: { name: 'number', required: false },
|
|
68
|
+
},
|
|
43
69
|
},
|
|
44
70
|
args: {
|
|
45
71
|
cover: false,
|
|
46
72
|
fill: false,
|
|
47
73
|
blur: false,
|
|
48
74
|
portrait: true,
|
|
75
|
+
gap: 'min(3.33333%,var(--unitone--grid-gap))',
|
|
76
|
+
minHeight: '0',
|
|
77
|
+
columns: 'var(--unitone--grid-columns)',
|
|
78
|
+
rows: 'var(--unitone--grid-rows)',
|
|
49
79
|
},
|
|
50
80
|
};
|
|
51
81
|
|
|
@@ -1,35 +1,38 @@
|
|
|
1
|
+
# Reel
|
|
2
|
+
|
|
3
|
+
Displays child elements in a simple horizontal scroll.
|
|
4
|
+
|
|
1
5
|
## Usage
|
|
2
6
|
|
|
7
|
+
### HTML
|
|
8
|
+
|
|
3
9
|
```html
|
|
4
10
|
<div data-unitone-layout="reel">
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<p>Lorem ipsum dolor sit amet</p>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
<div data-unitone-layout="decorator -padding:1" style="--unitone--background-color: #eee">
|
|
12
|
-
<div data-unitone-layout="stack">
|
|
13
|
-
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
14
|
-
<p>consectetur adipisicing elit</p>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
<div data-unitone-layout="decorator -padding:1" style="--unitone--background-color: #eee">
|
|
18
|
-
<div data-unitone-layout="stack">
|
|
19
|
-
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
20
|
-
<p>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div data-unitone-layout="decorator -padding:1" style="--unitone--background-color: #eee">
|
|
24
|
-
<div data-unitone-layout="stack">
|
|
25
|
-
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
26
|
-
<p>Ut enim ad minim veniam</p>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
11
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
12
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
13
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
29
14
|
</div>
|
|
30
15
|
```
|
|
31
16
|
|
|
32
|
-
###
|
|
17
|
+
### JSX
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
import { Reel } from '@inc2734/unitone-css';
|
|
21
|
+
|
|
22
|
+
<Reel>
|
|
23
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
24
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
25
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
26
|
+
</Reel>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Props
|
|
30
|
+
|
|
31
|
+
### No bar
|
|
32
|
+
|
|
33
|
+
Hide bar.
|
|
34
|
+
|
|
35
|
+
#### HTML
|
|
33
36
|
|
|
34
37
|
```html
|
|
35
38
|
<div data-unitone-layout="reel -no-bar">
|
|
@@ -37,7 +40,21 @@
|
|
|
37
40
|
</div>
|
|
38
41
|
```
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
#### JSX
|
|
44
|
+
|
|
45
|
+
```jsx
|
|
46
|
+
import { Reel } from '@inc2734/unitone-css';
|
|
47
|
+
|
|
48
|
+
<Reel noBar>
|
|
49
|
+
...
|
|
50
|
+
</Reel>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Gap
|
|
54
|
+
|
|
55
|
+
Gap.
|
|
56
|
+
|
|
57
|
+
#### HTML
|
|
41
58
|
|
|
42
59
|
```html
|
|
43
60
|
<div data-unitone-layout="reel -gap:1">
|
|
@@ -45,7 +62,21 @@
|
|
|
45
62
|
</div>
|
|
46
63
|
```
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
#### JSX
|
|
66
|
+
|
|
67
|
+
```jsx
|
|
68
|
+
import { Reel } from '@inc2734/unitone-css';
|
|
69
|
+
|
|
70
|
+
<Reel gap={1}>
|
|
71
|
+
...
|
|
72
|
+
</Reel>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Height
|
|
76
|
+
|
|
77
|
+
Height.
|
|
78
|
+
|
|
79
|
+
#### HTML
|
|
49
80
|
|
|
50
81
|
```html
|
|
51
82
|
<div data-unitone-layout="reel" style="--unitone--height: 250px">
|
|
@@ -53,10 +84,32 @@
|
|
|
53
84
|
</div>
|
|
54
85
|
```
|
|
55
86
|
|
|
56
|
-
|
|
87
|
+
#### JSX
|
|
88
|
+
|
|
89
|
+
```jsx
|
|
90
|
+
import { Reel } from '@inc2734/unitone-css';
|
|
91
|
+
|
|
92
|
+
<Reel height="250px">
|
|
93
|
+
...
|
|
94
|
+
</Reel>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Items width
|
|
98
|
+
|
|
99
|
+
#### HTML
|
|
57
100
|
|
|
58
101
|
```html
|
|
59
102
|
<div data-unitone-layout="reel" style="--unitone--item-width: 250px">
|
|
60
103
|
...
|
|
61
104
|
</div>
|
|
62
105
|
```
|
|
106
|
+
|
|
107
|
+
#### JSX
|
|
108
|
+
|
|
109
|
+
```jsx
|
|
110
|
+
import { Reel } from '@inc2734/unitone-css';
|
|
111
|
+
|
|
112
|
+
<Reel itemWidth="250px">
|
|
113
|
+
...
|
|
114
|
+
</Reel>
|
|
115
|
+
```
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import readme from '../README.md';
|
|
3
3
|
|
|
4
|
-
import { Reel } from '../
|
|
5
|
-
import { Decorator } from '../../decorator
|
|
6
|
-
import { Stack } from '../../stack
|
|
4
|
+
import { Reel } from '../';
|
|
5
|
+
import { Decorator } from '../../decorator';
|
|
6
|
+
import { Stack } from '../../stack';
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
9
|
title: 'Layout Primitives/Reel',
|
|
@@ -1,16 +1,38 @@
|
|
|
1
|
+
# Responsive grid
|
|
2
|
+
|
|
3
|
+
Generates a simple grid.
|
|
4
|
+
|
|
1
5
|
## Usage
|
|
2
6
|
|
|
7
|
+
### HTML
|
|
8
|
+
|
|
3
9
|
```html
|
|
4
10
|
<div data-unitone-layout="responsive-grid">
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
</div>
|
|
9
|
-
...
|
|
11
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
12
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
13
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
10
14
|
</div>
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
###
|
|
17
|
+
### JSX
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
import { ResponsiveGrid } from '@inc2734/unitone-css';
|
|
21
|
+
|
|
22
|
+
<ResponsiveGrid>
|
|
23
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
24
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
25
|
+
<img src="https://placehold.jp/400x300.jpg" alt="" />
|
|
26
|
+
</ResponsiveGrid>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Props
|
|
30
|
+
|
|
31
|
+
### Gap
|
|
32
|
+
|
|
33
|
+
Gap.
|
|
34
|
+
|
|
35
|
+
#### HTML
|
|
14
36
|
|
|
15
37
|
```html
|
|
16
38
|
<div data-unitone-layout="responsive-grid -gap:1">
|
|
@@ -18,7 +40,21 @@
|
|
|
18
40
|
</div>
|
|
19
41
|
```
|
|
20
42
|
|
|
21
|
-
|
|
43
|
+
#### JSX
|
|
44
|
+
|
|
45
|
+
```jsx
|
|
46
|
+
import { ResponsiveGrid } from '@inc2734/unitone-css';
|
|
47
|
+
|
|
48
|
+
<ResponsiveGrid gap={1}>
|
|
49
|
+
...
|
|
50
|
+
</ResponsiveGrid>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Auto repeat
|
|
54
|
+
|
|
55
|
+
auto-fill / auto-fit for grid items.
|
|
56
|
+
|
|
57
|
+
#### HTML
|
|
22
58
|
|
|
23
59
|
```html
|
|
24
60
|
<div data-unitone-layout="responsive-grid -auto-repeat:auto-fit">
|
|
@@ -26,10 +62,69 @@
|
|
|
26
62
|
</div>
|
|
27
63
|
```
|
|
28
64
|
|
|
29
|
-
|
|
65
|
+
#### JSX
|
|
66
|
+
|
|
67
|
+
```jsx
|
|
68
|
+
import { ResponsiveGrid } from '@inc2734/unitone-css';
|
|
69
|
+
|
|
70
|
+
<ResponsiveGrid autoRepeat="auto-fit">
|
|
71
|
+
...
|
|
72
|
+
</ResponsiveGrid>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Columns min width.
|
|
76
|
+
|
|
77
|
+
Min width of each columns.
|
|
78
|
+
|
|
79
|
+
#### HTML
|
|
30
80
|
|
|
31
81
|
```html
|
|
32
82
|
<div data-unitone-layout="responsive-grid" style="--unitone--column-min-width: 240px">
|
|
33
83
|
...
|
|
34
84
|
</div>
|
|
35
85
|
```
|
|
86
|
+
|
|
87
|
+
#### JSX
|
|
88
|
+
|
|
89
|
+
```jsx
|
|
90
|
+
import { ResponsiveGrid } from '@inc2734/unitone-css';
|
|
91
|
+
|
|
92
|
+
<ResponsiveGrid minWidth="240px">
|
|
93
|
+
...
|
|
94
|
+
</ResponsiveGrid>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Divider
|
|
98
|
+
|
|
99
|
+
Using divider.
|
|
100
|
+
|
|
101
|
+
stripe / underline / bordered
|
|
102
|
+
|
|
103
|
+
#### HTML
|
|
104
|
+
|
|
105
|
+
```html
|
|
106
|
+
<div data-unitone-layout="responsive-grid -divider:stripe">
|
|
107
|
+
<div>
|
|
108
|
+
...
|
|
109
|
+
</div>
|
|
110
|
+
<div>
|
|
111
|
+
...
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### JSX
|
|
117
|
+
|
|
118
|
+
```jsx
|
|
119
|
+
import { ResponsiveGrid } from '@inc2734/unitone-css';
|
|
120
|
+
|
|
121
|
+
<ResponsiveGrid divider="stripe">
|
|
122
|
+
<div>
|
|
123
|
+
...
|
|
124
|
+
</div>
|
|
125
|
+
<div>
|
|
126
|
+
...
|
|
127
|
+
</div>
|
|
128
|
+
</ResponsiveGrid>
|
|
129
|
+
```
|
|
130
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
export const ResponsiveGrid = ({ columnMinWidth, gap, autoRepeat, style, ...props }) => {
|
|
3
|
+
export const ResponsiveGrid = ({ columnMinWidth, gap, autoRepeat, divider, style, ...props }) => {
|
|
4
4
|
style = {
|
|
5
5
|
...style,
|
|
6
6
|
'--unitone--column-min-width': !!columnMinWidth ? columnMinWidth : undefined,
|
|
@@ -12,6 +12,7 @@ export const ResponsiveGrid = ({ columnMinWidth, gap, autoRepeat, style, ...prop
|
|
|
12
12
|
'responsive-grid',
|
|
13
13
|
'undefined' !== typeof gap ? `-gap:${gap}` : undefined,
|
|
14
14
|
'undefined' !== typeof autoRepeat ? `-auto-repeat:${autoRepeat}` : undefined,
|
|
15
|
+
!!divider ? `-divider:${divider}` : undefined,
|
|
15
16
|
]
|
|
16
17
|
.filter(Boolean)
|
|
17
18
|
.join(' ')}
|