ds-one 0.2.5-alpha.12 → 0.2.5-alpha.14
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/DS1/0-face/device.ts +8 -0
- package/DS1/1-root/one.css +41 -17
- package/DS1/2-core/ds-banner.ts +194 -1
- package/DS1/2-core/ds-button.ts +17 -3
- package/DS1/2-core/ds-text.ts +1 -1
- package/DS1/4-page/ds-container.ts +60 -0
- package/DS1/4-page/ds-grid.ts +43 -3
- package/DS1/4-page/ds-layout.ts +152 -142
- package/DS1/index.ts +1 -0
- package/README.md +2 -2
- package/dist/0-face/device.d.ts.map +1 -1
- package/dist/0-face/device.js +6 -0
- package/dist/2-core/ds-banner.d.ts +71 -0
- package/dist/2-core/ds-banner.d.ts.map +1 -1
- package/dist/2-core/ds-banner.js +171 -1
- package/dist/2-core/ds-button.d.ts.map +1 -1
- package/dist/2-core/ds-button.js +17 -3
- package/dist/2-core/ds-text.js +1 -1
- package/dist/4-page/ds-container.d.ts +17 -0
- package/dist/4-page/ds-container.d.ts.map +1 -0
- package/dist/4-page/ds-container.js +43 -0
- package/dist/4-page/ds-grid.d.ts +5 -0
- package/dist/4-page/ds-grid.d.ts.map +1 -1
- package/dist/4-page/ds-grid.js +38 -3
- package/dist/4-page/ds-layout.d.ts +2 -2
- package/dist/4-page/ds-layout.d.ts.map +1 -1
- package/dist/4-page/ds-layout.js +151 -141
- package/dist/ds-one.bundle.js +250 -147
- package/dist/ds-one.bundle.js.map +4 -4
- package/dist/ds-one.bundle.min.js +211 -154
- package/dist/ds-one.bundle.min.js.map +4 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/package.json +1 -1
package/dist/4-page/ds-layout.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ds-layout.ts
|
|
2
|
-
// Simple grid layout component with
|
|
2
|
+
// Simple grid layout component with view mode
|
|
3
3
|
import { LitElement, html, css } from "lit";
|
|
4
4
|
export class Layout extends LitElement {
|
|
5
5
|
constructor() {
|
|
@@ -7,64 +7,64 @@ export class Layout extends LitElement {
|
|
|
7
7
|
this.mode = "portfolio";
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
const
|
|
10
|
+
const isView = this.view || this.mode === "view";
|
|
11
11
|
const isPortfolio = this.mode === "portfolio";
|
|
12
12
|
const isCompany = this.mode === "company";
|
|
13
13
|
const isApp = this.mode === "app";
|
|
14
14
|
return html `
|
|
15
15
|
<slot></slot>
|
|
16
|
-
${
|
|
16
|
+
${isView
|
|
17
17
|
? html `
|
|
18
|
-
<div class="
|
|
18
|
+
<div class="view-overlay">
|
|
19
19
|
${isApp
|
|
20
20
|
? html `
|
|
21
|
-
<div class="
|
|
21
|
+
<div class="view-area view-banner">
|
|
22
22
|
<ds-text key="banner">banner</ds-text>
|
|
23
23
|
</div>
|
|
24
|
-
<div class="
|
|
24
|
+
<div class="view-area view-header">
|
|
25
25
|
<ds-text key="header">header</ds-text>
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
|
-
<div class="
|
|
28
|
+
<div class="view-area view-main">
|
|
29
29
|
<ds-text key="main">main</ds-text>
|
|
30
30
|
</div>
|
|
31
|
-
<div class="
|
|
31
|
+
<div class="view-area view-footer">
|
|
32
32
|
<ds-text key="footer">footer</ds-text>
|
|
33
33
|
</div>
|
|
34
34
|
`
|
|
35
35
|
: isCompany
|
|
36
36
|
? html `
|
|
37
|
-
<div class="
|
|
37
|
+
<div class="view-area view-header">
|
|
38
38
|
<ds-text key="header">header</ds-text>
|
|
39
39
|
</div>
|
|
40
|
-
<div class="
|
|
40
|
+
<div class="view-area view-content">
|
|
41
41
|
<ds-text key="content">content</ds-text>
|
|
42
42
|
</div>
|
|
43
|
-
<div class="
|
|
43
|
+
<div class="view-area view-footer">
|
|
44
44
|
<ds-text key="footer">footer</ds-text>
|
|
45
45
|
</div>
|
|
46
46
|
`
|
|
47
47
|
: isPortfolio
|
|
48
48
|
? html `
|
|
49
|
-
<div class="
|
|
49
|
+
<div class="view-area view-square">
|
|
50
50
|
<ds-text key="square">square</ds-text>
|
|
51
51
|
</div>
|
|
52
|
-
<div class="
|
|
52
|
+
<div class="view-area view-title">
|
|
53
53
|
<ds-text key="title">title</ds-text>
|
|
54
54
|
</div>
|
|
55
|
-
<div class="
|
|
55
|
+
<div class="view-area view-header">
|
|
56
56
|
<ds-text key="header">header</ds-text>
|
|
57
57
|
</div>
|
|
58
|
-
<div class="
|
|
58
|
+
<div class="view-area view-projects">
|
|
59
59
|
<ds-text key="projects">projects</ds-text>
|
|
60
60
|
</div>
|
|
61
|
-
<div class="
|
|
61
|
+
<div class="view-area view-bio">
|
|
62
62
|
<ds-text key="bio">bio</ds-text>
|
|
63
63
|
</div>
|
|
64
|
-
<div class="
|
|
64
|
+
<div class="view-area view-nav">
|
|
65
65
|
<ds-text key="nav">nav</ds-text>
|
|
66
66
|
</div>
|
|
67
|
-
<div class="
|
|
67
|
+
<div class="view-area view-footer">
|
|
68
68
|
<ds-text key="footer">footer</ds-text>
|
|
69
69
|
</div>
|
|
70
70
|
`
|
|
@@ -78,7 +78,7 @@ export class Layout extends LitElement {
|
|
|
78
78
|
Layout.properties = {
|
|
79
79
|
mode: { type: String },
|
|
80
80
|
align: { type: String },
|
|
81
|
-
|
|
81
|
+
view: { type: Boolean },
|
|
82
82
|
};
|
|
83
83
|
Layout.styles = css `
|
|
84
84
|
:host {
|
|
@@ -87,80 +87,106 @@ Layout.styles = css `
|
|
|
87
87
|
width: 100%;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
slot {
|
|
91
|
+
display: contents;
|
|
92
|
+
}
|
|
93
|
+
|
|
90
94
|
:host([mode="portfolio"]) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
".
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
". nav ."
|
|
102
|
-
". . ."
|
|
103
|
-
". footer ."
|
|
104
|
-
". . .";
|
|
95
|
+
--portfolio-cols: 120px 480px 40px;
|
|
96
|
+
--portfolio-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
|
|
97
|
+
--portfolio-areas: "square . ." ". title ." ". header ." ". projects ."
|
|
98
|
+
". . ." ". bio ." ". . ." ". nav ." ". . ." ". footer ." ". . .";
|
|
99
|
+
--portfolio-overlay-cols: 120px 480px;
|
|
100
|
+
--portfolio-overlay-areas: "square ." ". title" ". header" ". projects"
|
|
101
|
+
". ." ". bio" ". ." ". nav" ". ." ". footer" ". .";
|
|
102
|
+
grid-template-columns: var(--portfolio-cols);
|
|
103
|
+
grid-template-rows: var(--portfolio-rows);
|
|
104
|
+
grid-template-areas: var(--portfolio-areas);
|
|
105
105
|
min-height: 600px;
|
|
106
106
|
background-color: rgba(165, 165, 165, 0.03);
|
|
107
107
|
max-width: 640px;
|
|
108
|
-
margin: 0
|
|
108
|
+
margin: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
:host([mode="portfolio"]) .view-overlay {
|
|
112
|
+
grid-template-columns: var(--portfolio-overlay-cols);
|
|
113
|
+
grid-template-rows: var(--portfolio-rows);
|
|
114
|
+
grid-template-areas: var(--portfolio-overlay-areas);
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
:host([mode="company"]) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
". . ."
|
|
116
|
-
". header ."
|
|
117
|
-
". . ."
|
|
118
|
-
". content ."
|
|
119
|
-
". . ."
|
|
118
|
+
--company-cols: auto 400px auto;
|
|
119
|
+
--company-rows: 80px 20px 20px 120px 20px 120px;
|
|
120
|
+
--company-areas: ". . ." ". header ." ". . ." ". content ." ". . ."
|
|
120
121
|
". footer .";
|
|
122
|
+
grid-template-columns: var(--company-cols);
|
|
123
|
+
grid-template-rows: var(--company-rows);
|
|
124
|
+
grid-template-areas: var(--company-areas);
|
|
121
125
|
gap: 0;
|
|
122
126
|
max-width: 100%;
|
|
123
127
|
}
|
|
124
128
|
|
|
125
|
-
:host([
|
|
129
|
+
:host([mode="company"]) .view-overlay {
|
|
130
|
+
grid-template-columns: var(--company-cols);
|
|
131
|
+
grid-template-rows: var(--company-rows);
|
|
132
|
+
grid-template-areas: var(--company-areas);
|
|
133
|
+
gap: 0;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
:host([align="left"]),
|
|
137
|
+
:host([mode="portfolio"][align="left"]),
|
|
138
|
+
:host([mode="company"][align="left"]),
|
|
139
|
+
:host([mode="app"][align="left"]) {
|
|
126
140
|
margin: 0;
|
|
127
141
|
justify-self: start;
|
|
128
142
|
}
|
|
129
143
|
|
|
130
|
-
:host([align="center"])
|
|
144
|
+
:host([align="center"]),
|
|
145
|
+
:host([mode="portfolio"][align="center"]),
|
|
146
|
+
:host([mode="company"][align="center"]),
|
|
147
|
+
:host([mode="app"][align="center"]) {
|
|
131
148
|
margin: 0 auto;
|
|
132
149
|
justify-self: center;
|
|
133
150
|
}
|
|
134
151
|
|
|
135
|
-
:host([align="right"])
|
|
152
|
+
:host([align="right"]),
|
|
153
|
+
:host([mode="portfolio"][align="right"]),
|
|
154
|
+
:host([mode="company"][align="right"]),
|
|
155
|
+
:host([mode="app"][align="right"]) {
|
|
136
156
|
margin: 0 0 0 auto;
|
|
137
157
|
justify-self: end;
|
|
138
158
|
}
|
|
139
159
|
|
|
140
160
|
/* App mode - Base */
|
|
141
161
|
:host([mode="app"]) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
162
|
+
--app-cols: 100%;
|
|
163
|
+
--app-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
|
|
164
|
+
calc(var(--unit) * var(--sf)) calc(var(--dozen) * var(--sf))
|
|
165
|
+
calc(var(--quad) * var(--sf)) calc(var(--unit) * var(--sf));
|
|
166
|
+
--app-areas: "banner" "." "header" "." "main" "." "footer";
|
|
167
|
+
--app-overlay-cols: 100%;
|
|
168
|
+
--app-overlay-rows: calc(var(--unit) * var(--sf))
|
|
169
|
+
calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
|
|
170
|
+
calc(var(--unit) * var(--sf)) calc(var(--dozen) * var(--sf))
|
|
171
|
+
calc(var(--quad) * var(--sf)) calc(var(--unit) * var(--sf));
|
|
172
|
+
--app-overlay-areas: "banner" "." "header" "." "main" "." "footer";
|
|
173
|
+
grid-template-columns: var(--app-cols);
|
|
174
|
+
grid-template-rows: var(--app-rows);
|
|
175
|
+
grid-template-areas: var(--app-areas);
|
|
148
176
|
min-height: 100vh;
|
|
149
177
|
background-color: transparent;
|
|
150
|
-
width:
|
|
178
|
+
width: calc(240px * var(--sf, 1));
|
|
179
|
+
max-width: calc(240px * var(--sf, 1));
|
|
151
180
|
margin: 0 auto;
|
|
152
|
-
gap: 0;
|
|
153
181
|
}
|
|
154
182
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
calc(9.751px * var(--sf, 1));
|
|
160
|
-
gap: calc(28px * var(--sf, 1));
|
|
183
|
+
:host([mode="app"]) .view-overlay {
|
|
184
|
+
grid-template-columns: var(--app-overlay-cols);
|
|
185
|
+
grid-template-rows: var(--app-overlay-rows);
|
|
186
|
+
grid-template-areas: var(--app-overlay-areas);
|
|
161
187
|
}
|
|
162
188
|
|
|
163
|
-
.
|
|
189
|
+
.view-overlay {
|
|
164
190
|
position: absolute;
|
|
165
191
|
margin-left: -1px;
|
|
166
192
|
top: 0;
|
|
@@ -170,124 +196,108 @@ Layout.styles = css `
|
|
|
170
196
|
pointer-events: none;
|
|
171
197
|
z-index: 1000;
|
|
172
198
|
display: grid;
|
|
173
|
-
font-size: 18px;
|
|
174
|
-
font-weight: bold;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
:host([mode="portfolio"]) .debug-overlay {
|
|
178
|
-
grid-template-columns: 120px 480px;
|
|
179
|
-
grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
|
|
180
|
-
grid-template-areas:
|
|
181
|
-
"square ."
|
|
182
|
-
". title"
|
|
183
|
-
". header"
|
|
184
|
-
". projects"
|
|
185
|
-
". ."
|
|
186
|
-
". bio"
|
|
187
|
-
". ."
|
|
188
|
-
". nav"
|
|
189
|
-
". ."
|
|
190
|
-
". footer"
|
|
191
|
-
". .";
|
|
192
199
|
}
|
|
193
200
|
|
|
194
|
-
|
|
195
|
-
grid-template-columns: auto 400px auto;
|
|
196
|
-
grid-template-rows: 80px 20px 20px 120px 20px 120px;
|
|
197
|
-
grid-template-areas:
|
|
198
|
-
". . ."
|
|
199
|
-
". header ."
|
|
200
|
-
". . ."
|
|
201
|
-
". content ."
|
|
202
|
-
". . ."
|
|
203
|
-
". footer .";
|
|
204
|
-
gap: 0;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
.debug-area {
|
|
201
|
+
.view-area {
|
|
208
202
|
display: flex;
|
|
203
|
+
width: calc(240px * var(--sf, 1));
|
|
204
|
+
height: 100%;
|
|
209
205
|
align-items: center;
|
|
210
206
|
justify-content: center;
|
|
211
|
-
font-size: 10px;
|
|
212
|
-
font-weight: var(--type-weight-default);
|
|
213
207
|
font-family: var(--typeface-regular);
|
|
214
|
-
|
|
215
|
-
|
|
208
|
+
font-size: calc(var(--type-size-default) * var(--05));
|
|
209
|
+
color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
|
|
210
|
+
background-color: color-mix(
|
|
211
|
+
in srgb,
|
|
212
|
+
var(--accent-color) 25%,
|
|
213
|
+
transparent
|
|
214
|
+
);
|
|
216
215
|
opacity: 1;
|
|
217
216
|
}
|
|
218
217
|
|
|
219
|
-
.
|
|
218
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(1) {
|
|
219
|
+
background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
|
|
220
|
+
}
|
|
221
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(2) {
|
|
222
|
+
border-color: var(--sharp-blue);
|
|
223
|
+
}
|
|
224
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(3) {
|
|
225
|
+
border-color: var(--yellow);
|
|
226
|
+
}
|
|
227
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(4) {
|
|
228
|
+
border-color: var(--apple-green);
|
|
229
|
+
}
|
|
230
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(5) {
|
|
231
|
+
border-color: var(--pink);
|
|
232
|
+
}
|
|
233
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(6) {
|
|
234
|
+
border-color: var(--orange);
|
|
235
|
+
}
|
|
236
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(7) {
|
|
237
|
+
border-color: var(--zenith-blue);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:host([mode="company"]) .view-area:nth-of-type(1) {
|
|
241
|
+
border-color: var(--tuned-red);
|
|
242
|
+
}
|
|
243
|
+
:host([mode="company"]) .view-area:nth-of-type(2) {
|
|
244
|
+
border-color: var(--sharp-blue);
|
|
245
|
+
}
|
|
246
|
+
:host([mode="company"]) .view-area:nth-of-type(3) {
|
|
247
|
+
border-color: var(--yellow);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
:host([mode="app"]) .view-area:nth-of-type(1) {
|
|
251
|
+
background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
|
|
252
|
+
}
|
|
253
|
+
:host([mode="app"]) .view-area:nth-of-type(2) {
|
|
254
|
+
background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
|
|
255
|
+
}
|
|
256
|
+
:host([mode="app"]) .view-area:nth-of-type(3) {
|
|
257
|
+
background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
|
|
258
|
+
}
|
|
259
|
+
:host([mode="app"]) .view-area:nth-of-type(4) {
|
|
260
|
+
background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.view-square {
|
|
220
264
|
grid-area: square;
|
|
221
265
|
}
|
|
222
266
|
|
|
223
|
-
.
|
|
267
|
+
.view-title {
|
|
224
268
|
grid-area: title;
|
|
225
269
|
}
|
|
226
270
|
|
|
227
|
-
.
|
|
271
|
+
.view-header {
|
|
228
272
|
grid-area: header;
|
|
229
|
-
border-color: #0000ff;
|
|
230
273
|
}
|
|
231
274
|
|
|
232
|
-
.
|
|
275
|
+
.view-projects {
|
|
233
276
|
grid-area: projects;
|
|
234
|
-
border-color: #ffff00;
|
|
235
277
|
}
|
|
236
278
|
|
|
237
|
-
.
|
|
279
|
+
.view-bio {
|
|
238
280
|
grid-area: bio;
|
|
239
|
-
border-color: #ff00ff;
|
|
240
281
|
}
|
|
241
282
|
|
|
242
|
-
.
|
|
283
|
+
.view-nav {
|
|
243
284
|
grid-area: nav;
|
|
244
|
-
border-color: #00ffff;
|
|
245
285
|
}
|
|
246
286
|
|
|
247
|
-
.
|
|
287
|
+
.view-footer {
|
|
248
288
|
grid-area: footer;
|
|
249
|
-
border-color: rgb(24, 147, 73);
|
|
250
|
-
background-color: rgba(127, 123, 11, 0.1);
|
|
251
289
|
}
|
|
252
290
|
|
|
253
|
-
.
|
|
291
|
+
.view-content {
|
|
254
292
|
grid-area: content;
|
|
255
|
-
border-color: rgba(71, 231, 71, 0.63);
|
|
256
293
|
}
|
|
257
294
|
|
|
258
|
-
|
|
259
|
-
grid-template-columns: 1fr;
|
|
260
|
-
grid-template-rows:
|
|
261
|
-
calc(var(--1) * var(--sf))
|
|
262
|
-
calc(var(--2) * var(--sf))
|
|
263
|
-
calc(var(--4) * var(--sf))
|
|
264
|
-
calc(var(--1) * var(--sf));
|
|
265
|
-
grid-template-areas:
|
|
266
|
-
"banner"
|
|
267
|
-
"header"
|
|
268
|
-
"main"
|
|
269
|
-
"footer";
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
.debug-banner {
|
|
295
|
+
.view-banner {
|
|
273
296
|
grid-area: banner;
|
|
274
|
-
border-color: #daed09;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
.debug-header {
|
|
278
|
-
grid-area: header;
|
|
279
|
-
border-color: #0000ff;
|
|
280
|
-
background-color: rgba(127, 123, 11, 0.5);
|
|
281
297
|
}
|
|
282
298
|
|
|
283
|
-
.
|
|
299
|
+
.view-main {
|
|
284
300
|
grid-area: main;
|
|
285
|
-
border-color: #0000ff;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.debug-footer-app {
|
|
289
|
-
grid-area: footer;
|
|
290
|
-
border-color: #ffa500;
|
|
291
301
|
}
|
|
292
302
|
`;
|
|
293
303
|
customElements.define("ds-layout", Layout);
|